Documentation Center · Meta

Coverage & health

The generated, CI-gated report that makes “complete” measurable — regenerated from the live repo on every build.

0 dead source paths
3504entities3034pages

On this page

Live snapshot#

Regenerated from the committed repository on every build — these are not hand-maintained counts (§2). When this report is green the center provably covers every part of the system the gate knows how to check.

10Product lines
3504Entity nodes
98Catalog areas
58Domain libraries
64User journeys
82Walk results
782Surface walkthroughs
3034Reader pages

Structural coverage — product spaces#

Each product space must present its standard sections. Engine coverage is expected wherever a product has a tracked V*/ue directory (V2–V8); V1, V9–V10 have none and are a justified n/a.

ProductSections presentMissingPages clearing depth proxyEngine
V1 Oshun Platformarchitecture, featuresnone88/88 (100%)n/a
V2 Fighting Gamearchitecture, featuresnone36/36 (100%)engine ref
V3 Lilith Metaversearchitecture, featuresnone36/36 (100%)engine ref
V4 Tactical Actionarchitecture, featuresnone36/36 (100%)engine ref
V5 Open-World Narrativearchitecture, featuresnone38/38 (100%)engine ref
V6 Egbe Companionsarchitecture, featuresnone36/36 (100%)engine ref
V7 Mawuarchitecture, featuresnone26/26 (100%)engine ref
V8 Ariadnearchitecture, featuresnone16/16 (100%)engine ref
V9 Metisarchitecture, featuresnone21/21 (100%)n/a
V10 The Railarchitecture, featuresnone2/2 (100%)n/a

The shared platform space is present — the foundations (libs/shared, libs/oshun, libs/contracts, the BFF, persistence, auth) every product and domain composes, documented once (§5). It carries the same depth bar as a product space.

Journey & verification honesty#

Journey automation: 64 automation-backed. Recorded result verdicts: 2 deep · 44 partial · 27 pass · 9 unrecorded. Statuses are derived from the journeys and results themselves, never asserted.

Graded completeness & depth#

A worklist and a progress meter, never a lowered bar (§11). The depth proxy is advisory — it flags pages with little authored prose for a second look; it never certifies quality and never auto-passes. Generated entity nodes are factual scaffolds awaiting authored subsystem deep-dives — the authoring worklist, counted honestly rather than as thin prose.

Space kindAuthored pagesClear depth proxyFlagged thinDepth
discipline5414915091%
domain1621620100%
platform770100%
product3353350100%
walkthrough8618610100%

The depth proxy is advisory and multi-signal (§11): it flags a page when its authored prose is sparse, when it is a generated table with little surrounding explanation, or when a narrative page carries no outbound link or code reference. These signals only ever flag suspects for a second look — they never certify a page and never auto-pass one; the real bar is human/agent review against the V1 standard.

Staged enforcement is now live (§9, §12). The proxy stays advisory everywhere, but it blocks the build over the spaces already authored to the V1 standard — the 10 product spaces and the platform space (0 flagged pages today). A regression below the structural depth floor there fails pnpm docs:center:verify. To be precise about what that floor is: the gate enforces the multi-signal proxy (authored-prose volume, prose-vs-table ratio, code grounding) — a necessary-but-not-sufficient guard, not a measure of prose quality. So a done space cannot silently fall below the floor; the V1 quality bar itself is held by human/agent review (exactly as code review, not a linter, holds code). The enforced set grows as each space is finished; an unfinished space stays a graded worklist, never a thinned bar.

