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
- 514
- planned
- 5,093
- shipped
- SWEEP the planner-bug home — read every open record in detail, one by one, and discharge each into a GLOBAL lesson, a TENANT lesson, a RULE anchored to an ACT, a MISSING STEP, or a commented defect that STAYS OPENSelf-improvement — auto-reported quality bugs
- (motir-core) Approving a design card's approve-to-merge gate DIRECTLY merges it while its `design_result` gate is still AWAITING — the merge gate's own `approve` never reads the design
- (motir-core, production) READ the bug-destination rollout from production's database — both migrations applied, every non-archived project's destination accounted for, and the planner-bug home story intact beside a folder destinationProduction 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) Two settings switches bypass the Switch primitive and keep every contrast defect it was fixed for — the automation `RuleSwitch` and the dashboard widget `Toggle` sit at 1.00–2.41:1
- (motir-core) A merged or closed pull request with NO check rows folds to `running` for ever — the production backfill would write a permanent `running` onto 212 finished cards (78 of them now correctly `passing`)Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- Epic 1: Foundation
- (motir-core) Decision — AMEND the acceptance gate's PLACEMENT: `acceptance_result` hangs on the STORY whatever the run target, and on a story run it is the PRIMARY of two gates whose one press merges the story's codeApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) Design — FOLDERS on the planning canvases: the folder card and folder level on the plan-change overlay and the plan review, where a folder-filed proposal arrives now that a folder is a level, how a closed folder shows it holds proposals, and a navigable folder crumb
- (motir-core · design) The DECISION PORT — the decision document drawn as the PRIMARY question above the pull-request rows in the Development frame and the overlay, its unresolvable / superseded-by-push / merge-held states, and the To-approve rowApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) In an `auto` project, a design card's pull request merges while its `design_result` gate is still AWAITING — `settleGreenVerdict`'s auto arm never reads the design gate
- (manual) SUPERSEDE production's awaiting `pull_request_merge` gates — dry run, read the counts, apply, then re-read that none remainApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) A PROJECT-BOUND token is shown projects it cannot read — `list_projects`' structured payload and `GET /api/v1/projects` ignore the binding, though the text block and every per-key read honour it
- (motir-core) The CI-state backfill cannot finish on production — `backfill-ci-state.yml`'s 10-minute job timeout cancels the ~1,957-card sweep, and the script reports only at the END, so a cancelled run prints zero countsApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) PHASE 3 — DROP `workspace."subtaskPrMergeMode"` with its `@client-stopped-selecting` marker, remove the `@ignore`d field, and close ADR §7's retirement noteApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) PHASE 3 — DROP `organization.acceptance_video_enabled` with its `@client-stopped-selecting` marker, and retire the field, DTO, mapper and repository inputApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) LINK an error from the work-item page — the `+ Link error` door and issue picker, the move confirmation, the ⋯-menu row on a work item with no link, and their strings in 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 story's E2E — a monitor-filed bug shows its error, a customer-reported card links the same fault by search and move, and unlinks it again — 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 error-link surface, the link → poll → read seam 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 work-item page shows its ERRORS — the section's rows and every stored state, unlink, loading / error, and their strings in 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) LINK and UNLINK by hand — search the project's connections for an issue, link it to an existing work item, refuse an issue linked elsewhere unless the move is explicit, and unlink, under `work_item:edit`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