Skip to content

DR-112 — The docs-site and ordna mine is targeted and tiered, not whole-tree

The docs-site was mined whole and ad hoc: 1,996 files / 107,938 drawers, every one in room = general (the project mempalace.yaml has no rooms: key), spread across four incoherent wings from past --wing overrides — so recall filtered to wing_canonical silently misses 356 files, and wing=specs misses 313 of the 572 mined specs. Meanwhile 41% of the corpus was machine telemetry (workflow-evaluation, 43,887 drawers of events.jsonl the repo already gitignored as non-canonical at S396), and the surfaces that matter were absent: 114 Decision Register files on disk, 0 mined, reports/ 31 of 37 unmined, and the ordna task ledger never mined at all.

Decision. Mining is targeted and tiered, one root-scoped project mine covering both src/content/docs/ and tasks/, with rooms routed by path:

  • T1 Authoritative — kept current, citable: reference/ (incl. all 114 DRs), runbooks/, specs/, ontology/, initiatives/, ledgers/{initiatives,retros}/, design/, tasks/.
  • T2 Lineage — one-shot, point-in-time, never citable as current: continuation-prompts/, reports/, handover-guides/, ledgers/archive/.
  • T3 Stale-marked — mined into room = archive so recall can down-rank it, because under DR-010 “what was argued” retains value: the DR-106 families and product-functionality/.
  • T4 Excluded — never mined: all .json / .jsonl / .yaml / .html under the docs tree, and workflow-evaluation/ entirely.

Owner rulings, S518 (board s518-mine-design-oq-board, 8 of 9 ratified): delete all 481 orphans including themes/ (recoverable from git at fa71b6bf^); move ledgers/archive and 01-vision.md before mining rather than after; skip the sub-130 spec split (DR-106’s “unless re-affirmed” clause defeats static routing); nothing withheld from the 310-file backfill; post-mine metadata writes are follow-on; the recall-path change that consumes the discriminators is in scope for id-383.

ordna tasks are mined into room = tasks, whole-file with default chunking — not per-section and not per-## Progress entry, because content_date is computed once per file and stamped on every chunk, so splitting buys no chronological precision. Cross-links (task ↔ spec ↔ initiative ↔ DR ↔ session ↔ retro) are resolved from the frontmatter keys that already declare them, not from a graph.

No knowledge-graph layer is built now, and the KG is not ruled out either. The design recommended against it (74 entities / 37 triples; the top entity palace-wide is the word Status; Users and Documents are path segments; the most frequent DR-shaped entity is the literal placeholder DR-NNN at 189 occurrences, out-ranking every real DR; 228 KB of tunnels all at access_count: 0). The owner reframed it: those symptoms are downstream of the palace’s redundancy, and every input to that verdict changes under this decision — the telemetry goes, and 114 DRs plus 376 task files enter the palace for the first time. The verdict is therefore deferred to an entity re-census after the mine lands.

Consequences.

  • 839 paths / ~63,400 drawers are deleted before re-mining. Delete precedes re-mine because re-mining first leaves old and new drawers indistinguishable.
  • Supersession is expressed by room = archive (coarse, family-level) plus source_mtime (populated on 99% of projects-mode drawers) as the recency sort key. content_date exists at 84% but spans 2011–2026 including a future date — a tiebreaker, never a sort key. Document-level superseded_by would need a miner change and is not adopted.
  • These discriminators only exist; nothing yet uses them. The recall path is tuned in the hook, not the tool, so without the matching recall-grounding change the mechanism has no observable effect — which is why that change was ruled in scope.

Full design, evidence and execution sequence: reports/2026-08-01-mempalace-mine-design.md. Execution is blocked on the palace vector layer being repaired.