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
- 504
- planned
- 5,041
- shipped
- (motir-core) The dispatched agent's FOUND A DEFECT steps open the bug with the literal line `**Found while:** running <in-flight key>`, key filled inSelf-improvement — auto-reported quality bugs
- (motir-meta) `log-bug.md`'s bug shape opens with `**Found while:** <activity> <card>` — planning, running, verifying, dogfooding or sweeping, replacing the activity-less `Discovered in`Self-improvement — auto-reported quality bugs
- Every bug an agent logs says what it was doing when it found it — "Found while planning MOTIR-X" or "Found while running MOTIR-Y", on all three filing doorsSelf-improvement — auto-reported quality bugs
- A slow Sentry token refresh kills the monitor connection for good — the provider rotates the refresh token, but the 5 s Prisma transaction holding the lock has already expired, so the new pair is never saved
- (motir-core · test) The E2E JOB WORKER installs no mock agent, so anything a job merges, fetches or posts leaves for the real api.github.com — and dies there
- (motir-meta) `criteria-author.md`'s enumeration rule opens "The block above catches an AC that describes the WORLD", but the block above it is the STATE-SET limb — the pack's own "ORDER BELOW IS LOAD-BEARING" note is false
- (motir-meta) Move the six `core.md` gate limbs narrowed for MOTIR-5945 into `criteria-author` / `leaf-author` — gate 2's QUANTITY + COVERAGE, gate 5's state axis, gate 6's executor half, gates 9, 18 and 20's bodiesSelf-improvement — auto-reported quality bugs
- (motir-core · design) THE CONFIRM PORT — the decision's sections drawn as the question, Confirm · Overturn with Overturn's required note, the record link or its absence, the confirmed and overturned record bands, the defect and read-only states, and the To-approve rowApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-meta) 14 `type-choice` rows in MIRROR.md still say "TEMPORARY, twin not landed" after the twin landed, and `MIRROR.map.py --check` cannot see a row whose recorded verdict is stale
- (motir-meta) `type-seam.md`'s *A METHOD IS NOT A PATH* rule ends on a dangling colon — the examples it introduces were routed to `phase-author.md` / `type-runtime.md` and the sentence was never closed
- (motir-core) Design — the EVIDENCE block inside an Errors row: the exception line, the frames list in-app first, the tags, the request line and the event it came from, and its never-read / no-exception / stale-after-a-failed-read states (a delta of MOTIR-5727's `work-item-errors.mock.html`)Production errors become planned work — a monitor connects, its issues arrive as bugs in a container the project chooses, and fixing one closes it back
- (motir-ai) AMEND `session-model.md` — `propose_node` writes a body for a choice or decision task ONLY, and why the limitation still holds for every other proposalApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-ai) Story VITEST gate — a choice and a decision proposed WITH a body through the walk driver, every other kind refused through the same path, the body stored and still deepenable, and the coverage floorApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-ai) THE SAME EXCEPTION in the lay walks' words — step (a)'s NO-descriptionMd line, the lay cells' WHAT THIS PASS WRITES, and the re-title-never-rewrite clause, in `motir-meta`'s wordsApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-ai) `propose_node` takes a BODY on a choice or decision task and REFUSES it on every other proposal — the schema, the executor, the recorded `hasDescription`, and the tests that pinned no-body AMENDED, never deletedApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-meta) THE EXCEPTION in the runbook — a lay batch may carry `descriptionMd` on a `task` of `type: choice` or `type: decision` and on nothing else, with its REASON at the point of use; MANIFEST regeneratedApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- A LAY session writes a choice or decision work item's BODY — the one phase exception, because the substance was settled in the conversation and a title cannot carry itApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-meta) Move the 14 `phase-lay.md` units MOTIR-5927 held for Yue into their twin packs — the deferral family to `criteria-author`, the REDEFINES-A-MECHANISM corollary to `type-seam` / `criteria-author` / `phase-author`Self-improvement — auto-reported quality bugs
- A run never stops for SIZE — the over-gate-sizing advisory becomes warn-and-build at every run surfaceSelf-improvement — auto-reported quality bugs
- (motir-ai) code_audit and propose_convention measure test fixtures and scripts, and take one repo-wide naming majority, so deliberately messy fixtures and kebab-case scripts become findings and adopted rules