Skip to content

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
145
planned
1,361
shipped

Motir · Work items

MOTIR-3150Done

Planning bug: `run.md` tells every run that a `design/*` / `docs/*` BRANCH PREFIX is what skips the E2E + Vitest lanes — MOTIR-3148 makes that mechanism false

prompts/run.md states the branch-prefix skip as a MECHANISM, in two places, and instructs the runner to pick a branch prefix in order to trigger it:

The design/* AND docs/* prefixes both make CI skip the Playwright E2E + Vitest integration jobs (ci.yml gates them on !startsWith(head_ref, 'design/'|'docs/'|'seed/')); design/* also skips the Vercel preview deploy. lint/typecheck/build still run. So a docs PR on a subtask/* branch burns the full E2E matrix for nothing — pick the prefix from what the diff actually edits.

(step 8, and the worktree setup block at 0a. The design-stopper section at step 5 carries the same claim: "It is the ONE CI lane a design/* branch does NOT skip (ci.yml skips Vitest / E2E / images on that prefix)".)

MOTIR-3148 removes that gate. ci.yml now decides from the DIFF (a changes job), not from the branch name — precisely because the prefix was wrong in both directions, including a docs/… branch carrying app code skipping the whole test suite.

Why this is worth a card rather than a silent edit

The runbook's ADVICE survives — pick the prefix from what the diff edits — but for a different reason, and one of its stated consequences inverts. Under the new predicate a docs PR on a subtask/* branch no longer "burns the full E2E matrix for nothing": the diff is what is read, so the prefix costs nothing. A runner who believes the old sentence will keep choosing prefixes to control CI cost, which is now cargo cult, and — worse — may "fix" a lane that fails to skip by RENAMING THE BRANCH, which cannot work any more.

Acceptance criteria

  1. Every claim in prompts/run.md that CI skips a lane because of the branch prefix is corrected to name the diff-based predicate. Found by a grep of prompts/** for head_ref and for startsWith, both of which must come back with no surviving mechanism claim.
  2. The branch-prefix ADVICE is kept and re-justified — the prefix still communicates intent to a human reader and still routes the design-result publish (DESIGN_PR_REF), which is a real reason to pick it correctly.
  3. The design-stopper claim in step 5 is corrected the same way: vitest --config vitest.design.config.ts is still the lane a design PR must run locally, but not "because design/* skips the others".
  4. grep -rn "Vercel preview" prompts/ is reconciled or dropped — motir-core deploys to Fly, not Vercel, so that clause was already stale before this card.

Context refs

  • motir-meta/prompts/run.md — the worktree block (0a), step 8, step 5's design stopper.
  • motir-core/.github/workflows/ci.yml — the changes job and the six lanes that read it.
  • motir-core/tests/ci-changed-paths-gate.test.ts — what the predicate now guarantees.