moooon
Motir
Vibe the 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
- 6
- requests
- 4
- upvotes
- 587
- planned
- 5,172
- shipped
- Planning bug: a per-repo test gate was cut as TWINS and the motir-core half's coverage clause rode into the motir-ai one, where no coverage gate exists
- Planning bug: a criterion named a consumer that was PRESENT but UNREACHABLE — `situations/replan.ts`'s partition had been dead since MOTIR-3978
- Planning bug: a row inventory over a prettier-wrapped HTML design asset was taken with a line-oriented grep, so MOTIR-4248's evidence table under-read one asset by two rows
- Planning bug: a card enumerated a tool schema's MISSING fields without the command that produced the list, and named one the schema already had
- Planning bug: a card told a second repository to MIRROR a mechanism the first repository retired nineteen hours later — "mirror X" is a claim about another repo's current shape, and nothing re-checks it
- Planning bug: the WHAT's PRODUCER and CONSUMER disagree on its SHAPE — MOTIR-4083 pins it to prose `text`, MOTIR-4082 consumes a validated struct, and nothing converts one to the other
- Planning bug: MOTIR-4130 counted 3 of the 6 rows its claim quantifies over, and denied on the record the one edge it owed — to the OPEN PR that changes the row the card is named after
- Planning bug: a card read an element's specified measure off an UNAPPLIED rule in the mock's stylesheet, and called it "the value the asset draws"
- Planning bug: a card declared the WHAT out of scope on the ladder's HOW argument, and addressed its start-gate to the phase being gated
- Planning bug: a card specified ONE rule delivered to two packs with identical text — which `INVARIANT B — disjoint cover` forbids, and the 88-char segment id collides on
- Planning bug: MOTIR-4106 pinned motir-core owed a row in docs/contract.md, which is a motir-ai file — a repo straddle the BARE path hid from the detector
- Planning bug: a card asserted the release re-runs the PR's matrix without reading the lanes' own `if:` — the most expensive one had been PR-exempt for nine days
- Planning bug: MOTIR-3868's AC 1 required a diff against `work_item.targetRepoRole`, a column retired 11 days earlier — the enumeration was verified, the column behind it was not
- Planning bug: a copy card scripted a PUBLIC marketing claim about an unshipped capability — no gate checks a customer-facing sentence against the product, because the precondition rule only asks whether the card can be BUILT
- Planning bug: a `coding_agent` card carried a criterion only a BROWSER SESSION can discharge — minting a `CLI_TOKEN_GRANT` token is cookie-session-only by design, and no gate noticed
- Planning bug: MOTIR-4651 asked for a SQL data migration that ALSO deletes object storage through a TypeScript service — two criteria one medium cannot satisfy, and the implementer's only way out was a manual production step no card carries
- Planning bug: a card put a per-phase asymmetry in the SHARED tier — the clause was true on one phase and forbade the other phase's deliverable
- Planning bug: MOTIR-5403 specified adoption for a stored card under a PROPOSED container — a shape the plan append refuses, because a `modify` re-parents only onto an existing work item
- Planning bug: a flaky-test card grouped three tests as "same shape" by reading their STEPS, not by asking which assertion rides the write's response — two of the three were already waiting
- Planning bug: MOTIR-5355 was created at `todo` with a calendar/population entry condition only in prose — readiness sealed it `ready: true` and a run claimed it ~7 weeks before its data can exist