0066 — Doc philosophy compliance (Group N)¶
Status¶
Accepted.
Context¶
Six audit findings on doc-style compliance with ../CONTRIBUTING.md and the doc-philosophy rules (no historical narrative, prescriptive voice, status markers in FEATURES/ only, etc.). Zero critical; pure doc cleanup. Bundling into one ADR for the audit trail; the actual work is small targeted edits.
Decision¶
D-V1 — Status markers in DATA_MODELS consolidated into "Schema status" sections¶
Per the doc philosophy, implementation status lives in FEATURES/ only. The 📐 Design-only markers previously scattered through DATA_MODELS/*.md field-level descriptions were violations.
Refactor applied: every per-field 📐 Design-only marker has been removed across DATA_MODELS/. Each affected file gains a top-of-file "Schema status" section consolidating the design-only columns or entities into one bulleted list per file. Field descriptions describe the target schema — code-side readers consult the Schema status section once at the top to identify which columns aren't committed yet, instead of scanning row-by-row.
Files updated: ships.md, stations.md, player.md, galaxy.md, npcs.md, npc-lodging.md, planets.md, gameplay.md. jsonb-schema.md already had an equivalent "Launch-target schemas" callout at its head. pirate-holdings.md and cargo-wrecks.md had body-text markers reframed as inline notes pointing at the Schema status section.
The "Source: … (📐 Design-only)" annotations on model files that don't yet exist are reframed as "Source: … (target path — does not yet exist)" — describes the same thing without using a status marker as a code-reference convention.
Going forward: new doc work in DATA_MODELS/ adds entries to the file's Schema status section instead of inline 📐 markers. New columns / entities default to the Schema status list until they're committed; once committed, the entry moves out of the section (or the section shrinks to empty for that file).
D-G1 — FEATURES subdirectory READMEs¶
Add README.md indexes in:
FEATURES/economy/README.mdFEATURES/galaxy/README.mdFEATURES/gameplay/README.mdFEATURES/planets/README.md
Each indexes the docs in its directory with a one-line description per doc. Pattern matches the existing FEATURES/README.md and other directory-level indexes.
D-G2 + D-X1 — Galactic Citizen in GLOSSARY¶
GLOSSARY.md gains an entry under ## G:
Galactic Citizen — $5/month subscription tier. Unlocks cross-region travel via the natural Nexus warp (per ADR-0043) and standard ARIA features within tier-appropriate cost caps. Free-tier players are confined to their home region; Region Owner ($25/mo) is a strict superset. See
OPERATIONS/monetization.md. (Live links resolve fromGLOSSARY.mdat the repo root, not from this ADR.)
D-X1 collapses into D-G2 — same fix.
D-W1 — Hedging language in bang-import-pipeline.md¶
Two instances of "may" identified by the audit:
- Line 409: "Stations may carry stock for commodities they neither buy nor sell" — prescriptive rewrite: "Stations carry stock for commodities they neither buy nor sell when the catalog defaults reflect typical free-market presence."
- Line 488: "any additional CLASS_0 ports the bang payload may contain" — prescriptive rewrite: "any additional CLASS_0 ports the bang payload contains."
Doc voice converges to prescriptive present tense; no behavioral change.
D-S1 — Filename casing convention¶
CONTRIBUTING.md already specifies "lowercase-with-hyphens" for files. The exception class — top-level reference docs in ALL_CAPS (CLAUDE.md, CONTRIBUTING.md, GLOSSARY.md, README.md, AISPEC.md, FINDINGS.md, MEMORY.md) — is implicit. Add an explicit rule:
Top-level reference docs use ALL_CAPS.md —
CLAUDE.md,CONTRIBUTING.md,GLOSSARY.md,README.md,AISPEC.md,FINDINGS.md. These sit at the repo root or as section indexes and are loaded as primary navigation. All other docs (content, system specs, feature pages, ADRs) uselowercase-with-hyphens.md.
tags.mdis a build-system artifact (mkdocs-material tag index) and follows lowercase-with-hyphens — it isn't a hand-edited reference doc.
This makes the implicit convention explicit and removes ambiguity.
Consequences¶
- Four new README.md files in FEATURES subdirs. Each is short (one-line per doc); maintenance cost is low (new docs in the subdir get a one-line entry added to the README).
- GLOSSARY entry for Galactic Citizen closes a known gap; the term appears elsewhere in the docs without a glossary backing.
- Two prescriptive-voice edits in
bang-import-pipeline.md— no behavioural meaning change. - CONTRIBUTING.md filename rule clarifies the implicit ALL_CAPS / lowercase split.
- DATA_MODELS status-marker refactor applied. 69 inline
📐 Design-onlymarkers removed across 8 files; each file gains a "Schema status" section at the top listing design-only columns / entities. Field descriptions are now pure target-schema specs.
Alternatives considered¶
- Defer the DATA_MODELS status-marker refactor (D-V1). Was the initial framing in this ADR; the refactor is now done. The "this is too much surface area" objection didn't hold up — sed-based bulk removal plus per-file Schema status section additions completed inside the same audit-resolution batch.
- Renaming
tags.mdtoTAGS.mdto align with the ALL_CAPS top-level reference convention (D-S1). Rejected —tags.mdis a build artifact, not a hand-edited reference doc; the lowercase name correctly signals that.
Related¶
../CONTRIBUTING.md— doc conventions; filename casing rule extension lands here.../GLOSSARY.md— Galactic Citizen entry.../FEATURES/economy/README.md— new index.../FEATURES/galaxy/README.md— new index.../FEATURES/gameplay/README.md— new index.../FEATURES/planets/README.md— new index.../SYSTEMS/bang-import-pipeline.md— voice cleanup.