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-4155To Do

PLANNING BUG — the taxonomy defines `decision` TWICE and the two disagree: §1 says it IS the ADR (an artifact), the executor column and the `legal` boundary say it is the judgement WITH NO artifact. The planner is handed only the first, plus `executor: human`.

Opened by Zhu Yue ·

A card whose deliverable was writing down decisions already taken was typed decision in a live planning session on 2026-09-02, and thereby routed executor: human — parking agent-authorable prose on a person. The mis-type was made off the shipped gloss, and the gloss is one of two definitions the taxonomy carries.

The two definitions

motir-core docs/decisions/work-item-type-taxonomy.md, three places:

WhereWhat it saysReading
§1, the authoritative gloss table"decision — A decision record (ADR) — fixing a choice the rest of the work builds against."the card IS an ARTIFACT
§3, the executor-default table's routing rationale"decisionhuman — A judgement call / sign-off a human owns."the card IS an ACT
Amendment 1 §1a, the legal boundary"vs content/decision: a legal card produces a document that binds the company… A decision about legal posture with no artifact is decision."the card IS an ACT, explicitly artifact-free

Two of the three say the act. §1 says the artifact. They cannot both hold, because §1's ADR is precisely an artifact, and Amendment 1 says an artifact-free decision is what decision names.

Why it reached a plan

motir-ai src/llm/workItemTypes.ts — shipped by MOTIR-4065 (done, 2026-09-01), whose title is "The TYPE vocabulary is TAUGHT, not just enumerated — the taxonomy's own gloss reaches the session that CHOOSES" — copies §1 verbatim:

decision: { scope: 'A decision record (ADR) — fixing a choice the rest of the work builds against.' },
…
decision: { executor: 'human', group: 'always-human' },

It carries the gloss and the executor default and not the routing rationale, which is the only sentence that would have reconciled them. So the session that chooses is told "this type is a document" and "this type is always human", with nothing explaining why a document is a human's job — and the two facts, taken together, teach exactly the wrong card shape.

motir-ai is not the deviant here. motir-meta prompts/plan-rules/type-decision.md carries the act reading and always has:

decision — the QUESTION, the options, the RECOMMENDATION + its rung-1 (mirror) / rung-2 (shipped) evidence, and what it gates (blocked_by it the dependents).

A question with options and a recommendation is not an ADR of a settled choice. So the shipped planner and its mirror corpus disagree, and the shipped one is the one that is wrong.

The reading that is correct, per Yue (2026-09-02)

  • decisionexecutor: human. The card STATES TWO OR MORE HOWs and their trade-offs on named axes — cost, performance, serving a different market — and a person picks. It is the escalation instrument, and it produces no artifact but the choice. (Worked example: MOTIR-4050, where options A and C were laid out and Yue chose C. Generic example: deploy to Fly vs AWS vs Vercel.)
  • contentexecutor: coding_agent. The record of a decision already taken, including an ADR. Writing it down is authoring.

This is the reading §3 and Amendment 1 already encode, and the one always-human only makes sense under: a human is on the card because a human must choose, not because a human must type.

A second defect this exposes, in content

Amendment 1 narrows content to an enumeration — "READMEs, guides, runbooks, API documentation, help articles, seeded example/demo content" — which does not name decision records, and pairs it with a precedence rule: "content is the RESIDUAL member and the SPECIFIC beats the GENERAL."

So under the taxonomy as written today, an ADR-authoring card typed content is mis-typed: §1 hands ADRs to decision, and the residual rule then evicts them from content. Correcting §1 without adding decision records to content's enumeration moves the contradiction rather than closing it. Both glosses have to move in one amendment.

Blast radius

Every card typed decision on the strength of §1 is an authoring card routed always-human. It fails toward stalling, not toward damage — the work is correct, sitting on the wrong queue — but it is invisible, because a human-executor card waiting on a human looks exactly like a human-executor card waiting on a human.

What a fix has to land — THREE homes, one meaning

  1. motir-core docs/decisions/work-item-type-taxonomy.md — the governing text; an amendment in the ADR's own style. §1's decision gloss becomes the judgement; content's Amendment-1 enumeration gains the record. This is the authority; the other two mirror it.
  2. motir-ai src/llm/workItemTypes.ts — the shipped gloss the choosing session reads. It should also carry the routing rationale, not only the scope line, since dropping it is what let the two facts contradict each other unsupervised.
  3. motir-meta prompts/plan-rules/type-decision.md + type-content.md — already right on decision; make the option/axes/human-picks shape explicit rather than implied, and give type-content.md the record.

Deliberately left unpinned to a repo: this is a record to plan from, not a dispatchable unit, and it cuts into one subtask per repo — one repo, one PR.

Acceptance criteria for the eventual fix

  • decision and content are defined so that exactly one of them accepts an ADR-authoring card, and the answer is content — asserted by the glosses themselves reading consistently, not by prose asserting they do.
  • decision's gloss names the SHAPE: two or more HOWs, trade-offs on named axes, a human chooses. A gloss that only says "a judgement call" does not tell a planner what to WRITE on the card.
  • The three homes are checked against each other in one pass, and the sweep list records all three — the MOTIR-2976 failure mode, where an amendment's follow-up table missed motir-ai's mirror.
  • The legal boundary line still parses after the amendment — it is currently the only place the act reading is stated as a boundary, and it must not become the odd one out in the other direction.
  • No backfill of existing rows, per Amendment 1's own precedent — recorded, not silently mixed.

Context refs

  • motir-core docs/decisions/work-item-type-taxonomy.md — §1, §3's rationale column, Amendment 1 §1a and the content narrowing.
  • motir-ai src/llm/workItemTypes.ts — the shipped glosses and WORK_ITEM_TYPE_EXECUTOR_DEFAULTS.
  • motir-meta prompts/plan-rules/type-decision.md · type-content.md — the mirror corpus.
  • MOTIR-4065done; the card that carried §1's gloss into the planner. Filed FORWARD, not re-planned.
  • MOTIR-2976done; the precedent for an amendment whose sweep list missed the motir-ai mirror.

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