Raw intake from local dev session (2026-09-10).
Symptom: the Vite frontend on :3002 loads, but every data call fails. Backend log shows repeated 4xx on the operating_model route family; curl confirms GET /api/operating-model and /api/tasks return 401, with and without a valid Bearer token from POST /api/auth/login.
Suspected area: backend/src/router.ts session middleware is skipped whenever the docs-domain portal layer authorizes the request, but with browser auth unconfigured (local dev) the portal authorizes with no identity, so no x-user-id is ever set and bearer sessions are never validated downstream. resolveInteractiveActor then fails closed with 401.
Repro:
- make dev (frontend :3002, backend :3001)
- curl -X POST :3002/api/auth/login -d '{"email":"alexey@datatalks.club","password":"111"}' -> 200 + token
- curl :3002/api/operating-model -H "Authorization: Bearer " -> 401 (expected 200)
- curl ':3002/api/tasks?date=2026-09-10' -H "Authorization: Bearer " -> 401 (expected 200)
Raw intake from local dev session (2026-09-10).
Symptom: the Vite frontend on :3002 loads, but every data call fails. Backend log shows repeated 4xx on the operating_model route family; curl confirms GET /api/operating-model and /api/tasks return 401, with and without a valid Bearer token from POST /api/auth/login.
Suspected area: backend/src/router.ts session middleware is skipped whenever the docs-domain portal layer authorizes the request, but with browser auth unconfigured (local dev) the portal authorizes with no identity, so no x-user-id is ever set and bearer sessions are never validated downstream. resolveInteractiveActor then fails closed with 401.
Repro: