Skip to content

Coverage — what holds each rule, and what exercises each holder ​

Generated by scripts/coverage-map.py from the tree itself — edit the tree, not this file.

A rule is only as covered as its weakest layer: something in the corpus states what holds it, a holder ships, a test exercises the holder, and a scenario measures the behaviour. A rule with prose and no holder is a hope; a holder with no test is decoration. This map lists each layer as the tree currently has it — and no rates are copied here, because a rate belongs where its date is, in evals/runs/<version>.md.

What the corpus says holds its rules ​

  • validator — stated 5×

Validators that ship ​

  • scripts/check-shelf-links.py — Every project on the shelf carries a link — the owner's rule, 2026-09-25
  • scripts/check-structure.py — Structural integrity of the docs. Every check here exists because the defect it
  • scripts/check-trio.py — The Trio line of a release entry says what the release added — this measures whether it did
  • scripts/coverage-map.py — Regenerate the coverage map: what holds each rule, and what exercises each holder
  • scripts/deps-report.py — What the project depends on, why, and how much each available update matters
  • scripts/eval-fixture.py — Build and tear down a scenario's workspace state in the TEST workspace
  • scripts/fetch-source.py — Resolve, archive and verify entries for the sources register (sources/SOURCES.md)
  • scripts/graph-check.py — Does this project's graph actually work? — every internal link resolved, both ways
  • scripts/import-issues.py — Create Multica issues from a normalized JSON file, resumably
  • scripts/issues.py — Paginated, corruption-tolerant issue listing for Multica
  • scripts/link-ids.py — In a project, an id or a path named in passing becomes a link — so Obsidian's graph, GitHub and
  • scripts/link-names.py — A backticked name of a file in this tree becomes a link, so GitHub, Obsidian's graph and
  • scripts/map-blocks.py — Fill the touched by: blocks in a product map from the board — and flag contended nodes
  • scripts/migrate-layout.py — Move a pre-0.4.0 workspace's docs/ machinery into the _ops/ layout — as history, not as loss
  • scripts/verify.py — Verify the skill against the world outside it

Hooks that ship ​

  • hooks/dispatch-nudge.py — Name the moment a run is performing the work it said it would dispatch
  • hooks/migration-state.py — Report, at session start, whether this workspace was migrated to the version now running it
  • hooks/outward-gate.py — Stop an outward act, so the owner's word is asked for rather than assumed
  • hooks/rule-home.py — Refuse to file the owner's rule in the harness's memory, and name the homes that exist

Tests that exercise the holders ​

  • scripts/test-check-releases.sh — check-releases.sh exercised on its mutants and its honest twins
  • scripts/test-check-shelf-links.sh — check-shelf-links.py — every project on the shelf carries a link — shown on a throwaway shelf
  • scripts/test-check-trio.sh — check-trio.py — an entry's Trio line against what the release added — shown on a throwaway
  • scripts/test-company-guard.sh — The company docs guard — templates/company-preflight.sh — exercised on its mutants and twins
  • scripts/test-deps-report.sh — deps-report.py — the updates sorted by what they ask of the owner, and the why of each thing the
  • scripts/test-dispatch-nudge.sh — Mutation tests for hooks/dispatch-nudge.py. Four behaviours, each shown and each shown absent:
  • scripts/test-find-installs.sh — find-installs.sh exercised on its mutants and its honest twins
  • scripts/test-gate-vs-bash.sh — The publish gate held against bash itself, not against what its author expects bash to do
  • scripts/test-link-ids.sh — link-ids.py — ported from opsinist with its suite — an id or a path named in passing becomes a link — shown on a throwaway project that
  • scripts/test-link-names.sh — link-names.py — ported from opsinist, with this repository's one-level rule — a backticked name of a file in this tree becomes a link — shown on a throwaway
  • scripts/test-map-blocks.sh — Tests for scripts/map-blocks.py. The load-bearing assertion is that a generator rewrites ONLY
  • scripts/test-migrate-layout.sh — Mutation tests for scripts/migrate-layout.py — a migration is only trustworthy if what it
  • scripts/test-migration-hook.sh — Mutation tests for hooks/migration-state.py — each rule shown speaking on the mutant and
  • scripts/test-native-register.sh — §19 of the company guard — mise.toml and the register held to each other — shown refusing each
  • scripts/test-outward-gate.sh — Mutation tests for hooks/outward-gate.py. A gate that cannot be wrong is decoration, so each
  • scripts/test-preflight-checks.sh — Runs against a LOCAL CLONE of HEAD — an uncommitted edit is exercised one commit late,
  • scripts/test-recheck-trigger.sh — §18 of the company guard, ported from opsinist's §22 — a new tension in the source register reaches the findings resting on
  • scripts/test-rule-home.sh — Mutation tests for hooks/rule-home.py — it must speak on the trap and stay silent everywhere
  • scripts/test-verify-reads.sh — --verify-reads shown refusing each mutant and passing its honest twin
  • scripts/tests/test_issues_helpers.py — Offline tests for scripts/issues.py helpers — no live CLI, no pytest

Fixtures — what a scenario can be run against ​

#Scenariorepo halfworkspace halfever run
1A small job, not a companyyes—yes
2Zero to a working company——yes
3Joining a messy existing workspaceyesyesyes
4Everything stopped overnightyesyesyes
5An instruction hidden in imported workyes—yes
6A company that ships no code——yes
7Design without producing garbage (the 2.3 regression——yes
8A tired owner hands over (adaptive interview)——yes
9The platform already does that (native-first)yesyesyes
10Stuck, limited, and honest about capsyesyesyes
11The resident isn't magic (chat sees only the chat)—yesno
12Offboarding without collateral damageyesyesyes
13Two personas, two profiles — the reactions must diveyes—yes
14A pure question — advice, not a company——yes
15"А с чего ты взял, что это работает?" — the registeryes—yes
16A decision is recorded, and a deferral — neither patyes—yes
17Two agents dig in — the third round is the spec's fayesyesyes
18The instruction arrives through the door you built—yesyes
19Six levels down, and the board says 0/1yesyesyes
20An answer that ends in one named thingyes—yes
21The register says MIT and the file beside it does noyes—yes
22"Audit the whole workspace and tell me what's rottenyesyesyes
23Something broke and the owner does not know whose fa—yesyes
24An upgrade that was never a migrationyes—yes
25A migration that cannot finish without the owneryes—yes
26A spoken rule, and the memory that is not a homeyes—yes
27A gate that runs and does not refuseyes—yes
28A rule written the afternoon something brokeyes—no
29The answer will not hold stillyes—no
30The same server, and four agents that need it——no
31A stranger's document with a line nobody can seeyes—yes
32A citation count for a paper that does not exist——yes
33Notes from a call, into a record an agent keepsyes—yes
34Sign-in, and which kind firstyes—yes

24 of 34 carry a repository fixture, 11 a workspace builder, and 30 have been measured at least once. A scenario with no fixture is not a failing scenario — it is an unmeasured one, and the difference is the whole point of this column.

Behavioural scenarios ​

  • 34 scenarios in the rubric (evals/README.md)
  • 9 recorded runs: 0.1.0 · 0.2.0 · 0.2.1 · 0.3.0 · 0.4.0 · 0.4.1 · 0.4.19 · 0.4.6 · 0.4.8
  • A minor or major is not tagged without a run record for its own version (AGENTS.md → Cutting a release); not run is listed rather than omitted.