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

kind-leaf-deepen — lesson rows, the mirror, and both baselines

The motir-ai half of kind-leaf-deepen: its migrated limbs become lesson rows, its restated wording reaches SHARED_PLANNING_RULES, and the baselines move with it.

Start from the segment map the source card recorded in RESTATEMENT.md, not from CORPUS_ORDER's pack tags. THE_DESIGN_GATE and THE_ARTIFACT_OBTAINABLE_GATE are tagged kind-leaf-deepen; THE_ESTIMATION_GATE is tagged kind-leaf while its source text lives in kind-leaf-deepen.md, so it is this card's to edit and its tag stays exactly as it is. Confirm each by probing the constant for the restated wording rather than by reading the tag, and say in the PR body which segments you edited and which you left to a sibling.

Lesson rows and the mirror in one PR. For each migrate row in the kind-leaf-deepen section, add a BASE_LESSONS row or record a MERGED line naming the covering row's sourceRef. This pack's limbs are unusually type-flavoured — the data-seam and request-count rules fire on code, the artifact-obtainable gate on code / deploy / chore, the manual-classification limb on every type — so the types axis earns real constraints here where the earlier families mostly did not. Constrain only where the lesson genuinely cannot fire off that axis.

Same two constraints as every lesson card in this story: no new sourceRef may carry a #N above CORPUS_HEAD = 356 (the notes.html corpus is frozen; a post-freeze limb takes a sourceRef with no #N), and title / body / howToApply may name no repository, file, symbol, card key or date. Run pnpm lessons:generate-migration and commit the emitted delta.

Then the mirror: refresh sharedPlanningRules.baseline.txt and read its diff; delete any planningRulePacks.test.ts assertion pinning a migrated phrase, each named against its table row; refresh planningRuleRouting.baseline.txt if a segment title moved; and refresh the register ceiling DOWNWARD.

blocked_by the previous link in the motir-ai chain as well as its own source card, because both refresh the same whole-constant length fixture.

Acceptance criteria

  • Every migrate row in RESTATEMENT.md's kind-leaf-deepen section has a disposition here: a new BASE_LESSONS row or a MERGED line with its covering sourceRef and reason.
  • The PR body lists the mirror segments this card edited with the source unit each carries and the pack tag it kept, THE_ESTIMATION_GATE's cross-home tag explicitly among them, plus any segment left to a sibling and why.
  • The restated estimation gate in the constant still states the hard run-time ceiling as a number, not as a principle.
  • No new sourceRef carries a #N above 356; CORPUS_HEAD is unchanged; the totality, uniqueness, generic-rewrite and date guards pass unweakened.
  • pnpm lessons:generate-migration is run and its delta migration committed; the PR body names the directory and row count.
  • Every migrated phrase probes to zero in the composed constant, and no segment changes its pack tag or its position in CORPUS_ORDER.
  • sharedPlanningRules.baseline.txt refreshed with removed-word and added-word counts reported; registerCeiling.json refreshed with the ceiling FALLING and before/after figures quoted; planningRuleRouting.baseline.txt refreshed or explicitly reported unaffected.
  • Every planningRulePacks.test.ts assertion pinning a migrated phrase is deleted and named against its table row; none is weakened to pass.
  • pnpm typecheck, pnpm format:check and pnpm test are green.
  • No file outside motir-ai is changed.

Context refs

  • motir-ai src/llm/planningRulePacks.tsTHE_DESIGN_GATE, THE_ARTIFACT_OBTAINABLE_GATE, THE_ESTIMATION_GATE, CORPUS_ORDER.
  • motir-ai src/seed/lessons.base.ts · tests/lessonsBaseSeed.test.ts · scripts/generate-lessons-migration.ts.
  • motir-ai tests/planningRuleConservation.test.ts · planningRuleRegister.test.ts · planningRulePacks.test.ts · planningRuleRouting.test.ts, and the three scripts/refresh-*.ts.
  • motir-ai src/services/lessonService.ts — how the types axis is used at retrieval.
  • motir-meta prompts/plan-rules/RESTATEMENT.md · kind-leaf-deepen.md — read-only inputs, including the segment map.
  • MOTIR-3310 — the proof card for the mirror step.