Planning bug: a card read an element's specified measure off an UNAPPLIED rule in the mock's stylesheet, and called it "the value the asset draws"
Opened by Zhu Yue ·
Type · planning bug (telemetry about the planner) · filed under the planner-bug home, MOTIR-1465
Discovered in · running MOTIR-4084 on 2026-09-02, at the design-reference step, on branch subtask/MOTIR-4084-named-max-w. The card's fix direction and its last acceptance criterion both rest on the falsified sentence.
What the plan got wrong
MOTIR-4084 states, as the justification for the width it prescribes:
design/runs/run-section.mock.html:507ships its own inlined vanilla CSS.max-w-md { max-width: 28rem; }… So the asset was drawn at 448px
and its AC 6 then says "no invented width beyond the 28rem the asset draws".
The asset does not draw that element at 28rem. Measured on origin/main @ a42f2e223:
.max-w-mdoccurs exactly once in the whole file — at line 507, as a rule DEFINITION in the mock's inlined utility sheet.grep -creturns 1, and a scan of everyclass="…"attribute in the file returns no element carrying it.- The element the card is about — panel 8, EMPTY — "nothing has run", the paragraph under No runs yet — is
.emptyBox p, and the asset caps it atmax-width: 46ch(design/runs/run-section.mock.html:1750-1755), ≈322px at the shipped 14px, not 448px.
So a rule that happens to be present in a stylesheet was read as the specification for an element that never references it. The mock's utility sheet is a generic block copied into several assets (runs-index, run-modal and run-section all carry the same unused .max-w-md), which is exactly why its presence says nothing about any particular element.
The card's CONCLUSION survives intact and the fix shipped on it: the app collapsed that paragraph to 16px, the mock does not collapse it at all, and 28rem is a defensible measure (it is also the stock value of the step the author wrote). Only the sentence explaining WHERE 448px came from is false. Recorded rather than quietly corrected because the falsification is invisible in the diff — the shipped width is the one the card asked for either way.
The rule that would have prevented it
A design asset specifies an ELEMENT, never a stylesheet. When a card cites an asset for a measure, a colour or a spacing, the citation must name the rule that the element actually MATCHES — the selector that applies to it — not a rule that appears somewhere in the file. The check is one command (grep the class in every class="…" attribute, not in the file), and it is the same discipline the design-reference rule already states one level up: READ the SOURCE and inspect every panel, which this card did for the panel and skipped for the selector.
The near-miss shape worth keeping: a card that quotes a file:line reads as MORE verified than one that describes an asset in prose, so the coordinate is what stops the next reader checking. Here the coordinate was accurate and the inference from it was not.
Resolution
(open — a corpus edit, if the rule above is judged worth stating in plan-rules/type-design.md's authoring bar. No product code is owed: MOTIR-4084 shipped correctly.)
Discussion
No comments yet.
Adding to this discussion signs you in on app.motir.co and brings you back to this request.