Skip to content

Estate knowledge routing: one home per kind of artefact, atlas frozen, a generated index instead of one store


Estate knowledge routing: one home per kind of artefact, atlas frozen, a generated index instead of one store

Section titled “Estate knowledge routing: one home per kind of artefact, atlas frozen, a generated index instead of one store”

Date: 2026-10-22 Status: closed Supersedes: none Superseded-by: none — current MR-compliance: MR-4, MR-6, MR-7, MR-9, MR-12, MR-20

The estate writes its lessons, decisions and procedures into seven stores: eva-hq, mary-wiki, petrova-codes, kahn-hq, devarno-cloud (and its plays repo), atlas, and the operator’s private auto-memory. No rule says which kind of artefact goes where, and no index spans them.

mary-wiki named the cost on 2026-09-07. F-168 (docs/findings/20260907-1200-f-168-findings-are-consulted-by-accident.md): the corpus records superbly and is consulted by accident. Retrieval fails, not recording.

Three rules exist, and they conflict:

  • devarno-cloud/plays plays/PLAY-005-knowledge-capture.md:30: “A lesson, bug chain or diagnostic workflow goes to atlas through the atlas-knowledge-filing skill.”
  • devarno-cloud/devarno-cloud AGENTS.xml:279: the qa-scribe subagent writes “the verify_round artefact in atlas/findings”.
  • Practice since September: agents file estate-wide lessons in eva-hq docs/findings/, and fleet-binding rulings in petrova-codes docs/decisions/.

Atlas, the store the first two rules name, is dormant. Commits on devarno-cloud/atlas origin/main by month: March 173, April 105, September 2, October 3 (last commit 44d8e9a, 2026-10-14). Agents told to file there file somewhere else, ad hoc.

The result is duplication. The same lesson sits in several stores, each copy written without reading the others:

LessonCopies (repo: path at origin/main)
A green check that guards nothing (false green)devarno-cloud/atlas findings/2026-08-19-three-ways-a-green-check-guards-nothing.md; eva-hq/eva docs/doctrine/2026-07-13-false-green-and-the-read-surface.md; petrova-codes docs/findings/20260817-2340-a-green-deploy-that-never-ran-and-recall-of-six-in-thirty-one.md; petrova-codes docs/findings/20260826-1230-a-green-that-cannot-tell-nothing-to-report-from-nothing-reported.md; mary-wiki docs/findings/20260909-0830-f-182-false-green-sweep-after-f-181-residue-named-not-chased.md; devarno-cloud/plays findings/2026-10-12-heartbeat-could-not-fail.md — five stores
Launch-to-revenue (L2R) has no playeva-hq/eva docs/findings/20261021-1923-l2r-bound-to-plays.md; devarno-cloud/plays findings/2026-10-21-launch-to-revenue-names-no-play.md
Humanizer / AI-writing tellspetrova-codes docs/findings/20261014-0650-humanizer-skill-canonical-home.md; mary-wiki docs/findings/20261014-0749-f-204-ai-writing-tells-had-no-shared-gate-across-the-content-engines.md
Railway costeva-hq/eva docs/eng/fleet/railway-cost-2026-10-21.md; eva-hq/eva docs/findings/20261021-1330-sevalla-eval-railway-cost.md; eva-hq/eva docs/doctrine/2026-10-21-paas-pricing-shape.md; petrova-codes docs/decisions/2026-10-21-railway-postgres-consolidation.md

