rastrillo / fiesta Public

Heights for 1.1's new and moved examples, swept over twelve languages on a runner

The routine height drives read four languages (en, ar, ga, ru), so the
states 1.1 added or moved had no measured height in the other eight
until a full sweep. Without one, a reader in Japanese, Spanish,
Portuguese, Vietnamese or Hindi gets a phone preview of the inline
status cut off at the bottom, and the gate never says so. The sweep
ran on a fleet runner, not docs-t1, because the runner's Chromium and
fonts are the ones the gate measures with.

It found five short boxes, all the inline-status row at 320px, where
the name's narrower column wraps longer names onto more lines: es 410,
hi 350 (hi had no entries before), ja 530, pt-PT 390, vi 420. At 1500px
it named five Desktop heights a little taller than the routine drives
had set, all for states 1.1 moved into rows or added: dropdown
menu-idiom 210, locale-menu 440, both scheme-menu states 210, stat-band
two-to-a-line 200. They passed as they were; the sweep's own slack is
what keeps them from failing on the next font change. Every other key
the sweep printed matched the table, so nothing else changes. gofmt
realigned the ja map's other lines; their values are unchanged.

The weights are fleet seconds from one -v run of 1.1's new tests on a
runner, because the gate's log times packages, not tests. The copy.js
drives (up to 5s) were unlisted and would have been dealt as 1s each,
piling onto one slice. The footer menus test goes from 4 to 3, the
column preview from 7 to 8, and the seg-tabs button test comes off the
list (1.1s there). The pairs test ran in 0.8s and stays unlisted. The
column demo's plain footer check, 5s, joins the test lines, since
internal/gallery's plain tests are split three ways too.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev a540ec76e9061c9c800b2d2ce420e47fa643406d parent ae5272b
2 files changed, +34 −16
  • hack/test-weights.txt +15 −4
  • internal/gallery/heights.go +19 −12

CI failed — run details

CI log
=== gofmt ===
=== no-rastrillo ===
go test -run '^(TestFiestaNeverImportsRastrillo|TestThePublicPackagesLinkNoBrowser)$' -count=1 .
go: downloading go1.26.10 (linux/arm64)
ok  	amadan.net/rastrillo/fiesta	0.375s
=== size ===
go test ./internal/build -run '^TestTheOneLinkIsUnder25KiBGzipped$' -count=1 -v
=== RUN   TestTheOneLinkIsUnder25KiBGzipped
    build_test.go:138: fiesta-plain.css: 158347 bytes, 23102 bytes gzipped (22.6 KiB of the 25.0 KiB limit)
    build_test.go:138: fiesta-signal.css: 158442 bytes, 23216 bytes gzipped (22.7 KiB of the 25.0 KiB limit)
    build_test.go:138: fiesta.css: 161261 bytes, 23822 bytes gzipped (23.3 KiB of the 25.0 KiB limit)