40 pages flagged for a depth review (advisory — mostly imported reference tables and backlog lists; named so the worklist is explicit, never silently passed)
  • docs/adr/ADR-0085-eve-eval-data-governance.html — no code grounding (no link or code reference)
  • docs/reference/domain-documentation-coverage.html — near-empty (little authored prose)
  • docs/reference/inventories/external-api-integrations.html — table-dominant (221 rows, 160 prose words)
  • docs/reference/inventories/yemaya-dependency-analysis.html — no code grounding (no link or code reference)
  • docs/reference/runbooks/cost-management.html — table-dominant (36 rows, 252 prose words)
  • docs/runbooks/index.html — table-dominant (39 rows, 259 prose words)
  • docs/operations/alert-routing.html — table-dominant (33 rows, 177 prose words)
  • docs/security/red-team/scenarios.html — table-dominant (30 rows, 158 prose words)
  • docs/compliance/pii-inventory.html — table-dominant (61 rows, 238 prose words)
  • docs/integrations/civitai/api.html — table-dominant (78 rows, 234 prose words)
  • docs/integrations/civitai/best-practices.html — near-empty (little authored prose)
  • docs/integrations/comfyui/custom-nodes.html — table-dominant (22 rows, 242 prose words)
  • docs/conventions/nx-target-names.html — table-dominant (12 rows, 240 prose words)
  • docs/conventions/server-frameworks-and-deps.html — near-empty (little authored prose)
  • docs/audits/EVE_BUILDER_PROMPT_INVENTORY_2026-08.html — near-empty (little authored prose)
  • docs/audits/EVE_SOTA_GENERATIVE_UI_DECISION_2026-09.html — table-dominant (18 rows, 236 prose words)
  • docs/audits/EVE_SOTA_LONG_CONTEXT_COMPACTION_2026-09.html — no code grounding (no link or code reference)
  • docs/audits/EVE_SOTA_SKILL_RECONCILIATION_2026-09.html — table-dominant (26 rows, 211 prose words)
  • docs/audits/EVE_SOTA_VERIFIED_OUTCOME_EFFICIENCY_2026-09.html — near-empty (little authored prose)
  • docs/audits/EVE_SOTA_WATCHER_SEMANTICS_2026-09.html — table-dominant (24 rows, 244 prose words)
  • docs/audits/README.html — near-empty (little authored prose)
  • docs/audits/TODO_BURNDOWN.html — near-empty (little authored prose)
  • docs/proposals/NEITH_TODOS_COMBINED.html — no code grounding (no link or code reference)
  • docs/proposals/NEITH_TODOS_PART1.html — no code grounding (no link or code reference)
  • docs/proposals/NEITH_TODOS_PART2.html — no code grounding (no link or code reference)
  • docs/proposals/NEITH_TODOS_PART3.html — no code grounding (no link or code reference)
  • docs/proposals/NEITH_TODOS_PART4.html — no code grounding (no link or code reference)
  • docs/proposals/NEITH_TODOS_PART5.html — no code grounding (no link or code reference)
  • docs/proposals/NEITH_TODOS_PART6.html — no code grounding (no link or code reference)
  • docs/proposals/NEITH_TODOS_SOTA_ENHANCEMENTS.html — no code grounding (no link or code reference)
  • docs/proposals/yemaya-study-workspace/decisions/ysd-0120.html — no code grounding (no link or code reference)
  • docs/proposals/yemaya-study-workspace/decisions/ysd-0122.html — no code grounding (no link or code reference)
  • docs/proposals/yemaya-study-workspace/decisions/ysd-0123.html — no code grounding (no link or code reference)
  • docs/proposals/yemaya-study-workspace/decisions/ysd-0125.html — no code grounding (no link or code reference)
  • docs/proposals/yemaya-study-workspace/decisions/ysd-0126.html — no code grounding (no link or code reference)
  • docs/proposals/yemaya-study-workspace/decisions/ysd-0127.html — no code grounding (no link or code reference)
  • docs/proposals/yemaya-study-workspace/decisions/ysd-0128.html — no code grounding (no link or code reference)
  • docs/proposals/yemaya-study-workspace/decisions/ysd-0129.html — no code grounding (no link or code reference)
  • docs/proposals/yemaya-study-workspace/decisions/ysd-0130.html — no code grounding (no link or code reference)
  • docs/proposals/yemaya-study-workspace/decisions/ysd-0131.html — no code grounding (no link or code reference)