Two more gaps feed the duplication:

  • Contracts do not declare knowledge homes. contracts/contract.schema.json has no field for them, and host/src/estate/domains.ts:78 hard-codes GOVERNED_PATHS to .petrova/**, docs/decisions/**, MILESTONES.md and CLAUDE.md. Findings, runbooks and doctrine are invisible to the control plane.
  • Findings have no lifecycle. Nothing marks a finding open, closed or superseded, and the repo walker does not model it (docs/findings/20260911-1205-finding-status-not-modeled-in-repo-walker.md). A reader cannot tell a live lesson from a spent one.

A 2026-09-02 agent-written plan, “ATLAS Compaction” (https://claude.ai/artifact/C3D9DHbC4K8VYRBbDDScBD), diagnosed the same disease inside atlas alone. Its diagnosis holds. Its prescription is weighed under Alternatives.

Proposed for FLIGHT. Merging this doc executes nothing.

1. Routing table. Each kind of artefact has exactly one home.

KindHome
Decision binding one repothat repo’s docs/decisions/, in its own template
Fleet-binding or cross-org decisionpetrova-codes docs/decisions/ (**Status:** open, then FLIGHT countersign)
MARY facility governancemary-wiki (unchanged; FLIGHT lands it)
Finding about one repothat repo’s docs/findings/ (push-down)
devarno-cloud parent findings, including verify_round artefactsdevarno-cloud docs/findings/ (new directory; replaces atlas/findings in AGENTS.xml:279)
Cross-estate finding (two or more repos, or no owning repo)eva-hq docs/findings/
Doctrine (a pattern behind two or more cited incidents)eva-hq docs/doctrine/
Reusable prompteva-hq prompts/ (unchanged; sole author)
Delegated recurring procedure and its run recordsdevarno-cloud/plays (unchanged)
Lesson that changes a playplays findings/ with amends: PLAY-NNN@vN (unchanged, rule L-fix)
Runbook for one systemthat repo’s docs/runbooks/
Skillstracked in git, never local-only. Repo-specific: <repo>/.claude/skills/. Estate-wide: one tracked home, chosen in a later decision
atlas (devarno-cloud/atlas)frozen read-only archive. No new artefacts. Cite in place. A superseded or duplicate entry gets a pointer stub, never a deletion
Cross-store indexgenerated by eva-hq scripts/knowledge-census.py and a weekly cycle cycles/knowledge-index/; never hand-edited

2. Rules.

  • R1 — Search before filing. Before writing a finding, doctrine or runbook, run python3 eva-hq/scripts/knowledge-census.py search <terms> across all stores and show the hits in the PR or report. Until the census script merges, search each store’s origin/main with git grep.
  • R2 — One home per lesson. A lesson lives in the one store the table names. Other stores cross-link to it. They never copy it.
  • R3 — New findings carry a status line: open, closed or superseded. It applies to findings written after this decision is countersigned. Existing findings are not normalised (MR-7).
  • R4 — Contracts may declare knowledge dirs. Each registered repo may declare its knowledge directories in .petrova/contract.yaml. The field and its effect on GOVERNED_PATHS are a separate decision (docs/decisions/2026-10-22-contract-knowledge-block.md, drafted in parallel); this doc only routes to it.

3. Atlas is frozen and indexed, not revived. The operator ruled this on 2026-10-22. Atlas stays readable at its current paths. The cross-store index lists its entries alongside every other store’s.

  • Revive atlas as the single home for lessons. Rejected. Five months of practice moved away from it (173 commits in March, 2 in September). A rule that sends agents to a store they do not read reproduces F-168, and moving eva-hq, mary-wiki and petrova-codes findings into it would break every existing citation.
  • Atlas as the published home of the index. Rejected for now. The index is generated by an eva-hq cycle. Publishing it from a frozen repo means a bot writing into an archive, which contradicts the freeze. It can be revisited once the index exists and has readers.
  • Execute the 2026-09-02 ATLAS Compaction plan (https://claude.ai/artifact/C3D9DHbC4K8VYRBbDDScBD). Rejected, for three reasons. First, a single-store premise: it compacts one dormant store of seven, while the live writing happens in the other six. Second, it mints a new ATL- ID space, a fifth taxonomy beside DR, PTV, F- and PLAY- IDs, which repeats the fragmentation it describes. Third, it needs a 13-agent fleet and a mass re-registration on a store nobody writes to. Kept from it: evidence and verified_at on claims, canonical: pointer stubs instead of deletion, receipts never projected, and the SSO doctrine pair as the duplicate-detection self-test.
  • Status quo. Rejected. The four clusters above are the measured cost.

For code:

  • eva-hq gains scripts/knowledge-census.py (read-only census and duplicate report) and the weekly cycle cycles/knowledge-index/, each in its own PR.
  • The contract knowledge: block and the GOVERNED_PATHS change ship under their own decision (R4).

For docs (amendments this decision needs, each by a new artefact, MR-7):

  • devarno-cloud/devarno-cloud AGENTS.xml:279 — qa-scribe writes to devarno-cloud docs/findings/, not atlas/findings. A devarno-cloud PR that cites this doc (MR-6: subagents read from AGENTS.xml).
  • devarno-cloud/plays PLAY-005 — amended by a plays finding carrying amends: PLAY-005@vN (rule L-fix), naming this table as the filing rule in place of atlas.
  • The atlas-knowledge-filing skill — rewritten against this table and collapsed to one tracked copy. Today it exists as two divergent local copies (PLAY-005 step 0 names them), neither in git.
  • devarno-cloud/atlas — a tombstone banner in its README and CLAUDE.md stating the freeze, plus pointer stubs where a duplicate has a canonical home elsewhere.

For in-flight phases: none paused. Atlas has had no substantive writes since June; freezing it stops no live work.

For invariants: none. The routing table is a filing convention, not a numbered invariant (MR-9).

What this decision does NOT do:

  • It does not move or renumber any existing artefact. Every current path stays valid and citable.
  • It does not normalise old front matter, add status lines to existing findings, or rewrite any existing decision (MR-7).
  • It does not delete anything from atlas or any other store.
  • It does not add the contract knowledge: field. R4 is decided separately.
  • It does not choose the estate-wide home for skills.
  • mary-wiki/mary docs/findings/20260907-1200-f-168-findings-are-consulted-by-accident.md (consulted by accident)
  • devarno-cloud/plays plays/PLAY-005-knowledge-capture.md:30 (lessons go to atlas)
  • devarno-cloud/devarno-cloud AGENTS.xml:279 (qa-scribe writes atlas/findings)
  • docs/findings/20260911-1205-finding-status-not-modeled-in-repo-walker.md (no finding lifecycle)
  • host/src/estate/domains.ts:78 (hard-coded GOVERNED_PATHS)
  • docs/decisions/2026-10-22-contract-knowledge-block.md (R4, sibling draft)
  • ATLAS Compaction plan, 2026-09-02: https://claude.ai/artifact/C3D9DHbC4K8VYRBbDDScBD
  • The duplicate paths in the Context table, each verified with git cat-file -e origin/main:<path> on 2026-10-22
  • Subagent: Claude Opus 5.5, 2026-10-22 (drafted from the operator’s 2026-10-22 rulings, atlas freeze and index, scope phases 0–4; paths read at each repo’s origin/main; petrova-codes at edbfd044)
  • Human countersign — the routing table in §1, rules R1–R3, and the atlas freeze in §3; R4 is countersigned on its own decision — flight@arno.host, 2026-10-22 (jzero.run T1)

Countersigned by human:flight@arno.host on 2026-10-22 through jzero.run /approvals — box ticked in commit 4cd7b20b on main, authored by the human: the routing table in §1, rules R1–R3 and the atlas freeze in §3 accepted as drafted. R4 is closed on its own decision, 2026-10-22-contract-knowledge-block.md. Status flipped open→closed on 2026-10-22 by an agent as scribe (MR-7).