Context. surface customer · domain v2-knowledge · route /v2/glossary · auth anon · source apps/oshun/web/src/app/v2/glossary/page.tsx
Last walked. 2026-05-29 automated runtime walk (Playwright headless) — render, /v1 data (2xx), console/page-errors, expected content, screenshot verified; live screen-reader, touch, offline, and telemetry-delivery checks pending a manual AT pass. Evidence: WALKTHROUGH/results/runtime-sweep-2026-05-29.md
Out of V1 scope. Documented for completeness; route exists under
apps/oshun/web/src/app/v2/glossary/page.tsx.
Purpose#
Searchable fighting-game language reference: frame advantage, meaty, rollback,
hitstop, hitlag, kara cancel, OS, shimmy, frame trap, ukemi, and community
slang. Same V2KnowledgeSurface component as /v2/wiki and /v2/roadmap;
differs only by the 'glossary' surface-id passed to
buildV2KnowledgeSurfaceModel.
Entry points#
- Sub-nav "Glossary" item from any V2 page
- "Sophia knowledge → Glossary" panel link on
/v2 - Direct URL / bookmark — yes, anon
- Inbound link from tutorials / commentator surfaces (when V2 ships)
Layout regions#
page.tsx is an async server component:
const model = await buildV2KnowledgeSurfaceModel('glossary'); renders
<V2KnowledgeSurface model={...} />. Identical layout to /v2/wiki.
- Header:
LWebShellchrome — customer nav + V2 sub-nav (active="glossary") - Section head: kicker
"Sophia RAG / terminology", title "Combat glossary" - Coverage strip: 3 metrics (answer citations / source documents / average confidence)
- RAG answer panel: composed glossary answer with citation chips
- Entries panel: term entries with body, metrics, citations
- Citations rail: per-citation cards (label / title / source / section / confidence / excerpt)
States#
- Loading — server-rendered
- Empty — N/A
- Populated — glossary entries from
buildV2KnowledgeSurfaceModel('glossary') - Error — N/A in current local impl
- Offline — cacheable
- Gated — N/A, anon
- Standalone PWA — clean render
Interactions#
Top chrome#
- Customer nav (
LCustomerNav) —active="explore" - V2 sub-nav (
LSubNav) — 5 items- Featured →
/explore - V2 →
/v2 - Wiki →
/v2/wiki - Glossary (current) →
/v2/glossary - Roadmap →
/v2/roadmap
- Featured →
Citation chips#
- Citation chip — anchor to matching citation card in the rail
- Keyboard: tab-focusable; enter activates
- Screen reader: announces label + linked title
Entries#
- Per-entry citation chips — same anchor behavior
Data & contracts#
- Reads:
buildV2KnowledgeSurfaceModel('glossary')→V2KnowledgeSurfaceModel - Writes: none
- Realtime: none
- Caching: static (local corpus); SWR/ISR when swapped to real
@sophia/clienttarget - Auth/role check: anon
Cross-references#
- Sibling:
v2.md,v2-wiki.md,v2-roadmap.md - Component source:
apps/oshun/web/src/components/v2/V2KnowledgeSurface.tsx - Model source:
apps/oshun/web/src/v2/sophia-rag.ts—SURFACE_DEFINITIONS['glossary'] - Scope:
../../matrix/coverage.md"Out-of-V1 (excluded)"
Open questions / known gaps#
- Same local-Sophia swap concern as
/v2/wiki - No alphabetical jump-list or quick search field within the glossary
- No bookmark / pin per term