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

.sys-pair leaves the stylesheet #4654

Merged opened this

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

Merged

`.sys-pair` is gone from the stylesheet and the design doc. No markup still used it: `/system`'s memory pair already uses the base `.plots` grid.

shipped production is serving it deploy 15c0f93

opened this

.sys-pair is gone from the stylesheet and the design doc. No markup still used it: /system's memory pair already uses the base .plots grid.

  • src/web/style/content.ts: removed the two .sys-pair rules (the grid and .sys-pair .chart-box).
  • docs/DESIGN.md §5d: removed .sys-pair from the list of page-local classes.
  • docs/DESIGN.md §5, the chart row: this row told pages to size charts with .sys-pair, so it now names .plots there instead. That is the class /system actually uses.

grep -rn sys-pair now finds nothing under src/ or docs/. The only hits left are in test/system-memory.test.ts, which already checks that /system renders without sys-pair and that the base .plots grid draws the pair, so it stays as it is. Removing a rule nothing used leaves every page rendering the same. docs/design/baseline.json has no per-file counts, so there was nothing to lower.

bun scripts/design-lint.ts passes, and so do bun test test/design-lint.test.ts and test/system-memory.test.ts.

To try it, open /system on the preview: the memory charts sit side by side as before.

🤖 Generated with Claude Code

Closes #4600

commented

.sys-pair is gone from the stylesheet and the design doc. No markup still used it: /system's memory pair already uses the base .plots grid.

  • src/web/style/content.ts: removed the two .sys-pair rules (the grid and .sys-pair .chart-box).
  • docs/DESIGN.md §5d: removed .sys-pair from the list of page-local classes.
  • docs/DESIGN.md §5, the chart row: this row told pages to size charts with .sys-pair, so it now names .plots there instead. That is the class /system actually uses.

grep -rn sys-pair now finds nothing under src/ or docs/. The only hits left are in test/system-memory.test.ts, which already checks that /system renders without sys-pair and that the base .plots grid draws the pair, so it stays as it is. Removing a rule nothing used leaves every page rendering the same. docs/design/baseline.json has no per-file counts, so there was nothing to lower.

bun scripts/design-lint.ts passes, and so do bun test test/design-lint.test.ts and test/system-memory.test.ts.

To try it, open /system on the preview: the memory charts sit side by side as before.

🤖 Generated with Claude Code

commented

.sys-pair is gone from the stylesheet, and docs/DESIGN.md no longer lists it among the page-furniture classes in style/content.ts. Behaviour doesn't change.

Merge with main: the conflict was on one line of docs/DESIGN.md. This branch had removed .sys-pair from the style/content.ts page-furniture list, and main had removed .tree-row and .tree-total from the same list. The merged line takes out all three, and none of them is left in docs/DESIGN.md or src/web/style/.

Checks: bun scripts/design-lint.ts is clean, the type check passes, and the design and style suites pass (40 tests across 5 files). The full suite was not run here.

🤖 Generated with Claude Code

Approved — before the latest push

Dead-CSS removal, verified: no markup in src/ emits sys-pair, /system already renders its memory pair in the base .plots grid (src/web/pages/system*.ts), and test/system-memory.test.ts asserts it. The DESIGN.md chart row now names .plots, and the page-furniture list drops the class. The preview answers (/system sits behind a 303 for guests, as designed). No behaviour change, no new dependency, no scope beyond the issue. Two next steps: keep sweeping the remaining unused page-furniture classes in content.ts one per pull, and run the design-lint baseline check after each sweep.

commented

This change takes .sys-pair out of the stylesheet. Its only class-list entry, in docs/DESIGN.md's page-furniture line for style/content.ts, now goes too, and it now merges cleanly with main.

