MotirBuilding in public
MOTIR · moooon
onMotir
You’re viewing a public project. Anyone can view it — no account needed. Sign in to submit, upvote, or comment on requests.View-only — you can’t edit work items
MOTIR-2702

Planning bug: the third denominator swap, and `COMPRESSION.measure.py`'s `TAG_LINES = 1` contradicts § Decision 1's two-line tag — so § Decision 4's 1 600-line target is unreachable too

Done
Description

Repo: motir-meta. One PR. Filed by MOTIR-2661's run, which amended its own AC 4 on the record. Two findings, the second larger than the first.

Finding 1 — the THIRD instance of #258's denominator swap

MOTIR-2661's AC 4 demanded phase-deepen.md300 and kind-leaf-deepen.md310. Both are below what COMPRESSION.measure.py — the record's own script, in a column headed projected — prints for those two files: 333 and 313. Measured with the record's own classifier, scoped per pack:

packlinessentence-grain warrantwarranted rulesperfect cut, 1-line tagperfect cut, 2-line tagAC 4
phase-deepen.md43611613333346300
kind-leaf-deepen.md45014912313325310

Same shape as notes.html #258 (MOTIR-2659 / MOTIR-2687) and #257 (MOTIR-2569): a share measured over a whole, carried across to a part that was never measured. #258 named the threshold — "a third instance is no longer a coincidence" — and this is it, authored in the same seven-minute window as #258's card.

Finding 2 — the projection itself is wrong, by one line per warranted rule

COMPRESSION.md § Decision 1 fixes the evidence tag in a two-line form and prints it twice:

> **Warrant:** MOTIR-2075 · 2026-08-02 · advisory named the right blocker, no step read it · ×7
> → [fixtures/kind-leaf-deepen.md#motir-2075]

COMPRESSION.conserve.py agrees — it carries two regexes, TAG and PTR, and counts two lines per tag. COMPRESSION.measure.py sets TAG_LINES = 1, and § Consequences states the assumption in prose without reconciling it with the form two sections above. Every projected number in the record is short by one line per warranted rule — 102 corpus-wide, 82 in the worst cell.

Consequence, and it is the reason this is high: § Decision 4's 1 600-line target is unreachable on its own arithmetic, and MOTIR-2662 has not run yet. On origin/main at 3ff1d52, the worst legal cell (deepen · bug · code under a re-plan) is 2 159 lines carrying 621 lines of sentence-grain warrant across 82 warranted rules:

  • perfect cut, 1-line tag: 2 159 − 621 + 82 = 1 620 — already 20 over the target
  • perfect cut, 2-line tag: 2 159 − 621 + 164 = 1 702 — 102 over

Acceptance criteria

  1. COMPRESSION.measure.py's TAG_LINES is 2, with a comment citing § Decision 1's printed form and COMPRESSION.conserve.py's two regexes as the reason; every number the script prints is re-derived from it.
  2. COMPRESSION.md is amended ON THE RECORD (not rewritten): § Consequences' "the projection assumes one tag line per warranted rule" is corrected with its date and this bug's key, and § Decision 4's target is either re-set from the corrected projection or explicitly kept with the arithmetic that says it cannot be met. Whichever is chosen, the number and its derivation appear together.
  3. MOTIR-2662's own AC is reconciled against the corrected number BEFORE it is run — a target below the corrected projection is an assertion that the projection is wrong, and must be defended in the card rather than asserted in a criterion.
  4. plan-rules/core.md gate 2's claim-vs-pointer limb gains a QUANTITY clause: a threshold, a share, a count or a projection may not be written into a criterion unless the measurement that produces it was RUN, at the criterion's own scope, with the constants it depends on read rather than assumed. This is the rule-tier move #258 prescribed on a third instance. It PAYS for itself per § Decision 3 — the same PR compresses an equal number of warrant lines elsewhere in core.md, or it lands in MOTIR-2660 instead and this card carries only criteria 1–3.
  5. notes.html #259 is not re-litigated — it is the record of the occurrence; this card is the correction.

Context refs

  • prompts/plan-rules/COMPRESSION.md — § Decision 1 (the printed tag form), § Decision 4 (the target), § Consequences (the one-tag-line assumption).
  • prompts/plan-rules/COMPRESSION.measure.pyTAG_LINES, and every projection derived from it.
  • prompts/plan-rules/COMPRESSION.conserve.py — the TAG / PTR regexes that count two.
  • notes.html #259 — this occurrence; #258 and #257 — the prior two.

⚠️ MOTIR-2660 was In Progress when this was filed — coordinate on core.md before touching criterion 4.