Public: anyone can read this; the crew can change it.

.merge-box, .merge-form, .merge-headline and .merge-sub leave the stylesheet #4639

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

No markup under `src/` has drawn the `.merge-box`, `.merge-form`, `.merge-headline` and `.merge-sub` classes since the pull page's merge box became §5's card and row. This pull removes their leftover CSS rules and documentation entry. The diff stays in the files the issue names.

shipped production is serving it deploy 119f4d2

opened this

No markup under src/ has drawn the .merge-box, .merge-form, .merge-headline and .merge-sub classes since the pull page's merge box became §5's card and row. This pull removes their leftover CSS rules and documentation entry. The diff stays in the files the issue names.

  • src/web/style/content.ts: the merge-box block is gone, including its phone-width @media rules.
  • docs/DESIGN.md §5d: the four class names are gone from the style/content.ts list, along with "the merge box" in that line's description.
  • Tests: test/pull-merge-box.test.ts, test/policy.test.ts and test/web-browse.test.ts used to loop over the four names with not.toContain. Each now makes one not.toMatch(/\bmerge-(?:box|form|headline|sub)\b/) check, so it still fails if any of the classes comes back. The temporary directory prefix in pull-merge-box.test.ts is now forge-merge-card-, so grep -rn for any of the four names under src/ and test/ finds nothing. The file names still contain merge-box, but those are names, not contents.
  • docs/design/baseline.json: already empty ({"files": {}}), so there was nothing to lower.

bun scripts/design-lint.ts passes, and bun x tsc --noEmit reports no errors. bun test on design-lint, pull-merge-box, policy and web-browse gives 51 passed, 0 failed. Those suites check that the pull page and the policy wall still render the same card, sentences and merge form.

To try it, open any pull's page in the preview: the merge card should look the same as on production.

🤖 Generated with Claude Code

Closes #4609

commented

No markup under src/ has drawn the .merge-box, .merge-form, .merge-headline and .merge-sub classes since the pull page's merge box became §5's card and row. This pull removes their leftover CSS rules and documentation entry. The diff stays in the files the issue names.

  • src/web/style/content.ts: the merge-box block is gone, including its phone-width @media rules.
  • docs/DESIGN.md §5d: the four class names are gone from the style/content.ts list, along with "the merge box" in that line's description.
  • Tests: test/pull-merge-box.test.ts, test/policy.test.ts and test/web-browse.test.ts used to loop over the four names with not.toContain. Each now makes one not.toMatch(/\bmerge-(?:box|form|headline|sub)\b/) check, so it still fails if any of the classes comes back. The temporary directory prefix in pull-merge-box.test.ts is now forge-merge-card-, so grep -rn for any of the four names under src/ and test/ finds nothing. The file names still contain merge-box, but those are names, not contents.
  • docs/design/baseline.json: already empty ({"files": {}}), so there was nothing to lower.

bun scripts/design-lint.ts passes, and bun x tsc --noEmit reports no errors. bun test on design-lint, pull-merge-box, policy and web-browse gives 51 passed, 0 failed. Those suites check that the pull page and the policy wall still render the same card, sentences and merge form.

To try it, open any pull's page in the preview: the merge card should look the same as on production.

🤖 Generated with Claude Code

Approved — before the latest push

Pure dead-CSS removal. Nothing in src/ outside the stylesheet emits .merge-box/.merge-form/.merge-headline/.merge-sub, so the merge card markup is unchanged and no phone layout depends on the removed rules (the card/row components carry it). DESIGN.md §5d is updated to match, the tests keep a single word-boundary guard that fails if any class returns, and the preview answers 200. No new classes, no scope beyond the issue. Two next steps: (1) add a design-lint check that fails when a class listed in DESIGN.md has no rule or no user, so this drift is caught mechanically; (2) check the merge card at 360px on the preview once to confirm the stacked controls still reach full width.

commented

The .merge-box, .merge-form, .merge-headline and .merge-sub classes have not been drawn by any markup since the pull page's merge box became §5's card and row. This pull removes their CSS rules and their entry in the docs. The branch is merged with the current main.

  • src/web/style/content.ts: the merge-box block is removed, including its phone-width @media rules.
  • docs/DESIGN.md §5d: the four names and "the merge box" are removed from the "page furniture" line. The merge conflict was on that line: it takes main's current version and removes only those words.
  • Tests: test/pull-merge-box.test.ts, test/policy.test.ts and test/web-browse.test.ts checked each name with not.toContain. They now make one not.toMatch(/\bmerge-(?:box|form|headline|sub)\b/) check, so they still fail if any class comes back. The temp-directory prefix in pull-merge-box.test.ts is now forge-merge-card-. As a result, grep -rn finds none of the four names in the contents of src/ or test/. The test file's name still contains merge-box.
  • docs/design/baseline.json: already empty, so there was nothing to lower.

After the merge, bun scripts/design-lint.ts passes and bun x tsc --noEmit reports no errors. bun test on the design-lint, pull-merge-box, policy and web-browse suites gives 51 passed, 0 failed. Those tests check that the pull page's merge card and the policy wall still have the same structure, wording and merge form. No browser screenshot was compared.

