rastrillo / fiesta Public

Say in the changelog that 1.1's files can be read from any site

1.1 is the first release a site can read across origins and keep for
a year, and an app that links Fiesta needs to know it can now pin a
versioned file by its hash, load the scripts as modules and fetch the
strings, and that /1/ is checked every five minutes. The line went
through copy review and is applied as approved.

CHANGELOG.md is neither embedded in the tree nor copied into a
release or onto the site, so releases/1.1.0 is unchanged.
Human

Prompt

Approved copy for one more commit after your _headers work: a CHANGELOG line, approved unchanged. Apply it byte for byte as the last bullet of the ## 1.1.0 entry in CHANGELOG.md, after the line about copy-done and copy-failed. Make it its own commit. Check whether CHANGELOG.md is copied into releases/1.1.0 or rendered anywhere on the site. If it is, rerun go run ./cmd/fiesta release -version 1.1.0 -candidate and commit releases/1.1.0 with it, and say so.

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

One approved bullet in the 1.1.0 entry.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
claude agent, operated by paul@keymail.dev 378b68dce4d3e9ab727b3f34dae9f23045820965 parent 326efa0
1 file changed, +1 −0
  • CHANGELOG.md +1 −0

CI passed — 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	1.044s
=== size ===
go test ./internal/build -run '^TestTheOneLinkIsUnder25KiBGzipped$' -count=1 -v
=== RUN   TestTheOneLinkIsUnder25KiBGzipped
    build_test.go:138: fiesta-plain.css: 158347 bytes, 23104 bytes gzipped (22.6 KiB of the 25.0 KiB limit)
    build_test.go:138: fiesta-signal.css: 158442 bytes, 23217 bytes gzipped (22.7 KiB of the 25.0 KiB limit)
    build_test.go:138: fiesta.css: 161261 bytes, 23823 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: 56 commits; release tags: v1.0.0