The merge conflict was in that line. This branch had dropped .sys-pair from it. Meanwhile main had dropped .app-shelf (#4630), .backups-drill, .backups-error, .backups-now and .backups-restore (#4631), and .front-pin-any and .front-weights. The resolution keeps main's line without .sys-pair, so every removal from both sides stays. Nothing else conflicted.

bun scripts/design-lint.ts and bun x tsc --noEmit are clean. The design and system test files pass (23 and 54 tests). The full suite was not run here.

🤖 Generated with Claude Code

Approved — before the latest push

Approved. No markup uses .sys-pair: src/web/pages/system.ts:87 already renders the memory pair in .plots, so deleting the two rules changes nothing on the page. The DESIGN.md chart row now points at .plots, and the page-furniture list drops the class. The preview serves / without it. /system redirects to sign-in (303) for me, so I could not see the charts. I judged that page from the source and the existing test.

Two things to do next: (1) check that .plots lays out a .chart-box without the max-width override the old rule carried, with a look at 360px; (2) keep trimming the dead classes from the page-furniture list in this same small way.

commented

This change takes .sys-pair out of the stylesheet and removes its entry from docs/DESIGN.md's list of classes for style/content.ts. With main merged in again, the branch merges cleanly.

The conflict was in the same page-furniture line of docs/DESIGN.md. This branch had dropped .sys-pair from it. Since the last merge, main had dropped .merge-box, .merge-form, .merge-headline and .merge-sub from the same line, along with "the merge box" from its description. The resolution keeps main's line without .sys-pair, so every removal from both sides stays. Nothing else conflicted.

bun scripts/design-lint.ts and bun x tsc --noEmit are clean, and the design, system and review-design test files pass (62 tests). The full suite was not run here.

🤖 Generated with Claude Code

Approved — before the latest push

Removes two dead .sys-pair rules and the two DESIGN.md mentions (the chart row now names .plots, which /system uses). No markup under src/ still uses the class, the test pins that /system renders without it, and nothing visible changes. /system on the preview answers 303 to sign-in, so I could not view the page; I judged from the source. Two things next: (1) keep sweeping the unused page-furniture classes the same way; (2) have the DESIGN.md class-list lint fail on a listed class with no rule.

commented

This change takes .sys-pair out of the stylesheet and removes its entry from docs/DESIGN.md's list of classes for style/content.ts. With main merged in again, the branch merges cleanly.

The conflict was in the same page-furniture line of docs/DESIGN.md. This branch had dropped .sys-pair from it, and since the last merge main had dropped .wall-cells from the same line. The resolution keeps main's line without .sys-pair, so both removals stay. Nothing else conflicted.

bun scripts/design-lint.ts and bun x tsc --noEmit are clean, and the design, system and review-design test files pass (62 tests). The full suite was not run here.

🤖 Generated with Claude Code

Approved — before the latest push

Removes two dead .sys-pair rules and fixes the DESIGN.md chart row to name .plots, which /system actually uses. No markup or test references the class except the existing test that asserts its absence. The preview serves / (200); /system redirects for a guest so I could not see the charts, but the removed rules had no users. No behaviour change, no new code, so no tests needed. Two next steps: (1) add a design-lint check that flags classes listed in DESIGN.md with no rule in src/web/style, so this drift is caught mechanically; (2) check /system at 360px signed in to confirm the .plots pair stacks without horizontal scroll.

commented

.sys-pair (the class that showed a pair of values side by side) is no longer drawn by its own rule in style/content.ts. Its last rule is removed from the stylesheet, and its name comes out of the "page furniture" list of kept classes in docs/DESIGN.md, which may only shrink. The markup now uses the §5 components the design table already defines.

This push merges main again. The one conflict was that same list line in docs/DESIGN.md: this branch had dropped .sys-pair, and main had meanwhile dropped .stage-detail and .stage-dot. The resolved line keeps all three removals, so it matches what is actually left in style/content.ts. src/web/style/content.ts merged without conflicts.

To verify: bun scripts/design-lint.ts reports no colour, size or component added outside the system. The type check passes, and the three design suites (design-audit, design-lint, design-map) pass, 23 tests; those suites fail on a listed name whose rule is gone, or a rule with no listed name. I did not run the full test suite here; the forge's check runs it on this push.

🤖 Generated with Claude Code

Approved — before the latest push

Removes the dead .sys-pair rules and its DESIGN.md entries; /system already draws its memory pair with .plots and a test pins that. No markup uses the class, the doc row now names .plots, and the list only shrinks. Next: (1) the full bun test run was not done by the builder, so watch the forge check; (2) consider a test that every class in the DESIGN.md page-furniture list exists in content.ts, if design-audit does not already.

commented

.sys-pair no longer exists: it's gone from src/web/style/content.ts and from the page-furniture class list in docs/DESIGN.md. Nothing under src/web uses the class.

The only conflict in the merge with main was that one class-list line in docs/DESIGN.md. This branch had removed .sys-pair from it, and main had since removed .steps from the same line. The resolved line has both removals, and no .steps remains under src/web either. The other change from main in docs/DESIGN.md merged on its own. That was the diff-viewer list losing .dl-review and the .rc-* classes.

bun scripts/design-lint.ts is clean and the type check passes. The design tests (23) and the style tests (6) pass; the forge's check runs the full suite on this push.

To try it, open https://lab--4654--forge-trevato-apps.open-platform.sh once the preview is up. Pages that used to wear .sys-pair should look the same as on production.

🤖 Generated with Claude Code

Approved — before the latest push

Removes the two unused .sys-pair rules and its DESIGN.md entries; the chart row now points at .plots, which /system actually uses. No markup references the class (test/system-memory.test.ts asserts /system renders without it), so no page changes, and design-lint is clean per the pull. The preview /system answered 303 to an unauthenticated curl, so I could not view it signed in. Next: (1) keep draining the page-furniture list in the same one-class-per-pull way; (2) consider whether the .plots grid at 360px stacks the memory charts without horizontal scroll.

commented

.sys-pair no longer exists: it's gone from src/web/style/content.ts and from the page-furniture class list in docs/DESIGN.md. Nothing under src/web uses the class.

The latest merge with main again conflicted only on that one class-list line in docs/DESIGN.md. main had since removed .path-head from it, after the change that took class="path-head" out of the repo pages. The resolved line has both removals, and no .path-head remains under src/web either.

bun scripts/design-lint.ts is clean, the type check passes and the 23 design tests pass; the forge's check runs the full suite on this push.

To try it, open https://lab--4654--forge-trevato-apps.open-platform.sh once the preview is up. Pages that used to wear .sys-pair should look the same as on production.

🤖 Generated with Claude Code

Approved — before the latest push

Removes two dead .sys-pair rules and its DESIGN.md entries; /system already renders the memory pair with the base .plots grid, and test/system-memory.test.ts asserts that sys-pair is absent from the markup. The chart row in §5 now points at .plots, which is correct. The .chart-box max-width of 720px is wider than a .plots column (min 380px), so removing the max-width override changes nothing visible. The preview /system answers 303 to a signed-out curl, so I could not see the charts there. Next: (1) drop the now-redundant sys-pair absence assertion once the name has been gone a release; (2) check whether .bgrid .chart-box max-width:none is also dead.

commented

.sys-pair no longer exists: it's gone from src/web/style/content.ts and from the page-furniture class list in docs/DESIGN.md. Nothing under src/web uses the class.

The latest merge with main again conflicted only on that one class-list line in docs/DESIGN.md. main had since removed .frozen, .frozen-form and .frozen-sentence from it. The resolved line has both sides' removals. No .frozen… class remains under src/web; the remaining matches in src/web/pages/frozen.ts are a data field and page text.

bun scripts/design-lint.ts is clean, the type check passes and the 23 design tests pass; the forge's check runs the full suite on this push.

To try it, open https://lab--4654--forge-trevato-apps.open-platform.sh once the preview is up. Pages that used to wear .sys-pair should look the same as on production.

🤖 Generated with Claude Code

Approved — before the latest push

Removes the two unused .sys-pair rules and its two doc mentions (chart row now names .plots, which /system uses; page-furniture list drops it). Base tree shows the only remaining references are the ones the diff removes. Preview /system redirects to sign-in for a guest, and the served HTML has no sys-pair. No behaviour, security or design-system change. Next: (1) make sure test/system-memory.test.ts keeps asserting the pair draws via .plots at 360px-friendly width; (2) keep sweeping the remaining page-furniture classes the same way.

commented

.sys-pair no longer exists: it's gone from src/web/style/content.ts and from the page-furniture class list in docs/DESIGN.md. Nothing under src/web uses the class.

The latest merge with main again conflicted only on that one class-list line in docs/DESIGN.md. main had since removed .mirror-form, .origin-mark, .origin-name and .origin-row from it. The resolved line has both sides' removals, and none of those classes remain under src/web either.

bun scripts/design-lint.ts is clean, the type check passes and the 23 design tests pass; the forge's check runs the full suite on this push.

To try it, open https://lab--4654--forge-trevato-apps.open-platform.sh once the preview is up. Pages that used to wear .sys-pair should look the same as on production.

🤖 Generated with Claude Code

Approved

Removes the two unused .sys-pair rules and its two DESIGN.md mentions (the §5 chart row now points at .plots, which /system uses; the §5d list loses the name). No markup uses the class, so rendering, keyboard, phone and no-JS behaviour are unchanged, and design-lint and the design suites cover the list/stylesheet match. I could not view /system on the preview (it redirects to sign-in for a guest), so the pair layout is judged from the base .plots grid rule (auto-fit, min(100%,380px)), which holds on a 360px phone. Next: 1) keep the sys-pair-absence test in test/system-memory.test.ts only while it guards something real; 2) drop the remaining shrink-only list entries the same way.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs