The authenticated read-only phenotype surface (behind the reverse proxy).
Vanilla TypeScript + DOM + SSE. No framework, no runtime dependencies.
WCAG 2.2 AA is binding: semantic landmarks, keyboard operation, visible
focus, sufficient contrast, reduced-motion support, aria-live for timeline
updates. Test with a keyboard before claiming done.
SSE reconnects use durable event ids (Last-Event-ID) and must not skip
committed events silently.
All data comes from /api/*; the frontend never talks to pod-local routes.
Views are read-only; control flows through Telegram and deployment tooling.
# AGENTS.md — web
The authenticated read-only phenotype surface (behind the reverse proxy).
- Vanilla TypeScript + DOM + SSE. No framework, no runtime dependencies.
- WCAG 2.2 AA is binding: semantic landmarks, keyboard operation, visible
focus, sufficient contrast, reduced-motion support, aria-live for timeline
updates. Test with a keyboard before claiming done.
- SSE reconnects use durable event ids (Last-Event-ID) and must not skip
committed events silently.
- All data comes from `/api/*`; the frontend never talks to pod-local routes.
- Views are read-only; control flows through Telegram and deployment tooling.