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
144
planned
1,366
shipped

Motir · Roadmap

MOTIR-3919Done

Re-tag `core` on the act test — six segments to `phase-skeleton`, two divided, no new packs

Opened by Zhu Yue ·

core is the pack every one of the 22 cells loads, and it is the only pack no axis has ever narrowed. Applying the ACT test to it is the largest single reduction still available.

The measurement

core is 51,864 chars, 44% of a translate deepen cell. Segments a DEEPEN session cannot act on, because their discharge needs a tool it does not have:

segmentcharsdischarged by
RECONCILE_EXISTING_NOT_DONE_WORK15,383modify_node / remove_node — skeleton-only
THE_GATE5,861"BEFORE YOU PROPOSE ANYTHING"
A_CARD_THAT_DECLARES_ITS_SPLIT5,376splitting a card is emitting a card
AUTHOR_ONE_CARD_AT_A_TIME510it IS the phase boundary

≈27KB — over half of core — on 17 cells that cannot act on any of it. The final classification is the ACT decision's, not this card's; these are the ones the measurement already names, and the decision's own criteria require the full list.

What this card does

Splits core per that decision. Whether the result is core + core-skeleton + core-deepen, or only the two halves, is settled by the decision and NOT re-opened here — this card executes the shape it names.

⚠️ AMENDED 2026-08-29 (MOTIR-3917 settled it) — THERE ARE NO NEW PACKS, and this card's title is now wrong about its own deliverable. DECISION.rule-phase.md §3: a core rule that fails the act test moves into the EXISTING phase-skeleton / phase-deepen pack. A core-skeleton pack would be reachable from exactly the five cells phase-skeleton is already loaded on — a second name for the same tier, which TOTAL RESOLUTION would accept and no reader could justify. PLANNING_RULE_PACK_ORDER does not change; this is a re-tag of CORPUS_ORDER rows plus three divisions.

And the scope is now FIXED rather than to-be-determined. DECISION.rule-phase.md §5 names it, and the arithmetic is verified against the constant at 734b8c4: core is 51,864 chars = 30,817 MOVE (six segments, re-tag only) + 10,155 STAY (the intersection set) + 10,892 DIVIDED (two segments — the estimation gate and the coding-conventions/repo-pin pair — each owing a word-diff). THE_DESIGN_GATE (5,292) and the precondition limbs (8,445) are MOTIR-3920's, not this card's.

It is a RE-TAG plus a SPLIT, and the two need different evidence. A segment that moves whole is proved by its routing row; a segment DIVIDED — the estimation gate is the likely one — is proved by a word-diff over its parts, exactly as MOTIR-3898 proved the eight-way cut of the precondition rule.

Acceptance criteria

  • Every core segment lands in the tier the ACT decision assigns it, and the PR carries the per-segment table: segment, old tier, new tier, and the ACT that discharges it. A segment whose row says "both" cites the decision clause that permits it.
  • The routing baseline's superset proof shows, for every moved segment, that the cells carrying it are a superset of the cells where its situation can occur — and any segment that LOSES a surviving cell is named with the act that cannot occur there. This is the same instrument MOTIR-3897 / MOTIR-3899 / MOTIR-3900 used and it is not optional.
  • TOTAL RESOLUTION holds: every legal cell still resolves to a non-empty duplicate-free pack list, every pack is reachable, and no pack is declared empty. If a tier ends up empty it is RETIRED explicitly, as kind-leaf was, not left declared.
  • No rule text changes except where a segment is DIVIDED, and each division is proved by a word-diff over its parts showing zero runs lost. The conservation classifier reports the named divisions and nothing else; the baseline is refreshed in the same commit with its diff reviewed.
  • The register ratchet holds: the corpus-wide cautionary count does not rise.
  • The composed size of every cell is measured before and after and stated in the PR, with the largest reduction and any increase both named. No skeleton cell may grow by more than the segments the decision moves INTO it.
  • composeSkeletonRules() — the union a skeleton session composes when the kind is unknown — is re-derived over the new tiers and asserted still to carry no deepen pack.

Context refs

  • motir-ai src/llm/planningRulePacks.tsCORPUS_ORDER, PLANNING_RULE_PACK_ORDER, resolvePlanningRulePacks, composeSkeletonRules.
  • motir-ai tests/planningRuleRouting.test.ts + tests/fixtures/planningRuleRouting.baseline.txt — the superset proof.
  • motir-ai tests/planningRuleConservation.test.ts, tests/planningRuleRegister.test.ts — the text and register guards, and their deliberate-refresh paths.
  • motir-ai tests/planningRulePacks.test.ts — TOTAL RESOLUTION, reachability, the cell arithmetic.
  • MOTIR-3898 — the eight-way cut whose method this follows, including how a division is proved.

Discussion

No comments yet.

Adding to this discussion signs you in on app.motir.co and brings you back to this request.

Add a comment