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

core.md's planning rules and its plan-time-gates index restated — the second half of the always-injected pack

The other half of the always-injected pack — everything in core.md outside the gate checklist: the file header and its two read-order notes (lines 1-45), the ## Planning rules body (lines 460-795), and the ## The plan-time gates destination index (lines 796-820). Applying the epic's two marker lists to that region gives 406 lines, 16 cautionary, 8 prescriptive, of a whole-file 820 / 42 / 13 measured with REGISTER.count.py core at origin/main a9caaa1.

blocked_by the gate-checklist card for one reason: both edit core.md, and two branches holding the same 820-line file open produce a conflict on every hunk. Take your base AFTER that card has merged, re-derive the region boundaries from the file as it then stands — the line numbers above are from a9caaa1 and the sibling will have moved them — and re-measure before you start.

Four units, plus the header:

  • Recommend the BEST solution, not the quickest — a standing stance the planner applies on every recommendation. Method.
  • The decision-authority ladder — the rung model for who decides what. Method, and one of the constants the mirror carries.
  • Plan WITH the project's coding conventions — read the repo's CLAUDE.md, plan to its architecture. Method wrapped in incident.
  • CARDINALITY is an assumption too — ask how many, and what decides that. Method with a standing instance.
  • The plan-time gates index (796-820) is pure navigation: seventeen destinations plus the note explaining why "below" no longer means below. It carries 0 cautionary markers already and should mostly survive as-is; where a destination moved because of this rollout, re-point it.

Same disposition discipline as the sibling: keep means state it in the imperative with no incident narrative, no > **Warrant:** block and no fixture pointer; migrate means the body goes to the lesson store and a one-line residue stays. Where a lesson row is not yet written, mark the row pending and leave the text.

Do not touch the gate NUMBERS or the gate checklist region. If restating a rule down here changes what a gate should point at, change the pointer, not the gate.

Acceptance criteria

  • RESTATEMENT.md gains a core.md — the planning rules section with one row per unit and per named limb, each carrying its disposition, before/after line count, and for a migrate the destination sourceRef.
  • Every kept unit reads as an instruction; the recommend-the-BEST stance and the decision-authority ladder survive with their decision content intact, not compressed into a slogan.
  • The ## The plan-time gates index still resolves: every one of its seventeen destinations names a pack that carries that gate's rule after this card and its sibling have both landed, verified by opening each.
  • Every migrated paragraph is verbatim under #restatement in prompts/plan-rules/fixtures/core.md, appended after the sibling's block rather than replacing it.
  • python3 prompts/plan-rules/REGISTER.count.py core at this card's base and again on the result: the whole-file cautionary count falls further and prescriptive rises; both pairs and the base ref are in the PR body, alongside the sibling's figures so the two halves read as one movement.
  • The PR body states the region boundary respected — first and last line touched — and confirms nothing landed inside the gate checklist.
  • COMPRESSION.conserve.py core is expected to FAIL; 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/core.md — lines 1-45 and 460-820 at a9caaa1; re-derive after the sibling merges.
  • motir-meta prompts/plan-rules/RESTATEMENT.md · fixtures/core.md · REGISTER.count.py.
  • motir-ai src/llm/planningRulePacks.tsDECISION_AUTHORITY_LADDER, CODING_CONVENTIONS_AND_ONE_REPO_ONE_PR, CAPTURE_PLANNING_MISTAKES, SEARCH_THE_LESSONS_IN_TAKEAWAY_REGISTER, AUTHOR_ONE_CARD_AT_A_TIME — read-only here, to see which of these units the mirror carries before you re-word them.
  • core.md's per-card gate checklist restated — the sibling whose merge is this card's base.