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
- 499
- planned
- 4,959
- shipped
- (motir-skills) The public `motir-fix` skill's acceptance re-run knows who publishes — standalone mode stands down where the repository's lane carries the uploader, `SYNC.json` re-hashes the merged `fix.md`, and the README line matches
- (motir-meta) `prompts/fix.md`'s acceptance re-run knows who publishes — where the card's repository lane carries the uploader, the re-record is CI's green re-run and the repair makes no MCP publish
- (motir-core · test) The story's integration gate — the restored uploader driven through the real publish routes over a locally minted OIDC token into a real evidence row, a closed story skipped, a CI and an MCP publish of one commit collapsing to one receipt, and the coverage floor over the changed surface
- (starter) The starter's acceptance lane publishes again — vendor motir-core's restored uploader at a stamped ref, wire it PR-only over keyless OIDC with no token secret, invert the MOTIR-4097 guard block, and rewrite `docs/acceptance-video.md`
- (motir-core) The dispatched agent and `motir fix`'s closing turn stand down where the repository's lane publishes — `ACCEPTANCE_PUBLISH_STEPS` and `renderAcceptanceRecordPrompt` check the checkout for the uploader before publishing over MCP, and `CLAUDE.md`, `playwright.acceptance.config.ts` and `docs/mcp.md` say who publishes now
- (motir-core) The acceptance lane publishes again — restore the uploader script, its composite action and its tests from `76add02b1b^`, brought up to today's server (`STORY_CLOSED` skip, the PR's card key as `producedByKey`), wired PR-only over keyless OIDC, the MOTIR-4096 guard block inverted, and the ADR amended
- CI publishes the acceptance receipt again in the repositories Motir builds — motir-core's and the starter's acceptance lanes upload the recording from a green PR run over keyless OIDC, and the agent stands down wherever its repository's lane publishes
- SyntaxError: Unexpected end of JSON input
- (ops) Run the planning pool on 5 machines — `fly scale count 5 -a motir-ai`, read back from `fly machine list`A dedicated code-graph service serves every tenant's graph reads, so any number of planning sessions read current code and the planning machines hold no graphs
- TypeError: Cannot read properties of undefined (reading 'icon')
- (motir-core · design) The PAGES section — a Pages entry in the project sidebar, the `/pages` index with New page, and the page at its own address: saved / saving / offline / too-large, read-only, loading and not-foundPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- (motir-core · test) Story integration gate — the continue tools through the real MCP transport: parity with the REST claim, `taken` across MCP and REST, every refusal, liveness past the lapse, idempotent close, and `dispatch_prompt`'s CONTINUE prompt equal to the REST route's
- (motir-core) The MCP door onto the CONTINUE CLAIM — `claim_work_item_continue`, `touch_work_item_continue` and `close_work_item_continue` over `workItemContinueService` and the dispatch-run heartbeat and close, and `dispatch_prompt` takes `continueFrom`
- Agents claim, keep alive and close a dead run's continue over the MCP — `claim_work_item_continue`, `touch_work_item_continue` and `close_work_item_continue`, and `dispatch_prompt` renders the CONTINUE prompt
- Eight committed Tailwind-compiled design mocks paint `--el-text-muted` inside a `hover:bg-(--el-surface)` row — 138 sites at 4.17:1 that the design lane could not see until its CSS reader learned `@layer` and nesting
- revisions.test.ts asserts a created revision's changedAt is under 1 s old, so a loaded CI runner fails it on unrelated pull requests
- (motir-core) Story VITEST gate — the package's coverage floor, the tree rules' refusals, the import-direction and type-check-program guards, and the classifier rows, as this story's end-to-end proofPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- (motir-core) The `pages` CI LANE — `pkg_pages` in `ci.yml`'s changes classifier, a job running the package's typecheck, build and tests with coverage, and the classifier's own testsPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- (motir-core) SCAFFOLD `packages/pages` — `@motir/pages` with its tsup build, composite tsconfig on the solution, vitest config with coverage, and a barrel exporting the page model types and the pure tree rulesPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history
- The `@motir/pages` module and its record — the package, its own type-check, a CI lane that runs only when it changes, and the ADR that fixes the page modelPages — a project's documents: write a page, keep it in the project tree beside the work it describes, and keep its history