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-3297Done

phase-deepen restated as RULES — its cautionary body becomes lessons, and a guard keeps the pack prescriptive

The proof pack, and the worst offender by a wide margin. Measured on origin/main after MOTIR-3155's merge (2026-08-21 08:55):

phase-deepen.md is 658 lines and runs 53:1 cautionary to prescriptive — 53 wrong-register markers against 1. It is the largest pack in the corpus and the largest single segment of the shipped SHARED_PLANNING_RULES.

Its units split cleanly. Four are method and stay: BOTH content axes, AC satisfiable inside the boundary, one update_plan_item per card, no shortcuts. The rest is the precondition-verification family — a method head (name your preconditions, verify each against shipped reality, cite where) wrapped around limbs that are each one incident plus a fixture: the PROSPECTIVE limb, the NEGATIVE, the ENUMERATION, the HANDED SCAN, plus the asserted-absence limb and the context-ref claim gate.

The head is a rule. The limbs are lessons. This story states the head positively, moves each limb's body into the lesson store with its axes, and leaves the pack holding method.

Nothing is deleted. Each migrated limb becomes a lesson row whose sourceRef points at its notes.html entry, and the PR carries the limb-to-lesson table so a reader can follow any paragraph to where it went.

⚠️ RE-MEASURE BEFORE YOU START — these numbers decay and have already moved once. They were first taken as 685 / 61 / 2, in a worktree that contained the measurer's own uncommitted addition — the exact failure the ENUMERATION limb warns about, committed while planning the card that migrates that limb. Corrected against origin/main, and then MOTIR-3155 merged into this very pack mid-planning. Take the counts at your own base and quote the ref; the thresholds below are relative to whatever you measure, not to the figures printed here.

The guard is what stops the pack refilling. A register check — cautionary markers against prescriptive ones — is cheap, and its threshold is a ratchet in one direction: the number may not go up.

Acceptance criteria

  • Each unit of phase-deepen.md is either restated in positive form or migrated, and the PR carries a table with one row per unit naming which.
  • The precondition-verification head survives as a rule stating what to do; its limbs plus the asserted-absence limb and the context-ref gate are migrated.
  • Every migrated limb has a lesson row carrying its axes and its sourceRef; the PR table names the row for each.
  • The pack's cautionary-register count falls and its prescriptive count rises, both measured at the run's own base with the ref quoted, and both the before and after figures stated in the PR. Do not target the numbers printed in this card.
  • The restated pack is mirrored into SHARED_PLANNING_RULES and the conservation baseline is refreshed in the same commit, with the fixture's own diff reviewed.
  • A guard asserts the pack's register ratio does not regress, and fails when a cautionary paragraph is appended.

Context refs

  • motir-meta prompts/plan-rules/phase-deepen.md — the pack, at 658 lines on origin/main post-MOTIR-3155.
  • motir-meta prompts/plan-rules/CORPUS-MAINTENANCE.md — RULES vs LESSONS, and THE THIRD TIER.
  • motir-ai src/llm/planningRulePacks.tsVERIFY_EVERY_PRECONDITION and the phase-deepen constants.
  • motir-ai tests/planningRulePacks.test.ts, tests/planningRuleConservation.test.ts, tests/planningRuleRouting.test.ts — the three guard suites; the conservation baseline is a strict length equality that any change breaks.
  • motir-meta#302 · motir-ai#265 — MOTIR-3155's merges into these paths, which moved the counts mid-planning.