Skip to content

moooon

Motir

Vibe your whole project. Bring an idea — Motir's three AI layers plan it, track it, and ship it, end to end. You're looking at Motir, built in Motir.

  • Vibe Project
  • Open Source
  • AI Agent
  • AI Loop
1
requests
0
upvotes
145
planned
1,361
shipped

Motir · Work items

MOTIR-2966Done

Three packs stay `[FAIL]` on invariant C for the MID-SENTENCE WIDENING shape — the remedy is decided and nobody owns the sweep

Repo: motir-meta. One PR. Surfaced 2026-08-17 by the motir run MOTIR-2934 execution, under notes.html #27 (an out-of-scope defect found mid-subtask is logged, never absorbed).

The defect

With MOTIR-2934 landed, COMPRESSION.conserve.py reports 3 failing packs, down from 4:

[FAIL] kind-leaf-deepen.md    3 fragment INSERTs
[FAIL] kind-story.md          1 INSERT, 2 DELETEs, 3 REPLACEs (the work-type enum, re-ordered)
[FAIL] phase-deepen.md        fragment INSERTs

Every one is the MID-SENTENCE WIDENING — a sharpening that edited INSIDE a surviving sentence rather than appending one. Examples, from the run:

kind-leaf-deepen.md   got ' — or, for a database, from ITS OWN CATALOG'
kind-leaf-deepen.md   got ', **a MIGRATION**'
kind-story.md         expected 'manual`/`human` · `decision` · `doc`/`'   got ''

This is a different shape from MOTIR-2934's (an enumeration COUNT) and from MOTIR-2773's (a whole ADDED sentence, which is exempt and works).

Why it is a card and not a shrug

COMPRESSION.md § Decision 1 already names this shape and states its remedy: "A widening that edits INSIDE a surviving sentence is still a violation, and that is the intended cost: record the original span in fixtures/<pack>.md as a compression would, or re-shape the widening as an appended sentence." MOTIR-2934 executed exactly that remedy on core.md and reached [PASS], so the method is proven on this corpus, not merely written down.

What is missing is an OWNER. Each violation belongs, in principle, to the card that made the edit — and every one of those cards is done and merged. No card owns the sweep, so the packs stay red by default, which is the precise failure conserve.py's own docstring names as its reason to exist: "A check that is red for a benign reason on three packs and counting is a check nobody reads, which is how a real re-wording gets through." Three is the count it uses.

Deliberately NOT decided here

Whether kind-story.md's enum re-order is the same disposition. Its diff is not a widening — the fourteen work types were re-ordered and renamed (doc/spike aliases dropped), which is a delete + replace over surviving text. It may need its own span record, or it may be the one honest place for COMPRESSION.md's escape hatch. Read the diff before choosing, and record whichever is chosen.

Acceptance criteria

  1. 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.
  2. For EACH of the three packs, the original span is recorded verbatim in 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 — a section that says it is not warrant and carries no evidence tag.
  3. NO rule text is re-worded to chase green. Any pack where the escape hatch is spent instead is named in COMPRESSION.md with the reason, per § Decision 1's "the rule is left whole and named in the PR body."
  4. 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 the right answer for it.
  5. python3 prompts/plan-rules/COMPRESSION.conserve.py --self-test still reports 9/9 PASS, proving the exemption was not widened to reach these.
  6. python3 prompts/plan-rules/COMPRESSION.measure.py --check is quoted before and after; no pack crosses its derived cap as a result of the added fixture sections (fixtures files are not measured, so the expected delta is zero — quote it rather than assume it).

Context refs

  • prompts/plan-rules/COMPRESSION.conserve.pyclassify() / is_addition(), and check()'s fixture subtraction.
  • prompts/plan-rules/COMPRESSION.md § Decision 1 — the intended-cost sentence, the escape hatch, THE MINIMUM-SPAN RULE, and the A COUNT IN SURVIVING PROSE block MOTIR-2934 added.
  • prompts/plan-rules/fixtures/core.md#gate-8-counted-lead-in — the worked precedent for a non-warrant span.
  • MOTIR-2934 (motir-meta PR #235) — the run that measured this; MOTIR-2773 — the ADDED verdict both sit past.