Repo: motir-meta. One PR. Surfaced 2026-08-21 by the motir run MOTIR-3377 execution, under notes.html #27 (an out-of-scope defect found mid-card is logged, never absorbed).
MOTIR-2966 swept exactly this shape on 2026-08-18 and reached 0 violations. Three packs are red again, and they are not the same three. Measured on a pristine detached worktree at 2d3c93eee2c3 — which is MOTIR-3377's own named base, i.e. this was already true before that card was filed:
$ python3 prompts/plan-rules/COMPRESSION.conserve.py
[FAIL] core.md [FAIL] kind-bug.md [FAIL] kind-leaf-deepen.md
3 pack(s) violate invariant C
Every one is COMPRESSION.md § Decision 1's MID-SENTENCE WIDENING — a sharpening that edited INSIDE a surviving sentence rather than appending one. The two shapes present:
core.md, kind-leaf-deepen.md REPLACE expected 'verce' got 'f'
REPLACE expected 'v' got 'fly s'
REPLACE expected 'l env' got 'ts'
kind-bug.md INSERT got ' ### ⚠️ …AND IF THAT PARENT IS `done`, THE BUG DOES NOT GO THERE …'
The first is the Vercel → Fly migration written in place (vercel env ls → fly status / fly secrets list) across two packs — a real re-wording of surviving rule text, which is precisely what invariant C is for. The second is an inserted ### heading whose run carries no clean sentence start, so is_addition clause (3) rejects it.
MOTIR-2966's own explanation named the general failure exactly: "a cost accepted per-edit accumulates into a state nobody owns … Debt like this cannot be collected by the rule that created it, because that rule addresses one author at one moment; it needs a card." It needed a card, it got one, and three days later it needs another. That is the finding: the remedy MOTIR-2966 executed is a debt COLLECTOR, and nothing stops the debt accruing.
conserve.py's docstring uses THREE as its own threshold — "red for a benign reason on three packs and counting is a check nobody reads." The corpus has now hit three, twice.
Do not read this as an argument to loosen is_addition. MOTIR-2934, MOTIR-2969 and MOTIR-3377 each declined that in turn, and the vercel → fly case here is a genuine re-wording — the check is right about it. The question this card owes is the SECOND one: what makes the next author record the span at the moment of the edit, rather than a sweep card three packs later.
python3 prompts/plan-rules/COMPRESSION.conserve.py is run and quoted BEFORE any edit, on a pristine origin/main worktree, so the fix is measured against the recorded red and not a re-derived one.prompts/plan-rules/fixtures/<pack>.md under its own anchored section, following the non-warrant-span convention MOTIR-2934 established at fixtures/core.md#gate-8-counted-lead-in.COMPRESSION.md with the reason.python3 prompts/plan-rules/COMPRESSION.conserve.py is re-run over every pack afterwards and its verdict quoted: 0 packs violate invariant C, or the PR body names each survivor and why the escape hatch was right for it. phase-deepen.md is [PASS] as a RESTATEMENT once MOTIR-3377 merges and is NOT in this card's scope.--self-test still reports 21/21 PASS, proving the exemption was not widened to reach these.CORPUS-MAINTENANCE.md and/or COMPRESSION.md § Decision 1 gain the AUTHOR-side instruction that makes the next widening record its own span at the moment it is made — the shape MOTIR-2966 diagnosed and did not write. Whatever is chosen is recorded with the reason; "a third sweep card" is not an answer.COMPRESSION.measure.py --check is quoted before and after; fixtures files are not measured, so the expected delta is zero — quote it rather than assume it.motir-meta prompts/plan-rules/COMPRESSION.md § Decision 1 — the intended-cost sentence, the escape hatch, and the amendment blocks MOTIR-2934 / MOTIR-2969 / MOTIR-3377 added.motir-meta prompts/plan-rules/fixtures/core.md#gate-8-counted-lead-in — the worked precedent for a non-warrant span.motir-meta prompts/plan-rules/CORPUS-MAINTENANCE.md — where the author-side half of AC 6 most likely belongs.phase-deepen.md from the red set as a RESTATEMENT and changes this script's output format, so run this card after that merges.