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
- (motir-core) Provision the worker process group on Fly — `fly scale count`, read back from the platformOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- (motir-core) Two rows of Part IX's copy table never shipped — an entirely-proposed canvas level says nothing (there is no caption SLOT at all), and the off-level count is a hand-built `n/m` no catalogue can translate
- (motir-core) The job listener LISTENs on the POOLED url — a transaction-mode pooler cannot hold a session, so the NOTIFY wake never arrivesOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- (motir-core) Approving a plan EMPTIES the canvas level the reviewer is standing on — `materialize` re-keys every `add` to the work item it became, and `ProjectRoadmapCanvas` never re-anchors its drilled focus, so a new story's subtasks read "No items at this level"
- (motir-core) Story E2E — a pilot job fails on the new engine, lands in the DLQ, and an operator replays it to successOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- (motir-core) Story gate — vitest coverage floor, the writer to consumer seams, and the crash-recovery guarantees a percentage cannot seeOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- (motir-core) Retries, `onFailure` and DLQ parity — the `job_run` ledger and the operator dashboard keep their shapeOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- (motir-core) Event FAN-OUT and the per-job cutover switch — one event to N subscribers, routed to either engineOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- (motir-core) The `step` SHIM — memoized `step.run` and `step.sleep` as a durable yield-and-reschedule, so 84 call sites do not changeOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- (motir-core) The WORKER — its own Fly process group, claim with FOR UPDATE SKIP LOCKED, backoff, graceful shutdownOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- (motir-core) The queue SCHEMA — `job_event`, `job_queue`, `job_step`, their RLS, and a from-empty migration replayOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- (motir-core) Decide the queue foundation — Graphile Worker vs pg-boss vs hand-rolled, judged against the step-shim requirementOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- The Postgres job engine — tables, a worker process, durable steps, and a per-job cutover switchOwn the job substrate — a Postgres-backed queue replaces Inngest, and the serverless-shaped stepping goes with it
- Integration test — add_lesson through the real MCP transport: gated, tenant-only, near-duplicate surfacedTenant lessons are visible and controllable — a project sees what its planner learned, and decides what it keeps
- The add_lesson MCP tool — the registration, and the description that tells an agent what a lesson isTenant lessons are visible and controllable — a project sees what its planner learned, and decides what it keeps
- motir-core: the create-lesson seam — motirAiClient method behind a permission-asserting serviceTenant lessons are visible and controllable — a project sees what its planner learned, and decides what it keeps
- motir-ai: POST /v1/lessons — create ONE tenant lesson, embedded, never globalTenant lessons are visible and controllable — a project sees what its planner learned, and decides what it keeps
- Contract test in motir-ai — the flag survives the envelope, and an absent one still means ONTenant lessons are visible and controllable — a project sees what its planner learned, and decides what it keeps
- E2E — read the explanation, switch capture off, confirm nothing new is recorded, switch it backTenant lessons are visible and controllable — a project sees what its planner learned, and decides what it keeps
- The setting group and its explanation — write the copy, in en and zhTenant lessons are visible and controllable — a project sees what its planner learned, and decides what it keeps