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-3720

Planning bug: a card's central premise was a config COMMENT quoted as fact — six counter-examples sat nine lines below it, and two "options" were both already shipped

Done
Description

Telemetry about the planner. The correction is already appliedMOTIR-3568 shipped against the true premise and amended its own card on the record — so this card holds up nothing and schedules nothing.

The card, as authored

MOTIR-3568 (8.31) opened with:

No app/**/page.tsx has ever been in the coverage report, and it is not an oversight — there is nothing that can render one.

and built its whole option set on it, including offering "declare route components out of coverage scope for good" as a legitimate outcome.

Both halves were false, on origin/main at e88d3d73

1. Six route components were already in coverage.include, five of them GATED at 90/90/90 — and they sit in the same array, roughly nine lines below the note that says none has ever been in the report:

app/**/docs/page.tsx · docs/api/page.tsx · docs/api/getting-started/page.tsx · docs/api/stability/page.tsx · docs/sandbox/page.tsx (all five in thresholds) · docs/layout.tsx.

tests/coverage-gate-globs.test.ts even asserts one of them by name: expect(files).toEqual(expect.arrayContaining([… 'app/(public)/docs/sandbox/page.tsx'])).

2. Both of the card's "options" were already shipped techniques, hand-rolled once per file — seven files:

the card's optionwhere it already lived
1 — await Page(), walk the treetests/planning/roadmapPageStreaming.test.tsx · planningPageStreaming.test.tsx · plansPageEntrance.test.tsx (with its own walk) · plansTabbedList.test.tsx
2 — Fizz over react-dom/server.edgetests/api-docs/story-gate.test.tsx · docs-rail-tiers.test.tsx · cli-story-gate.test.tsx, each declaring its own renderPageToHtml

Where the false premise came from — and it is the generalisable part

It was quoted, not measured. vitest.config.ts says "this repo has no RSC render harness, so no app/**/page.tsx has ever been in this report" in three separate comment blocks (MOTIR-3449's, the legal block's, and Story 8.12's security/page.tsx note). The card restated it verbatim, in the register of a measured finding — its own heading is "The finding, measured on parent/MOTIR-3440-remaining-pages-stream at d65280c7" — and the measurement it names (grep the config for MOTIR-3440's seventeen page paths) is a true measurement of a narrower claim than the sentence it was used to support.

The comment was itself a generalisation of that same narrow grep, repeated until it read as settled. Nothing in the chain was dishonest and every link is checkable in one command; what was missing was that nobody ran the command for the WIDE claim, because a claim written three times in a load-bearing config reads as already checked.

What the true statement is

No page under app/(authed) had ever been in the coverage report — a different problem with a different cause (an authed page needs request-scoped shims a public docs page does not). The card's actual work survived that correction completely; only its option set changed, and option 3 (permanent exclusion) went from legitimate outcome to refuted by the same file that proposed it.

The takeaway

A statement repeated in a config comment is a CLAIM, not a measurement — and the more places it appears, the more it reads like one. A card that quotes a comment as its central premise owes the one command that checks it, especially when the comment is an absolute (no X has ever …) and the check is a grep of the same file the comment lives in.

The lesson is recorded on this bug rather than written to the store: run.md's A LESSON GOES TO THE STORE scopes lesson-writing to a REPLAN, and no replan was needed here — the card shipped against the corrected premise.

Where it is fixed

  • The card: amended on the record with a ⚠️ CORRECTED block naming the six entries and the seven files.
  • motir-core: all three false comments in vitest.config.ts corrected (PR #2378), and docs/decisions/rsc-render-harness.md records the falsification with the evidence.