Fiesta 1.0.0
The first release. README.md says what Fiesta is and shows the one link, the one-file and two-file themes, the scripts one tag each, the colour-scheme contract (server-owned or standalone, and that a standalone switch without fiesta.js follows System), the string tables, the sprite's same-origin limit, /1/ against an exact version, the CSS floor, and the Go packages. CHANGELOG.md opens with Unreleased, then 1.0.0: the CSS is Rastrillo's at f892f8be byte for byte, and what is new is fiesta.js with its stored scheme, the rst-scheme event, the string tables, fiestaCalendar, the stripped release, and the select.js placement fix synced in. hack/seed/README.md records the sync, and DESIGN.md gains the floor as a Key Characteristics bullet, so the two documents state it the same way and the ported floor test holds them to it. releases/1.0.0/ is what fiesta release -version 1.0.0 wrote: 35 files with SHA256SUMS and the .fiesta stamp. It is a fresh dist of this tree, which TestAnUntaggedReleaseIsAFreshDist checks file for file, and the site builds from it. The tag is the next step, with Paul's go-ahead; nothing here tags, merges or deploys.
Prompt
Task 15, Phase B: apply the 99 approved strings byte for byte, cut the release with fiesta release -version 1.0.0, commit as Fiesta 1.0.0, push, then run make ci on the commit in a clean worktree and post the output as a discussion.
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
README.md, CHANGELOG.md, the sync line in hack/seed/README.md and the CSS floor bullet in DESIGN.md, every string as Paul approved it, and releases/1.0.0/, the release fiesta release cut from this tree: the three one-file themes, the separate stylesheets, the stripped scripts, the string tables, the icons, the licences, SHA256SUMS and the command's own stamp.
Agent notes
The 61 CLI strings were approved unchanged, so no source file moved for them. One README string was edited in review (the opening sentence) and is applied as edited. releases/1.0.0/ is untagged, so TestAnUntaggedReleaseIsAFreshDist holds it to build.Dist until v1.0.0 exists; after the tag, TestPublishedReleasesMatchTheirTags holds it to the tag. The sync record in hack/seed/README.md names f892f8beebf7aea2811e7634e77021e2ad2b161d.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
CHANGELOG.md+14 −0DESIGN.md+1 −0README.md+74 −0hack/seed/README.md+2 −0releases/1.0.0/.fiesta+3 −0releases/1.0.0/LICENSE+373 −0releases/1.0.0/NOTICE+43 −0releases/1.0.0/SHA256SUMS+55 −0releases/1.0.0/anchor.js+38 −0releases/1.0.0/busy.js+132 −0releases/1.0.0/calendar.js+370 −0releases/1.0.0/datetime.js+1214 −0releases/1.0.0/day.css+134 −0releases/1.0.0/fiesta-plain.css+1686 −0releases/1.0.0/fiesta-signal.css+1686 −0releases/1.0.0/fiesta.css+1705 −0releases/1.0.0/fiesta.js+162 −0releases/1.0.0/i18n/ar.js+42 −0releases/1.0.0/i18n/ar.json+41 −0releases/1.0.0/i18n/bn.js+42 −0releases/1.0.0/i18n/bn.json+41 −0releases/1.0.0/i18n/en.js+42 −0releases/1.0.0/i18n/en.json+41 −0releases/1.0.0/i18n/es.js+42 −0releases/1.0.0/i18n/es.json+41 −0releases/1.0.0/i18n/ga.js+42 −0releases/1.0.0/i18n/ga.json+41 −0releases/1.0.0/i18n/hi.js+42 −0releases/1.0.0/i18n/hi.json+41 −0releases/1.0.0/i18n/ja.js+42 −0releases/1.0.0/i18n/ja.json+41 −0releases/1.0.0/i18n/pt-PT.js+42 −0releases/1.0.0/i18n/pt-PT.json+41 −0releases/1.0.0/i18n/ru.js+42 −0releases/1.0.0/i18n/ru.json+41 −0releases/1.0.0/i18n/vi.js+42 −0releases/1.0.0/i18n/vi.json+41 −0releases/1.0.0/i18n/yue.js+42 −0releases/1.0.0/i18n/yue.json+41 −0releases/1.0.0/i18n/zh-Hans.js+42 −0releases/1.0.0/i18n/zh-Hans.json+41 −0releases/1.0.0/icons.svg+14 −0releases/1.0.0/icons/alert-triangle.svg+1 −0releases/1.0.0/icons/check-circle.svg+1 −0releases/1.0.0/icons/check.svg+1 −0releases/1.0.0/icons/chevron-down.svg+1 −0releases/1.0.0/icons/help-circle.svg+1 −0releases/1.0.0/icons/info.svg+1 −0releases/1.0.0/icons/kebab.svg+1 −0releases/1.0.0/icons/menu.svg+1 −0releases/1.0.0/icons/plus.svg+1 −0releases/1.0.0/icons/search.svg+1 −0releases/1.0.0/icons/x-circle.svg+1 −0releases/1.0.0/icons/x.svg+1 −0releases/1.0.0/light.js+198 −0releases/1.0.0/plain.css+115 −0releases/1.0.0/select.js+845 −0releases/1.0.0/shell.css+32 −0releases/1.0.0/shell.js+71 −0releases/1.0.0/signal.css+115 −0releases/1.0.0/tokens.css+1571 −0
CI passed — run details
CI log
=== gofmt ===
=== no-rastrillo ===
go test -run '^(TestFiestaNeverImportsRastrillo|TestThePublicPackagesLinkNoBrowser)$' -count=1 .
ok amadan.net/rastrillo/fiesta 0.198s
=== size ===
go test ./internal/build -run '^TestTheOneLinkIsUnder25KiBGzipped$' -count=1 -v
=== RUN TestTheOneLinkIsUnder25KiBGzipped
build_test.go:138: fiesta-plain.css: 152856 bytes, 22303 bytes gzipped (21.8 KiB of the 25.0 KiB limit)
build_test.go:138: fiesta-signal.css: 152951 bytes, 22414 bytes gzipped (21.9 KiB of the 25.0 KiB limit)
build_test.go:138: fiesta.css: 155770 bytes, 23018 bytes gzipped (22.5 KiB of the 25.0 KiB limit)
--- PASS: TestTheOneLinkIsUnder25KiBGzipped (0.03s)
PASS
ok amadan.net/rastrillo/fiesta/internal/build 0.028s
=== suite ===
--- shard 0 of 10 ---
==> shard 0 of 10: make root
go build ./...
go vet ./...
FIESTA_TEST_REQUIRE_NODE=1 FIESTA_TEST_REQUIRE_GIT=1 go test -count=1 ./...
ok amadan.net/rastrillo/fiesta 0.864s
ok amadan.net/rastrillo/fiesta/check 5.821s
ok amadan.net/rastrillo/fiesta/cmd/fiesta 7.306s
ok amadan.net/rastrillo/fiesta/example 0.151s
ok amadan.net/rastrillo/fiesta/internal/axe 0.160s
ok amadan.net/rastrillo/fiesta/internal/build 1.142s
ok amadan.net/rastrillo/fiesta/internal/codeview 0.011s
ok amadan.net/rastrillo/fiesta/internal/gallery 3.040s
? amadan.net/rastrillo/fiesta/internal/harness [no test files]
ok amadan.net/rastrillo/fiesta/internal/markup 0.014s
ok amadan.net/rastrillo/fiesta/internal/nodetest 0.477s
ok amadan.net/rastrillo/fiesta/internal/site 0.111s
ok amadan.net/rastrillo/fiesta/internal/tokens 0.022s
--- shard 1 of 10 ---
==> shard 1 of 10: make staticcheck
go run honnef.co/go/tools/cmd/staticcheck@v0.8.2 -tags browser ./...
--- shard 2 of 10 ---
==> shard 2 of 10: 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 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.
--- shard 3 of 10 ---
==> shard 3 of 10: make gitleaks
go run github.com/zricethezav/gitleaks/v8@v8.30.1 git --no-banner --redact --log-opts='--full-history --diff-filter=tuxdb HEAD' .
[90m11:58PM[0m [32mINF[0m [1mUnknown SCM platform. Use --platform to include links in findings.[0m [36mhost=[0mamadan.net
[90m11:58PM[0m [32mINF[0m [1m1 commits scanned.[0m
[90m11:58PM[0m [32mINF[0m [1mscanned ~5404644 bytes (5.40 MB) in 3.74s[0m
[90m11:58PM[0m [32mINF[0m [1mno leaks found[0m
--- shard 4 of 10 ---
==> shard 4 of 10: 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 16.103s
--- shard 5 of 10 ---
==> shard 5 of 10: 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 92 of 277 tests
ok amadan.net/rastrillo/fiesta/check 290.622s
--- shard 6 of 10 ---
==> shard 6 of 10: 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 92 of 277 tests
ok amadan.net/rastrillo/fiesta/check 321.132s
--- shard 7 of 10 ---
==> shard 7 of 10: 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 93 of 277 tests
ok amadan.net/rastrillo/fiesta/check 321.186s
--- shard 8 of 10 ---
==> shard 8 of 10: make browser.internal.gallery~1of2
./hack/gotest.sh browser 'internal.gallery~1of2'
gotest: on DOCS-T1, driving the harness's own choice (/usr/bin/chromium)
gotest: slice 1 of 2 of ./internal/gallery/ runs 1 of 13 tests
ok amadan.net/rastrillo/fiesta/internal/gallery 111.584s
--- shard 9 of 10 ---
==> shard 9 of 10: make browser.internal.gallery~2of2
./hack/gotest.sh browser 'internal.gallery~2of2'
gotest: on DOCS-T1, driving the harness's own choice (/usr/bin/chromium)
gotest: slice 2 of 2 of ./internal/gallery/ runs 12 of 13 tests
ok amadan.net/rastrillo/fiesta/internal/gallery 36.825s
CHANGELOG.mdLoading diff…
DESIGN.mdLoading diff…
README.mdLoading diff…
hack/seed/README.mdLoading diff…
releases/1.0.0/.fiestaLoading diff…
releases/1.0.0/LICENSELoading diff…
releases/1.0.0/NOTICELoading diff…
releases/1.0.0/SHA256SUMSLoading diff…
releases/1.0.0/anchor.jsLoading diff…
releases/1.0.0/busy.jsLoading diff…
releases/1.0.0/calendar.jsLoading diff…
releases/1.0.0/datetime.jsLoading diff…
releases/1.0.0/day.cssLoading diff…
releases/1.0.0/fiesta-plain.cssLoading diff…
releases/1.0.0/fiesta-signal.cssLoading diff…
releases/1.0.0/fiesta.cssLoading diff…
releases/1.0.0/fiesta.jsLoading diff…
releases/1.0.0/i18n/ar.jsLoading diff…
releases/1.0.0/i18n/ar.jsonLoading diff…
releases/1.0.0/i18n/bn.jsLoading diff…
releases/1.0.0/i18n/bn.jsonLoading diff…
releases/1.0.0/i18n/en.jsLoading diff…
releases/1.0.0/i18n/en.jsonLoading diff…
releases/1.0.0/i18n/es.jsLoading diff…
releases/1.0.0/i18n/es.jsonLoading diff…
releases/1.0.0/i18n/ga.jsLoading diff…
releases/1.0.0/i18n/ga.jsonLoading diff…
releases/1.0.0/i18n/hi.jsLoading diff…
releases/1.0.0/i18n/hi.jsonLoading diff…
releases/1.0.0/i18n/ja.jsLoading diff…
releases/1.0.0/i18n/ja.jsonLoading diff…
releases/1.0.0/i18n/pt-PT.jsLoading diff…
releases/1.0.0/i18n/pt-PT.jsonLoading diff…
releases/1.0.0/i18n/ru.jsLoading diff…
releases/1.0.0/i18n/ru.jsonLoading diff…
releases/1.0.0/i18n/vi.jsLoading diff…
releases/1.0.0/i18n/vi.jsonLoading diff…
releases/1.0.0/i18n/yue.jsLoading diff…
releases/1.0.0/i18n/yue.jsonLoading diff…
releases/1.0.0/i18n/zh-Hans.jsLoading diff…
releases/1.0.0/i18n/zh-Hans.jsonLoading diff…
releases/1.0.0/icons.svgLoading diff…
releases/1.0.0/icons/alert-triangle.svgLoading diff…
releases/1.0.0/icons/check-circle.svgLoading diff…
releases/1.0.0/icons/check.svgLoading diff…
releases/1.0.0/icons/chevron-down.svgLoading diff…
releases/1.0.0/icons/help-circle.svgLoading diff…
releases/1.0.0/icons/info.svgLoading diff…
releases/1.0.0/icons/kebab.svgLoading diff…
releases/1.0.0/icons/menu.svgLoading diff…
releases/1.0.0/icons/plus.svgLoading diff…
releases/1.0.0/icons/search.svgLoading diff…
releases/1.0.0/icons/x-circle.svgLoading diff…
releases/1.0.0/icons/x.svgLoading diff…
releases/1.0.0/light.jsLoading diff…
releases/1.0.0/plain.cssLoading diff…
releases/1.0.0/select.jsLoading diff…
releases/1.0.0/shell.cssLoading diff…
releases/1.0.0/shell.jsLoading diff…
releases/1.0.0/signal.cssLoading diff…
releases/1.0.0/tokens.cssLoading diff…