--- PASS: TestTheOneLinkIsUnder25KiBGzipped (0.02s)
PASS
ok  	amadan.net/rastrillo/fiesta/internal/build	0.026s
=== history ===
history: 34 commits; release tags: v1.0.0
=== suite ===
--- shard 0 of 48 ---
==> shard 0 of 48: make root
go build ./...
go vet ./...
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh root 'internal/gallery@3 cmd/fiesta@2 internal/www@2'
ok  	amadan.net/rastrillo/fiesta	4.337s
ok  	amadan.net/rastrillo/fiesta/check	9.764s
ok  	amadan.net/rastrillo/fiesta/example	0.243s
?   	amadan.net/rastrillo/fiesta/hack/seed/english	[no test files]
ok  	amadan.net/rastrillo/fiesta/internal/axe	0.202s
ok  	amadan.net/rastrillo/fiesta/internal/build	1.844s
ok  	amadan.net/rastrillo/fiesta/internal/codeview	0.013s
?   	amadan.net/rastrillo/fiesta/internal/harness	[no test files]
ok  	amadan.net/rastrillo/fiesta/internal/markup	0.027s
ok  	amadan.net/rastrillo/fiesta/internal/nodetest	0.595s
ok  	amadan.net/rastrillo/fiesta/internal/site	3.847s
ok  	amadan.net/rastrillo/fiesta/internal/tokens	0.045s
suite: root took 43s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m22.470000s 0m4.360000s
--- shard 1 of 48 ---
==> shard 1 of 48: make test.internal.gallery~1of3
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'internal.gallery~1of3'
gotest: slice 1 of 3 of ./internal/gallery/ runs 36 of 108 test tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	73.124s
suite: test.internal.gallery~1of3 took 96s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m53.790000s 0m1.960000s
--- shard 2 of 48 ---
==> shard 2 of 48: make test.internal.gallery~2of3
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'internal.gallery~2of3'
gotest: slice 2 of 3 of ./internal/gallery/ runs 36 of 108 test tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	74.591s
suite: test.internal.gallery~2of3 took 97s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m55.470000s 0m2.150000s
--- shard 3 of 48 ---
==> shard 3 of 48: make test.internal.gallery~3of3
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'internal.gallery~3of3'
gotest: slice 3 of 3 of ./internal/gallery/ runs 36 of 108 test tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	69.024s
suite: test.internal.gallery~3of3 took 91s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m50.400000s 0m1.880000s
--- shard 4 of 48 ---
==> shard 4 of 48: make test.cmd.fiesta~1of2
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'cmd.fiesta~1of2'
gotest: slice 1 of 2 of ./cmd/fiesta/ runs 7 of 12 test tests
ok  	amadan.net/rastrillo/fiesta/cmd/fiesta	56.685s
suite: test.cmd.fiesta~1of2 took 78s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m36.630000s 0m2.780000s
--- shard 5 of 48 ---
==> shard 5 of 48: make test.cmd.fiesta~2of2
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'cmd.fiesta~2of2'
gotest: slice 2 of 2 of ./cmd/fiesta/ runs 5 of 12 test tests
ok  	amadan.net/rastrillo/fiesta/cmd/fiesta	61.538s
suite: test.cmd.fiesta~2of2 took 83s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m38.990000s 0m3.020000s
--- shard 6 of 48 ---
==> shard 6 of 48: make test.internal.www~1of2
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'internal.www~1of2'
gotest: slice 1 of 2 of ./internal/www/ runs 11 of 25 test tests
ok  	amadan.net/rastrillo/fiesta/internal/www	64.683s
suite: test.internal.www~1of2 took 95s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m1.270000s 0m3.760000s
--- shard 7 of 48 ---
==> shard 7 of 48: make test.internal.www~2of2
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 FIESTA_TEST_REQUIRE_TAGS=1 ./hack/gotest.sh test 'internal.www~2of2'
gotest: slice 2 of 2 of ./internal/www/ runs 14 of 25 test tests
ok  	amadan.net/rastrillo/fiesta/internal/www	65.098s
suite: test.internal.www~2of2 took 94s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m59.760000s 0m3.780000s
--- shard 8 of 48 ---
==> shard 8 of 48: make staticcheck
go run honnef.co/go/tools/cmd/staticcheck@v0.8.2 -tags browser ./...
go: downloading honnef.co/go/tools v0.8.2
go: downloading golang.org/x/tools v0.51.0
go: downloading github.com/BurntSushi/toml v1.4.1-0.20240526193622-a339e1f7089c
go: downloading golang.org/x/exp/typeparams v0.0.0-20231108232855-2478ac86f678
go: downloading golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa
suite: staticcheck took 46s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m49.420000s 0m6.160000s
--- shard 9 of 48 ---
==> shard 9 of 48: make govulncheck
go run golang.org/x/vuln/cmd/govulncheck@v1.8.0 ./...
go: downloading golang.org/x/vuln v1.8.0
go: downloading golang.org/x/telemetry v0.0.0-20260908163034-4bcc4b2ee518
go: downloading golang.org/x/tools v0.50.0
go: downloading golang.org/x/mod v0.41.0
go: downloading golang.org/x/sync v0.23.0
=== Symbol Results ===

No vulnerabilities found.

