MotirBuilding in public
MOTIR · moooon
onMotir
You’re viewing a public project. Anyone can view it — no account needed. Sign in to submit, upvote, or comment on requests.View-only — you can’t edit work items
MOTIR-3287

Planning bug: `notes.html` entries #68 and #203 still PRESCRIBE the dead branch-prefix CI-skip mechanism — the MOTIR-819 retrieval hands it to future runs as advice

Done
Description

Repo · motir-meta. Found by the run of MOTIR-3150 (motir-meta PR #300), whose acceptance criteria scope the sweep to prompts/** — so notes.html was correctly out of that card's reach and is filed here rather than absorbed (notes.html #27 / the drive-by rule).

MOTIR-3148 replaced ci.yml's !startsWith(head_ref, 'design/'|'docs/'|'seed/') lane gates with a diff-based changes job. MOTIR-3150 corrected the four sites in prompts/run.md. Two notes.html entries carry the same falsified mechanism in PRESCRIPTIVE text — a lesson and a prompt-hint are exactly what the MOTIR-819 retrieval step lifts into a dispatched prompt, so this is the corpus handing a dead mechanism to a future run as advice.

The sites — measured on origin/main at 4d5a36c

git grep -n -i "prefix" origin/main -- notes.html, filtered to the skip/preview/E2E clauses:

  • Entry #68 (notes.html lines 5468–5519, "Mechanically applied the design/ branch prefix …"):
    • the title"that prefix exists to make CI SKIP the Playwright/integration jobs and the Vercel preview deploy"
    • "What happened" — quotes the old run.md sentence verbatim
    • the Lesson"The design/ prefix earns its skips only when the diff is design-assets-only … Before choosing a prefix that suppresses the Vercel preview, ask 'does this diff change runtime UI?'"
    • the prompt-hint"design/ (skips E2E/integration/Vercel-preview) ONLY when the change is confined to design/<area>/** assets; subtask/ whenever the diff touches runtime code … so the preview deploys and full CI runs"
  • Entry #203 (notes.html line ~16298, the branch-protection required-contexts entry): "read a skipped run on each branch prefix that skips jobs, and require only the contexts that appear on all of them."

Entry #254 (line ~22370) also mentions the clause, but as a 2026-08-15 amendment already flagging it as stale text — a historical record, not a prescription. No change is owed there, and changing it would damage the record.

What is true now, and why the entries do not simply get deleted

Both entries' underlying LESSONS survive and are strictly reinforced; only their mechanism died:

  • #68's lesson becomes stronger, not obsolete. "A branch-prefix / CI-skip rule is a CONDITIONAL, not a lookup on the card's type" is now ENFORCED by the machine: ci.yml's changes job classifies the diff, so a design-typed card shipping app/globals.css gets the full suite whatever its branch is called. The narrative of MOTIR-1055 stays as written; what needs correcting is the prescriptive tail that tells a reader the prefix controls CI cost and the Vercel preview.
  • #203's conclusion is unchanged — require the jobs with no if: and no matrix. Only its METHOD sentence needs the swap: the classes to read a skipped run against are now the DIFF classes (docs/*, design/*, scripts/plan-seed/*, *.mdapp=false), not the branch prefixes. The two if:-gated families (app, images) are also a wider skip surface than the entry was written against.
  • The Vercel half was already dead before MOTIR-3148. motir-core deploys to Fly; vercel.json carries "git": { "deploymentEnabled": false } since motir-core#1929 (2026-08-07, "stop creating deployments — previews and production — until the Fly cutover"). So "use subtask/ so the preview deploys" names an outcome no branch has produced since that date — the strongest form of the trap, because a runner following it will change a branch name and see nothing happen.

Acceptance criteria

  1. notes.html entry #68's lesson and prompt-hint carry a dated correction naming the diff predicate (ci.yml's changes job, MOTIR-3148) and stating that the Vercel preview no longer exists for any branch. The NARRATIVE sections (title, What happened, What corrected me) are left as the historical record they are — an amendment is added, the account is not rewritten.
  2. notes.html entry #203's "read a skipped run on each branch prefix that skips jobs" sentence names the diff classes instead. Its conclusion (require the five unconditional jobs) is unchanged, and the entry says so explicitly so a reader does not read the amendment as reopening it.
  3. Entry #254 is left untouched, and the card's own close-out says why — its mention is an amendment already recording the clause as stale.
  4. git grep -n -i "prefix" origin/main -- notes.html filtered to skip|preview|E2E|Vitest|integration returns no unamended prescriptive hit: every surviving hit is either inside a narrative section or carries its correction on the same entry.
  5. prompts/run.md's step-8 citation "(mistake #68 — whose own reasoning names the now-dead lane-skip mechanism; read it against the correction below)" is re-read once #68 is amended, and softened or kept on the evidence.

Context refs

  • motir-meta/notes.html — entries #68 (5468–5519), #203 (~16165–16300), #254 (~22321–22375).
  • motir-meta/prompts/run.md step 8 — the corrected text this card mirrors (motir-meta PR #300).
  • motir-core/.github/workflows/ci.yml — the changes job; motir-core/vercel.json.