Audit — doc-health gap surface

Provisional v2 view — RES not wired

Generated by docs/atlas/generate.jl — a pure VIEW over the *_registry.jl claims + the static test/INVENTORY.jsonl AST scan. No test is executed and no src is run; test/INVENTORY.jsonl is regenerated in-place (idempotently) from that static scan; fetch/@register untouched. Assurance labels are PROVISIONAL: residuals / confidence are not shown yet (RES not wired). Badges reflect the committed test AST, not the latest CI run — a hub can read green while its @test is red between regenerations. @sweep = a graceful regime-resolution gap, not card omission.

Substrate-derived audit of actionable gaps. Each section is a concrete to-do list: an item here is either a hand-fixable doc/code issue or a tracked physics task. This page is the one place to look for "what's not great yet".

1. Models without CONVENTION header

The CI lint enforces # CONVENTION headers on new model files, but older files predate the lint. These models show an absence note on their per-model page; backfilling adds a one-block comment.

Has source file but missing/unparseable CONVENTION block (1):

Source file not found at src/models/<class>/<Model>/<Model>.jl (2) — model may live elsewhere or be defined inline:

2. Quantities without auto-extracted Definition

Quantities whose struct X[{params}] <: AbstractQuantity docstring wasn't matched by the regex extractor (likely defined as bare struct X end without <: AbstractQuantity, or with alternate formatting). Adding the supertype + docstring makes them appear on the per-quantity page automatically.

29 quantities:

3. Orphan calc notes (matched to no model)

docs/src/calc/*.md whose filename doesn't substring-match any registered model. Likely true derivation notes that describe a method (e.g. calabrese-cardy-obc-vs-pbc.md, ad-thermodynamics-from-z.md) rather than a model, but worth scanning to confirm.

All calc notes match at least one model.

4. Models registered but with 0 hubs

Every registered model has at least one hub.

5. INVENTORY cards with no matching registry claim

Verify cards exist for (M, Q, BC) triples that no @register claims. Split into two subcategories: universality-class cards are intentionally card-only (no model-side @register applies); the rest are real registry gaps for follow-up.

5a. Universality-class card-only (by design — not a gap)

21 universality-class hub(s):

  • E8/E8Spectrum/Infinite
  • MeanField/CriticalExponents/Infinite
  • MinimalModel/CentralCharge/Infinite
  • MinimalModel/ConformalWeights/Infinite
  • Universality/CasimirEnergyCorrection/OBC
  • Universality/CasimirEnergyCorrection/PBC
  • Universality/CentralCharge/Infinite
  • Universality/CriticalExponents/Infinite
  • Universality/GrowthExponents/Infinite
  • Universality/MeanRatio/Infinite
  • Universality/RenyiEntropy/Infinite
  • Universality/RenyiEntropy/OBC
  • Universality/RenyiEntropy/PBC
  • Universality/SpectralFormFactor/Infinite
  • Universality/TracyWidom/Infinite
  • Universality/VonNeumannEntropy/Infinite
  • Universality/VonNeumannEntropy/OBC
  • Universality/VonNeumannEntropy/PBC
  • Universality/WignerSurmise/Infinite
  • WZWSU2/CentralCharge/Infinite
  • WZWSU2/ConformalWeights/Infinite

5b. Real orphan card hubs (need @register or removal)

2 real orphan card hub(s):

  • f_model/FreeEnergy/Infinite
  • TFIM/LoschmidtRateFunction/Infinite

← back to the Atlas index