Port the depth, light, matrix and switch drives, and hold every theme and shell to the SEED baseline
Fourteen of rastrillo's ui/ drives at SEED (e14b745) come to check/ with the mechanical substitutions only: the depth tests (their helpers already sit in rig_browser_test.go), the forced-colours and print blocks, the accent derivation, the button scale and labels, the filter chip, the header rule, light.js's follow, breathe and frame-budget drives (SEED's thread-time version, traceTotals and cheapestWindows with it), the matrix and its two legacy pairs, the switch drives, the day switch, the textarea, and the vendored-legacy pairs. Every name, threshold and fixture is SEED's: 2.0 ms a frame, delta 24 on at most 1% of a crop, light.js at 12 KiB. All 53 passed on their first run. The parity drive is new. parityRig serves the same documents at /old/<name> and /new/<name>, each beside its own tokens.css, theme.css, shell.css and scripts, and parityLinks flattens a layout's ../../css and ../../js links to those names (its own untagged test). TestEveryThemeAndShellRendersAsTheBaseline then photographs the matrix targets and every layout-* document at 1280 and 390 under testdata/seed/ and under css/, three themes, both schemes, to the pixel. Both sides load the tree's js/: there is no seed copy of the scripts and they are not under the baseline. The gate run passes by construction while TestTheSourceIsTheSyncedBaseline holds; a scratch day.css with its accent moved failed on day's button cells, and a scratch shell.css with a phone-width rail rule failed on layout-sidebar at 390px. The brief's literal shell.css control (a view transition removed) is invisible to a still shot, and no layout writes rst-shell-chrome. With the switch hover rules cut from a scratch tokens.css the parity drive failed on the switch hover cells in every theme; the preservation matrix did not, since those rules read depth tokens no v0.28 theme declares. TestASwitchSlidesAndSnaps's journey is driveSwitchDrag(t, rig) with its pages as switchDragPages, three legs on one rig, each leaving touch emulation and the emulated media as it found them. check is sliced three ways (check@3, 50-suite@8, eight roles), with SEED's browser ui weights for the moved tests copied as browser check lines and the parity drive's measured 57s added. The keep list loses the eight helpers that gained callers.
Human
Prompt
Task 8 of the fiesta-1 package: port the visual drives (depth, light, the pixel matrix, the switch) from rastrillo ui/ at SEED with only the mechanical substitutions, write parityRig and TestEveryThemeAndShellRendersAsTheBaseline with their negative controls, pull out driveSwitchDrag, slice check three ways, and run the shards and make ci once.
From this commit's own message. The prompt ledger has no entries for it — which is what a squashed, rebased or amended commit looks like, and what every commit looks like in a repo without a ledger.
Summary
check/: fourteen ui/ drives ported from SEED (accent, button, depth tests, depth_media, flat_override, ftok, header_rule, light + light_test, matrix, switch, switch_day, textarea, vendored_legacy), lightJS() reader; parity_browser_test.go (parityRig, parityAssets, seedFile, pageShot, TestEveryThemeAndShellRendersAsTheBaseline) and parity_test.go (parityLinks, TestParityLinksAreRewritten); driveSwitchDrag and switchDragPages pulled out of the switch drive; keep list trimmed; Makefile check@3; .amadan/ci.d/50-suite@6 renamed 50-suite@8; hack/test-weights.txt gains the browser check lines.
Agent notes
All 53 ported tests passed first run (219s in one go). Shards 83/85/92s wall; make ci exit 0 in 246s. The brief's shell.css control (a view transition removed, an rst-shell-chrome rule changed) is invisible to a still shot and no layout writes rst-shell-chrome, so the control was run with a phone-width rail rule appended instead; the preservation matrix is blind to the switch hover rules under every theme it reads, the parity drive sees them. Full report at .claude/worktrees/fiesta-design/.superpowers/sdd/2026-10-27-fiesta-1-package/task-8-report.md in the rastrillo checkout.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
20 files changed,
+5394
−5
.amadan/ci.d/{50-suite@6 => 50-suite@8}+0 −0Makefile+1 −1check/accent_browser_test.go+395 −0check/button_browser_test.go+308 −0check/depth_browser_test.go+702 −0check/depth_media_browser_test.go+286 −0check/flat_override_browser_test.go+101 −0check/ftok_browser_test.go+91 −0check/header_rule_browser_test.go+536 −0check/light_browser_test.go+650 −0check/light_test.go+342 −0check/matrix_browser_test.go+408 −0check/parity_browser_test.go+174 −0check/parity_test.go+94 −0check/rig_browser_test.go+2 −3check/switch_browser_test.go+543 −0check/switch_day_browser_test.go+590 −0check/textarea_browser_test.go+64 −0check/vendored_legacy_browser_test.go+90 −0hack/test-weights.txt+17 −1
CI passed — run details
CI log
=== gofmt === === no-rastrillo === go test -run '^(TestFiestaNeverImportsRastrillo|TestThePublicPackagesLinkNoBrowser)$' -count=1 . ok amadan.net/rastrillo/fiesta 0.073s === suite === --- shard 0 of 8 --- ==> shard 0 of 8: make root go build ./... go vet ./... FIESTA_TEST_REQUIRE_NODE=1 go test -count=1 ./... ok amadan.net/rastrillo/fiesta 0.284s ok amadan.net/rastrillo/fiesta/check 3.062s ok amadan.net/rastrillo/fiesta/example 0.124s ok amadan.net/rastrillo/fiesta/internal/axe 0.006s ? amadan.net/rastrillo/fiesta/internal/harness [no test files] ok amadan.net/rastrillo/fiesta/internal/markup 0.011s ok amadan.net/rastrillo/fiesta/internal/nodetest 0.359s --- shard 1 of 8 --- ==> shard 1 of 8: make staticcheck go run honnef.co/go/tools/cmd/staticcheck@v0.8.2 -tags browser ./... --- shard 2 of 8 --- ==> shard 2 of 8: make govulncheck go run golang.org/x/vuln/cmd/govulncheck@v1.8.0 ./... === Symbol Results === No vulnerabilities found. Your code is affected by 0 vulnerabilities. This scan also found 0 vulnerabilities in packages you import and 5 vulnerabilities in modules you require, but your code doesn't appear to call these vulnerabilities. Use '-show verbose' for more details. --- shard 3 of 8 --- ==> shard 3 of 8: make gitleaks go run github.com/zricethezav/gitleaks/v8@v8.30.1 git --no-banner --redact --log-opts='--full-history --diff-filter=tuxdb HEAD' . [90m10:36AM[0m [32mINF[0m [1mUnknown SCM platform. Use --platform to include links in findings.[0m [36mhost=[0mamadan.net [90m10:36AM[0m [32mINF[0m [1m1 commits scanned.[0m [90m10:36AM[0m [32mINF[0m [1mscanned ~3503926 bytes (3.50 MB) in 2.18s[0m [90m10:36AM[0m [32mINF[0m [1mno leaks found[0m --- shard 4 of 8 --- ==> shard 4 of 8: make browser.internal.harness ./hack/gotest.sh browser 'internal.harness' gotest: on DOCS-T1, driving the harness's own choice (/usr/bin/chromium) ok amadan.net/rastrillo/fiesta/internal/harness 7.746s --- shard 5 of 8 --- ==> shard 5 of 8: make browser.check~1of3 ./hack/gotest.sh browser 'check~1of3' gotest: on DOCS-T1, driving the harness's own choice (/usr/bin/chromium) gotest: slice 1 of 3 of ./check/ runs 45 of 142 tests ok amadan.net/rastrillo/fiesta/check 72.581s --- shard 6 of 8 --- ==> shard 6 of 8: make browser.check~2of3 ./hack/gotest.sh browser 'check~2of3' gotest: on DOCS-T1, driving the harness's own choice (/usr/bin/chromium) gotest: slice 2 of 3 of ./check/ runs 47 of 142 tests ok amadan.net/rastrillo/fiesta/check 82.875s --- shard 7 of 8 --- ==> shard 7 of 8: make browser.check~3of3 ./hack/gotest.sh browser 'check~3of3' gotest: on DOCS-T1, driving the harness's own choice (/usr/bin/chromium) gotest: slice 3 of 3 of ./check/ runs 50 of 142 tests ok amadan.net/rastrillo/fiesta/check 82.472s
.amadan/ci.d/{50-suite@6 => 50-suite@8}Loading diff…
MakefileLoading diff…
check/accent_browser_test.goLoading diff…
check/button_browser_test.goLoading diff…
check/depth_browser_test.goLoading diff…
check/depth_media_browser_test.goLoading diff…
check/flat_override_browser_test.goLoading diff…
check/ftok_browser_test.goLoading diff…
check/header_rule_browser_test.goLoading diff…
check/light_browser_test.goLoading diff…
check/light_test.goLoading diff…
check/matrix_browser_test.goLoading diff…
check/parity_browser_test.goLoading diff…
check/parity_test.goLoading diff…
check/rig_browser_test.goLoading diff…
check/switch_browser_test.goLoading diff…
check/switch_day_browser_test.goLoading diff…
check/textarea_browser_test.goLoading diff…
check/vendored_legacy_browser_test.goLoading diff…
hack/test-weights.txtLoading diff…