Target structure & tree mapping (#651 docs consolidation)
Operator-directed target structure and mapping decisions (2026-06-27). Companion to the four-lens review and the standard analysis.
Canonical top-level structure (operator-confirmed)
docs/
├── index.md # Master entry point
├── context/ # Why we exist, who we serve, domain vocabulary
├── architecture/ # Current system design
├── adr/ # Architecture Decision Records (spec-kitty: adr/<era>/ — see below)
├── plans/ # Future work, roadmap, feature specs
├── api/ # API reference
├── configuration/ # Configuration reference
├── integrations/ # Third-party integrations
├── security/ # Security posture and practices
├── guides/ # How-to guides for humans and agents
├── operations/ # Production operations
├── migrations/ # Database and data migrations
└── changelog/ # Release changelog
Per-tree mapping decisions
| spec-kitty source | → target | Decision / constraint |
|---|---|---|
CHANGELOG.md |
changelog/ |
Trivial. |
docs/{tutorials,how-to,reference,explanation} → guides |
guides/ (+ api/, architecture/) |
Trivial-ish. Divio folds onto Common Docs sections. |
| glossary + audiences | context/ |
Dual constraint — does not simplify to a plain move. Must remain (1) accessible by the dashboard (preserve the dashboard's glossary read path) AND (2) open to future glossary-as-doctrine distribution (the glossary must stay extractable as a doctrine artifact, not get locked into a docs-only location). The move to context/ must keep both seams intact. |
| user journeys | plans/ |
Fold into plans/ (forward-looking intent). |
architecture/ living design |
architecture/ |
Collapse the era-split — era belongs to history, not the current design. |
architecture/{1.x,2.x,3.x}/adr/ (99 ADRs) |
adr/<era>/ |
Preserve era subdirs for historical reasoning (justified deviation from the standard's flat adr/). |
docs/{1x,2x,3x} + docs/architecture/ shadow tree |
deleted | The split-brain — consolidation's core payload. |
in-progress investigations & traces (today's engineering_notes/) |
OPEN — operations/ vs plans/ |
Operator undecided. See recommendation below. |
Open question: where do in-progress investigations & traces live?
Recommendation: plans/, with a lifecycle — not operations/.
operations/is production-ops-shaped (monitoring, disaster-recovery, capacity, runbooks). In-flight investigations and debugging traces are research/decision-support, not production operations — they fitoperations/poorly.plans/("future work, roadmap, feature specs") is forward-looking, which is what an in-flight investigation is: it feeds a future decision or work item. This note itself is a good example — it exists to drive a future consolidation mission.- The real tension (per the standard's "
docs/is not a wiki / stale docs deleted"): these notes are inherently transient. Whatever bucket they land in needs a lifecycle, not a permanent home:status: draft/activewhile in-flight → distil the durable finding intoadr/(a decision) orarchitecture/(a design) → let the raw investigation godeprecatedand be deleted by the curation policy. The home matters less than the distil-then-retire discipline. - Defer the final call to the reconciliation ADR (it owns the curation policy that governs these notes' retirement).
Constraints carried from the reviews (binding for the mission)
adr/<era>/(not flat) — preserve the 99-ADR history; convert all ADRs to YAML frontmatter (today 0/48 use it → invisible to the DocFX generator).- One gated SSOT — Candidate A: in-file frontmatter is SSOT; the page-inventory is regenerated as a validated lockfile (see 02).
- Three make-or-break choices: YAML ADRs; resolvable + build-validated
related:paths; a redirect/alias convention applied at every file move (DocFX has no native aliases). - Anti-sprawl ratchet (
tests/architectural/) — paired with a full-gate dry-run before merge. - Namespace
statusin frontmatter to avoid colliding with the WP-lane status model.
Sequencing
- Ship now (hygiene, no design):
index.mdforengineering_notes/+development/,CLAUDE.md:531dead-link fix, ADR README backfill, verify-close thedocs/adr/3.x/shim, retireNAVIGATION_GUIDE.md, add thellms.txtrouting rubric. - Consolidation mission (gated by the reconciliation ADR first): single-root +
history move (
adr/<era>/) + collapse the split-brain + unify the living design; link rewrite + redirect shim; frontmatter /related:/index.mdnormalization + YAML-ADR conversion; anti-sprawl ratchet.