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
- solicitudes
- 4
- votos
- 409
- planificados
- 4235
- publicados
- (motir-core) GitLab preview URLs too — its deployment events feed the same normalized recordApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The agent WRITES it — `publish_test_instructions` on the RUN TARGET, a rich-text body over MCP, once per run, on `work_item:edit`Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) Preview URLs are INGESTED — GitHub `deployment_status` stored against the commit it deployedApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The How-to-test RECORD — one per RUN on the run target, its content a rich-text body, a section per repositoryApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) At ~400px a Development-section pull-request row shows one or two characters of its title — its pills never shrinkApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- HOW TO TEST is the RUN's deliverable — written by the agent onto the RUN TARGET before the run finishes, kept in the PR body, rendered where the decision is madeApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) Story E2E (Playwright) + acceptance video — a manager opens Approvals, reads what each merge mode does, changes it, and a member who cannot manage is refused the roomApproval 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, the backfill on a populated database, the provenance matrix including MIXED, and the establish → DTO → control seamApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The SETTING in Project settings → Approvals — two merge modes in the reader's words, manage-only like the roomApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-meta) `prompts/` cites `subtask_pr_merge_mode` at FIVE sites — gate 14 axis (c) in `core.md`, its twin in `phase-author.md`, and three runbook steps in `run.md` — the citation moves to `Project.prMergeMode`Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The READERS move off `Workspace` — `ProjectDTO.prMergeMode`, the read/write service, the workspace DTO losing the field, and every prose comment that cites the old nameApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The provenance DEFAULT at ESTABLISHMENT — all-Motir-hosted seeds `auto`; imported, MIXED and empty seed `manual`Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) SCHEMA — `Project.prMergeMode`, the `SubtaskPrMergeMode` → `PrMergeMode` enum rename, and the backfill from every workspace's current valueApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The ADR §7 AS-BUILT amendment — WHEN the provenance default is seeded, what a MIXED project gets, and why the workspace column's retirement left this storyApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- `prMergeMode` — the merge setting is renamed off `subtask`, moves to the PROJECT, defaults by repository PROVENANCE, and becomes something a person can find and changeApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- 8.89 (motir-core) `design/shell/context-row` still DRAWS the retired no-project tier — Panel C's third column and Panel E, against a design-notes section that says there are two states
- 2200.37 (motir-core) Every entitlement-cap refusal reaches a `zh` reader in ENGLISH — `EntitlementExceededError` builds its own message, and all five consumers surface that string verbatim
- Planning bug: MOTIR-5060 inferred "the majority go silently GREEN" from a count of `expect(length).toBeGreaterThan(0)` guards — the measured majority goes RED (35/40), and the card's own three sampled files are all in the red set
- Planning bug: MOTIR-4898 asked the runner to CHOOSE between two options on a mechanism it had never observed — no case in that file records `locale`, and one probe run falsifies it
- Planning bug: MOTIR-4413's AC 5 forbade what its AC 1 required — a "tests pass unchanged" clause on a card whose deliverable is a new field on an output that eleven `toEqual`s pin