WEB-200
Admin shell: console theme, compact primitives, sidebar/topbar/phone tabs, nav registry with permissions
Evidence
From logs/evidence/WEB-200/. Click a thumbnail for the full image.
Images (11)











Tests
$ cd apps/admin && pnpm build >/dev/null 2>&1 && ZOEN_EVIDENCE_TASK=WEB-200 pnpm exec playwright test --reporter=line$ cd apps/admin && pnpm build >/dev/null 2>&1 && ZOEN_EVIDENCE_TASK=WEB-200 pnpm exec playwright test --reporter=line$ cd apps/admin && pnpm build >/dev/null 2>&1 && ZOEN_EVIDENCE_TASK=WEB-200 pnpm exec playwright test --reporter=line$ cd apps/admin && ZOEN_EVIDENCE_TASK=WEB-200 pnpm exec playwright test --reporter=line$ cd apps/admin && pnpm build >/dev/null 2>&1 && ZOEN_EVIDENCE_TASK=WEB-200 pnpm exec playwright test --reporter=line$ cd apps/admin && pnpm build >/dev/null 2>&1 && ZOEN_EVIDENCE_TASK=WEB-200 pnpm exec playwright test --reporter=lineNotes
2026-10-04 16:04 UTC · Auth-server 504s under parallel sign-ins traced to a network getClaims() on every request (incl. prefetches); proxy + DAL now read the cookie session locally and the database verifies the token on current_staff.
2026-10-04 16:08 UTC · Evidence logs/evidence/WEB-200/{desktop,tablet,mobile}: login, overview (system/light), command menu, phone drawer. Shell: 240px sidebar (collapses to icons, remembered), 56px top bar with breadcrumbs + bell, phone bottom tabs + drawer (44px targets), ⌘K, theme system/dark/light. Sign-in: password then TOTP (enrol flow with QR), httpOnly session cookie, CSP nonce + security headers from proxy.ts. Pending-module prefetch 404s are tolerated by an explicit list in shell.spec.ts that shrinks as modules land.
2026-10-04 16:12 UTC · Fixed during the task: React 19 form reset cleared the email after a wrong password (now controlled); system-light theme lacked fg-strong (white-on-white headings; token test now covers the system block); .gitignore now covers logs/evidence/pw-artifacts/ (traces + saved test sessions). Added /system/health (DB, auth, publish queue, which integrations are configured — never values).
