public views · category index · v3.5 neutral-first

Public Views

Every surface Relay serves to someone without a session — error pages, maintenance, link-expiry, claim gates — built on one shared chrome: the public .shell. One look, one voice, one triage beacon. New public-bound views start here.

The public .shell category anchor

The reusable chrome itself: mark → status strip → headline → body → actions → support ref, with a live state switcher (404 · 500 · 503 · link expired · notice), the slot contract, the category rules, and the /api/frontend-error triage beacon (category public, PB-… refs) that makes public-surface failures alertable like everything else.

Support form member · concept

Where Relay sends someone to reach a human — relayctx.com/support. The category's first interactive member, adding one slot (.form) to the shell. Covers the arrival states the app deep-links (?topic=account-merge&ref=…, unknown-topic fallback, fully composed) and the outcomes, including ticket-system-down — a person who arrived from a failure must not hit a second one. Live page shipped on a bespoke chrome; this is the proposal to fold it in.

Error pages — live set member · live

The shipped 404 / 500 / 503, wired into deploy/Caddyfile via handle_errors. Predates the shell; the shell's error states model their next revision (status strip + support ref + beacon added).

Where the beacon lands companion

The console shell's notification layer — tier chips + bell fed by platform_alerts. A spike of public-* reports surfaces there under the public category. (Lives in Console v3.5-a; linked here for the round trip.)

Category contract: a public view lands in this folder with a card here, built on the .shell, self-contained (tokens + fonts only), light/dark, AA per ACCESSIBILITY.md, beacon included.
Pipeline: beacon → relay-platform handle_frontend_error (journald + frontend_errors + spike alerts) → console shell. Runbook: relay-platform docs/GUIDE.client-error-triage.md.