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
- 418
- planned
- 4,720
- shipped
- (motir-ai) A wake that never answers is retried once, then replaced — the machine leaves the pool's view for the episode and the queued job stays queuedPlanning capacity follows demand — a conversation turn never waits behind a planning run, the planning machines and the graph service grow and shrink on their own, and a load-tested cost ceiling is the only fixed limit
- (motir-ai) Create when none is left to wake: behind a per-pool machine bound, exactly one create per debounce window, logged; with no bound, no create and the per-pool exhausted alertPlanning capacity follows demand — a conversation turn never waits behind a planning run, the planning machines and the graph service grow and shrink on their own, and a load-tested cost ceiling is the only fixed limit
- (motir-ai) createMachine in flyMachinesClient — POST /v1/apps/{app}/machines with the pool's template, current release image, size and pool markerPlanning capacity follows demand — a conversation turn never waits behind a planning run, the planning machines and the graph service grow and shrink on their own, and a load-tested cost ceiling is the only fixed limit
- (motir-ai) Headroom wake: a pool below its watermark of free slots resumes its own suspended machines one per debounce window, and the busy timer runs while the pool is below the watermarkPlanning capacity follows demand — a conversation turn never waits behind a planning run, the planning machines and the graph service grow and shrink on their own, and a load-tested cost ceiling is the only fixed limit
- Decide the shape axis's DENSITY SCALE — what padding / height tokens exist, so the own-box escapes have somewhere to go
- (verify) On production, a planning job running across a motir-ai deploy finishes on its old machine past 300 s, the old machine then exits and is destroyed, and the pool is back to 5 machines on the new release
- Author session cannot rename its own proposal nor wire its own blocked_by: author and update_item each refuse and point at the other
- Docker image builds inside a fleet runner cannot resolve DNS, so motir-ai's `flyctl deploy --local-only` jobs fail at apt-get and nothing deploys while the switch is ON
- 8.10 Take Motir public — the build-in-public launch
- (verification) After the skill-run story ships — run one real card in Claude Code with the released `motir-run` skill against production: its run is on `/runs` as agent-reported, with Claude Code, the model, its messages and a duration, and the card names its implementerRun provenance — every run of a card records who ran it, on which model and for how long, however it was started
- (verification) On real pull requests, CI publishes the acceptance receipt over OIDC: a motir-core PR and a PR in a newly created Motir-hosted project each get their receipt from the lane, and the dispatched agent publishes nothing
- 8.5 Production hardening + observability
- The graph-routing architecture guard matches comment text, so prose that mentions vms.<app> fails it on main
- The fleet runner image has no pipx, so motir-ai's three Vitest shards die at `pipx install lizard` the moment CI moves onto the fleet
- The "Run in my agent" refusals acceptance spec times out in the merge queue, holding every PR behind it
- The graph service scales itself: it adds machines on memory against budget, read p95 and download backlog, removes them after sustained low use while keeping at least 2, and its refresh notices no longer time outPlanning capacity follows demand — a conversation turn never waits behind a planning run, the planning machines and the graph service grow and shrink on their own, and a load-tested cost ceiling is the only fixed limit
- (motir-codegraph) Stage the machine-management token on the graph app — a Fly token scoped to motir-codegraph, set as the secret CODEGRAPH_FLY_API_TOKEN, so the service can create, signal and destroy its own machinesPlanning capacity follows demand — a conversation turn never waits behind a planning run, the planning machines and the graph service grow and shrink on their own, and a load-tested cost ceiling is the only fixed limit
- (motir-ai) End-to-end across a simulated scale-out, deploy and drain — reads issued throughout are all answered or answered warming, a brief spike adds nothing, the floor of 2 holds and the count survives the deployPlanning capacity follows demand — a conversation turn never waits behind a planning run, the planning machines and the graph service grow and shrink on their own, and a load-tested cost ceiling is the only fixed limit
- (motir-ai) Story integration gate — coverage floor over the signal, settings, engine, actuation and deploy files, and the seams between them against real Postgres and a fake Machines APIPlanning capacity follows demand — a conversation turn never waits behind a planning run, the planning machines and the graph service grow and shrink on their own, and a load-tested cost ceiling is the only fixed limit
- (motir-ai) deploy-codegraph keeps the machine count — it updates every running machine, created ones included, to the new release and never resets the count to 2Planning capacity follows demand — a conversation turn never waits behind a planning run, the planning machines and the graph service grow and shrink on their own, and a load-tested cost ceiling is the only fixed limit