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
- 8.5.5 Provision error-monitoring (Sentry) + product-analytics accounts
- (motir-core) The fast-lane latency probe reads the POOLED url and reports `samples: 0` — RLS hides every row, so it says "no fast-lane engine runs" while the engine is running the whole lane
- (motir-core) Every deploy ends RED on a deploy that SUCCEEDED — `FLY_EXPECTED_MACHINE_COUNT` still says 2, and MOTIR-3425's worker group made the pool 4
- (motir-core) Cut the 20 event-triggered jobs over IN PRODUCTION — `MOTIR_POSTGRES_JOB_IDS` in waves, read back from the ledgerOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- (motir-core) Design — `design/ai-planning/`: the FIFTH plan status on every surface that renders one (tab, row pill, rail outcome, empty state)
- Planning bug: a design entry cited an existing component as a surface's pending stand-in without measuring it — 9 tracks against 4, 40px rows against 48
- Planning bug: a card with NO acceptance criteria passes every gate vacuously — and the one mechanised sizing check needs the very field an under-authored card is missing
- 8.5.15 Provision the motir.co MAILBOX — Spacemail on the existing Spaceship zone, the launch address set, and a two-way delivery proof
- 8.29 (motir-core) The shown-once token modal CLIPS the secret — 53 chars cannot fit the 28rem panel, and a `-` in the body wraps it into a two-line render that LOOKS complete
- (motir-core) The artifact PUT throws away the store's `x-amz-request-id` — log it on every attempt, refused AND accepted
- (motir-ai) The mirror — `SHARED_PLANNING_RULES` teaches the shipped planner that a hit reinforces (gate 19's second home)
- (motir-meta) The sweep's HIT reinforces — `run.md` step 5 and `_shared.md`'s lesson-store row stop being read-only
- (motir-core) Integration vitest through the real MCP transport — a global row reinforced across the boundary, and a retired one that stays retired
- (motir-core) `reinforce_lesson` — the MCP door a hand-run sweep calls, on the `id` `search_lessons` already hands back
- (motir-ai) The generator carries the OCCURRENCE explicitly — a widening bumps the clock, a wording correction never does
- (motir-ai) `POST /v1/lessons/:id/reinforce` — the named act, over BOTH scopes, not the tenant-only resolver the retire endpoints use
- (motir-ai) The OCCURRENCE ledger — a hit becomes a row, and that row is what makes the clock bump exactly once
- A lesson matched BY HAND is never reinforced — the runbook sweep's hit and every widening leave `lastOccurredAt` untouched, so only the two automatic paths can reset the retirement clock
- (motir-core) The E2E seam for the index WRITER path — the run-credential mint and the tarball redirect, on the app server AND the workerOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- (motir-core) `docs/jobs.md` § Debounce + the fleet decision record — the engine's debounce, and the `maxDuration` premise the stepped shape was built on is GONEOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it