Authentication
Cookie sessions
POST /auth/login с email/password → cookie ms_session=ses_*. TTL 30 дней (sliding на каждый запрос).
OAuth
POST /auth/oauth/:provider/callback — GitHub / Google / Apple. Конфигурация — env vars (см. dev-setup.md).
Magic link
POST /auth/magic-link/request с email → ссылка приходит на email (или печатается в API stdout в console-mailer mode).
2FA flow
После login с включенным 2FA сервер возвращает 200 с requires_2fa: true и twofa_pending_login token. Затем POST /auth/2fa/verify с этим токеном + 6-значным кодом → cookie session.