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,392
- shipped
- Register Motir's PUBLIC Sentry integration and install its credentials on `motir-core` — client id/secret, the token encryption key, and the redirect URLProduction errors become planned work — a monitor connects, its issues arrive as bugs in a container the project chooses, and fixing one closes it back
- 32 (motir-core) A plan that RE-PARENTS a card draws a breadcrumb with every ancestor above the destination MISSING — the review model's ancestor walk is seeded from the target's CURRENT parent chain, so the trail stops at the destination parent
- (motir-core) Design — the project-settings `Monitoring` room: connect, the connection SET as rows, the degraded state, disconnect, and the settings-rail access pathProduction errors become planned work — a monitor connects, its issues arrive as bugs in a container the project chooses, and fixing one closes it back
- Planning bug: MOTIR-4589 was placed by what MOTIVATES it, not by where its PREMISE is produced — ready: true, openBlockers: [], unbuildable
- 2200.42 (motir-core) The approval gate's status rail has NO optimistic update — it repaints only when a whole-page `router.refresh()` lands, and `approval-gate-repaint.spec.ts:128` now ejects pull requests from the merge queue
- (motir-core) Turning the acceptance video ON from the panel has the same missing server half as MOTIR-5160 — and nothing drives the toggle-on path in place
- (motir-core) The REPORTER may approve only when there is NO assignee — authority collapses onto the routing rule, admins stay the escape hatch, and §2's amendment is reversed on the recordApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) `Project settings ▸ Approvals` — the room the gate switches live in: the registry entry, the route, and the acceptance-video switch On and OffApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) `acceptance-video.md` §3 gains the TIER amendment — the switch is project-scoped, and the original tier was chosen by analogy to its neighboursApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The eligibility READ resolves the toggle for the STORY'S OWN project — one service signature, three consumers, and the entitlement left org-resolvedApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) `Project.acceptanceVideoEnabled` — the project-tier column, its migration, and the backfill that preserves every organisation's current answerApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The acceptance-video GATE has no per-project switch — an org-wide boolean decides for every project, and its copy describes something it does not doApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- 2200.40 (motir-core · test) The page-rooted locator predicate rules on `toHaveCount` sites, which strict mode cannot reach — 166 of 1157 ruled rows, 14.3%, were never in the defect class
- (motir-core) A gate's read-only state never NAMES its approver — `routedToId` reaches the DTO, the control renders "Waiting on {name}", and the only caller passes `routedToLabel={null}`
- 2200.41 (motir-core · test) A ratchet outside `tests/rls` is INVISIBLE to the staleness meta-guard — MOTIR-5037's allow-list shipped with no `remeasureFirst` preamble and spent two merge-queue slots on a false accusation
- (motir-core · test) The DIFFERENT-keys rename race asserts an outcome `changeKey` does not guarantee — its sibling was de-flaked for exactly this interleaving and it was not, so it evicts merge-queue entries
- DECIDE whether `work_item.subject` gains a write door for an EXISTING record — and ship the answerSelf-improvement — auto-reported quality bugs
- (motir-core · design) The Approvals room's registry key HIDES it from exactly the actor its read-only panel is drawn for — `workflow:manage` gates visibility AND the destination, so panel 4 is unreachable as specifiedApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- 8.93 (motir-core) TWO callers still ask the WORKSPACE for the org's repositories — the PR-link picker reports "GitHub isn't connected" and every `targetRepo` pin is invalid, in any workspace but the one the App was installed from
- 8.94 (motir-ai) `rate-drift.yml` is a SECOND lane outside the merge queue — no `merge_group:` trigger, so once the queue is on a composition-introduced rate drift is only ever caught after it lands