Appearance
Coverage — what holds each rule, and what exercises each holder
Generated by scripts/coverage-map.py — edit the tree, not this file.
A rule is only as covered as its weakest layer: a stated enforced_by, a holder that ships, a test that exercises the holder, and a scenario that measures the behaviour. This map lists each layer from the tree itself; rates are not copied here — they live in ./runs, dated, where a rate belongs.
What the corpus says holds its rules
validator— stated 9×harness— stated 4×prose-only— stated 3×request— stated 3×git-host— stated 1×
The register of gates and the prose-only list: ./permissions.
Validators that ship
scripts/board.py— The board — every task, where it stands, who has it, which release it is forscripts/changelog.py— The changelog skeleton — collation the author writes over, never the entry itselfscripts/check-freshness.py— Check-date validator: a date, not a tickscripts/check-links.py— Cross-reference validator: does the file exist, and does the section inside it?scripts/check-shelf-links.py— Every project on the shelf carries a link — the owner's rule, 2026-09-25scripts/check-shell-exec.py— Refuse a shell script that would execute text as a commandscripts/check-structure.py— Structural integrity of the docs. Every check here exists because the defect itscripts/check-trio.py— The Trio line of a release entry says what the release added — this measures whether it didscripts/cost-report.py— What the work cost, rolled up from the run records — per task, per release, per modelscripts/coverage-map.py— Regenerate the coverage map: what holds each rule, and what exercises each holderscripts/deps-report.py— What the project depends on, why, and how much each available update mattersscripts/fetch-source.py— Resolve, archive and verify entries for the sources register (./sources)scripts/graph-check.py— Does this project's graph actually work? — every internal link resolved, both waysscripts/guard-status.py— Is the project's guard installed, current, and actually wired to fire?scripts/inventory.py— A deterministic inventory of a tree — the map of the territory, never the territoryscripts/link-ids.py— In a project, an id or a path named in passing becomes a link — so Obsidian's graph, GitHub andscripts/link-names.py— A backticked name of a file in this tree becomes a link, so GitHub, Obsidian's graph andscripts/map-blocks.py— Regenerate the map'stouched by:blocks from the tasks' own declarationsscripts/migrate-layout.py— Move a pre-0.2.0 flat project into the_ops/layout — as history, not as lossscripts/new-id.py— Mint an entity id that is not already takenscripts/new-task.py— Write a task file from the template, so its shape is not a thing anyone has to rememberscripts/transition.py— The one door a stage change goes through (./pipelines)
Hooks that ship
hooks/audit-gate.py— The audit gate: in a repository being taken over, the debt list comes before the first touchhooks/audit-gate.sh— The audit gate travels with the plugin, because in a takeover the target repo cannothooks/post-compact.sh— SessionStart with matcher "compact" — the documented channel whose stdout DOES reach thehooks/pre-compact.sh— Fires before the runtime compacts the conversation. Plain stdout from PreCompact is NOT
Tests that exercise the holders (run by scripts/preflight.sh)
scripts/test-assignee-exists.sh— §25 of the project guard — a task is assigned to somebody this project has — on a throwawayscripts/test-audit-gate.sh— Mutation tests for hooks/audit-gate.py — the same discipline as preflight §13: every rulescripts/test-board.sh—board.py— the derived board — on a throwaway project holding the two dialects a live one wasscripts/test-check-releases.sh—check-releases.shexercised on its mutants and its honest twinsscripts/test-check-shelf-links.sh— check-shelf-links.py — every project on the shelf carries a link — shown on a throwaway shelfscripts/test-check-shell-exec.sh— The shell-exec checker, exercised on its mutants and its twins — the form the capability barscripts/test-check-structure.sh— The corpus-count claims shown firing where a claim is made and silent where a record is keptscripts/test-check-trio.sh— check-trio.py — an entry's Trio line against what the release added — shown on a throwawayscripts/test-company-preflight.sh— The bypass net (§14) exercised end to end: a hand-flipped stage in a staged commit isscripts/test-corpus-preflight.sh— The doors-regression check (preflight §1a) exercised on the mutant and the twin. The checkscripts/test-cost-report.sh—cost-report.py— the rollup — on a throwaway project holding the cases the page exists for:scripts/test-deps-report.sh— deps-report.py — the updates sorted by what they ask of the owner, and the why of each thing thescripts/test-eval-requeue.sh— The void sweep in eval-requeue.sh, exercised against the shapes that produced itscripts/test-find-installs.sh—find-installs.shexercised on its mutants and its honest twinsscripts/test-gate-vs-bash.sh— The publish gate held against bash itself, not against what its author expects bash to doscripts/test-graph-check.sh—graph-check.py— does this project's graph actually work — on throwaway vaults holding everyscripts/test-guard-status.sh— guard-status.py — is the project's guard installed, current, and wired — shown on throwawayscripts/test-inventory.sh— The inventory's three promises, exercised: identical twice, guest-safe, honest off gitscripts/test-link-ids.sh— link-ids.py — an id or a path named in passing becomes a link — shown on a throwaway project thatscripts/test-link-names.sh— link-names.py — a backticked name of a file in this tree becomes a link — shown on a throwawayscripts/test-links-hard.sh— §27 of the project guard — a mention of something inside this project is a link — and everyscripts/test-map-blocks.sh— The touched-by executor exercised: blocks generated, only markers rewritten, and two livescripts/test-migrate-layout.sh— The 0.2.0 layout migrator exercised on a flat 0.1.x fixture: history-preservingscripts/test-native-register.sh— §20 and §21 of the project guard — the native files and the register held to each other —scripts/test-recheck-trigger.sh— §22 of the project guard — a new tension in the source register reaches the findings resting onscripts/test-record-moves.sh— §24 of the project guard — the product moved and the record did not — shown warning on the firstscripts/test-register-exists.sh— §1 of the project guard, its register clause — a project with dependencies and no register — on a throwawayscripts/test-role-wiring.sh— §28 of the project guard — a role the runtime cannot see is a document, not a worker — on ascripts/test-skills-attached.sh— §26 of the project guard — a skill attached to a role resolves to something — on a throwawayscripts/test-task-shape.sh— §23 of the project guard — a task the commit CREATES has the shape the template gives it — andscripts/test-transition.sh— The transition door, exercised end to end on a throwaway fixture — same habit asscripts/test-verify-reads.sh—--verify-readsshown refusing each mutant and passing its honest twin
Behavioural scenarios
- 122 runsheet rows over 29 fixtures (audience · brandkit · chain · cold · colleague · conflict · consult · copy · deadlink · deadtool · decompose · drift · escalation · evidence · feedback · flatlegacy · flowmap · guest · hire · import · injection · ledger · mcpsource · mess · recovery · routine · ship · thread · workshop)
- scenario text:
./evals·./scenarios— rates and their dates:./runs