Your code is affected by 0 vulnerabilities.
This scan also found 2 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.
suite: govulncheck took 35s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m19.630000s 0m2.500000s
--- shard 10 of 48 ---
==> shard 10 of 48: make gitleaks
go run github.com/zricethezav/gitleaks/v8@v8.30.1 git --no-banner --redact --log-opts='--full-history --diff-filter=tuxdb HEAD' .
go: downloading github.com/zricethezav/gitleaks/v8 v8.30.1
go: downloading github.com/rs/zerolog v1.33.0
go: downloading github.com/charmbracelet/lipgloss v0.5.0
go: downloading github.com/spf13/cobra v1.9.1
go: downloading github.com/spf13/viper v1.19.0
go: downloading github.com/fatih/semgroup v1.2.0
go: downloading github.com/gitleaks/go-gitdiff v0.9.1
go: downloading github.com/h2non/filetype v1.1.3
go: downloading github.com/mholt/archives v0.1.2
go: downloading github.com/Masterminds/sprig/v3 v3.3.0
go: downloading golang.org/x/exp v0.0.0-20250218142911-aa4b98e5adaa
go: downloading github.com/BobuSumisu/aho-corasick v1.0.3
go: downloading github.com/hashicorp/go-version v1.7.0
go: downloading golang.org/x/sync v0.11.0
go: downloading github.com/fsnotify/fsnotify v1.8.0
go: downloading github.com/mitchellh/mapstructure v1.5.0
go: downloading github.com/sagikazarmark/slog-shim v0.1.0
go: downloading github.com/spf13/afero v1.12.0
go: downloading github.com/spf13/cast v1.7.1
go: downloading github.com/spf13/pflag v1.0.6
go: downloading github.com/magiconair/properties v1.8.9
go: downloading gopkg.in/yaml.v3 v3.0.1
go: downloading github.com/mattn/go-colorable v0.1.14
go: downloading github.com/subosito/gotenv v1.6.0
go: downloading github.com/minio/minlz v1.0.0
go: downloading github.com/nwaples/rardecode/v2 v2.1.0
go: downloading github.com/klauspost/pgzip v1.2.6
go: downloading github.com/pelletier/go-toml/v2 v2.2.3
go: downloading github.com/klauspost/compress v1.17.11
go: downloading github.com/STARRY-S/zip v0.2.1
go: downloading github.com/dsnet/compress v0.0.2-0.20230904184137-39efe44ab707
go: downloading github.com/bodgit/sevenzip v1.6.0
go: downloading github.com/pierrec/lz4/v4 v4.1.21
go: downloading github.com/andybalholm/brotli v1.1.2-0.20250424173009-453214e765f3
go: downloading github.com/ulikunitz/xz v0.5.12
go: downloading github.com/therootcompany/xz v1.0.1
go: downloading github.com/sorairolake/lzip-go v0.3.5
go: downloading golang.org/x/text v0.22.0
go: downloading github.com/hashicorp/hcl v1.0.0
go: downloading gopkg.in/ini.v1 v1.67.0
go: downloading dario.cat/mergo v1.0.1
go: downloading github.com/Masterminds/goutils v1.1.1
go: downloading github.com/Masterminds/semver/v3 v3.3.0
go: downloading github.com/google/uuid v1.6.0
go: downloading github.com/huandu/xstrings v1.5.0
go: downloading github.com/mitchellh/copystructure v1.2.0
go: downloading github.com/shopspring/decimal v1.4.0
go: downloading golang.org/x/crypto v0.35.0
go: downloading github.com/lucasb-eyer/go-colorful v1.2.0
go: downloading github.com/mattn/go-runewidth v0.0.14
go: downloading github.com/muesli/reflow v0.2.1-0.20210115123740-9e1d0d53df68
go: downloading github.com/muesli/termenv v0.15.1
go: downloading github.com/mattn/go-isatty v0.0.20
go: downloading golang.org/x/sys v0.30.0
go: downloading github.com/bodgit/plumbing v1.3.0
go: downloading github.com/bodgit/windows v1.0.1
go: downloading github.com/hashicorp/go-multierror v1.1.1
go: downloading go4.org v0.0.0-20230225012048-214862532bf5
go: downloading github.com/hashicorp/golang-lru/v2 v2.0.7
go: downloading github.com/rivo/uniseg v0.2.0
go: downloading github.com/mitchellh/reflectwalk v1.0.2
go: downloading github.com/hashicorp/errwrap v1.1.0
go: downloading github.com/aymanbagabas/go-osc52/v2 v2.0.1
8:52AM INF Unknown SCM platform. Use --platform to include links in findings. host=amadan.net
8:52AM INF 34 commits scanned.
8:52AM INF scanned ~8422742 bytes (8.42 MB) in 2.81s
8:52AM INF no leaks found
suite: gitleaks took 38s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m29.950000s 0m3.530000s
--- shard 11 of 48 ---
==> shard 11 of 48: make browser.internal.harness
./hack/gotest.sh browser 'internal.harness'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: ./internal/harness/ runs its 10 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/harness	6.748s
suite: browser.internal.harness took 37s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m18.500000s 0m3.760000s
--- shard 12 of 48 ---
==> shard 12 of 48: make browser.check~1of13
./hack/gotest.sh browser 'check~1of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 1 of 13 of ./check/ runs 17 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	87.803s
suite: browser.check~1of13 took 126s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m2.890000s 0m16.010000s
--- shard 13 of 48 ---
==> shard 13 of 48: make browser.check~2of13
./hack/gotest.sh browser 'check~2of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 2 of 13 of ./check/ runs 17 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	98.270s
suite: browser.check~2of13 took 137s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m10.320000s 0m18.010000s
--- shard 14 of 48 ---
==> shard 14 of 48: make browser.check~3of13
./hack/gotest.sh browser 'check~3of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 3 of 13 of ./check/ runs 16 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	88.435s
suite: browser.check~3of13 took 127s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m56.900000s 0m14.120000s
--- shard 15 of 48 ---
==> shard 15 of 48: make browser.check~4of13
./hack/gotest.sh browser 'check~4of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 4 of 13 of ./check/ runs 16 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	90.035s
suite: browser.check~4of13 took 128s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m9.840000s 0m18.850000s
--- shard 16 of 48 ---
==> shard 16 of 48: make browser.check~5of13
./hack/gotest.sh browser 'check~5of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 5 of 13 of ./check/ runs 18 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	80.434s
suite: browser.check~5of13 took 118s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m56.140000s 0m16.610000s
--- shard 17 of 48 ---
==> shard 17 of 48: make browser.check~6of13
./hack/gotest.sh browser 'check~6of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 6 of 13 of ./check/ runs 18 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	83.643s
suite: browser.check~6of13 took 121s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m2.490000s 0m18.700000s
--- shard 18 of 48 ---
==> shard 18 of 48: make browser.check~7of13
./hack/gotest.sh browser 'check~7of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 7 of 13 of ./check/ runs 18 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	82.251s
suite: browser.check~7of13 took 120s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m1.690000s 0m16.820000s
--- shard 19 of 48 ---
==> shard 19 of 48: make browser.check~8of13
./hack/gotest.sh browser 'check~8of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 8 of 13 of ./check/ runs 18 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	89.152s
suite: browser.check~8of13 took 127s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m57.280000s 0m16.820000s
--- shard 20 of 48 ---
==> shard 20 of 48: make browser.check~9of13
./hack/gotest.sh browser 'check~9of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 9 of 13 of ./check/ runs 18 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	76.287s
suite: browser.check~9of13 took 114s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m45.280000s 0m12.030000s
--- shard 21 of 48 ---
==> shard 21 of 48: make browser.check~10of13
./hack/gotest.sh browser 'check~10of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 10 of 13 of ./check/ runs 18 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	83.087s
suite: browser.check~10of13 took 121s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m54.460000s 0m14.650000s
--- shard 22 of 48 ---
==> shard 22 of 48: make browser.check~11of13
./hack/gotest.sh browser 'check~11of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 11 of 13 of ./check/ runs 18 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	80.537s
suite: browser.check~11of13 took 119s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m55.860000s 0m15.350000s
--- shard 23 of 48 ---
==> shard 23 of 48: make browser.check~12of13
./hack/gotest.sh browser 'check~12of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 12 of 13 of ./check/ runs 18 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	86.488s
suite: browser.check~12of13 took 125s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m3.760000s 0m17.900000s
--- shard 24 of 48 ---
==> shard 24 of 48: make browser.check~13of13
./hack/gotest.sh browser 'check~13of13'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 13 of 13 of ./check/ runs 18 of 228 browser tests
ok  	amadan.net/rastrillo/fiesta/check	81.581s
suite: browser.check~13of13 took 120s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m55.190000s 0m14.220000s
--- shard 25 of 48 ---
==> shard 25 of 48: make browser.internal.gallery~1of18
./hack/gotest.sh browser 'internal.gallery~1of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 1 of 18 of ./internal/gallery/ runs 6 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	40.831s
suite: browser.internal.gallery~1of18 took 77s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m34.580000s 0m6.400000s
--- shard 26 of 48 ---
==> shard 26 of 48: make browser.internal.gallery~2of18
./hack/gotest.sh browser 'internal.gallery~2of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 2 of 18 of ./internal/gallery/ runs 5 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	51.714s
suite: browser.internal.gallery~2of18 took 88s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m33.130000s 0m5.650000s
--- shard 27 of 48 ---
==> shard 27 of 48: make browser.internal.gallery~3of18
./hack/gotest.sh browser 'internal.gallery~3of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 3 of 18 of ./internal/gallery/ runs 5 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	59.289s
suite: browser.internal.gallery~3of18 took 96s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m35.140000s 0m6.660000s
--- shard 28 of 48 ---
==> shard 28 of 48: make browser.internal.gallery~4of18
./hack/gotest.sh browser 'internal.gallery~4of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 4 of 18 of ./internal/gallery/ runs 5 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	50.878s
suite: browser.internal.gallery~4of18 took 87s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m33.210000s 0m5.710000s
--- shard 29 of 48 ---
==> shard 29 of 48: make browser.internal.gallery~5of18
./hack/gotest.sh browser 'internal.gallery~5of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 5 of 18 of ./internal/gallery/ runs 6 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	64.111s
suite: browser.internal.gallery~5of18 took 101s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m36.900000s 0m7.800000s
--- shard 30 of 48 ---
==> shard 30 of 48: make browser.internal.gallery~6of18
./hack/gotest.sh browser 'internal.gallery~6of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 6 of 18 of ./internal/gallery/ runs 5 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	58.405s
suite: browser.internal.gallery~6of18 took 95s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m35.810000s 0m6.970000s
--- shard 31 of 48 ---
==> shard 31 of 48: make browser.internal.gallery~7of18
./hack/gotest.sh browser 'internal.gallery~7of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 7 of 18 of ./internal/gallery/ runs 5 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	57.427s
suite: browser.internal.gallery~7of18 took 94s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m32.560000s 0m5.520000s
--- shard 32 of 48 ---
==> shard 32 of 48: make browser.internal.gallery~8of18
./hack/gotest.sh browser 'internal.gallery~8of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 8 of 18 of ./internal/gallery/ runs 5 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	60.673s
suite: browser.internal.gallery~8of18 took 97s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m36.040000s 0m7.310000s
--- shard 33 of 48 ---
==> shard 33 of 48: make browser.internal.gallery~9of18
./hack/gotest.sh browser 'internal.gallery~9of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 9 of 18 of ./internal/gallery/ runs 6 of 84 browser tests
--- FAIL: TestTheBarsLanguageMenuStaysOnScreen (8.01s)
    bar_browser_test.go:406: exception "Uncaught (in promise) TypeError: Failed to fetch" (3:28): TypeError: Failed to fetch
            at <anonymous>:3:28
            at <anonymous>:8:3