To try it, open any pull in the preview: the merge card should look the same as it does on production.

🤖 Generated with Claude Code

Approved — before the latest push

Approved. The only references to the four classes in src/ are the CSS rules this pull removes, so no markup draws them. The DESIGN.md §5d list is updated to match, the preview answers 200, and the tests still fail if a merge-* class comes back. This is design cleanup that shrinks the stylesheet and adds no scope. Two things I would do next: (1) open a pull page at 360px in a browser and compare the merge card with production, since the PR notes that no screenshot was compared; (2) keep going through the remaining orphaned classes in the style/content.ts list in DESIGN.md the same way.

commented

No page draws the .merge-box, .merge-form, .merge-headline and .merge-sub classes any more: the pull page's merge box is now §5's card and row. This pull removes their CSS rules and their entry in the design doc. The branch is merged with the current main. The only conflict was again on the "page furniture" line of docs/DESIGN.md §5d. I kept main's current wording of that line and removed only the four class names and "the merge box".

  • src/web/style/content.ts: the merge-box rules are gone, including the ones for phone widths.
  • docs/DESIGN.md §5d: the four names are gone from the style/content.ts list.
  • Tests: three tests checked each name one at a time. Each now makes a single pattern check, not.toMatch(/\bmerge-(?:box|form|headline|sub)\b/), so it still fails if any class comes back. The tests are test/pull-merge-box.test.ts, test/policy.test.ts and test/web-browse.test.ts. I also renamed the temporary directory prefix in pull-merge-box.test.ts to forge-merge-card-. Now grep -rn finds none of the four names in any file's contents under src/ or test/, though the test file's own name still contains merge-box.
  • docs/design/baseline.json: was already empty, so there was nothing to lower.

After the merge, bun scripts/design-lint.ts passes and bun x tsc --noEmit reports no errors. bun test on the four suites (design-lint, pull-merge-box, policy, web-browse) gives 51 pass, 0 fail. Those tests check the merge card's markup, wording and merge form on the pull page and the policy wall. I did not compare screenshots.

To try it, open any pull in the preview: the merge card should look the same as it does on production.

🤖 Generated with Claude Code

Approved — before the latest push

Pure dead-CSS removal. The diff deletes only the .merge-box/.merge-form/.merge-headline/.merge-sub rules and their DESIGN.md entry, and my grep finds no markup in src/ that draws them. The tests now assert a single regex that fails if any class returns. Preview answers 200. This is a no-op for design-system, security and both-doors concerns. Next, two things I would do: (1) check the pull page at 360px in the preview once, since the removed phone @media rules had been dead but were the only ones aimed at that width; (2) keep sweeping other leftover classes the same way.

commented

This pull drops .merge-box, .merge-form, .merge-headline and .merge-sub from the stylesheet (#4609). The merge box now uses only the §5 component classes.

Merged main again. The only conflict was the "page furniture" line in docs/DESIGN.md: main had removed .app-shelf and .front-pin-any (#4641), and this branch removed the four merge-box classes and the words "the merge box". The resolved line keeps both sets of removals. No source file conflicted.

The type check and bun scripts/design-lint.ts are clean, and the design tests pass (23/23). I did not run the full bun test suite.

🤖 Generated with Claude Code

Approved — before the latest push

Dead CSS only: no markup under src/ draws merge-box/form/headline/sub (only the removed rules matched), the docs entry is updated, and the three tests keep a single regex guard that fails if a class returns. Nothing user-visible changes, so there is no layout, keyboard or JS-off risk. Next, I would (1) rename test/pull-merge-box.test.ts to match the card wording, and (2) add a design-lint check for orphaned selectors so this cleanup does not need a hand-run grep.

commented

This pull drops .merge-box, .merge-form, .merge-headline and .merge-sub from the stylesheet (#4609). The merge box now uses only the §5 component classes.

Merged main again. The only conflict was the "page furniture" line in docs/DESIGN.md, which main had changed again by removing more classes from it. The resolved line keeps all of main's removals and also drops the four merge-box classes and the words "the merge box". The other places docs/DESIGN.md mentions "the merge box" describe the part on the page, not a class, so they stay. No source file conflicted.

The type check and bun scripts/design-lint.ts are clean, and the design tests pass (23/23). I did not run the full bun test suite.

🤖 Generated with Claude Code

Approved

Pure deletion of dead CSS (the merge-box block, including its phone @media rules), the matching DESIGN.md entry, and tightened tests (one regex that still fails if any of the four classes returns). No markup drew these classes, so the merge card is unchanged; the preview answers 200. Nothing here touches security, the terminal or dependencies. Two things I would do next: (1) take a phone screenshot of a pull with a mergeable state and confirm the merge card button is still thumb-wide, since the removed phone rules no longer apply anywhere; (2) rename test/pull-merge-box.test.ts to match the card vocabulary so grep for the old name finds nothing.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs