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

core.md's per-card gate checklist restated — gates 1 to 17 in the imperative, with a per-gate keep/migrate table

The always-injected pack, and the one the story warns about by name. core.md is 820 lines, 42 cautionary against 13 prescriptive (3.2x) — the least inverted pack in the corpus, because the gate checklist is genuinely prescriptive and most of what surrounds it is not. Measured with prompts/plan-rules/REGISTER.count.py core at origin/main a9caaa1.

This card owns ONE region: the per-card gate checklist, core.md lines 46-459 — the seventeen gates and their limbs, from ## ⚠️ The per-card gate checklist to the line before ## Planning rules. Applying the same two marker lists to that range alone gives 414 lines, 26 cautionary, 5 prescriptive. core.md's planning rules and its plan-time-gates index restated owns everything above and below it and is blocked_by this card, so the two never edit the same lines and never race on the file.

Go gate by gate, seventeen rows, and for each of the sub-limbs beneath it. Decide keep — it is method, so state it in the imperative, no incident narrative — or migrate, so the body leaves for the lesson store and a one-line prescriptive residue stays. The checklist is described in the pack's own words as "the EXECUTABLE INDEX of the rules in this file: each line is a hard check", which is the target voice; a gate that already reads that way needs only its > **Warrant:** block and its worked incident removed.

core.md is where a careless cut does the most damage, so bias toward KEEP and make each migrate argue for itself. A gate is a check somebody runs against a card they are holding: the instruction fires every time, and the afternoon behind it fires once. Where a limb is the instruction, it stays. Where it is "here is how MOTIR-2734 got this wrong", it goes.

Some limbs are already compressed to a > **Warrant:** tag plus a → [fixtures/core.md#...] pointer — gates 1, 2, 5, 8, 9, 13, 14 all carry them. Those tags are the migration list writing itself: each one names an incident that is already externalised, so the row is usually migrate the remaining narrative, keep the check, and drop the tag.

Do not delete a paragraph whose lesson row does not exist yet. The migrated core.md limbs become categorized lesson rows writes those; where a row is not written, leave the text and mark the row pending rather than shipping a gap. This is MOTIR-3308's discipline and it exists because the two halves of a migration land in different repositories.

Acceptance criteria

  • RESTATEMENT.md gains a core.md — the gate checklist section whose table has one row per gate (17) plus one per named sub-limb, each row carrying the disposition, the before/after line count, and for a migrate the destination sourceRef.
  • Every kept gate is stated as an instruction in the imperative and carries no incident narrative, no > **Warrant:** block and no worked example; the check it performs is unchanged in what it demands.
  • Every migrated paragraph is present verbatim under a #restatement heading in prompts/plan-rules/fixtures/core.md, so nothing this card removes is unreadable afterwards.
  • No row is marked migrate without a named destination row or an explicit pending.
  • python3 prompts/plan-rules/REGISTER.count.py core, run at this card's own base and again on the result, shows the whole-file cautionary count fall and the prescriptive count rise; both pairs of figures and the base ref are quoted in the PR body.
  • The PR body states the region boundary this card respected — first and last line touched — and confirms no edit landed outside core.md lines 46-459 as they stood at its base.
  • The seventeen gate NUMBERS are unchanged and every → *rule name* forward pointer at the end of a gate still resolves to a pack that carries that rule.
  • COMPRESSION.conserve.py core is expected to report FAIL and is NOT chased: quote its output in the PR body and cite MOTIR-3377. Do not re-word rule text to make it pass.
  • The change lands via a branch and a PR against main; no direct commit.

Context refs

  • motir-meta prompts/plan-rules/core.md — lines 46-459, the region this card owns.
  • motir-meta prompts/plan-rules/RESTATEMENT.md — the per-unit record and the section format to follow.
  • motir-meta prompts/plan-rules/fixtures/core.md — where the migrated prose is conserved.
  • motir-meta prompts/plan-rules/REGISTER.count.py — the published measurement and the only citation for a register figure.
  • motir-meta prompts/plan-rules/CORPUS-MAINTENANCE.md — RULES vs LESSONS, the routing this executes.
  • MOTIR-3308 — the proof card; its RESTATEMENT.md section is the worked example of the table and the voice.