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 · Roadmap

MOTIR-4151To Do

Planning bug: MOTIR-3942 planned the conversation's whole CONTRACT and no PRODUCER — the pack, the value and the rules all ship, and nothing runs a conversation

Opened by Zhu Yue ·

Found by a user-invoked re-plan of MOTIR-3942 (2026-09-02). The correction is already submitted as plan cmtk23fn300cvhyphzmiul2pz; this card is the defect RECORD and it holds up nothing.

The defect

MOTIR-3942 was expanded into nineteen children that between them deliver the conversation's entire contract — PART 1's value (MOTIR-4058), the requirement's shape (MOTIR-4140), its bar (MOTIR-4141), its distribution (MOTIR-4142), PART 2's rules (MOTIR-4056 / MOTIR-4059), ask_user's relocation (MOTIR-4057), the pending-plans read (MOTIR-4107), clear_plan (MOTIR-4081) — and no card RUNS one.

Verified on origin/main, not inferred:

readresult
git grep composeConversationRules -- srcits own definition, two comments, corpusDeliveriesno src caller
git grep -E 'conversation\s*[:=]' -- srcdiscovery.ts's unrelated ChatMessage[] and preplanSessionServiceJobContext.conversation is assigned by nobody

So settleTarget falls through to seedConversationFromEnvelope on every path that exists, and phase-conversation — a pack corpusDeliveries() asserts is DELIVERED — reaches no model.

Why nothing caught it

Every signal read clean, and each was correct:

  • readiness / validate_work_item on MOTIR-3942 answer "has every work item this one waits on reached done?" The missing thing is not a work item.
  • The advisories channel has no family for it. reference scans a card's own description for not-done KEYS; the absent producer has no key. subsumption keys on a MERGED pull request. shape reads a card's criteria against themselves.
  • The suites are all green and all read CONTENT. part1TargetAndVerb.test.ts asserts what phase-conversation contains, that it is cheaper than any planning cell, and that no planning cell composes it by accident. Not one of them asks whether anything hands it to a model.
  • Three cards each declare "OUT: the turn loop" and none names an ownercore.md gate 4's FOURTH TELL, a deferral naming no target at all, which is by construction the one form no resolution check can fire on.

⚠️ The strongest evidence, and it was already on the board

MOTIR-4062 — this story's own gate card — states as its FIRST acceptance criterion "A conversation settles a target and the run plans against THAT card", under a heading reading "ASSERTED THROUGH THE SHIPPED SURFACE … the run is DRIVEN and what it emitted is read back." Its blocked_by set was {MOTIR-4060, MOTIR-4061, MOTIR-4063} — nothing that makes a conversation run. That criterion was unsatisfiable and the card read valid: true.

And its own explanationMd records the identical failure one story earlier, in this same epic: MOTIR-3940's walk driver was "built, unit-tested through its own port, and never executed on a real path — nothing set the option that turned it on. Every test was green and the feature did not run."

So this is the second occurrence of one shape inside one epic, the first of which is written up on the card the second one falsified. That is what makes it worth a record rather than a note.

The correction, already submitted

Plan cmtk23fn300cvhyphzmiul2pz adds two subtasks under MOTIR-3942 — the conversation session, and the walk's entry into it — and modifys MOTIR-4062 to blocked_by both, which is core.md gate 8's fifth limb (a terminal card's blocked_by is a FUNCTION of its parent's child set, so filing a sibling amends it).

Acceptance criteria

  • A LESSON recording the takeaway is written to the store with its scope decided and stated. DONE — see the comment on this card for the row and the scope decision.
  • The two boundary sentences still name no key. MOTIR-4140 ("No turn loop composes phase-conversation yet") and MOTIR-4141 ("OUT: THE TURN LOOP. Nothing composes phase-conversation at runtime yet") each defer to nobody. A proposal cannot cite a key that does not exist until approval, so this closes with one update_work_item per card once plan cmtk23fn300cvhyphzmiul2pz is approved and the two keys are assigned. This is the only work this card carries.
  • Nothing here re-litigates the correction — plan cmtk23fn300cvhyphzmiul2pz is the shape and a person approves it.

Context refs

  • MOTIR-3942 — the story re-planned; relates_to.
  • MOTIR-4062 — the terminal gate card whose first criterion was unsatisfiable, and whose explanation records the prior occurrence.
  • motir-ai src/llm/planningRulePacks.ts · src/jobs/registry.ts · src/jobs/planningTarget.ts — the three reads above.
  • motir-meta prompts/plan-rules/core.md — gate 4's fourth tell (a deferral naming no target) and gate 8's fifth limb (the terminal card's edge set).

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