=== suite ===
--- shard 0 of 49 ---
==> shard 0 of 49: 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	8.986s
ok  	amadan.net/rastrillo/fiesta/check	16.124s
ok  	amadan.net/rastrillo/fiesta/example	0.788s
?   	amadan.net/rastrillo/fiesta/hack/seed/english	[no test files]
ok  	amadan.net/rastrillo/fiesta/internal/axe	0.306s
ok  	amadan.net/rastrillo/fiesta/internal/build	3.058s
ok  	amadan.net/rastrillo/fiesta/internal/codeview	0.045s
?   	amadan.net/rastrillo/fiesta/internal/harness	[no test files]
ok  	amadan.net/rastrillo/fiesta/internal/markup	0.049s
ok  	amadan.net/rastrillo/fiesta/internal/nodetest	0.963s
ok  	amadan.net/rastrillo/fiesta/internal/rowrule	0.047s
ok  	amadan.net/rastrillo/fiesta/internal/site	4.815s
ok  	amadan.net/rastrillo/fiesta/internal/tokens	0.089s
suite: root took 50s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m23.630000s 0m4.930000s
--- shard 1 of 49 ---
==> shard 1 of 49: 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 37 of 109 test tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	103.052s
suite: test.internal.gallery~1of3 took 126s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m53.470000s 0m1.930000s
--- shard 2 of 49 ---
==> shard 2 of 49: 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 109 test tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	107.419s
suite: test.internal.gallery~2of3 took 131s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m56.610000s 0m1.930000s
--- shard 3 of 49 ---
==> shard 3 of 49: 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 109 test tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	99.443s
suite: test.internal.gallery~3of3 took 122s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m51.160000s 0m2.070000s
--- shard 4 of 49 ---
==> shard 4 of 49: 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	83.516s
suite: test.cmd.fiesta~1of2 took 105s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m36.910000s 0m2.880000s
--- shard 5 of 49 ---
==> shard 5 of 49: 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	85.347s
suite: test.cmd.fiesta~2of2 took 107s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m40.060000s 0m3.100000s
--- shard 6 of 49 ---
==> shard 6 of 49: 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 14 of 28 test tests
ok  	amadan.net/rastrillo/fiesta/internal/www	99.408s
suite: test.internal.www~1of2 took 130s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m3.000000s 0m3.380000s
--- shard 7 of 49 ---
==> shard 7 of 49: 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 28 test tests
ok  	amadan.net/rastrillo/fiesta/internal/www	104.029s
suite: test.internal.www~2of2 took 134s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m4.250000s 0m3.670000s
--- shard 8 of 49 ---
==> shard 8 of 49: 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 golang.org/x/exp/typeparams v0.0.0-20231108232855-2478ac86f678
go: downloading github.com/BurntSushi/toml v1.4.1-0.20240526193622-a339e1f7089c
go: downloading golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa
suite: staticcheck took 59s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m47.010000s 0m5.940000s
--- shard 9 of 49 ---
==> shard 9 of 49: 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 40s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m17.730000s 0m2.320000s
--- shard 10 of 49 ---
==> shard 10 of 49: 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/spf13/viper v1.19.0
go: downloading github.com/rs/zerolog v1.33.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 github.com/charmbracelet/lipgloss v0.5.0
go: downloading github.com/fatih/semgroup v1.2.0
go: downloading github.com/h2non/filetype v1.1.3
go: downloading github.com/gitleaks/go-gitdiff v0.9.1
go: downloading github.com/mholt/archives v0.1.2
go: downloading github.com/spf13/cobra v1.9.1
go: downloading github.com/Masterminds/sprig/v3 v3.3.0
go: downloading golang.org/x/sync v0.11.0
go: downloading github.com/muesli/termenv v0.15.1
go: downloading gopkg.in/ini.v1 v1.67.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/subosito/gotenv v1.6.0
go: downloading github.com/hashicorp/hcl v1.0.0
go: downloading github.com/lucasb-eyer/go-colorful v1.2.0
go: downloading github.com/magiconair/properties v1.8.9
go: downloading github.com/pelletier/go-toml/v2 v2.2.3
go: downloading gopkg.in/yaml.v3 v3.0.1
go: downloading github.com/muesli/reflow v0.2.1-0.20210115123740-9e1d0d53df68
go: downloading github.com/mattn/go-runewidth v0.0.14
go: downloading github.com/Masterminds/goutils v1.1.1
go: downloading dario.cat/mergo v1.0.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/mattn/go-colorable v0.1.14
go: downloading golang.org/x/text v0.22.0
go: downloading github.com/aymanbagabas/go-osc52/v2 v2.0.1
go: downloading github.com/mattn/go-isatty v0.0.20
go: downloading golang.org/x/sys v0.30.0
go: downloading github.com/STARRY-S/zip v0.2.1
go: downloading github.com/andybalholm/brotli v1.1.2-0.20250424173009-453214e765f3
go: downloading github.com/bodgit/sevenzip v1.6.0
go: downloading github.com/dsnet/compress v0.0.2-0.20230904184137-39efe44ab707
go: downloading github.com/klauspost/compress v1.17.11
go: downloading github.com/klauspost/pgzip v1.2.6
go: downloading github.com/minio/minlz v1.0.0
go: downloading github.com/nwaples/rardecode/v2 v2.1.0
go: downloading github.com/pierrec/lz4/v4 v4.1.21
go: downloading github.com/sorairolake/lzip-go v0.3.5
go: downloading github.com/therootcompany/xz v1.0.1
go: downloading github.com/ulikunitz/xz v0.5.12
go: downloading github.com/mitchellh/reflectwalk v1.0.2
go: downloading github.com/rivo/uniseg v0.2.0
go: downloading github.com/bodgit/windows v1.0.1
go: downloading github.com/hashicorp/go-multierror v1.1.1
go: downloading github.com/bodgit/plumbing v1.3.0
go: downloading go4.org v0.0.0-20230225012048-214862532bf5
go: downloading github.com/hashicorp/golang-lru/v2 v2.0.7
go: downloading github.com/hashicorp/errwrap v1.1.0
3:16PM INF Unknown SCM platform. Use --platform to include links in findings. host=amadan.net
3:16PM INF 56 commits scanned.
3:16PM INF scanned ~9457618 bytes (9.46 MB) in 7.91s
3:16PM INF no leaks found
suite: gitleaks took 44s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m30.800000s 0m3.690000s
--- shard 11 of 49 ---
==> shard 11 of 49: make browser.internal.harness
./hack/gotest.sh browser 'internal.harness'
gotest: on ip-172-31-29-181, 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	12.672s
suite: browser.internal.harness took 44s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m17.900000s 0m3.920000s
--- shard 12 of 49 ---
==> shard 12 of 49: make browser.check~1of14
./hack/gotest.sh browser 'check~1of14'
gotest: on ip-172-31-29-181, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 1 of 14 of ./check/ runs 17 of 236 browser tests
ok  	amadan.net/rastrillo/fiesta/check	135.438s
suite: browser.check~1of14 took 180s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m9.520000s 0m17.310000s
--- shard 13 of 49 ---
==> shard 13 of 49: make browser.check~2of14
./hack/gotest.sh browser 'check~2of14'
gotest: on ip-172-31-29-181, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 2 of 14 of ./check/ runs 17 of 236 browser tests
ok  	amadan.net/rastrillo/fiesta/check	135.596s
suite: browser.check~2of14 took 180s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m9.860000s 0m15.820000s
--- shard 14 of 49 ---
==> shard 14 of 49: make browser.check~3of14
./hack/gotest.sh browser 'check~3of14'
gotest: on ip-172-31-29-181, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 3 of 14 of ./check/ runs 16 of 236 browser tests
ok  	amadan.net/rastrillo/fiesta/check	133.370s
suite: browser.check~3of14 took 179s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m2.420000s 0m17.810000s
--- shard 15 of 49 ---
==> shard 15 of 49: make browser.check~4of14
./hack/gotest.sh browser 'check~4of14'
gotest: on ip-172-31-29-181, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 4 of 14 of ./check/ runs 17 of 236 browser tests
ok  	amadan.net/rastrillo/fiesta/check	146.866s
suite: browser.check~4of14 took 192s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m14.780000s 0m18.590000s
--- shard 16 of 49 ---
==> shard 16 of 49: make browser.check~5of14
./hack/gotest.sh browser 'check~5of14'
gotest: on ip-172-31-29-181, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 5 of 14 of ./check/ runs 17 of 236 browser tests
ok  	amadan.net/rastrillo/fiesta/check	141.520s
suite: browser.check~5of14 took 185s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m13.330000s 0m26.140000s
--- shard 17 of 49 ---
==> shard 17 of 49: make browser.check~6of14
./hack/gotest.sh browser 'check~6of14'
gotest: on ip-172-31-29-181, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 6 of 14 of ./check/ runs 18 of 236 browser tests
ok  	amadan.net/rastrillo/fiesta/check	109.895s
suite: browser.check~6of14 took 156s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m55.990000s 0m16.140000s
--- shard 18 of 49 ---
==> shard 18 of 49: make browser.check~7of14
./hack/gotest.sh browser 'check~7of14'
gotest: on ip-172-31-29-181, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 7 of 14 of ./check/ runs 18 of 236 browser tests
ok  	amadan.net/rastrillo/fiesta/check	116.002s
suite: browser.check~7of14 took 162s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m0.310000s 0m16.750000s
--- shard 19 of 49 ---
==> shard 19 of 49: make browser.check~8of14
./hack/gotest.sh browser 'check~8of14'
gotest: on ip-172-31-29-181, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 8 of 14 of ./check/ runs 16 of 236 browser tests
ok  	amadan.net/rastrillo/fiesta/check	143.983s
suite: browser.check~8of14 took 187s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m11.550000s 0m20.560000s
--- shard 20 of 49 ---
==> shard 20 of 49: make browser.check~9of14
./hack/gotest.sh browser 'check~9of14'
gotest: on ip-172-31-29-181, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 9 of 14 of ./check/ runs 16 of 236 browser tests
ok  	amadan.net/rastrillo/fiesta/check	146.545s
suite: browser.check~9of14 took 190s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m13.110000s 0m20.620000s
--- shard 21 of 49 ---
==> shard 21 of 49: make browser.check~10of14
./hack/gotest.sh browser 'check~10of14'
gotest: on ip-172-31-29-181, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 10 of 14 of ./check/ runs 17 of 236 browser tests
ok  	amadan.net/rastrillo/fiesta/check	109.418s
suite: browser.check~10of14 took 154s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m50.050000s 0m13.320000s
--- shard 22 of 49 ---
==> shard 22 of 49: make browser.check~11of14
./hack/gotest.sh browser 'check~11of14'
gotest: on ip-172-31-29-181, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 11 of 14 of ./check/ runs 17 of 236 browser tests
ok  	amadan.net/rastrillo/fiesta/check	122.030s
suite: browser.check~11of14 took 166s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m0.760000s 0m16.860000s
--- shard 23 of 49 ---
==> shard 23 of 49: make browser.check~12of14
./hack/gotest.sh browser 'check~12of14'
gotest: on ip-172-31-29-181, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 12 of 14 of ./check/ runs 16 of 236 browser tests
ok  	amadan.net/rastrillo/fiesta/check	130.856s
suite: browser.check~12of14 took 173s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m7.680000s 0m17.630000s
--- shard 24 of 49 ---
==> shard 24 of 49: make browser.check~13of14
./hack/gotest.sh browser 'check~13of14'
gotest: on ip-172-31-29-181, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 13 of 14 of ./check/ runs 17 of 236 browser tests
ok  	amadan.net/rastrillo/fiesta/check	144.296s
suite: browser.check~13of14 took 189s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m10.700000s 0m20.080000s
--- shard 25 of 49 ---
==> shard 25 of 49: make browser.check~14of14
./hack/gotest.sh browser 'check~14of14'
gotest: on ip-172-31-29-181, driving /opt/amadan-browser/chromium-1234/chrome-linux/chrome
gotest: slice 14 of 14 of ./check/ runs 17 of 236 browser tests
ok  	amadan.net/rastrillo/fiesta/check	120.608s
suite: browser.check~14of14 took 165s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m4.090000s 0m16.730000s
--- shard 26 of 49 ---
==> shard 26 of 49: make browser.internal.gallery~1of18
./hack/gotest.sh browser 'internal.gallery~1of18'
gotest: on ip-172-31-29-181, 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	60.504s
suite: browser.internal.gallery~1of18 took 102s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m33.390000s 0m6.010000s
--- shard 27 of 49 ---
==> shard 27 of 49: make browser.internal.gallery~2of18
./hack/gotest.sh browser 'internal.gallery~2of18'
gotest: on ip-172-31-29-181, 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	69.529s
suite: browser.internal.gallery~2of18 took 110s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m33.900000s 0m6.030000s
--- shard 28 of 49 ---
==> shard 28 of 49: make browser.internal.gallery~3of18
./hack/gotest.sh browser 'internal.gallery~3of18'
gotest: on ip-172-31-29-181, 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	79.723s
suite: browser.internal.gallery~3of18 took 123s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m35.380000s 0m6.750000s
--- shard 29 of 49 ---
==> shard 29 of 49: make browser.internal.gallery~4of18
./hack/gotest.sh browser 'internal.gallery~4of18'
gotest: on ip-172-31-29-181, 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	61.480s
suite: browser.internal.gallery~4of18 took 104s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m33.220000s 0m5.680000s
--- shard 30 of 49 ---
==> shard 30 of 49: make browser.internal.gallery~5of18
./hack/gotest.sh browser 'internal.gallery~5of18'
gotest: on ip-172-31-29-181, 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	89.241s
suite: browser.internal.gallery~5of18 took 132s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m36.310000s 0m7.690000s
--- shard 31 of 49 ---
==> shard 31 of 49: make browser.internal.gallery~6of18
./hack/gotest.sh browser 'internal.gallery~6of18'
gotest: on ip-172-31-29-181, 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	76.638s
suite: browser.internal.gallery~6of18 took 118s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m33.600000s 0m6.240000s
--- shard 32 of 49 ---
==> shard 32 of 49: make browser.internal.gallery~7of18
./hack/gotest.sh browser 'internal.gallery~7of18'
gotest: on ip-172-31-29-181, 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	72.232s
suite: browser.internal.gallery~7of18 took 116s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m32.140000s 0m5.120000s
--- shard 33 of 49 ---
==> shard 33 of 49: make browser.internal.gallery~8of18
./hack/gotest.sh browser 'internal.gallery~8of18'
gotest: on ip-172-31-29-181, 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	79.538s
suite: browser.internal.gallery~8of18 took 122s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m35.480000s 0m6.830000s
--- shard 34 of 49 ---
==> shard 34 of 49: make browser.internal.gallery~9of18
./hack/gotest.sh browser 'internal.gallery~9of18'
gotest: on ip-172-31-29-181, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 9 of 18 of ./internal/gallery/ runs 6 of 84 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/gallery	94.636s
suite: browser.internal.gallery~9of18 took 137s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m44.740000s 0m10.930000s
--- shard 35 of 49 ---
==> shard 35 of 49: make browser.internal.gallery~10of18
./hack/gotest.sh browser 'internal.gallery~10of18'
gotest: on ip-172-31-29-181, 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	80.200s
suite: browser.internal.gallery~10of18 took 121s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m34.800000s 0m5.990000s
--- shard 36 of 49 ---
==> shard 36 of 49: make browser.internal.gallery~11of18
./hack/gotest.sh browser 'internal.gallery~11of18'
gotest: on ip-172-31-29-181, 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	79.494s
suite: browser.internal.gallery~11of18 took 121s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m32.670000s 0m5.420000s
--- shard 37 of 49 ---
==> shard 37 of 49: make browser.internal.gallery~12of18
./hack/gotest.sh browser 'internal.gallery~12of18'
gotest: on ip-172-31-29-181, 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	95.413s
suite: browser.internal.gallery~12of18 took 138s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m38.000000s 0m7.690000s
--- shard 38 of 49 ---
==> shard 38 of 49: make browser.internal.gallery~13of18
./hack/gotest.sh browser 'internal.gallery~13of18'
gotest: on ip-172-31-29-181, 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	94.806s
suite: browser.internal.gallery~13of18 took 136s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m39.240000s 0m8.280000s
--- shard 39 of 49 ---
==> shard 39 of 49: make browser.internal.gallery~14of18
./hack/gotest.sh browser 'internal.gallery~14of18'
gotest: on ip-172-31-29-181, 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	94.880s
suite: browser.internal.gallery~14of18 took 136s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m37.210000s 0m7.860000s
--- shard 40 of 49 ---
==> shard 40 of 49: make browser.internal.gallery~15of18
./hack/gotest.sh browser 'internal.gallery~15of18'
gotest: on ip-172-31-29-181, 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	96.989s
suite: browser.internal.gallery~15of18 took 138s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m36.750000s 0m7.900000s
--- shard 41 of 49 ---
==> shard 41 of 49: make browser.internal.gallery~16of18
./hack/gotest.sh browser 'internal.gallery~16of18'
gotest: on ip-172-31-29-181, 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	91.087s
suite: browser.internal.gallery~16of18 took 133s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m36.360000s 0m7.400000s
--- shard 42 of 49 ---
==> shard 42 of 49: make browser.internal.gallery~17of18
./hack/gotest.sh browser 'internal.gallery~17of18'
gotest: on ip-172-31-29-181, 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	94.256s
suite: browser.internal.gallery~17of18 took 137s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m38.160000s 0m8.500000s
--- shard 43 of 49 ---
==> shard 43 of 49: make browser.internal.gallery~18of18
./hack/gotest.sh browser 'internal.gallery~18of18'
gotest: on ip-172-31-29-181, 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	97.636s
suite: browser.internal.gallery~18of18 took 138s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m38.980000s 0m8.850000s
--- shard 44 of 49 ---
==> shard 44 of 49: make browser.internal.gallery.history
./hack/gotest.sh browser 'internal.gallery.history'
gotest: on ip-172-31-29-181, 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	62.593s
suite: browser.internal.gallery.history took 94s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m41.680000s 0m5.110000s
--- shard 45 of 49 ---
==> shard 45 of 49: make browser.internal.www~1of4
./hack/gotest.sh browser 'internal.www~1of4'
gotest: on ip-172-31-29-181, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 1 of 4 of ./internal/www/ runs 5 of 24 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/www	104.768s
suite: browser.internal.www~1of4 took 142s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
0m58.550000s 0m5.260000s
--- shard 46 of 49 ---
==> shard 46 of 49: make browser.internal.www~2of4
./hack/gotest.sh browser 'internal.www~2of4'
gotest: on ip-172-31-29-181, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 2 of 4 of ./internal/www/ runs 7 of 24 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/www	111.632s
suite: browser.internal.www~2of4 took 150s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m13.150000s 0m6.100000s
--- shard 47 of 49 ---
==> shard 47 of 49: make browser.internal.www~3of4
./hack/gotest.sh browser 'internal.www~3of4'
gotest: on ip-172-31-29-181, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 3 of 4 of ./internal/www/ runs 6 of 24 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/www	113.905s
suite: browser.internal.www~3of4 took 152s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m14.730000s 0m6.440000s
--- shard 48 of 49 ---
==> shard 48 of 49: make browser.internal.www~4of4
./hack/gotest.sh browser 'internal.www~4of4'
gotest: on ip-172-31-29-181, driving the harness's own choice (/usr/local/bin/chromium)
gotest: slice 4 of 4 of ./internal/www/ runs 6 of 24 browser tests
ok  	amadan.net/rastrillo/fiesta/internal/www	108.675s
suite: browser.internal.www~4of4 took 147s; CPU, user then system, of this shell and then of the role:
0m0.000000s 0m0.000000s
1m5.690000s 0m5.830000s
diff --git a/CHANGELOG.md b/CHANGELOG.md
index fd6cafe..5d5ef33 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,6 +14,7 @@ Everything 1.0.0 styles looks and lays out as it did. What is new is new attribu
- `rst-stats="pairs"` puts two stats on a line on a phone, instead of one.
- `rst-status="inline"` keeps a short status on its row's first line on a phone, beside the name.
- The string tables gain `copy-done` and `copy-failed`, in all twelve languages.
+- Files under `/1/` and under a version such as `/1.1.0/` can be read from any site: fetch the strings, load the scripts as modules, or pin a versioned file with an integrity hash. Browsers keep a versioned file for a year and check `/1/` every five minutes.
## 1.0.0