Why: an admin with a stale API key in localStorage was 401'd on every request despite a valid session (Bearer precedence), and API-key holders entering the forced-change gate could never complete it (passwords are session-owned) while every 401 showed "wrong username or password", masking the real cause. Evidence: backend go test ./... and frontend vitest 93/93 green locally (SELF); sub-repo PRs Backend#153 / Frontend#54 carry GATE CI; combined make test evidence recorded in the task card. Impact: pins backend 6681c3b and frontend dc18d6c via gitlinks; fills the task card with diagnosis, requirements R1-R4 and plan. Refs: task feature/admin-auth-gate-fix.
ui
@ 6f68a9579d