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
- 6
- requests
- 4
- upvotes
- 533
- planned
- 5,569
- shipped
- Planning bug: run.md's branch-prefix rule still cites the `startsWith(head_ref, …)` CI gate that MOTIR-3148 replaced with a diff-based predicate — and understates which prefixes skip the Vercel preview
- Planning bug: MOTIR-3193's AC 4 asks the generated OpenAPI document to reflect an MCP tool ARGUMENT shape it has never contained
- Planning bug: a RECORD card asserted "no repository deliverable" in its first line and then spent TWO repos in its criteria — and `likely-repo-straddle` was silent because the paths were bare filenames
- (motir-core) `docs/jobs.md` § Scheduled jobs — there IS a scheduler now, what a missed tick does, and what the health probe still provesOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- (motir-core) Story E2E — a scheduled job fires on the engine and appears on the jobs dashboard, and a worker restart honours the declared catch-upOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- (motir-core) Story gate — two workers do not double-fire a tick, the coverage floor, and the totality guards a percentage cannot seeOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- (motir-core) The SCHEDULER — a tick in the worker that enqueues every due cron fire, with a guard that refuses to run against an empty registryOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- (motir-core) DECLARE the catch-up disposition beside the cron — a `defineJob` option a scheduled job cannot omit, on all 14Own the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- (motir-core) The per-tick KEY — `job_queue.scheduled_for`, a unique on `(job_id, scheduled_for)`, and an insert-if-absent enqueueOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- (motir-core) Decide the CATCH-UP POLICY for a missed tick — per job, and where the disposition is DECLAREDOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- Cut the 14 SCHEDULED jobs over — crontab, catch-up after downtime, and the sweeps that keep the platform tidyOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- (motir-core) The brand mark is broken in EVERY transactional email — an SVG `data:` URI, which Gmail refuses on two independent counts
- 12 Roadmap root level draws every parentless bug as a top-level node beside the epics, and its 200-row cap then drops the NEWEST epics silently
- (motir-core) Prove the PILOT job on the engine in production — route `email.send`, read the run row back, and close MOTIR-3414's stated scopeOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- Planning bug: the design gate makes the design card a CHILD of the card it gates — a prerequisite must be a SIBLING wired `blocked_by`, never a child
- (motir-core) `/explore/topic/[slug]` answers 200 for a missing topic — `app/(public)/explore/loading.tsx` flushes the response head before the page's `notFound()` runs
- Planning bug: a falsified-premise card named TWO of the ten cards its finding invalidated — the referrer sweep was done by memory, not by grep
- (motir-core) `/items` settles with a horizontal column JUMP — `IssueTreeSkeleton`'s grid has drifted three columns and 272px behind the table it stands in for, since 2026-06-06
- (motir-core) `design/shell/design-notes.md` carries the MOTIR-2555 context-row section TWICE — the stale pre-correction copy is the one a reader reaches last
- (motir-core) `detail-arrival.mock.html`'s settled frame draws a section ORDER the item page does not have — Children 2nd instead of 11th, and Explanation + Relationships missing entirely