Documentation Coverage Matrix

June 26, 2026 · View on GitHub

This page records the public documentation surface for the repository. It is intentionally practical: users should be able to install, learn, run notebooks, run demos, inspect APIs, and move to production without searching the source tree.

This is the quality gate document for documentation discoverability. If a user can operate the product, onboard a new domainpack, and audit decisions without consulting source code, then the public documentation surface is complete for that user path.

The counts and mappings below should therefore be treated as a release input, not as static inventory. When implementation coverage expands (new adapters, modules, frontier surfaces), the matrix must be updated before release and before any roadmap milestone is announced.

Owner model

  • Maintainers: keep this page aligned with mkdocs.yml and API source exports.
  • Release owners: verify that any feature or benchmark launch includes matching documentation entries here.
  • Contributors: when touching a public surface, add/update the corresponding documentation row in the same change to avoid “code-first” drift.

How to use this as a release gate

This matrix is a production-readiness artifact, not a documentation convenience index. It is used to answer three operational questions before a milestone:

  • Can a user reproduce the same path from install to first successful run without reading source?
  • Is every advertised runtime path represented in API pages, guides, and walkthroughs?
  • Do docs indicate where implementation evidence stops and claim scope begins?

Before release, the page is validated by:

  1. mkdocs build --strict --clean (navigation completeness),
  2. the API navigation coverage test (tests/test_api_docs_navigation.py),
  3. roadmap and release note linkage for each externally announced capability.

If any major path lacks onboarding/tutorial coverage, that path is treated as documentation incomplete even if code exists and tests pass.

Current Inventory

SurfaceCurrent coverageEntry point
OnboardingRole route, first-hour checklist, repository mapOnboarding Handbook
InstallationPackage extras, local development install, quick checksInstallation
QuickstartMinimal Python and CLI run pathQuickstart
TutorialsSeven task-oriented tutorialsNew Domain Checklist
GuidesRuntime, production, testing, adapters, backend, notebooksGuides
Contributor onboardingsetup, repository map, checks, documentation dutiesContributor Onboarding
API reference67 MkDocs API pages, all wired into navigationAPI Reference
Domainpacks36 domainpacks documented in the galleryDomainpack Gallery
Notebooks19 notebook workflowsNotebooks & Demos
Notebook CI matrixper-notebook extras and execution expectationsNotebook Execution Matrix
Examples28 terminal-first Python examplesNotebooks & Demos
Interactive demosStreamlit tools, browser WASM demo, CLI demoInteractive Tools
ValidationV&V report, study protocol, testing guideV&V Report
Roadmappublic stable, active, deferred, and research tracksPublic Roadmap

