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
- 610
- planned
- 5,361
- shipped
- Planning bug: a split re-sized MOTIR-4592 by SUBTRACTING what left instead of re-listing what stayed — 3 pts / 55 min for ~8 / 110
- Planning bug: MOTIR-5144 carries `executor: human` — an explicit override of `verification`'s agent default — and then writes its recipe as an MCP call no human can make
- Planning bug: two sibling stories built ONE freshness substrate — the shipped module even named the story it superseded, and nothing read it
- Planning bug: MOTIR-4319 asserted `addresses.primary` as the read path for MOTIR_BASE_URL and enumerated 3 of at least 7 origin-naming registrations — both derived from code, neither read
- Planning bug: a region measured by SEARCHING for its boundary — `SHARED PLANNING RULES` occurs inside the framing it was cutting
- Planning bug: MOTIR-3892 "measured" a closed PR from its CARD — #332 never split the constant, changed no test, and turned no guard red
- (motir-core) E2E GitHub MERGE seam — `E2E_TEST_GITHUB_MERGE` intercepts merge, merge-queue rules and enqueue on the shared MockAgent, steered per pull request by a control fileApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) Playwright acceptance E2E + VIDEO — gate appears on green, Approve and merge reaches `approved`, a queued PR waits, one refused names its PR, a bystander sees no verbsApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) Story VITEST gate — the coverage floor over the pull-request arm, the raise → decide → merge seam on real Postgres, the one-control / one-door / totality guards, and the two-green-webhooks raceApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The To-approve tab's PULL-REQUEST row — the kind's glyph and subject line replace "Not built yet" (en + zh)Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The Development frame GETS ITS VERBS — Approve and merge · Request changes, each pull request's merged / queued / refused outcome in place, and the docs (en + zh)Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) APPROVE AND MERGE — one press commits the approval, then merges each pull request, or enqueues it where the repo has a merge queue, via MOTIR-4882's pathApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) RAISE and WITHDRAW the gate — one `awaiting` `pull_request_approval` on the run target when its delivery set turns green, superseded when a member's head moves, and never two at onceApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) Register `pull_request_approval` — the handler over the delivery SET, Approve writes `approved`, the subject summary loader, and the registry's hole closesApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) AMEND `approval-gates.md` for the approve-and-merge gate — its subject is the run target's delivery SET, it is raised on the all-green verdict, a moved head supersedes it, and §8 row 4a's "one transaction" is reconciled with §4 and §6aApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- APPROVE and MERGE the pull requests IN Motir — ONE gate over the work item's pull requests together, its port the PRs and their HOW TO TEST, and the card reaches `approved`Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) Playwright E2E — approve a design, watch a republish refused with the way forward, reopen the card from Done by hand, and publish the new versionApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) Story vitest gate — the coverage floor over the refusal, the approve → done → refused → reopen → accepted seam on real Postgres, and the publish-versus-approve raceApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The CLOSED refusal — `designEvidenceService` refuses a publish, an upload-grant mint and a withdrawal on a done design card with `DESIGN_CARD_CLOSED`, on the MCP tools and both HTTP routes, read under the publish path's own lock orderApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) Decision — `approval-gates.md` §6c and `design-result.md`: a design card in the done status is CLOSED — no publish, no upload grant, no withdrawal — and reopening it by hand replaces *pin, do not freeze*Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join