FAIL
FAIL	amadan.net/rastrillo/fiesta/internal/gallery	60.291s
FAIL
make[1]: *** [Makefile:234: browser.internal.gallery~9of18] Error 1
suite: browser.internal.gallery~9of18 took 97s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m39.160000s 0m8.850000s
make: *** [Makefile:76: suite] Error 2

amadan: step suite shard 33 of 48 failed: exit status 2
--- shard 34 of 48 ---
==> shard 34 of 48: make browser.internal.gallery~10of18
./hack/gotest.sh browser 'internal.gallery~10of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 10 of 18 of ./internal/gallery/ runs 2 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	65.124s
suite: browser.internal.gallery~10of18 took 101s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m33.060000s 0m5.440000s
--- shard 35 of 48 ---
==> shard 35 of 48: make browser.internal.gallery~11of18
./hack/gotest.sh browser 'internal.gallery~11of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 11 of 18 of ./internal/gallery/ runs 2 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	65.779s
suite: browser.internal.gallery~11of18 took 103s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m32.960000s 0m5.510000s
--- shard 36 of 48 ---
==> shard 36 of 48: make browser.internal.gallery~12of18
./hack/gotest.sh browser 'internal.gallery~12of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 12 of 18 of ./internal/gallery/ runs 2 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	67.533s
suite: browser.internal.gallery~12of18 took 104s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m36.800000s 0m7.560000s
--- shard 37 of 48 ---
==> shard 37 of 48: make browser.internal.gallery~13of18
./hack/gotest.sh browser 'internal.gallery~13of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 13 of 18 of ./internal/gallery/ runs 4 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	66.973s
suite: browser.internal.gallery~13of18 took 104s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m39.060000s 0m8.350000s
--- shard 38 of 48 ---
==> shard 38 of 48: make browser.internal.gallery~14of18
./hack/gotest.sh browser 'internal.gallery~14of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 14 of 18 of ./internal/gallery/ runs 5 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	69.402s
suite: browser.internal.gallery~14of18 took 106s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m37.600000s 0m7.930000s
--- shard 39 of 48 ---
==> shard 39 of 48: make browser.internal.gallery~15of18
./hack/gotest.sh browser 'internal.gallery~15of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 15 of 18 of ./internal/gallery/ runs 5 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	70.610s
suite: browser.internal.gallery~15of18 took 107s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m39.280000s 0m8.420000s
--- shard 40 of 48 ---
==> shard 40 of 48: make browser.internal.gallery~16of18
./hack/gotest.sh browser 'internal.gallery~16of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 16 of 18 of ./internal/gallery/ runs 5 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	66.637s
suite: browser.internal.gallery~16of18 took 103s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m35.200000s 0m6.930000s
--- shard 41 of 48 ---
==> shard 41 of 48: make browser.internal.gallery~17of18
./hack/gotest.sh browser 'internal.gallery~17of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 17 of 18 of ./internal/gallery/ runs 5 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	70.136s
suite: browser.internal.gallery~17of18 took 107s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m38.360000s 0m8.510000s
--- shard 42 of 48 ---
==> shard 42 of 48: make browser.internal.gallery~18of18
./hack/gotest.sh browser 'internal.gallery~18of18'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 18 of 18 of ./internal/gallery/ runs 6 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	72.475s
suite: browser.internal.gallery~18of18 took 109s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m40.470000s 0m9.620000s
--- shard 43 of 48 ---
==> shard 43 of 48: make browser.internal.gallery.history
./hack/gotest.sh browser 'internal.gallery.history'
gotest: on ip-172-31-27-73, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: ./internal/gallery/history/ runs its 3 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery/history	35.839s
suite: browser.internal.gallery.history took 67s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m40.120000s 0m4.750000s
--- shard 44 of 48 ---
==> shard 44 of 48: make browser.internal.www~1of4
./hack/gotest.sh browser 'internal.www~1of4'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 1 of 4 of ./internal/www/ runs 4 of 22 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/www	71.189s
suite: browser.internal.www~1of4 took 106s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m50.770000s 0m5.090000s
--- shard 45 of 48 ---
==> shard 45 of 48: make browser.internal.www~2of4
./hack/gotest.sh browser 'internal.www~2of4'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 2 of 4 of ./internal/www/ runs 6 of 22 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/www	69.694s
suite: browser.internal.www~2of4 took 105s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m5.100000s 0m5.430000s
--- shard 46 of 48 ---
==> shard 46 of 48: make browser.internal.www~3of4
./hack/gotest.sh browser 'internal.www~3of4'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 3 of 4 of ./internal/www/ runs 6 of 22 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/www	84.882s
suite: browser.internal.www~3of4 took 120s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m11.650000s 0m5.820000s
--- shard 47 of 48 ---
==> shard 47 of 48: make browser.internal.www~4of4
./hack/gotest.sh browser 'internal.www~4of4'
gotest: on ip-172-31-27-73, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 4 of 4 of ./internal/www/ runs 6 of 22 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/www	79.226s
suite: browser.internal.www~4of4 took 113s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m4.980000s 0m5.760000s

