Scope: every convention added v1.25.0 → v1.31.0, every standing criterion that has been open across releases, and E10’s own acceptance rows. Output of BL-0056.
Why: EPICS.md already names the risk against itself — eleven-plus conventions
shipped across four landscape passes with zero external adopters exercising any of them. Then an external
audit found ten live defects in the rules those passes were adding to. A rule nobody has ever run is not
thoroughness; it is unverified surface area, and it is where the next contradiction comes from.
Method: for each convention, ask one question — has anything in this repo, or any recorded session, actually used it? Not “is it a good idea.” Not “would it help someone.” Used.
| # | Convention | Added | Ever exercised? | Decision |
|---|---|---|---|---|
| 1 | Code Map at Effort M+ | v1.25.0 | Yes — E10 items, both example-project M items | Keep |
| 2 | Frozen intent + greppable marker | v1.25.0 | Yes — E09/E10 items and charters; held under pressure in E10 BL-0040 | Keep |
| 3 | Size budgets for context artifacts | v1.25.0 | Yes — used all through E10, and missed twice, which is itself the evidence | Keep |
| 4 | Failure-layer routing + two-bounce escape | v1.25.0 | No record | Keep, unproven — the audit rated this a verified strength and it is cheap; but say plainly that no item has ever been routed by it |
| 5 | Verification-gap question + ran-only counting | v1.25.0 | No record | Keep, unproven |
| 6 | Memory admission test | v1.26.0 | No — this repo has no memory/ of its own; only the fictional example exercises it |
Keep, unproven |
| 7 | Context-integrity canary | v1.29.0 | No, and it could not have been — the canary requires an instruction file to demand the marker, and this repo had no instruction file until 2026-08-20 | Adopted 2026-08-20 — now live in root AGENTS.md; first exercise in the repo that wrote it |
| 8 | House verbosity setting | v1.29.0 | No — same cause: nowhere to set it | Keep, marked unexercised — maintainer decision 2026-08-20: retiring it is a removed section and a MAJOR bump, which is a large price for one paragraph. Revisit at the 2026-11-25 pass if still unused |
| 9 | Cross-AI spec-verification (third mode) | v1.29.0 | No record | Keep, unproven |
| 10 | Doc altitude rule | v1.29.0 | Yes, editorially — the “would this become false if I rewrote it?” test shaped E10’s resolutions | Keep |
| 11 | Architecture-layer failure routing | v1.29.0 | No record | Merged into #4 on 2026-09-05 (v1.34.0). It is now the top row of the routing table rather than a paragraph beside it. The corpus carries one fewer named convention: 15, not 16. Like the version-stamp criterion, this decision sat unexecuted for sixteen days — twice in one sweep |
| 12 | ROLE_BRIEFS.md — six per-phase briefs |
v1.30.0 | No record | Keep, unproven — a template is read when used, not memorised; low standing cost |
| 13 | Blast radius as 7th verification dimension | v1.30.0 | Not applicable here — docs-only repo, no UI | Keep — untested by this instance, not unused in principle |
| 14 | Unattended mode ≠ answering your own questions | v1.30.0 | No — the loop has not run since | Keep — now wired to #15, so it has a mechanism rather than a caution |
| 15 | Needs clarification marker |
v1.31.0 | Yes — first use 2026-08-20, E10’s D1 and D2 | Keep |
| 16 | Agent Skills conformance declaration | v1.31.0 | Yes — and it was wrong; the check never invoked a parser | Keep, with the lesson attached |
Tally: 7 of 16 have ever been exercised — and 4 of those for the first time on 2026-08-20, by the epic responding to the audit. Six remain keep-but-unproven. Both change candidates were decided the same day: the canary adopted, the verbosity setting kept.
What this does not say. Unexercised is not the same as wrong. Most of these are cheap, sit inside docs a reader consults rather than memorises, and several were rated strengths by the external audit. The finding is not “delete them” — it is that this repo has been generating rules faster than it generates evidence, and the correct response is to slow the generation, not to bulk-retire what exists.
#8, the house-verbosity setting, was the retirement candidate — and is kept. It is the one with no mechanism, no user, and no evidence: a preference the corpus had opinions about before it had a place to put them. But retiring it is a removed section and therefore a MAJOR bump under this repo’s own SemVer table. Maintainer decision 2026-08-20: keep it, marked unexercised, and revisit at the 2026-11-25 currency pass if nothing has used it by then. A major version is a steep price for one paragraph, and the sweep’s record is enough to stop it being mistaken for proven.
| Criterion | Where | State | Decision |
|---|---|---|---|
| Every template carries a methodology version stamp | Phase 1 exit criterion, master plan | Unmet since it was written. None of the six templates carries one | Drop the criterion. A version stamp in a template is a copy that goes stale on the adopter’s disk, where nothing can refresh it — the stamp belongs in SKILL.md and CHEATSHEET.md, which are read from the repo, and both already carry it. The criterion was asking for the drift this epic spent its time removing |
CHEATSHEET.md under 100 lines |
E05 charter, hard exit criterion | Met at 99 — one line of margin, over cap for eleven releases before v1.31.0, nothing enforcing it | Keep the cap, accept it is unenforced. With the checker declined there is no control; the honest record is that it is a hand-checked budget with a one-line buffer |
| WIP cap = 2 active epics | EPICS.md |
Never contended. Nine epics, never two active at once | Keep, unproven. Do not raise it to 3 — there is no evidence either way, and raising a limit that has never bound is a change with no information behind it |
| Semi-annual currency pass | P3, due 2026-11-25 | Ran once (2026-05-25) | Keep. Its charge now includes this sweep and the SHA re-pin |
Run against the tree on 2026-08-20; results recorded in TEST.md. Two rows were cut rather than run, because the things they tested no longer exist: the CI-required checker and the cross-AI gate. A criterion whose subject was removed is deleted, not marked failed.
The context-integrity canary (#7) had somewhere to live for the first time and did not live there. It
requires the project instruction file to demand a marker on every response; root AGENTS.md was added on
2026-08-20 without that rule — a gap this epic created by fixing a different one.
Three options were on the table: add it, record it as deliberately not adopted, or retire the convention outright (its own section concedes it is “a smoke alarm, not proof of safety”).
Decided 2026-08-20: add it. The canary is live in root AGENTS.md. It cost six lines, not two,
which pushed that file from 49 to 56 against a 50-line budget — so the budget was raised to 60 rather
than the rule trimmed to fit. A budget invented the day before should not veto a safety rule the
maintainer chose to adopt; its job is to stop the file becoming a second rulebook, and 56 lines of mostly
links does not do that. Recorded in RELEASE_EVIDENCE.md.
No convention was retired on the day of the sweep, so the docs did not shrink then — and both unexecuted decisions were carried out later, on 2026-09-05, through E00-intake. #11 is merged and the named-convention count is now 15. The original wording is corrected forward rather than rewritten, because the sixteen-day gap between deciding and doing is the more useful record — recorded as such rather than
dressed up. Both candidates went to the maintainer on 2026-08-20: the verbosity setting is kept and
marked unexercised (a major version is too steep for one paragraph), and the canary was adopted
rather than retired, which moves it from unexercised to exercised. Net: one fewer unproven convention,
zero lines removed.
What the sweep produced instead is the number: 6 of 16 exercised, 3 of those first exercised today. That figure belongs in the next milestone evaluation more than any individual retirement does, because it measures the thing the project keeps doing rather than any single rule it wrote.