3504 generated entity nodes across 98 catalog areas; the authored subsystem deep-dive (what / why / how it fits) is the dominant, ongoing investment (§7, §12, §13). Authored so far: 89/98 areas (91%) carry an authored deep-dive, covering 2936/3504 nodes (84%) with per-node prose. Generation surfaces that a part exists and where its code is; the narrative “why” is authored on top, space by space, and this meter names exactly how much is left — never a lowered bar, a worklist.

Separately, 82 walk-result pages are verification evidence records (verdict, commit, observations, traceability) — terse by design and excluded from the prose-depth proxy, since their type is evidence, not narrative (§11). Concise evidence is correct, not thin.

Ownership#

Ownership is derived, not hand-maintained (§13), through a three-step fallback chain so every node gets the best available owner: 3367 (96%) carry an authoritative CODEOWNERS team; a further 0 derive a package.json author and 135 derive the git creation author (both shown as “· derived” on the node, an honest weaker signal than a team). That leaves 2 of 3504 nodes with no owner signal at all (100% now carry one) — those are the assignable gaps a flagged page needs a named owner for before someone can write it. The git fallback uses the creation author (immutable history), never the last author, so the derived owner never drifts and the deterministic render stays stable.

Deferred surfaces & known gaps#

“Complete” is graded and honest (§11): these are the surfaces the proposal names that are not built, with the reason. None is a silent gap, and none is closed by fabricating a catalog from scattered sources (the no-stub rule applies to docs as to code) — each is either deferred for lack of a single authoritative source or staged for a later phase (§12).

Now built (previously deferred, since closed from real sources): the generated localization (per-product locale coverage, VO/subtitle tiers, RTL), observability (alerts, dashboards, scrape targets), performance (latency budgets + k6 thresholds), and data/schema (Prisma tables, columns, enums, relations) references; structured journey fields (actors + systems-exercised); a Glossary & changelog index (links the per-product glossaries, renders the brand termbase, and indexes the committed changelogs without fabricating a merged catalog); and the data and creator role lenses (completing the §4-named start-here set).

The staged program (§11/§12/§13) has since been worked through: the ownership fallback chain (CODEOWNERS → package author → immutable git creator), the depth gate now blocking over the V1-standard product + platform spaces, audience/layer page facets + an audience palette axis, a design-system & accessibility §6 type-home, per-product §5 space maps (the full skeleton by reference, gate-enforced), L5 per-symbol file:line drill-down on every entity node, the §13 canonical-home reconciliation first slice, and a deterministic “what’s new” rail (newest nodes by immutable creation date). What remains is honestly named below — either deferred for lack of a single authoritative source, or staged for a later phase (§12); never a silent gap.

Latest pass adds two more: a new-hire repo map — “the system in 30 minutes” (§3/§4): the whole monorepo top-level structure (products, ~56 capability domains, apps, services, platform foundations, and tooling) as one scaled, linked tree, projected from the tracked project graph + space manifest, with each area's one-liner pulled from its authored overview; and a browse-by-owner surface (§13) that pivots the catalog's derived owner field per owner — honest about declared (CODEOWNERS team / package author) vs git-fallback / unowned — and surfaces the unowned nodes as the assignable ownership gap, by area, most-unowned first.