Counts above are derived from the repository tree at the time this page was updated: 36 domainpack directories, 28 examples/*.py scripts, 19 notebooks, and 67 files under docs/reference/api/. tests/test_api_docs_navigation.py guards that every API reference page is listed in mkdocs.yml and that every maintained public source module has a mkdocstrings directive in the API reference. Generated protobuf stubs are covered through the gRPC facade rather than direct autodoc.

The current source inventory contains 204 maintained public Python modules under src/scpn_phase_orchestrator/. API-reference coverage is complete for those modules through package-level or detailed mkdocstrings pages, excluding generated protobuf stubs. Module-level docstrings are still being tightened: the root package now documents the frozen top-level import surface, and new or touched public modules should carry a module docstring that states the stable contract, backend assumptions, and failure-mode policy.

API Documentation Policy

Public APIs are documented at one of two levels:

  • Package-level pages document the public module surface through mkdocstrings and a short pipeline explanation.
  • Detailed pages document numerically or operationally important modules with theory, usage examples, backend notes, benchmarks, and validation commands.

Private backend probes and experimental auxiliary-backend shim modules are not listed as user-facing APIs unless they expose a stable public contract. They are covered through the owning package page and backend strategy guides.

Module docstrings are required for new public modules. Existing public modules without module-level docstrings are treated as documentation debt, not as a reason to weaken the mkdocstrings coverage gate. When touching such a module, add the module docstring in the same change instead of spreading generic one-line docstrings across unrelated code.

CI also runs interrogate src/scpn_phase_orchestrator --fail-under 100 in the lint job, with generated gRPC stubs excluded and __init__/dunder methods exempted. That ratchet keeps the maintained source tree from regressing below the documented 100% docstring floor.

v0.6.0 Code-to-Documentation Reconciliation

Reader-facing evidence flow

The documentation matrix is used as a practical chain-of-custody structure:

  • onboarding starts with operational objective and install path,
  • guides and tutorials map each objective to a validated execution path,
  • API pages define the stable contract for each executable surface,
  • release and validation references define what can be claimed after tests pass.

Every new external statement should have a corresponding trace from source code to test evidence to documentation path. This avoids splitting implementation detail across files and helps new reviewers understand both expected behavior and evidence boundaries in one pass.

The v0.6.0 release preparation reconciled the changed source tree against the public documentation surface using git diff --name-only v0.5.11..HEAD.

Reconciliation itemResult
Changed Python modules under src/scpn_phase_orchestrator/396
Changed public modules matched by reference, guide, tutorial, example, README, or changelog text232
Changed modules intentionally excluded as package initialisers, generated gRPC/protobuf stubs, or experimental accelerator implementation mirrors125
Residual unmatched changed modules after exclusions39

The 39 residual modules are private auxiliary backend shims:

  • coupling shims: _hodge_go, _hodge_julia, _hodge_mojo, _spectral_go, _spectral_julia, _spectral_mojo;
  • monitor shims: _psychedelic_go, _psychedelic_julia, _psychedelic_mojo;
  • UPDE shims: _basin_stability_*, _envelope_*, _geometric_*, _hypergraph_*, _inertial_*, _market_*, _reduction_*, _simplicial_*, _splitting_*, and _swarmalator_* for Go, Julia, and Mojo.

These files are not standalone public APIs. They are implementation mirrors for the documented public dispatchers and are covered by:

  • Backend Fallback Chain, which defines the fallback and demotion policy;
  • Backend Strategy, which defines support tiers and promotion criteria;
  • the owning API pages for coupling, monitor, and UPDE functions.

No release-blocking public documentation gaps remain from this reconciliation.

API Coverage Summary

Package or surfacePublic pageDetailed pages
Core package, exceptions, compatibilityCoreCLI reference
Binding specs and resolutionBindingschema, defaults, tutorials
UPDE enginesUPDEbasin stability, bifurcation, delay, engine, envelope, geometric, hypergraph, inertial, market, order parameters, PAC, reduction, simplicial, splitting, stochastic, Stuart-Landau, swarmalator
CouplingCouplingattention residuals, connectome, prior, transfer entropy adaptive
MonitorsMonitorchimera, dimension, entropy production, EVS, ITPC, Lyapunov, NPE, recurrence, sleep staging, transfer entropy, winding
SupervisorSupervisorpolicy DSL, regime manager, boundary contract
AdaptersAdaptersproduction, observability, hardware deployment
SSGFSSGFcarrier, ethical cost
AutotuneAutotuneSINDy, coupling estimation, phase extraction, frequency ID
Neural network layersnn APIfull nn reference and physics validation plan
Visualisation and reportingVisualisation, Reportinginteractive tools
QueueWaves applicationQueueWavesQueueWaves guide and production guide

Notebook And Demo Policy

Every notebook or demo should state:

  • the domainpack or API surface it exercises;
  • the command or UI path to run it;
  • whether it is CI-executed or local-only;
  • optional dependencies, if any;
  • a nearby production path when applicable.

The current notebook/demo inventory is listed in Notebooks & Demos.

Maintenance Checklist

When adding a module, domainpack, notebook, or demo:

  • Add or update the relevant API reference page.
  • Add or update the module docstring for public modules.
  • Add a guide, tutorial, notebook, or example that shows the user path.
  • Add the page to mkdocs.yml.
  • Update this matrix if counts or coverage categories change.
  • Run mkdocs build --strict --clean.

Reader-path coverage map

Different teams read the repository for different outcomes. The table below maps the same surface to the most common operational intent.

Reader goalPrimary source pathSupporting evidence pages
first-run successgetting-started/quickstart.mdgetting-started/installation.md, getting-started/hello_world.md
evidence-first adoptiongetting-started/executive_overview.mdVALIDATION_REPORT.md, guide/production.md, guide/notebook_to_production.md
API integrationreference/api/index.mdguide/studio.md, reference/api/core.md, reference/api/queuewaves.md
operations and runtime rolloutguide/production.mdguide/queuewaves.md, guide/hardware_deployment.md, guide/rust_ffi.md
formal or safety reviewreference/api/upde_pha_c_formal_obligation.mdformal/kinematic_safety.md, guide/backend_review_gate.md, RELEASE_HYGIENE.md

This map is used to avoid documentation dead zones where one role has all required facts and another role receives only implementation hints.

Documentation debt policy for new work

For any merge request that ships a new capability in production scope:

  • add or update at least one getting-started page for first-time operators,
  • ensure the API reference links to the touched module,
  • add or update a test or benchmark reference if performance, safety, or numerics change,
  • update this matrix before merge.

Missing one of those checkpoints blocks release-signoff unless the change is explicitly tagged as review-only.