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
- 588
- planned
- 5,171
- shipped
- (motir-core) DESIGN the CI badge on the board card, the list/tree row and the Workbench row, and the *Checks* filter field — superseding the board note's *CI at Implemented* deferralApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) A WITHDRAWN approval (state G) always says "A newer design was published … The current version is above." — false when the gate was retired by a withdrawal, a pull-back or a pull-request link
- (motir-core · test) Playwright acceptance E2E + VIDEO — approve and merge into a queue, a signed `dequeued` delivery ejects it, the card reads Implemented with the reason and failing check, and Queue again returns it to Approved (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 — the reason map over the captured payloads, redelivery, the dispositions per mode, Queue again, and the re-arm: push → green → `in_review` with exactly ONE fresh awaiting gateApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The Development frame RENDERS THE EJECTION — the *Left the queue* outcome, its reason in words and its failing-check link, and *Queue again* on the card's own gate (en + zh)Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) QUEUE AGAIN — an ejected member whose head is unchanged is retryable on the card's ONE decided gate, the retry re-enqueues it and returns the card to `approved`; in `auto` mode a person's press re-dispatches the same headApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The queue's FAILING CHECK — the failed merge-group check run's name and link recorded against the ejected pull request, without touching that pull request's own CI stateApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The EJECTION arm — `pull_request` `dequeued` normalised through `GitProvider`, recorded on the pull request, and a failure moves every delivered card to `implemented`; idempotent on redelivery, and a manual, cleared or merged removal moves nothingApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The workflow EDGES — `approved → implemented`, `in_review → implemented` and `implemented → approved` in `DEFAULT_TRANSITIONS` and the seed, with a key-joined backfill that leaves custom workflows aloneApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) AMEND `approval-gates.md` for a merge-queue EJECTION — the reason map, the card's ONE decided gate stands, Queue again reuses it while the heads are unchanged, a push re-arms a fresh gate, and each pull request records its ejectionApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- A PULL REQUEST THE MERGE QUEUE EJECTS sends its card back to Implemented — the exit and its failing check recorded on the pull request, Queue again reuses the card's ONE approval while the code is unchanged, and a push re-arms itApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- 2200.44 (motir-core) The quick view says "Checks passing" about a pull request the item page says is "Queued to merge" — a row's merge outcome only reaches rows drawn inside the Development gate frame, and the peek draws none
- (manual) GRANT the Motir GitHub App the `merge_group` event and *Merge queues* read — only if the ejection amendment chose that delivery; otherwise close as not neededApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core · design) The Development frame after an EJECTION — the pull request's *Left the queue* outcome with its reason in words and its failing check, *Queue again* on the card's own gate, and the card back at Implemented — a delta of `approve-and-merge.mock.html`Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) Playwright acceptance E2E + VIDEO — a red Implemented card shows its `motir fix` command, then who is fixing it, then goes In Review when green (en + zh)Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) Story VITEST gate — the repair claim's race and refusal matrix on real Postgres, the claim → fix → green → In Review seam, and the CLI's `fix` laneApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The Development block SHOWS THE FIX — a red Implemented card offers its copyable `motir fix` command, then who is fixing it and how it ended (en + zh)Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) `motir fix <key>` — claims the repair, checks out the red pull requests' own branches, runs the shipped CI-fix loop, and closes the run with its outcomeApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The REPAIR CLAIM — one fix run at a time on an Implemented card with red pull requests, the holder named when taken, and no status movedApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- HAND A RED PULL REQUEST TO AN AGENT — `motir fix <key>` repairs an Implemented card's failing PRs on the same branch, after its run has endedApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join