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
- 144
- planned
- 1,365
- shipped
Submitted0
Planned119
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
MOTIR-4253(motir-core) 3D / Immersive never treats the app shell CHROME — the top bar and rail render byte-identically to the default style, so the frame around the floating cards is flat and the style does not read as different0 upvotes — vote on app.motir.co
MOTIR-42523D / Immersive's plane ladder gains the SHELL — draw the chrome (top bar + rail) as a depth surface, and close the ladder over every surface class instead of an enumerated few0 upvotes — vote on app.motir.co
MOTIR-4250Planning bug: MOTIR-4237 chose a UI destination from Motir's OWN surface inventory and never ran rung 1 — its "alternatives weighed and rejected" table listed three existing surfaces and no mirror product0 upvotes — vote on app.motir.co
MOTIR-4244Planning bug: MOTIR-4193's acceptance criterion defers a decision to "the design pass" that has no card — a prose reference the advisory detector cannot see, and the card sealed ready: true0 upvotes — vote on app.motir.co
MOTIR-4236Planning bug: a card filed MID-RUN carried a criterion the FILING run then satisfied itself, and pinned both repositories — the next run claimed half-done work behind a repo set that could never close0 upvotes — vote on app.motir.co
MOTIR-4235Planning bug: MOTIR-4206's Q7 cited Atlassian's rename cap as 3; the documented figure on the cited page is 150 upvotes — vote on app.motir.co
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-4227(motir-marketing) Docs — /docs/public-address: your subdomain, connecting a custom domain, the DNS records to create, and what each certificate state means0 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-4213Submit the tenant base domain to the Public Suffix List (manual)0 upvotes — vote on app.motir.co
MOTIR-4207Verification — the first customer domain issues a certificate on the live motir-marketing Fly app, read from the platform, and its primary canonical is served0 upvotes — vote on app.motir.co
In progress25
MOTIR-4247(motir-marketing) `design/legal/` draws a `/legal`-scoped 404 room that nothing renders and that the site-wide not-found supersedes — a second 404 design waiting to be built0 upvotes — vote on app.motir.co
MOTIR-423418 (motir-core) The same opaque shell canvas masks FOUR more styles — glassmorphism, aurora, cybercore and retrofuturism paint a `body` atmosphere the signed-in shell covers, and neumorphism's moulded field never reaches it either0 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-4226E2E (Playwright, motir-marketing) + acceptance video — a tenant host and a customer host render the project, the canonical names the primary, and the non-primary address redirects0 upvotes — vote on app.motir.co
MOTIR-4224Vitest gate (motir-marketing) — the host router, the per-host canonical and crawl surface, and the standing no-database-client rule0 upvotes — vote on app.motir.co
MOTIR-4222(motir-marketing) One canonical per page — canonical, og:url, JSON-LD @id, the per-host sitemap and robots name the primary address; every other address 301s to it, motir.co/p/* included0 upvotes — vote on app.motir.co
MOTIR-4220(motir-marketing) Host routing — a request on a tenant or customer host resolves through the public contract and renders that project's /p/* pages at the root0 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-4212(motir-marketing) Legal — the Acceptable Use Policy and Terms clause for customer-connected domains0 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-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-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
Done1352
MOTIR-3920Re-audit `phase-skeleton` and `phase-deepen` on the act test — the design gate moves to skeleton0 upvotes — vote on app.motir.co
MOTIR-3919Re-tag `core` on the act test — six segments to `phase-skeleton`, two divided, no new packs0 upvotes — vote on app.motir.co
MOTIR-3918`buildGenerationSystemPrompt` takes a PHASE — the skeleton framing stops reaching a deepen session0 upvotes — vote on app.motir.co
MOTIR-3917Decision: what decides a rule’s PHASE? Settle the ACT test before any rule text moves0 upvotes — vote on app.motir.co
MOTIR-3916The PHASE axis, applied — the framing takes a phase, and `core` splits on what a session can DISCHARGE0 upvotes — vote on app.motir.co
MOTIR-3915(motir-core) `roadmap-flow.spec.ts`'s seed races the status-derivation job — the SECOND spec in this class, and `retries: 1` made the run green0 upvotes — vote on app.motir.co
MOTIR-3913(motir-core) With Vitest balanced, E2E becomes CI's ceiling at ~15.5 min — five bulk legs carry 1705 s of test work behind a 178 s per-leg boot nobody has costed0 upvotes — vote on app.motir.co
MOTIR-3912(motir-core) 19 of the 30 most expensive test files landed on ONE Vitest leg — `--shard` slices the alphabet, so the `tests/integration/**` cluster travels together0 upvotes — vote on app.motir.co
MOTIR-3909motir-core reads its legal documents from a CONFIGURED MANIFEST — the links, the re-consent gate over it, the subprocessor split, and the hosted provisioning0 upvotes — vote on app.motir.co
MOTIR-3908Public projects are a CLOUD capability — with MOTIR_CLOUD false the feature is ABSENT, and a self-hosted Motir is single-tenant0 upvotes — vote on app.motir.co
MOTIR-3905Global lessons added since the day-one seed batch do not RETRIEVE — two rows queried near-verbatim are absent from the ranked set, and every global row `search_lessons` returns carries a `cmr11*` id0 upvotes — vote on app.motir.co
MOTIR-3902(motir-core) The Vitest lane is CI's critical path at 24.8 min — 1.6x the next-longest job — and the runners it would need to halve that are sitting idle (queue time is zero)0 upvotes — vote on app.motir.co
MOTIR-3901The story's coverage + integration gate — the assembled selector, end to end from a generation pass0 upvotes — vote on app.motir.co
MOTIR-3900Re-cut 3 of 3 — the TYPE packs: what each of the 14 types receives, and what it must not0 upvotes — vote on app.motir.co
MOTIR-3899Re-cut 2 of 3 — the KIND packs: `epic`, `story` and `bug` at deepen0 upvotes — vote on app.motir.co
MOTIR-3898Re-cut 1 of 3 — the CROSS-CUTTING rules: what every cell gets, and the back-reference rewrites0 upvotes — vote on app.motir.co
MOTIR-3897The selector re-cut — phase → kind at skeleton, kind OR type at deepen, and the cell space becomes a SUM0 upvotes — vote on app.motir.co
MOTIR-3896`type` becomes an output of SKELETON — `propose_node` carries it, and `bug` leaves the typed set0 upvotes — vote on app.motir.co
MOTIR-3892Decision: is a LINE still a RULE? Settle the clause unit before any rule text moves0 upvotes — vote on app.motir.co