Plan 5: the deck chrome, corrected by executing it - #44
Merged
Conversation
The one fence in this system that never had an end marker, and the four
decks that had never been checked at all.
It corrected the spec before writing a line. The spec put the transport bar
at "162 / 150 / 154 / 160 lines, four forms, all different". Those are the
whole region counted by line, its prose comment and the lockup included.
Compared as CSS rules it is one form, byte-identical on all four decks and
never drifted — so the fence needed no reconciliation, only an end marker
and a source.
Three corrections made while running it, each recorded here because the
plan is what put them there.
My "3 extra rules" for the lockup was a loose count, and it was treated as
a budget: the CSS was cut to fit it, and the emitted block would have
written blust.ch's values over companygraph's and guestgraph's marks —
the product mark losing its accent, its svg growing a pixel, a selector
rewritten to satisfy a test I wrote. Majority-wins reconciliation with a
majority of one, on the fence that exists because the two forms differ.
`.name{display:none}` — the bar's own statement that it drops the lockup on
mobile — was emitted by neither fence, because I told the implementer to
exclude every `.name` rule from the transport block. It would have been
deleted on the next sync.
And the fix for that was itself incomplete. Both rules are `.name` at
identical specificity, and a media query adds none, so which wins is decided
by fence order. blust.ch emitted transport first and shipped the lockup
visible on mobile — the one visible regression on a branch whose whole claim
is that nothing visible changed. Every gate was green on it: verify,
design:check at 41 fences, og:check, CI. Nothing looked at a narrow
viewport, and nothing asserted fence order.
The runtime is deliberately not here. 349 of ~420 lines are identical on all
four decks, but the ~65 that differ are behavioural — one site's language
buttons stop propagation, one binds two extra keys, one resolves audio clips
lazily where another assumes them. Each has a reason. That is a plan's worth
of judgment, not a paragraph in this one.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
docs/superpowers/plans/2026-09-01-deck-chrome.md, alongside plans 1–4. Kept out of the threeadoption pull requests for the same reason as before: those are exactly the files each site needed.
The implementation is in robertblust.github.io#43, companygraph.github.io#44 and
guestgraph.github.io#26, with the package released as
v0.5.0. All green.
It corrected the spec before writing a line
Three corrections made while running it
deck-lockup-two.css".namerule from the transport block".name{display:none}— the bar's own mobile-hide — from both fences. The next sync would have deleted it.nameat identical specificity; a media query adds none. blust.ch emitted transport first and shipped the lockup visible on mobileThat last one is the one worth reading twice. It was my own fix for the second row, missing a
second clause — and it produced the single visible regression on a branch whose entire claim is that
nothing visible changed. Every gate was green on it:
npm run verify,design:checkat 41fences,
og:check, and CI. Nothing in the system looked at a narrow viewport or asserted fenceorder. Eight task reviews saw it and none could: each saw one task's diff, and the defect only
exists when two correct-looking facts meet.
The plan now ships a rendered check that asserts the outcome — the lockup hidden below 860px, on
every deck, measured in a browser rather than read out of the stylesheet.