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

Mirror the restated phase-deepen pack into SHARED_PLANNING_RULES and refresh the conservation baseline

Carry the restated wording into the shipped constant — the copy that actually costs customers tokens.

This is a removal, which none of the corpus's guard suites has faced before. Every prior mirror change was an append, and two of the three guards are shaped around that assumption:

  • planningRuleConservation.test.ts classifies the diff and treats a replace or delete as fatal, permitting only a whole added sentence. A restatement is a replace-and-delete by construction, so this card will turn it red, and the refresh is the deliberate act the check exists to require. Refresh it, then review the fixture's own diff — that diff is the point of the check, and this is the first time it will show removed words. Report the removed-word count rather than the usual zero.
  • planningRulePacks.test.ts asserts specific phrases survive into every cell. Phrases belonging to migrated limbs must be removed from that suite in the same commit, not left to fail; each removal is named in the PR body against its table row.
  • planningRuleRouting.test.ts conserves delivery by segment title. Restating a rule's first line moves a title, so this baseline may need refreshing too — read its diff before accepting it.

Find the destination by a text probe over the constant, never a pack-name lookup: the mirror files some rules under a different pack than the source does, and the constants carry no exported prefix.

Acceptance criteria

  • The restated units appear in SHARED_PLANNING_RULES and the migrated limbs are gone from it.
  • The conservation baseline is refreshed in the same commit; the fixture's removed-word and added-word counts are both quoted in the PR body, with a sentence on why removal is expected here.
  • Guard assertions pinning migrated phrases are deleted in the same commit, each named against its table row — no assertion is left failing and none is weakened to pass.
  • The routing baseline is refreshed if segment titles moved, with its diff reviewed and reported; otherwise state that it was unaffected.
  • pnpm typecheck, pnpm format:check, and all four planning-rule suites pass.
  • The composed corpus still names no repo, no card key and no corpus file.

Context refs

  • motir-ai src/llm/planningRulePacks.tsCORPUS_ORDER, the rule constants, composePlanningRules.
  • motir-ai tests/planningRuleConservation.test.ts + tests/fixtures/sharedPlanningRules.baseline.txt — the classifier and the strict length equality.
  • motir-ai scripts/refresh-planning-rules-baseline.ts, scripts/refresh-planning-rule-routing-baseline.ts.
  • motir-ai tests/planningRulePacks.test.ts, tests/planningRuleRouting.test.ts, tests/treeGeneration.test.ts.
  • MOTIR-3308 — the restated source wording this mirrors.