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
- 584
- planned
- 5,169
- shipped
- (motir-core) THE OPEN APPROVAL LEARNS ITS SUBJECT MOVED — the full-screen surface reads the same stream through the host and says so, without taking the design off the reader's screenApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) ONE STREAM, HELD BY THE HOST — the hook, the Workbench subscribing once, the five lists and the strip counts re-reading on a nudge, and the settled row that stays putApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) THE WORKBENCH STREAM — an SSE route that polls the watermark read, mirroring the dispatch-run stream frame for frame: same headers, gate before open, heartbeat, cursor resumeApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) THE WATERMARK READ — one cheap query answering `what have I not seen`, per tab, access-gated by the reads it already composesApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) THREE acceptance receipts assert the pre-§26 settled-row behaviour — MOTIR-5238 reversed it by design, so `acceptance-approval-overlay` (×2) and `acceptance-approvals-tab` go red and need a DISPOSITION, not an edited assertionApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- THE WORKBENCH IS LIVE — the tabs and their counts keep themselves current while you are looking at them, on the run page's own streaming conventionApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) An OFF Switch's edge is under 3:1 against the page in EVERY palette and theme — `--el-border-strong` on `--el-page-bg` is 1.52–2.41:1
- (motir-core) Design — the ERRORS section on the work-item page: one row per linked issue with its recurrence and resolve-back facts, the Link door and issue picker, the already-linked move, and unlinkProduction 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-core · test) Playwright acceptance E2E + VIDEO — an ejected card reads *Checks failing* on the board, list and Workbench, offers `motir fix` beside *Queue again*, and clears on Queue again (en + zh)Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core · test) Story VITEST gate — an ejected card folds `failing` and clears on Queue again or a push, the fold agrees with the promotion, the claim admits it, and `motir fix`'s watch runs the agent on itApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The Development block offers `motir fix` BESIDE *Queue again* on an ejected card, and says which one to use (en + zh)Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) `motir fix` REPAIRS an ejected pull request — the work item's `deliveries[]` carry a standing `queueExit`, the CI watch reads it as red, and the fix prompt names the reason, the check, and the conflict pathApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The REPAIR CLAIM admits an ejected card — a queue failure at the head is a failing member, and the claim and the page's repair view name its reason and failing checkApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) A merge-queue FAILURE at the pull request's current head folds into the card's `ciState` as `failing` — one shared predicate with the promotion hold, recomputed on the exit and on Queue againApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- An EJECTED card reads RED — the card's Checks badge counts a failed merge-queue exit, and `motir fix` claims a card the queue threw out for failed checks or a conflictApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) A request that imports ONE job definition leaves the emit path with a PARTIAL manifest — `ensureJobManifestLoaded` short-circuits on it, and every other event is silently dropped for the life of that module layerProduction 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-core) The story's E2E — completing a monitor-filed bug resolves its fake issue once and the next poll changes nothing, the switch turns it off, an assignment arrives, a failure shows on the row — recorded as the acceptance videoProduction 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-core) The story's VITEST gate — the coverage floor over the sync surface, the done → resolve → poll seam end to end through the fake on real Postgres, and the guards coverage cannot seeProduction 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-core) The Monitoring room shows SYNC — both direction switches on each row, the failed resolve-back line, and both localesProduction 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-core) The DIRECTION SWITCHES write — `setSyncDirections` under `integration:manage`, the connection PATCH accepting both switches, and the view DTO carrying them and the last sync failureProduction errors become planned work — a monitor connects, its issues arrive as bugs in a container the project chooses, and fixing one closes it back