moooon
Motir
Vibe your whole 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
- 1
- requests
- 0
- upvotes
- 142
- planned
- 1,379
- shipped
Submitted0
Planned123
MOTIR-4300(motir-core) Story vitest gate — the coverage floor over the story's changed surface, the three boundary guards proven to bite by mutation, and the whole solution type-checked at the default heap0 upvotes — vote on app.motir.co
MOTIR-4299(motir-core) Extract `lib/orchestrator` as `@motir/orchestrator` — the port, both adapters and the fake move to `packages/orchestrator`; its three outward imports become injected ports; own tsconfig in the solution, own CI lane, and the guard that no package imports the app0 upvotes — vote on app.motir.co
MOTIR-4297(motir-core) The ADR — motir-core as an app shell over workspace packages: the package contract, the import-direction rule, the measured coupling of every `lib/*` module, and the extraction order it implies0 upvotes — vote on app.motir.co
MOTIR-4296(motir-core) The Prisma type boundary — the generated client's payload and input generics are named only under `lib/repositories/**`, asserted by a source-scan guard, and the sites outside it move onto repository-exported row types0 upvotes — vote on app.motir.co
MOTIR-4295(motir-core) Profile the checker and pay down its top cost sites — explicit row types on repository reads, so a caller instantiates no Prisma payload; the file at the top of the trace stops being there0 upvotes — vote on app.motir.co
MOTIR-4294(motir-core) The heap-headroom tripwire — the `TypeScript` job reads every project's `Memory used` and fails at 80% of the heap it runs under, so the next cliff is seen coming0 upvotes — vote on app.motir.co
MOTIR-4293(motir-core) Split the one `tsc` program into project references — an app project `next build` reads, a tests project and a scripts project under one solution file, and the heap bump leaves the `typecheck` script0 upvotes — vote on app.motir.co
MOTIR-4292(motir-core) One type-check program becomes many — project references, a contained Prisma type boundary, and the first bounded context extracted as a workspace package0 upvotes — vote on app.motir.co
MOTIR-4278The settings pane never shows the DNS record that POINTS a custom domain at us — only the ownership TXT0 upvotes — vote on app.motir.co
MOTIR-4276Planning bug: MOTIR-4201 was sealed at 13 points carrying its own split instruction — three signals agreed at authoring time and the gate fired a day later, at dispatch0 upvotes — vote on app.motir.co
MOTIR-4275Planning bug: an INTERIM card pair outlived the window it was written for — nothing walks back from the superseder's merge to the cards it makes pointless0 upvotes — vote on app.motir.co
MOTIR-4273Planning bug: a criterion named a consumer that was PRESENT but UNREACHABLE — `situations/replan.ts`'s partition had been dead since MOTIR-39780 upvotes — vote on app.motir.co
MOTIR-4272Planning bug: a story's four children each excluded the client half, and the exclusion pointed at a card that did not exist0 upvotes — vote on app.motir.co
MOTIR-4271Planning bug: MOTIR-4165 counted the catalogue at 39 by reading a number out of a comment, and generalised a four-tool sample to "one tool"0 upvotes — vote on app.motir.co
MOTIR-4268Planning bug: an advisory disposition that CLAIMS an edge is wired names a different card than the advisory does — MOTIR-4252 was held by 4238 while the advisory pointed at 4254's PR0 upvotes — vote on app.motir.co
MOTIR-4267Planning bug: a decision rule that A/Bs two configurations across a TIME GAP owes a workload control — MOTIR-3963's pre-committed rule fired REVERT on an 18% suite growth, not on a result0 upvotes — vote on app.motir.co
MOTIR-4265Planning bug: MOTIR-4242 asserted "motir-core has no public-host accessor" from a grep for the literal host — the accessor exists and deliberately never spells it0 upvotes — vote on app.motir.co
MOTIR-4262Planning bug: MOTIR-4258 asserted every action on the row survived elsewhere, and wrote an acceptance criterion requiring a door it never checked existed — the ⋯'s Expand / Re-plan had none0 upvotes — vote on app.motir.co
MOTIR-4259Planning bug: a row inventory over a prettier-wrapped HTML design asset was taken with a line-oriented grep, so MOTIR-4248's evidence table under-read one asset by two rows0 upvotes — vote on app.motir.co
In progress19
MOTIR-4229(motir-core) The Public address pane, part 2 — the custom-domain list: add with DNS instructions, verify, every certificate state, make primary, remove, the tier upsell; en + zh0 upvotes — vote on app.motir.co
MOTIR-4228(motir-core) The custom-domain entitlement — the `custom_domains` kind, `maxCustomDomains` per tier, and the org-locked cap assert in entitlementsService0 upvotes — vote on app.motir.co
MOTIR-4225E2E (Playwright, motir-core) + acceptance video — claim a subdomain, add a custom domain, watch its certificate states, make it primary, rename and keep the old address redirecting0 upvotes — vote on app.motir.co
MOTIR-4223Vitest gate (motir-core) — the address store and services, the certificates adapter and job, the host-resolution contract, and the widened CORS / return-target0 upvotes — vote on app.motir.co
MOTIR-4221(motir-core) The Public address pane, part 1 — the rail entry and its doors, the pane shell, and the workspace subdomain card: claim, rename with the retained-alias warning, copy and open; en + zh0 upvotes — vote on app.motir.co
MOTIR-4219(motir-core) The certificate status job — refresh pending customer domains from the platform, surface issued / expired / revoked / failed, and record the last check0 upvotes — vote on app.motir.co
MOTIR-4218(motir-core) The public surface honours registered addresses — CORS and the hand-off return target accept every registered public address, not only motir.co0 upvotes — vote on app.motir.co
MOTIR-4217(motir-core) The public contract resolves a host — GET /api/public/hosts/{host}, and the subject DTO carries the project's addresses and its primary0 upvotes — vote on app.motir.co
MOTIR-4216(motir-core) The customer-domain lifecycle — add, verify, issue, make primary, remove — its tier gate, and the project-settings routes0 upvotes — vote on app.motir.co
MOTIR-4215(motir-core) Claim and rename the workspace subdomain — the service, its reserved-name and retained-alias rules, and the project-settings routes0 upvotes — vote on app.motir.co
MOTIR-4210(motir-core) The Fly certificates adapter — request, check and remove a hostname's certificate on the motir-marketing app, behind a port beside flyMachines0 upvotes — vote on app.motir.co
MOTIR-4209(motir-core) The public-address store — a SET of addresses per public project with exactly one primary, retained aliases and the reserved-name set: migration + repository0 upvotes — vote on app.motir.co
MOTIR-4206Decision (ADR) — public tenant addresses: the base domain, what a subdomain names, the customer-domain lifecycle on Fly certificates, the one-primary canonical, the never-released rename, and the tier gate0 upvotes — vote on app.motir.co
MOTIR-4050Two green PRs can merge into a red `main` — nothing requires a branch to be up to date, so a stale check decides the merge0 upvotes — vote on app.motir.co
MOTIR-3937The planner has no OPERATIONS — every session is a cell, and the conversation decides when to start0 upvotes — vote on app.motir.co
MOTIR-3878Customer-owned addresses for a public project — per-tenant subdomains + custom domains0 upvotes — vote on app.motir.co
MOTIR-3875Motir's public web presence — one host per audience, and an open-core line through motir-core (motir.co · app.motir.co)0 upvotes — vote on app.motir.co
Done1365
MOTIR-4111The crawl surface's two missing endpoints — the changelog Atom feed, and the public-project index motir.co's sitemap reads0 upvotes — vote on app.motir.co
MOTIR-4110The two DETAIL reads get public routes — one work item, and one feature request0 upvotes — vote on app.motir.co
MOTIR-4109The Board tab and the Roadmap's first page get public read routes — /api/public/p/{identifier}/board and …/roadmap with no cursor0 upvotes — vote on app.motir.co
MOTIR-4108Decision (ADR amendment) — what becomes of /p/*'s session-aware affordances once the page is cross-origin from the session0 upvotes — vote on app.motir.co
MOTIR-4105Playwright E2E + acceptance video (motir-core) — /legal is gone from the app host and the configured legal journey still works without it0 upvotes — vote on app.motir.co
MOTIR-4104Vitest gate (motir-core) — the absence of every content/legal reader, the catalogue split, and the CI content arm's disposition0 upvotes — vote on app.motir.co
MOTIR-4103Delete content/legal/ and app/(public)/legal/ from motir-core — the 84-file referrer sweep, the CI content arm, and every dangling citation0 upvotes — vote on app.motir.co
MOTIR-4102Confirm the legal gate is LIVE on the deployed application — the manifest is what holds a reader, not the files0 upvotes — vote on app.motir.co
MOTIR-4101content/legal/ LEAVES motir-core — the live-gate confirmation, the deletion and its 84-file sweep, and the guards that assert the absence0 upvotes — vote on app.motir.co
MOTIR-4097(nextjs-prisma-vercel-starter) Follow motir-core's acceptance-lane rename — every scaffolded project ships a check called `Acceptance video` for a lane that publishes nothing0 upvotes — vote on app.motir.co
MOTIR-4096(motir-core) The lane is called `Acceptance video` and no longer publishes one — rename it to the acceptance TESTS and retire the CI publisher, now that the agent uploads the receipt over MCP0 upvotes — vote on app.motir.co
MOTIR-4095(motir-core) A QUARTER of the acceptance lane's main baselines never run — the concurrency group evicts the QUEUED push run, destroying the per-merge attribution MOTIR-2760 exists for0 upvotes — vote on app.motir.co
MOTIR-4094(motir-core) Drain the acceptance lane back to the in-flight stories — promote or retire the 23 specs sitting in a lane whose own header says its steady state is zero0 upvotes — vote on app.motir.co
MOTIR-4093(motir-core) The acceptance-lane lifecycle guard has NEVER checked a receipt in CI — no job sets its credential, so MOTIR-2770 always passes and the lane has grown back to 23 specs0 upvotes — vote on app.motir.co
MOTIR-40898.11 (motir-core) planningTargetLockGate real-concurrency race times out under loaded Vitest shard0 upvotes — vote on app.motir.co
MOTIR-4052Re-pin @motir/design-system to 0.1.3 — the style gallery isolates under glassmorphism0 upvotes — vote on app.motir.co
MOTIR-4051Bump @motir/design-system to 0.1.3 — the commit `design-system-v0.1.3` is cut from0 upvotes — vote on app.motir.co
MOTIR-4047`origin/main` does not typecheck — 11 errors in the runs surface, red for every open PR0 upvotes — vote on app.motir.co
MOTIR-4046motir.co serves /docs — the eight generated pages, the mechanism decided and recorded before they are written0 upvotes — vote on app.motir.co