rastrillo / fiesta Public

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>
claude agent, operated by paul@keymail.dev e6a156751c63ad7da04ee5ea16678b2142c6d4d9 parent b371b6a
20 files changed, +5394 −5
  • .amadan/ci.d/{50-suite@6 => 50-suite@8} +0 −0
  • Makefile +1 −1
  • check/accent_browser_test.go +395 −0
  • check/button_browser_test.go +308 −0
  • check/depth_browser_test.go +702 −0
  • check/depth_media_browser_test.go +286 −0
  • check/flat_override_browser_test.go +101 −0
  • check/ftok_browser_test.go +91 −0
  • check/header_rule_browser_test.go +536 −0
  • check/light_browser_test.go +650 −0
  • check/light_test.go +342 −0
  • check/matrix_browser_test.go +408 −0
  • check/parity_browser_test.go +174 −0
  • check/parity_test.go +94 −0
  • check/rig_browser_test.go +2 −3
  • check/switch_browser_test.go +543 −0
  • check/switch_day_browser_test.go +590 −0
  • check/textarea_browser_test.go +64 −0
  • check/vendored_legacy_browser_test.go +90 −0
  • hack/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' .
10:36AM INF Unknown SCM platform. Use --platform to include links in findings. host=amadan.net
10:36AM INF 1 commits scanned.
10:36AM INF scanned ~3503926 bytes (3.50 MB) in 2.18s
10:36AM INF no leaks found
--- 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…

Makefile

Loading diff…

check/accent_browser_test.go

Loading diff…

check/button_browser_test.go

Loading diff…

check/depth_browser_test.go

Loading diff…

check/depth_media_browser_test.go

Loading diff…

check/flat_override_browser_test.go

Loading diff…

check/ftok_browser_test.go

Loading diff…

check/header_rule_browser_test.go

Loading diff…

check/light_browser_test.go

Loading diff…

check/light_test.go

Loading diff…

check/matrix_browser_test.go

Loading diff…

check/parity_browser_test.go

Loading diff…

check/parity_test.go

Loading diff…

check/rig_browser_test.go

Loading diff…

check/switch_browser_test.go

Loading diff…

check/switch_day_browser_test.go

Loading diff…

check/textarea_browser_test.go

Loading diff…

check/vendored_legacy_browser_test.go

Loading diff…

hack/test-weights.txt

Loading diff…