It also adds a data lifecycle reference (§6) closing the last two §6 data type-homes: per-schema Prisma migration history (every committed migration.sql in applied order, with a structural DDL summary parsed from the SQL) and the declared lifecycle/status vocabularies (the *Status/*State/*Phase z.enum fields from the contracts, grouped by domain, code-linked). Honest scope: the state vocabularies are real; the transitions/guards between states live in code (not fabricated into a transition graph), the same line drawn for sequence/C4 diagrams.

The same pass closed two real coverage gaps an adversarial re-audit surfaced and hardened the generated reference: the API reference now surfaces every per-domain OpenAPI spec — the six source-only domains (oshun-bff at 154 routes, metis, veritas, arete, nisaba, tara) joined the nine bundled specs, so §11's “every public route (BFF + OpenAPI) is referenced” holds; the product doc libraries now include top-level V*/<doc>.md files (a git **/ pathspec had dropped ~71 authored docs — release gates, DSAR pipelines, certifications, audits — and left V8/V9 without a library); the event catalog, k6 performance, and engine build-graph parsers were fixed to stop silently under-enumerating (same-line nested payload fields, the seventh load-tested domain, single .Add() module deps); and the freshness gate’s CI triggers now include **/src/index.ts so an entity node’s generated public-API list cannot drift when only a barrel’s exports change. A parallel adversarial content audit (14 agents over drift, recommendation traceability, and a broad quality sample) corrected ~20 re-verified deep-dive drifts, including two real architectural overclaims (nyx “self-contained, no @oshun libs” — it retains @oshun/database; euterpe “library-only, all TypeScript” — it ships a 62-file Rust DSP/realtime-audio subsystem).

Honestly deferred — no single source to build from without fabricating

  • Merged definitional glossary / unified changelog. The index is now built (above), but a single merged glossary or one unified “Oshun changelog” is not — there is no root authoritative GLOSSARY/CHANGELOG, and the sources are scoped and heterogeneous (per-product glossaries, a 10-term brand termbase, per-package API logs, character-balance tables, a marketing feed). Synthesising one catalog would fabricate a source of truth the repo lacks.
  • Generated sequence / C4 diagram set (area-dependency visual now built). The ERD half is built (data reference); the entity dependency graph covers container relationships as text links and now as a generated mermaid macro-architecture graph on the systems index (the heaviest area→area edges, projected from the manifests); and every authored mermaid diagram across the corpus is now gathered in the diagram gallery (§6). What stays deferred is honest sequence diagrams (need an ordered-interaction source — the event catalog is producer-only by design and refuses a fabricated consumer map) and true C4 (needs actors/external-systems/protocol data the package graph does not carry). Authored mermaid (60+ sequence diagrams) covers the key flows; those two remain source-gated.
  • docs/domains/ full re-render. The operational supporting-doc tree (~5,100 files / 28 domains) is reconciled by linking from each domain landing (counted, not silently dropped), kept beside the code rather than re-rendered as a second canonical surface — re-rendering it would duplicate the canonical DOMAINS reference and mint a competing source of truth (§2/§13).
  • nx-affected gate scoping. The freshness/verify gates re-derive the whole center (seconds on this graph); per-PR nx-affected scoping is an optimization the proposal hedges as “where possible”, and the global artifacts (search index, portal, coverage report) force a whole-manifest pass regardless — not a correctness gap.
  • pnpm domains:check fold (partial). The docs-center gate owns the in-scope part — DOMAINS render freshness AND the structural check that every DOMAINS/<d> carries all three section docs. domains:check’s broader code↔doc and backlog-registry alignment stays separate: it is a governance invariant, not a reference surface, and its registry data is currently failing — importing it would turn this gate red or require fabricating registry completeness.
  • Per-entity implemented / spec-only / gated chip. Deliberately not a mechanical per-node tag: a code-presence heuristic is all-green (2,602 of 2,606 nodes have source) and the few flags it produces are wrong (Kotlin/Swift SDKs). The honest honesty-status — scaffold vs real, injected seam, in-memory only, deferred runtime, creds-gated — is carried in the authored deep-dive prose, where it is verifiable per node (e.g. forge-conflict’s de-scaffolding, watermarking’s “HMAC, not X.509”, the universal-* libs’ scaffoldComplete: true). Mechanical detection cannot honestly capture that nuance, so it is not faked (§11’s own can’t-measure-mechanically principle).
  • Per-node related-ADR links (§7). The §7 node lists “related ADRs,” and the 72 ADRs are indexed at the discipline level (the Decisions register, §6 “indexed from docs/adr”). A per-node ADR map is deliberately not built: only 9 of 72 ADRs name a package by its @scope/name token (and those are mostly platform packages); the rest are topic/domain-level decisions. Linking by package-token would touch a handful of platform nodes; linking by domain-name would fabricate spurious associations (domain words like “sophia”/“iris” recur incidentally). The honest home is the discipline-level register.
  • Generation/content-tiers dedicated index (§6). The §6 “generation/content tiers” type is satisfied as authored content — V1/architecture/generation-audience-tiers.md and V1/features/generation-tiers-and-surfaces.md are decomposed product pages, rendered and searchable. A dedicated cross-product index is not minted because “tier” spans three unrelated concepts in the repo — generation/audience tiers (who can generate what), client-fidelity tiers (UE5 vs web), and SLO tiers — with no single authoritative source; auto-aggregating on the word would conflate them.
  • Visual-regression screenshot gate (§8). §8 names screenshot checks for the P0 reader completion gate. The reader Playwright suite enforces a CI-stable structural proxy instead — no-horizontal-overflow at desktop and mobile viewports, the dark-palette background assertion, keyboard/search operation, an accessibility smoke pass, and file:// load — rather than pixel-diff baselines, which are flaky across headless renderer versions and would gate on rendering noise. Representative visual polish is reviewed by a human against the V1 standard, exactly as §8 intends; the literal pixel-diff is the deliberately-omitted part.
  • <code>status</code> as a fifth page-facet axis (§8). Pages are tagged and palette-filterable on four of the five §8 axes — space, discipline, derived audience, and layer. status is not a page facet for the same reason the per-entity status chip is deferred: a mechanical implemented/spec-only/gated value is all-green noise at the page level and mis-flags at the node level; the honest status lives in the authored prose.

Staged — structural value shipped; the writing and the depth enforcement land space-by-space (§12)

  • Full per-product §5 skeleton (space map + rendered doc library). Each product ships a space map (docs-center/products/<slug>.html) realising the full ~19-section §5 skeleton by reference, and — now shipped — a doc library (docs-center/products/<slug>-library.html) that renders every committed authored doc under V*/ that is not already a feature, architecture, or engine page (~1,000 pages: runbooks, service READMEs, balance changelogs, topic guides, legal, validation) as a first-class, searchable reader page grouped by subtree, one canonical home each (the .html beside its .md, §9). The space map's operational/reference sections now link the product's own library first, then the shared surface (the §5 “what is specific to it”). Engine is a justified n/a where there is no V*/ue; the verify gate blocks if any expected section resolves to no home. What stays open is the editorial pass that turns the longest reference subtrees into curated, cross-linked narratives rather than a faithfully-surfaced file set.
  • Design-system + accessibility type-homes (index + rendered a11y tree). Both §6 type-homes have a real home: a generated Design system & accessibility index links the authored design-system docs (V1 design system, the Studio design tree) and the accessibility docs at their canonical locations — and the deep 21-doc V2/docs/accessibility tree is now rendered as first-class pages inside the V2 doc library (above), not just linked. It is still an index over authored docs, not a token-generated surface: there is no single design-token source to render, so minting one would over-claim. What stays open is an actual token-generated design surface (no source exists today).
  • L5 per-symbol file:line (built); test + ADR composite (partial). Entity nodes now drill to a per-symbol file:line: every public symbol links to the exact barrel line it is exported on, alongside the source dir, project.json, and README. The remaining composite parts are partial — the node’s test target is shown as a badge and its mentioning ADRs/docs surface via backlinks, but the literal Zod-schema and per-symbol test anchors are not yet wired.
  • audience / layer page facets (built; portal facet-grid pending). Every page is now tagged with a derived audience and (where it maps to a real system layer) layer facet — deterministically from its space kind + discipline, with both value vocabularies governed and linted by the verify gate. The command palette gained an audience filter axis (alongside type + version), so a reader can pivot to “only SRE pages” or “only Security pages”. What is not yet built is a portal facet-grid that pivots the front page on any facet — the palette is the pivot surface today.
  • §13 V1 canonical-home migration (first slice done). The duplicate is now surfaced in the Canonical-home reconciliation section above (a warning, not a merge-block), and the first slice is built: each V1 substrate page (Sophia, Iris, Psyche, Lilith, Isis) carries a canonical-home callout linking its DOMAINS/ space and systems/ entity catalog, so it reads as a rich linked overview that references the canonical home. What remains is the deliberate, depth-preserving prose migration — relocating each substrate’s self-prose to its domain home and leaving V1 a rich overview — a careful per-substrate editorial task so the V1 prose (some of the best in the repo) is relocated intact, never thinned (the §13 non-negotiable).
  • Depth-gate enforcement (now live for product + platform). Staged enforcement is wired: the depth proxy now blocks the build over the 10 product spaces and the platform space (the V1-standard set, 0 flagged pages) — a regression there fails the verify gate. It stays advisory over the unfinished spaces. What is not yet hard-gated is per-dimension depth (asserting each domain has a system-design + ≥1 subsystem deep-dive, every public symbol referenced, every env var mapped); that remains graded. The bar is fixed at the V1 standard; only the set of spaces it blocks over grows as each is authored.

Identified next improvements — named & assignable

Buildable as pure projections over data the repo already carries (no fabricated source), each serving a recommendation the proposal names. Surfaced here so the gap is assignable, not silently carried (§11).

  • “What links here” on authored pages (§8). Entity nodes carry backlinks today; the knowledge-graph “what links here” §8 names should extend to authored product / discipline / domain pages too — invert the outbound-link map the link checker already builds. Invasive (touches every renderer + the shell), so staged, not yet built.
  • Portal facet-grid (§8). The palette now pivots on type · audience · layer · version; a front-page facet-grid that pivots the portal itself on any facet is the remaining §8 “portal pivots on any facet” slice.
  • Per-dimension depth enforcement, one domain at a time (§11). Depth is hard-gated over the product + platform spaces; the per-domain assertions (system-design + ≥1 deep-dive, every contract symbol referenced, every emitted event catalogued) stay graded — turn them on domain-by-domain as each reaches the V1 bar.
  • Full-space-vs-entity-node threshold gate (§5/§11). §5 calls the threshold “governed, so the coverage gate can enforce it,” and there is no gate that computes it. In practice the center went further than the threshold rations: every tracked project already has a code-linked entity node (100%), and every capability domain already has a deep authored systems/ area — so a literal threshold gate today would pass vacuously (nothing is under-served). The remaining ambition the threshold points at — promoting the largest cross-product domains to a full product-style decomposed space (hub + decomposed pages), not just a systems-area — is the staged P1 authoring program, tracked by the graded per-space score, not a one-shot gate. Surfaced so the rule’s absence is acknowledged, not silent.

Documented, surfaced & orphaned#

The center surfaces 10,847 of 11,453 tracked Markdown files (94.7%) — as a rendered reader page, the seed of a code-linked entity node (a README beside the code), or an authored area / discipline / walkthrough source. §11 asks the health report to show what is “documented, stale, or orphaned”; this is the orphaned leg, named so it is assignable rather than silently dropped.

254 of the residual are TODOS / backlog files — intentionally linked from their product/space, not rendered as reader pages (the proposal’s “backlog & exit, linked, not duplicated”, §5). The rest are un-surfaced candidates: real committed docs with no center home yet, by top-level directory:

  • evidence/157 docs
  • .agents/86 docs
  • infra/57 docs
  • ISIS_GAPS/21 docs
  • testing/9 docs
  • tools/7 docs
  • sdks/4 docs
  • content-coverage/3 docs
  • docker/3 docs
  • .claude/2 docs
  • .github/1 doc
  • examples/1 doc
  • tests/1 doc

These are mostly root-level operational (infra, deploy), historical-audit, and process directories. Surfacing the operational ones as discipline pages is a tracked follow-up; the historical audits are point-in-time records, kept but not promoted.

Integrity gates#

0 dead source pathslinks: pnpm docs:center:verify

Every entity node’s source path and every journey’s linked E2E spec is verified to exist (no dead source paths, §11). Broken-link integrity across all generated pages is enforced by pnpm docs:center:verify in CI. The rendered HTML is not committed (audit R-2): CI rebuilds the whole center from source on every relevant change and publishes it as a build artifact, so a served page cannot outlive the sources it was rendered from; pnpm docs:center:check remains the regenerate-and-diff freshness check for a local on-disk render.