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
- 382
- planificados
- 4152
- publicados
- (motir-meta) `phase-lay.md` batch 2 of 5 — shared named artifacts, *never reach across a parent*, the readiness cascade and the same-level audit (13 units)Self-improvement — auto-reported quality bugs
- (motir-meta) `core.md` batch 2 of 3 — gates 16–21, *Planning rules*, *Recommend the BEST* and the ladder's rungs 2 and 4 (12 units)Self-improvement — auto-reported quality bugs
- (motir-meta) `phase-lay.md` batch 1 of 5 — the header units and *Ordering follows the dependency arrow* through the host-surface axis (14 units)Self-improvement — auto-reported quality bugs
- (motir-meta) `core.md` batch 1 of 3 — the gate checklist's head and gates 2–11 (12 units), each presented, decided by Yue, applied and recordedSelf-improvement — auto-reported quality bugs
- REFINE the 103 rule units MOTIR-5588 never reached in `core.md` and `phase-lay.md` — ONE UNIT AT A TIME, every verdict Yue's and recorded in a file, each decided change mirrored into the shipped plannerSelf-improvement — auto-reported quality bugs
- (motir-core) The dispatch prompt gives a BUG card no reproduction protocol — a premise that will not reproduce routes straight to "THE CARD IS WRONG → REVERT FIRST", so run / batch / auto close the defect unfound
- 8.104 (motir-ai) Code-scanning auto-ingest keeps the newest analysis per TOOL — it ingests PULL-REQUEST analyses (0 results) instead of main's, and one language instead of all; motir-ai's audit ingested PR #548 and showed 0 of 11 findings
- (motir-core) Playwright E2E + ACCEPTANCE VIDEO — a 2-option and a 4-option choice work item picked through the same port, the defect state, None-of-these, and a read-only viewer who sees no controlsApproval 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 coverage floor over the choice surface, the body → parse → raise → choose → `done` seam on real Postgres, and the guards coverage cannot seeApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) A choice WAITING and a choice DECIDED in the lists — `ApprovalRow`'s `decision_choice` branch on To approve and in the Approvals room, the chosen option on a decided rowApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) THE CHOICE PORT in the frame — the verb band derived from the options, the item page and the overlay, the defect state, the read-only state, the stamped record with the follow-up owed, and the user doc (en + zh)Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-ai) The story's VITEST gate — coverage over the `choice` vocabulary and pack surface, the author cell `(author, task, choice)` composing `type-choice`, and the guards on the corpus budgetApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The lesson axis mirror admits `choice` — `add_lesson` / `search_lessons` `LESSON_TYPES` and the regenerated tool schemas, after `motir-ai`'s `LessonWorkType` accepts itApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The decide door takes a CHOICE — `GateDecision` gains `choose` + `optionId` on the route, the server action and the service; picking stamps `outcomeRef` and the `chosenOption` snapshot and moves the item to `done`Approval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-ai) `choice` joins the planner's vocabulary — `WORK_ITEM_TYPES`, its gloss and executor default, the `type-choice` pack in the same words as `motir-meta`, the choice rule naming the type, and the lesson axisApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The `decision_choice` KIND — `parseChoiceOptions` and its defect reasons, the registered handler, the gate RAISED on a complete choice work item, and `type: decision` raising none of itApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) The `choice` TYPE — the enum and its `AFTER 'decision'` migration, and every home the type set is pinned in, held by the story-gate vocabulary test at fifteenApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-meta) `type-choice.md` — the option-axis authoring bar and its two defects, routed by `split.py` and the selector, `kind-container.md`'s choice rule naming `task` · `type: choice`, MANIFEST regeneratedApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) AMEND `approval-gates.md` — `decision_choice` is keyed on `type: choice`, its verbs are the OPTIONS plus None-of-these, its subject is the parsed `## Options` section, and its record stamps the chosen optionApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join
- (motir-core) AMEND `work-item-type-taxonomy.md` — admit `choice` as the FIFTEENTH type (a person PICKS one of N options on named axes), and `decision` becomes the decided RECORD a person acceptsApproval gates — every decision that holds work up happens IN Motir, behind ONE approve language new kinds join