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
- (motir-core) The card's ERROR LINKS read — `monitorIssueService.listForWorkItem` and its DTO: every link's stored facts, its connection's label and its resolve-back and assignee notes, under the item's own read gate, with no provider callProduction 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 link keeps its facts WHOLE — `environment` and `release` columns on `monitor_issue`, written on every reconcile visit from the latest event, and a LINKED issue below the minimum level still refreshesProduction 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 provider seam SEARCHES and reads an issue's CONTEXT — `searchIssues` over a connection's monitored project (text and short id), `getIssueContext` returning the latest event's environment and release, and the fake honours bothProduction errors become planned work — a monitor connects, its issues arrive as bugs in a container the project chooses, and fixing one closes it back
- The error is legible ON THE CARD — provenance, recurrence count, and linking an existing work item to an issue by handProduction 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) E2E — the roadmap's folder journey: folder cards lead the root before Not in an epic, a folder drills to its folders then its items, a folder crumb navigates back, and sprint scope draws no folder
- (motir-core) A folder crumb on the roadmap NAVIGATES — each folder its own Crumb, the middle collapse with a navigable …, and a folder level restored from the URL on reload, a shared link and Back/forward
- (motir-core) The roadmap canvas draws a FOLDER card and drills into a folder level — FolderNode, folders leading the loose band, root-only Not in an epic, the empty-folder state, and MOTIR-5309's E2E chapter restated
- (motir-core) Address a roadmap level by FOLDER — folderId and the folder opt-in on GET /api/projects/[key]/roadmap and fetchRoadmapLevel, and the /roadmap empty check counts folders
- (motir-core) A filed off-level blocker names its folder — the roadmap blocker stub carries its folder path, drawn with FolderPathLabel in the ghost anchor
- (motir-core) Roadmap level read, folder arm — filed rows leave the root, a folder level reads its child folders then its filed items, each folder carries direct counts, and levelTotal counts work items only
- 39 (motir-core) The roadmap canvas never draws a FOLDER — a folder should be a card at its level, and its filed items should sit inside it instead of loose at the root
- (motir-core) VERIFY the `Workspace.subtaskPrMergeMode` `@ignore` release is SERVING on every `motir-core` machine before the column is dropped — read the platform, not the treeApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- Planning bug: MOTIR-5462 declared "every reading is an MCP call the agent can make" without checking the agent's credential reaches a SECOND project — both local tokens are bound to MOTIR
- (motir-core) CONFIRM on the LIVE tenant that `approved → implemented`, `in_review → implemented` and `implemented → approved` reached the MOTIR project — read back from the deployed app after the ejection story mergesApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) VERIFY the `@ignore` release is DEPLOYED before the acceptance-video column is dropped — read the platform, not the treeApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- Planning bug: MOTIR-5732 was sized at the gate before its design existed, and the design's GIVES/TAKES sweep amended it without re-sizing it
- Planning bug: a design run re-sized its consumer over the gate and wrote the split as a sentence, leaving a 13-pt bug claimable the moment the design merged
- (motir-core) `WorkbenchLive.tsx` spells `'/workbench'` as a literal, so `landing-owner-guard` reds Vitest (10/12) on PR #2943 — decide whether it is the LANDING or the Workbench's own address, then import or exemptApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) Playwright acceptance E2E + VIDEO — sit still and watch the count move, the row arrive and the open approval notice its subject changed, then survive a dropped connection (en + zh)Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The story's VITEST GATE — the watermark's coverage floor, the poll → frame → re-read seam, and the guards a percentage cannot see (ONE connection, no second convention, the settled row stays)Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join