moooon
Motir
Vibe your whole 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
- 1
- requests
- 0
- upvotes
- 145
- planned
- 1,369
- shipped
- Planning bug: MOTIR-3721's dependency on a sibling's OPEN pull request was written as prose, not a `blocked_by` — and two cards in the same story shipped with a null `explanationMd`Planner self-improvement — auto-reported quality bugs
- (motir-core) A `modify` proposal's body cannot carry an intra-plan CHIP — materialize rewrites `motir-ref:planItem:` on `add`s only, so an amendment naming a card the same plan proposes ships an inert linkPlanner self-improvement — auto-reported quality bugs
- 8.3.6 Build the motir-marketing landing (new repo) — THREE cross-origin doors: idea hero · import existing · start freeMotir's public web presence — one host per audience, and an open-core line through motir-core (motir.co · app.motir.co)
- 8.3.13 Publish `@motir/brand@0.1.0` to npm by hand + configure its Trusted Publisher (manual)Motir's public web presence — one host per audience, and an open-core line through motir-core (motir.co · app.motir.co)
- Planning bug: a card's post-merge PUBLISH obligation was recorded as a comment and offered as a question ("say so and I will propose one") instead of filed as a card — MOTIR-1456 went `done` with `@motir/brand` unpublished, and MOTIR-1152 hit it eight hours laterPlanner self-improvement — auto-reported quality bugs
- 8.3.4 Content — motir-marketing landing copy + positioning (idea · import-existing · tracker-first audiences)Motir's public web presence — one host per audience, and an open-core line through motir-core (motir.co · app.motir.co)
- 8.3.3 Design — motir-marketing landing (motir.co): THREE entry doors (idea hero · import existing · start free) + descriptive blocksMotir's public web presence — one host per audience, and an open-core line through motir-core (motir.co · app.motir.co)
- 8.45 `motir-marketing` publishes no DESIGN RESULT — it has no publish lane at all, and a `<name>.design-notes.md` basename is invisible to the classifier in either repoPlanner self-improvement — auto-reported quality bugs
- Planning bug: a card proposed 'restore the yield, not the stepping' — the two are not separable, and the record it cited already said soPlanner self-improvement — auto-reported quality bugs
- (motir-core) 11 of ci.yml's 14 jobs declare NO `timeout-minutes`, so a hung job burns SIX HOURS and is indistinguishable from a slow one — the same gap MOTIR-2970 closed at one call sitePlanner self-improvement — auto-reported quality bugs
- 8.46 (motir-core) Adding a repo from GitHub's OWN installation settings always shows "We couldn't finish setting up the GitHub App" — the install SUCCEEDED, and only the signed `state` is missingPlanner self-improvement — auto-reported quality bugs
- 8.43 `motir-marketing` is provisioned but NOT connected to Motir — `targetRepo` is refused and a merge on that repo moves no cardPlanner self-improvement — auto-reported quality bugs
- Own the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- (motir-core) `code-graph-refresh-engine.spec.ts` hand-rolls a TRUNCATE that bypasses `db-reset.ts`'s 40P01 retry — it deadlocks against the E2E job worker and reds unrelated PRsOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- (motir-core) A double-click of Replay RAISES P2002 out of the dashboard action — the engine's DLQ replay enqueues by INSERT and does not treat the dedup violation as "already enqueued"Own the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- 8.3.10 Provision the motir-marketing repo + motir.co domain + Fly app + CI (manual)Motir's public web presence — one host per audience, and an open-core line through motir-core (motir.co · app.motir.co)
- (motir-core) The engine has NO per-job concurrency, and a job that wanted one lost it silently — `account/data-export.requested` declared `{ limit: 1, key: userId }` and the engine never read the fieldOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- Planning bug: MOTIR-3693 enumerated its population by hand-reading ONE folder — the guard it was filed about counts 18 assets across 9 areas, not 6Planner self-improvement — auto-reported quality bugs
- Planning bug: a design that merges AFTER the card it gates re-opens that card's SIZING, and MOTIR-1136 reached dispatch at 5 pts / 65 min for a ten-card featurePlanner self-improvement — auto-reported quality bugs
- Planning bug: a diagnosed defect was recorded ONLY inside another card's body — "this paragraph is currently the only record" — and then ran unnoticed for 23 daysPlanner self-improvement — auto-reported quality bugs