amadan: job failed at step suite shard 33 of 48 — its output is above, not at the tail of this log
diff --git a/hack/test-weights.txt b/hack/test-weights.txt
index b1d6009..4fd6d11 100644
--- a/hack/test-weights.txt
+++ b/hack/test-weights.txt
@@ -19,7 +19,11 @@
# TestEveryOneOhExampleRendersAsItDid*), which are fleet seconds: each
# part's docs-t1 time scaled by 1.17, the ratio its unsplit parts ran
# at on the fleet (7b71b5b's slices against 162deaf's, since that log
-# does not time single tests).
+# does not time single tests). The tests 1.1 added are fleet seconds
+# too, timed on 2026-10-30 by one -v run of just those tests on a
+# runner, since the gate's log has no per-test times and the docs-t1
+# times they were first listed at were off by up to a second either
+# way. A new test under 1.5s there is left out, so it weighs 1.
browser check TestEveryThemeAndShellRendersAsTheBaseline 45
browser check TestEveryThemeRendersAsItDidExceptDay 44
browser check TestEveryExampleStateMeetsTheFloorsWithAMouse 40
@@ -60,17 +64,18 @@ browser check TestEveryTapTargetIsAtLeast44Pixels 5
browser check TestLightJSOnAnOldThemeWritesOntoNothingItPaints 5
browser check TestSelectRoomIsCutOnlyByWhatClipsTheList 5
browser check TestTheSheenFollowsADraggedKnob 5
+browser check TestTheStatusIsALiveRegionBeforeItSpeaks 5
browser check TestALeaveAfterAQueuedMoveNeverRelightsACard 4
browser check TestATblockHeadDragsLikeASwitch 4
browser check TestBothSpellingsComputeTheSameStyles 4
browser check TestReducedMotionIsTotal 4
browser check TestTheBulkBarNeverWrapsItsText 4
-browser check TestTheFootersMenusOpenOnScreen 4
browser check TestTheSlideKnowsWhichWayItIsGoing 4
browser check TestTheWholeRowIsTheTarget 4
browser check TestAFragmentLinkLandsBelowTheBackStrip 3
browser check TestANarrowRowGivesItsTitleTheWidth 3
browser check TestAReadonlyOrDisabledDateFieldCannotBeChangedThroughTheBox 3
+browser check TestASuccessThenAFailureEndsOnTheFailure 3
browser check TestAnOptionUnderADisabledGroupCannotBeChosen 3
browser check TestMediaGridFramesAreEvenAndCaptionsStayInTheTile 3
browser check TestSelectFollowsRequiredAndExtras 3
@@ -82,10 +87,12 @@ browser check TestSelectTypingIsCheap 3
browser check TestTheBackControlReusesHistoryWhenItCanProveWhatIsBehind 3
browser check TestTheConsoleBarIsTheSameCard 3
browser check TestTheConsoleFoldsItsBarAndIndexesItsRail 3
+browser check TestTheFootersMenusOpenOnScreen 3
browser check TestTheLightFollowsThePointerAndSettles 3
browser check TestTheTopbarMenuIsACardOverThePage 3
browser check TestTheWideLayoutIsUnchanged 3
browser check TestTomorrowParsesWhateverTheScriptsTiming 3
+browser check TestAClassSpelledSnippetCopies 2
browser check TestADetailListsLabelSitsOnItsValuesFirstLine 2
browser check TestAFormResetRepaintsTheBox 2
browser check TestAModalCoversTheTopbarOnAPhone 2
@@ -93,9 +100,10 @@ browser check TestAPITokensFactsStayVisibleOnAPhone 2
browser check TestAResetInTheTickAfterABlurKeepsTheDefault 2
browser check TestARowsKebabSitsAtItsTrailingEdge 2
browser check TestASchemeFlipLandsWhileHovered 2
-browser check TestASegTabButtonLooksLikeASegTabLink 2
browser check TestAToggleDuringASettleTakesItsOwnCurve 2
+browser check TestAnInlineStatusStaysOnTheNamesLine 2
browser check TestControlsInARowKeepTheirOwnBoxes 2
+browser check TestCopyCopiesAndSaysSo 2
browser check TestDaysDerivedTokensReproduceTheirDocumentedColours 2
browser check TestEnterCommitsWithoutSubmittingTheForm 2
browser check TestEveryButtonLabelIsVisible 2
@@ -115,8 +123,10 @@ browser check TestTheFilterChipsRemoveFillsItsEnd 2
browser check TestTheHeaderRuleIsTheThemesTintedHairline 2
browser check TestTheKnobIsLitAndTheTrackSheenFollowsIt 2
browser check TestThePhoneHeaderStripIs56Pixels 2
+browser check TestTheSnippetExampleCopies 2
browser check TestTheTrackColourFollowsTheKnob 2
browser check TestWithoutRelativeColourDayKeepsItsCobalt 2
+browser check TestWritesThatSettleOutOfOrderEndOnTheLast 2
browser internal/gallery TestPreviewFrameHeightsFitAtThePhonesNarrowest1of12 30
browser internal/gallery TestA11yScansTheShellsCollapsed 30
browser internal/gallery TestPreviewFrameHeightsFitTheirContent1of3 29
@@ -148,7 +158,7 @@ browser internal/gallery TestThePreviewDefaultIsMonotoneInStageWidth 12
browser internal/gallery TestThePreviewWidgetIsUsableOnAPhone 11
browser internal/gallery TestTheBarsLanguageMenuStaysOnScreen 9
browser internal/gallery TestAFrameStopsLookingForItsNextDocument 8
-browser internal/gallery TestTheColumnPreviewGrowsOnlyWhileAMenuIsOpen 7
+browser internal/gallery TestTheColumnPreviewGrowsOnlyWhileAMenuIsOpen 8
browser internal/gallery TestTheGalleryHasNoHorizontalScrollAt320 7
browser internal/gallery TestA11yScansTheCodePanels 5
browser internal/gallery TestA11yScansThePhoneViews 5
@@ -205,6 +215,7 @@ test internal/gallery TestRenderIsDeterministic 10
test internal/gallery TestEveryLookupIsTraced 8
test internal/gallery TestNoEnglishProseReachesATranslatedPage 7
test internal/gallery TestEveryPageStaysUnderItsBudget 7
+test internal/gallery TestTheColumnDemosMenusAreInItsFooter 5
test internal/gallery TestEveryFrameDocumentCarriesNoindexAndItsPaddingRule 4
test internal/gallery TestEveryPageIsAWholeLocalisedDocument 4
test internal/gallery TestEveryProseKeyIsTranslated 4
diff --git a/internal/gallery/heights.go b/internal/gallery/heights.go
index 9a6db30..e5d4e17 100644
--- a/internal/gallery/heights.go
+++ b/internal/gallery/heights.go
@@ -61,7 +61,7 @@ var previewHeights = map[string]int{
"demo": 760,
"detail-list/four-facts-one-machine-ish": 230,
"dropdown/a-filter-menu-with-one-choice-applied": 200,
- "dropdown/menu-idiom": 200,
+ "dropdown/menu-idiom": 210,
"empty-state/sentence-only": 160,
"empty-state/with-a-post-call-to-action": 240,
"error-page/403-forbidden": 350,
@@ -151,7 +151,7 @@ var previewHeights = map[string]int{
"list-row-action/lead-marker-status-and-an-action": 120,
"list-row-action/name-and-meta-line-only": 120,
"list-search-submit/default-label": 130,
- "locale-menu/twelve-languages-current-highlighted": 420,
+ "locale-menu/twelve-languages-current-highlighted": 440,
"media-grid/screenshots-a-logo-and-a-banner": 720,
"media-grid/select-mode-one-tile-selected": 400,
"meter/row": 100,
@@ -166,8 +166,8 @@ var previewHeights = map[string]int{
"person/no-initial": 90,
"row-menu/links-a-form-and-a-destructive-item": 210,
"row-menu/links-only-for-a-list-inside-a-selection-form": 180,
- "scheme-menu/standalone": 200,
- "scheme-menu/three-choices-dark-current": 200,
+ "scheme-menu/standalone": 210,
+ "scheme-menu/three-choices-dark-current": 210,
"seg-tabs/buttons-that-switch-in-place": 110,
"seg-tabs/two-sections": 110,
"side-nav/four-sections-the-first-open": 210,
@@ -188,7 +188,7 @@ var previewHeights = map[string]int{
"signin/when-keymail-was-offered-and-a-link-went-out": 390,
"snippet/a-line-to-copy": 110,
"stat-band/default": 190,
- "stat-band/two-to-a-line-on-a-phone": 180,
+ "stat-band/two-to-a-line-on-a-phone": 200,
"stat/a-shortened-number": 140,
"stat/a-smaller-number": 140,
"stat/the-big-number": 190,
@@ -270,6 +270,7 @@ var previewMobileLocaleHeights = map[string]map[string]int{
"error-page/500-server-error": 520,
"form-layout/default": 570,
"format-abbr/default": 250,
+ "list-row-action/a-short-status-beside-the-name": 410,
"signin/after-the-link-is-sent-in-another-browser": 620,
"signin/on-the-way-to-keymail": 580,
"signin/when-keymail-could-not-confirm-it": 700,
@@ -304,14 +305,18 @@ var previewMobileLocaleHeights = map[string]map[string]int{
"snippet/a-line-to-copy": 200,
"stat-band/two-to-a-line-on-a-phone": 330,
},
+ "hi": {
+ "list-row-action/a-short-status-beside-the-name": 350,
+ },
"ja": {
- "api-tokens/four-tokens-two-of-them-live": 1900,
- "api-tokens/just-created-the-secret-shown-once": 2130,
- "callout/negative-announced-as-an-alert": 240,
- "error-page/403-forbidden": 470,
- "error-page/500-server-error": 520,
- "form-layout/default": 530,
- "format-abbr/default": 250,
+ "api-tokens/four-tokens-two-of-them-live": 1900,
+ "api-tokens/just-created-the-secret-shown-once": 2130,
+ "callout/negative-announced-as-an-alert": 240,
+ "error-page/403-forbidden": 470,
+ "error-page/500-server-error": 520,
+ "form-layout/default": 530,
+ "format-abbr/default": 250,
+ "list-row-action/a-short-status-beside-the-name": 530,
},
"pt-PT": {
"api-tokens/four-tokens-two-of-them-live": 1900,
@@ -324,6 +329,7 @@ var previewMobileLocaleHeights = map[string]map[string]int{
"error-page/500-server-error": 520,
"form-layout/default": 570,
"format-abbr/default": 250,
+ "list-row-action/a-short-status-beside-the-name": 390,
"signin/after-the-link-is-sent": 630,
"signin/after-the-link-is-sent-in-another-browser": 630,
"signin/on-the-way-to-keymail": 590,
@@ -370,6 +376,7 @@ var previewMobileLocaleHeights = map[string]map[string]int{
"callout/info": 210,
"error-page/403-forbidden": 440,
"job-status/failed": 130,
+ "list-row-action/a-short-status-beside-the-name": 420,
"signin/after-the-link-is-sent-in-another-browser": 600,
"signin/when-keymail-was-offered-and-a-link-went-out": 690,
},