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.mdgains acore.md — the gate checklistsection 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 destinationsourceRef.- 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
#restatementheading inprompts/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.mdlines 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 coreis 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-metaprompts/plan-rules/core.md— lines 46-459, the region this card owns.motir-metaprompts/plan-rules/RESTATEMENT.md— the per-unit record and the section format to follow.motir-metaprompts/plan-rules/fixtures/core.md— where the migrated prose is conserved.motir-metaprompts/plan-rules/REGISTER.count.py— the published measurement and the only citation for a register figure.motir-metaprompts/plan-rules/CORPUS-MAINTENANCE.md— RULES vs LESSONS, the routing this executes.- MOTIR-3308 — the proof card; its
RESTATEMENT.mdsection is the worked example of the table and the voice.