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
- 5
- richieste
- 4
- voti
- 399
- pianificate
- 4182
- rilasciate
- (motir-meta) The close-out sweep's "fully contained in `origin/main`" test reads MERGED for a branch with NO commits — a sibling's freshly-cut worktree looks exactly like finished work
- (motir-core) `publish` accepts a record with NO repository sections — `repos` becomes optional on the service and the MCP door, so a person can save How to test with only a bodyApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) `MarkdownEditor` keeps a code block's LANGUAGE — typed, shown, changed and saved as the fence an agent writes, so a person's rich text is the agent's rich textApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) Story E2E + acceptance video — write How to test with NO pull request linked, link one and watch the repository appear, Edit it, see Earlier versions; a viewer and a child see no doorApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) Story vitest gate — a person's save and an agent's publish write ONE record shape: rich text with fence language, preview path, author, history of both kinds, the three refusals, the lockApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The DOORS and the FORM — Add / Edit in the Development block, a body and a preview path, saved through `publish`, en + zhApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The read carries the AUTHOR — `HowToTestDto` names a run or a person on the current record and every history rowApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The form's DEFAULTS — a read that fills a person's How to test from the current recordApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) ADR — amend `approval-gates.md` §9 again: a PERSON writes How to test too — the SAME fields an agent publishes (rich-text body, preview path, repository sections), through the same writerApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- A person WRITES and EDITS How to test from the Development block — the body and the preview path, through the same door that links a pull requestApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) Design delta — the Monitoring room learns SYNC: two per-connection direction switches, and a failed resolve-back that names itself on the rowProduction 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) Playwright acceptance E2E + VIDEO — hold the decision open, change it underneath twice (a republish, then the acceptance criteria), be refused both times, take the current version and approve (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 stamp's coverage floor, the read → decide round trip under a real concurrent edit, and the guards a percentage cannot see (the union stays TOTAL, both refusals reachable)Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) THE SURFACES HAND THE STAMP BACK — the overlay and the item-page band send what they rendered, draw the STALE refusal in place, and bring the current version (en + zh)Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) THE STAMP — computed over the subject version and the card's acceptance criteria, returned on every gate read, REQUIRED on decide, and compared under the lockApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- A STALE RESULT CANNOT BE APPROVED — what you are deciding is STAMPED, and a decision pressed against a stamp that has moved is refused and says what changedApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) A DRAFT pull request going green raises a "To approve" merge gate — `mergeCandidateHead` never reads `draft`, so a person is asked to approve-and-merge a PR its author says is not ready (and GitHub cannot merge)
- (motir-core) MOTIR-4833's fix reached ONE of two identical translators — `projectRepoSetService`'s still reads the absent `meta.target`, so a lost repo-claim race 500s or says "that name is taken"
- (motir-core) A concurrent GitHub review upsert recovers from P2002 INSIDE the aborted transaction — `upsertByGithubReviewId` throws 25P02 instead of returning the winner's row
- (motir-core) The acceptance lane drops ONE connection mid-run — a spec's liveness control got ECONNRESET against a server that was healthy 5 tests before and 9 tests after