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
- 要望
- 4
- 賛成票
- 438
- 計画済み
- 4,318
- リリース済み
- (motir-core) `jobs-scheduled-engine.spec.ts:164` reads an ARBITRARY ledger row — `findFirstOrThrow` with no `lane` filter and no `orderBy`, over a table that holds one row per attempt AND per lane
- The CI-fix loop never says to MERGE the default branch FIRST — so a fixing agent diagnoses a tree CI never judged and spends attempts on a red it did not cause
- (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 PRs
- 8.42 `org-admin.spec.ts` is the SECOND site of the double-mount locator class — `getByLabel('Organization name')` matches the outgoing subtree too
- Spectrum DARK fails AA on the danger button itself — `#ffffff` on `#f0555f` is 3.40:1, the only one of 20 palette×theme pairs under the bar
- (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"
- `--el-danger-text` carries error text on a plain surface at 14 sites — 1.00:1 in EVERY palette's light theme, and the ink guard has no danger arm
- 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 field
- `activity.spec.ts:134` has flaked THREE times in two days — it clicks Add and asserts the link with no `waitForResponse`, the shape CLAUDE.md forbids
- 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 6
- 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 feature
- 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 days
- Planning bug: a card ABOUT a stale population count carried a stale population count — MOTIR-3682 says "exactly one thing" remains on Inngest, and three did
- Planning bug: the ADR allocated the account-SUSPEND action to a card while the suspension MECHANISM — a schema column, session revocation and a sign-in refusal — was owned by nobody and priced into nothing
- Planning bug: two stories in different epics planned the SAME deliverable (`@motir/design-system`) two days apart, with no edge — MOTIR-1524 shipped it and MOTIR-1456 stayed claimable for eight weeks
- A plan proposal's `type` is a bare `z.string()` while every enum beside it is a `z.enum` — an out-of-enum value is stored, passes validate, and 500s at approve
- Planning bug: MOTIR-3230 deferred its filing-time limb with NO card — the prerequisite has since landed, and the duplicate that limb exists to prevent was filed two hours later
- Planning bug: a card's central premise was a config COMMENT quoted as fact — six counter-examples sat nine lines below it, and two "options" were both already shipped
- Retire Inngest — delete the SDK, the serve route and the dependency, and prove the substrate stands aloneOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it