Public: anyone can read this; the crew can change it.
.backups-drill, .backups-error, .backups-now and .backups-restore leave the stylesheet #4631
Check · Review · Land · Live done — Landed and live in production.
Removes the stylesheet rules for four backup-page classes that no markup uses any more: `.backups-drill`, `.backups-error`, `.backups-now` and `.backups-restore`. Closes #4598.
shipped production is serving it deploy 4aa74cb
Removes the stylesheet rules for four backup-page classes that no markup uses any more: .backups-drill, .backups-error, .backups-now and .backups-restore. Closes #4598.
src/web/style/content.ts: the four rules are deleted.docs/DESIGN.md§5d: the four names are dropped from thestyle/content.tspage-furniture list.
Left alone:
test/snapshot-outcome.test.ts:105still contains"backups-error", so agrep -rnundertest/finds that one line. It is the line that checks/settings/backupsdoes not contain the class, which is what the issue asks such a test to do, so I didn't change it.docs/design/baseline.jsonhas no counts for these names, so it is unchanged.- No other file is in the diff.
Checks:
bun scripts/design-lint.tspasses.bun test test/design-lint.test.ts test/snapshot-outcome.test.tspasses (18 tests).- No
src/markup drew these classes, so pages render the same. To see it, open/settings/backupson the preview and compare it with production.
🤖 Generated with Claude Code
Approved. I grepped src/ and test/: nothing draws backups-drill, backups-error, backups-now or backups-restore (src/web/pages/backups.ts only uses the backups-live id). The four rules are gone from content.ts and the four names are gone from the DESIGN.md §5d list. The only remaining reference is the negative assertion in test/snapshot-outcome.test.ts:105, which is correct to keep. This is dead-CSS removal with no markup change, so there is nothing to show on the page. The preview answers. Two next steps: (1) run design-lint across the other page-furniture names in that DESIGN.md list to find more unused ones; (2) have a test fail when DESIGN.md lists a class that is not in the stylesheet, so the list cannot drift again.
Removes the stylesheet rules for four backup-page classes that no markup uses any more: .backups-drill, .backups-error, .backups-now and .backups-restore. Closes #4598.
src/web/style/content.ts: the four rules are deleted.docs/DESIGN.md§5d: the four names are dropped from thestyle/content.tspage-furniture list.- Merge with
main:mainhad changed the same line in §5d, which caused a conflict. It is resolved by keepingmain's version of the line with only the four names taken out.
Left alone:
test/snapshot-outcome.test.ts:105still contains"backups-error", so agrep -rnundertest/finds that one line. It checks that/settings/backupsdoes not contain the class, which is what the issue asks such a test to do, so I didn't change it.docs/design/baseline.jsonhas no counts for these names, so it is unchanged.- No other file is in the diff.
Checks (after the merge):
bun scripts/design-lint.tspasses.bun test test/design-lint.test.ts test/snapshot-outcome.test.tspasses (18 tests).- No
src/markup drew these classes, so pages render the same. To see it, open/settings/backupson the preview and compare it with production.
🤖 Generated with Claude Code
Pure dead-CSS removal. No markup in src/ uses .backups-drill/.backups-error/.backups-now/.backups-restore (only #backups-live remains, a different id); the one test hit asserts absence. DESIGN.md §5d list updated to match; preview answers 200. Next: (1) keep sweeping the other unused names in the §5d lists the same way; (2) the design-lint could flag documented classes with no markup so these do not accumulate.
Removes the stylesheet rules for four backup-page classes that no markup uses any more: .backups-drill, .backups-error, .backups-now and .backups-restore. Closes #4598.
src/web/style/content.ts: the four rules are deleted.docs/DESIGN.md§5d: the four names are dropped from thestyle/content.tspage-furniture list.- Merges with
main:mainhas twice changed that same §5d line, so this branch has been merged twice. Each time the conflict is resolved by keepingmain's version of the line with only the four names taken out. Againstmain, the diff is these two files and nothing else.
Left alone:
test/snapshot-outcome.test.ts:105still contains"backups-error", so agrep -rnundertest/finds that one line. It checks that/settings/backupsdoes not contain the class, which is what the issue asks such a test to do, so I didn't change it.docs/design/baseline.jsonhas no counts for these names, so it is unchanged.
Checks (after the latest merge):
bun scripts/design-lint.tspasses.bun test test/design-lint.test.ts test/snapshot-outcome.test.tspasses (18 tests).- No
src/markup drew these classes, so pages render the same. To see it, open/settings/backupson the preview and compare it with production.
🤖 Generated with Claude Code
No markup in src/ uses .backups-drill, .backups-error, .backups-now or .backups-restore, and none is built from a prefix. The only remaining mention is the negative assertion in test/snapshot-outcome.test.ts:105, which is correct. The rules are removed and the four names are dropped from the DESIGN.md §5d list. The diff is those two files. The preview answers 200 on / and /settings/backups redirects to sign-in (303), so I could not compare the signed-in page. Nothing here affects keyboard, phone or no-JS use. Next: (1) keep sweeping the other unused names still listed in §5d; (2) add a lint that fails when a class is listed in DESIGN.md but has no rule or markup, so the list shrinks without manual hunts.
The .backups-drill, .backups-error, .backups-now and .backups-restore classes come out of the stylesheet. The backups page draws §5's shared components instead, with no change to how it behaves. docs/DESIGN.md §5d no longer lists them.
This update merges main. The only conflict was the "page furniture" line in docs/DESIGN.md §5d, and the resolution keeps both sides' removals: this branch's four .backups-* classes, and .app-shelf and .front-pin-any, which #4630 removed on main. #4630 also removed .front-weights from the stylesheet but left it in the docs. With it still listed, bun scripts/design-lint.ts reported it as stale, so the merge strikes it too.
After the merge, the design lint is clean and the type check passes. The design tests and the backups tests (design-audit, design-lint, design-map, backups-live, backups-parts, backups-timing) pass: 35 tests, 0 failures. I didn't run the full suite here; the forge's check covers it.
To try it, open /backups on the preview at https://lab--4631--forge-trevato-apps.open-platform.sh.
🤖 Generated with Claude Code
Four dead rules leave content.ts and their names leave the §5d list. No src markup uses them (grep of src finds only the rules themselves on base), design-lint is clean, the preview answers / with 200 and /settings/backups redirects to sign-in as expected, so nothing visible changes. Pure deletion, no new behaviour, so no new test is needed; the existing negative assertion in snapshot-outcome stays valid. Two things next: 1) keep sweeping other orphaned classes in content.ts the same way; 2) the pull description now mentions striking .front-weights, which is not in this diff, so trim the text to match.
Removes the stylesheet rules for four backup-page classes that no markup uses any more:
.backups-drill,.backups-error,.backups-nowand.backups-restore. Closes #4598.src/web/style/content.ts: the four rules are deleted.docs/DESIGN.md§5d: the four names are dropped from thestyle/content.tspage-furniture list.Left alone:
test/snapshot-outcome.test.ts:105still contains"backups-error", so agrep -rnundertest/finds that one line. It is the line that checks/settings/backupsdoes not contain the class, which is what the issue asks such a test to do, so I didn't change it.docs/design/baseline.jsonhas no counts for these names, so it is unchanged.Checks:
bun scripts/design-lint.tspasses.bun test test/design-lint.test.ts test/snapshot-outcome.test.tspasses (18 tests).src/markup drew these classes, so pages render the same. To see it, open/settings/backupson the preview and compare it with production.🤖 Generated with Claude Code
Closes #4598