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

kind-leaf.md and kind-bug.md restated — the repo-claim family and the bug-parenting family

The two leaf-kind packs a pass loads for any task / bug / subtask. Measured with REGISTER.count.py at origin/main a9caaa1:

packlinescautionaryprescriptiveratio
kind-leaf.md142732.3x
kind-bug.md17660
total3181334.3x

kind-bug.md at 6 cautionary against 0 prescriptive is the corpus's clearest case of a pack that only ever tells the planner what went wrong. It is also short, coherent and about a single decision — where a bug hangs — so it is the cheapest place to demonstrate that a zero-prescriptive pack can become an instruction without losing anything.

kind-leaf.md carries the repo-claim family — derive the (repo) tag from the deliverable list; a card that declares its own split in prose has not split; the tell is lexical, so run it structurally criterion by criterion; a fold-in's premise is a (repo) claim in disguise — plus the design-content workflow rule, the decision-amendment-spawns-a-design rule, and the planning-time design gate with its the other card must be OTHER limb.

kind-bug.md carries three: a bug is parented by its finding story, design included; if that parent is done the bug goes forward instead; and a measured mechanism may not motivate an acceptance criterion.

Two things to keep in their positive form regardless of how the register reads them:

  • The structural repo checkgo criterion by criterion and name the repo each one is discharged in; two repos in that column is a split — is a procedure, not a warning, and it is what the pack's own text says to use instead of grepping for phrases.
  • The we-only-plan-forward rule is the whole reason kind-bug.md exists in its current shape and the one instruction that prevents a status cascade nobody can undo. State it as hang it off the nearest not-done ancestor and carry the trace with relates_to, not as an account of what a done parent does when it is handed a child.

Both packs carry > **Warrant:** blocks with → [fixtures/…] pointers already, so a large share of the migration is deleting a pointer to prose that has already left.

Acceptance criteria

  • RESTATEMENT.md gains one section per pack, each with a table row per unit or named limb carrying its disposition, before/after line count, and for a migrate the destination sourceRef.
  • kind-bug.md ends with a non-zero prescriptive count — the pack states what to DO — and the PR body quotes its before and after figures beside the whole-corpus method.
  • The structural repo check and the we-only-plan-forward rule survive as instructions with their decision content intact.
  • Every migrated paragraph is verbatim under #restatement in prompts/plan-rules/fixtures/kind-leaf.md and fixtures/kind-bug.md respectively.
  • python3 prompts/plan-rules/REGISTER.count.py kind-leaf kind-bug at this card's base and again on the result, both sets of figures and the base ref in the PR body.
  • No rule moves between the two packs; a rule that belongs to leaf kinds generally stays in kind-leaf.md even where its worked example is a bug.
  • COMPRESSION.conserve.py is expected to FAIL on both; quote it, cite MOTIR-3377, and change no rule text to chase it.
  • The change lands via a branch and a PR against main; no direct commit.

Context refs

  • motir-meta prompts/plan-rules/kind-leaf.md · kind-bug.md.
  • motir-meta prompts/plan-rules/fixtures/kind-leaf.md · fixtures/kind-bug.md.
  • motir-meta prompts/plan-rules/RESTATEMENT.md · REGISTER.count.py.
  • motir-meta prompts/log-bug.md — the filing protocol these rules are the plan-time half of; the restated wording must not contradict it.
  • MOTIR-3308 — the worked example of the table and the restated voice.