rastrillo / fiesta Public

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.
Human

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>
claude agent, operated by paul@keymail.dev ac73ca568720ef07ff9407032d937bec462ae83a parent c6360ee
61 files changed, +11661 −0
  • CHANGELOG.md +14 −0
  • DESIGN.md +1 −0
  • README.md +74 −0
  • hack/seed/README.md +2 −0
  • releases/1.0.0/.fiesta +3 −0
  • releases/1.0.0/LICENSE +373 −0
  • releases/1.0.0/NOTICE +43 −0
  • releases/1.0.0/SHA256SUMS +55 −0
  • releases/1.0.0/anchor.js +38 −0
  • releases/1.0.0/busy.js +132 −0
  • releases/1.0.0/calendar.js +370 −0
  • releases/1.0.0/datetime.js +1214 −0
  • releases/1.0.0/day.css +134 −0
  • releases/1.0.0/fiesta-plain.css +1686 −0
  • releases/1.0.0/fiesta-signal.css +1686 −0
  • releases/1.0.0/fiesta.css +1705 −0
  • releases/1.0.0/fiesta.js +162 −0
  • releases/1.0.0/i18n/ar.js +42 −0
  • releases/1.0.0/i18n/ar.json +41 −0
  • releases/1.0.0/i18n/bn.js +42 −0
  • releases/1.0.0/i18n/bn.json +41 −0
  • releases/1.0.0/i18n/en.js +42 −0
  • releases/1.0.0/i18n/en.json +41 −0
  • releases/1.0.0/i18n/es.js +42 −0
  • releases/1.0.0/i18n/es.json +41 −0
  • releases/1.0.0/i18n/ga.js +42 −0
  • releases/1.0.0/i18n/ga.json +41 −0
  • releases/1.0.0/i18n/hi.js +42 −0
  • releases/1.0.0/i18n/hi.json +41 −0
  • releases/1.0.0/i18n/ja.js +42 −0
  • releases/1.0.0/i18n/ja.json +41 −0
  • releases/1.0.0/i18n/pt-PT.js +42 −0
  • releases/1.0.0/i18n/pt-PT.json +41 −0
  • releases/1.0.0/i18n/ru.js +42 −0
  • releases/1.0.0/i18n/ru.json +41 −0
  • releases/1.0.0/i18n/vi.js +42 −0
  • releases/1.0.0/i18n/vi.json +41 −0
  • releases/1.0.0/i18n/yue.js +42 −0
  • releases/1.0.0/i18n/yue.json +41 −0
  • releases/1.0.0/i18n/zh-Hans.js +42 −0
  • releases/1.0.0/i18n/zh-Hans.json +41 −0
  • releases/1.0.0/icons.svg +14 −0
  • releases/1.0.0/icons/alert-triangle.svg +1 −0
  • releases/1.0.0/icons/check-circle.svg +1 −0
  • releases/1.0.0/icons/check.svg +1 −0
  • releases/1.0.0/icons/chevron-down.svg +1 −0
  • releases/1.0.0/icons/help-circle.svg +1 −0
  • releases/1.0.0/icons/info.svg +1 −0
  • releases/1.0.0/icons/kebab.svg +1 −0
  • releases/1.0.0/icons/menu.svg +1 −0
  • releases/1.0.0/icons/plus.svg +1 −0
  • releases/1.0.0/icons/search.svg +1 −0
  • releases/1.0.0/icons/x-circle.svg +1 −0
  • releases/1.0.0/icons/x.svg +1 −0
  • releases/1.0.0/light.js +198 −0
  • releases/1.0.0/plain.css +115 −0
  • releases/1.0.0/select.js +845 −0
  • releases/1.0.0/shell.css +32 −0
  • releases/1.0.0/shell.js +71 −0
  • releases/1.0.0/signal.css +115 −0
  • releases/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' .
11:58PM INF Unknown SCM platform. Use --platform to include links in findings. host=amadan.net
11:58PM INF 1 commits scanned.
11:58PM INF scanned ~5404644 bytes (5.40 MB) in 3.74s
11:58PM INF no leaks found
--- 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.md

Loading diff…

DESIGN.md

Loading diff…

README.md

Loading diff…

hack/seed/README.md

Loading diff…

releases/1.0.0/.fiesta

Loading diff…

releases/1.0.0/LICENSE

Loading diff…

releases/1.0.0/NOTICE

Loading diff…

releases/1.0.0/SHA256SUMS

Loading diff…

releases/1.0.0/anchor.js

Loading diff…

releases/1.0.0/busy.js

Loading diff…

releases/1.0.0/calendar.js

Loading diff…

releases/1.0.0/datetime.js

Loading diff…

releases/1.0.0/day.css

Loading diff…

releases/1.0.0/fiesta-plain.css

Loading diff…

releases/1.0.0/fiesta-signal.css

Loading diff…

releases/1.0.0/fiesta.css

Loading diff…

releases/1.0.0/fiesta.js

Loading diff…

releases/1.0.0/i18n/ar.js

Loading diff…

releases/1.0.0/i18n/ar.json

Loading diff…

releases/1.0.0/i18n/bn.js

Loading diff…

releases/1.0.0/i18n/bn.json

Loading diff…

releases/1.0.0/i18n/en.js

Loading diff…

releases/1.0.0/i18n/en.json

Loading diff…

releases/1.0.0/i18n/es.js

Loading diff…

releases/1.0.0/i18n/es.json

Loading diff…

releases/1.0.0/i18n/ga.js

Loading diff…

releases/1.0.0/i18n/ga.json

Loading diff…

releases/1.0.0/i18n/hi.js

Loading diff…

releases/1.0.0/i18n/hi.json

Loading diff…

releases/1.0.0/i18n/ja.js

Loading diff…

releases/1.0.0/i18n/ja.json

Loading diff…

releases/1.0.0/i18n/pt-PT.js

Loading diff…

releases/1.0.0/i18n/pt-PT.json

Loading diff…

releases/1.0.0/i18n/ru.js

Loading diff…

releases/1.0.0/i18n/ru.json

Loading diff…

releases/1.0.0/i18n/vi.js

Loading diff…

releases/1.0.0/i18n/vi.json

Loading diff…

releases/1.0.0/i18n/yue.js

Loading diff…

releases/1.0.0/i18n/yue.json

Loading diff…

releases/1.0.0/i18n/zh-Hans.js

Loading diff…

releases/1.0.0/i18n/zh-Hans.json

Loading diff…

releases/1.0.0/icons.svg

Loading diff…

releases/1.0.0/icons/alert-triangle.svg

Loading diff…

releases/1.0.0/icons/check-circle.svg

Loading diff…

releases/1.0.0/icons/check.svg

Loading diff…

releases/1.0.0/icons/chevron-down.svg

Loading diff…

releases/1.0.0/icons/help-circle.svg

Loading diff…

releases/1.0.0/icons/info.svg

Loading diff…

releases/1.0.0/icons/kebab.svg

Loading diff…

releases/1.0.0/icons/menu.svg

Loading diff…

releases/1.0.0/icons/plus.svg

Loading diff…

releases/1.0.0/icons/search.svg

Loading diff…

releases/1.0.0/icons/x-circle.svg

Loading diff…

releases/1.0.0/icons/x.svg

Loading diff…

releases/1.0.0/light.js

Loading diff…

releases/1.0.0/plain.css

Loading diff…

releases/1.0.0/select.js

Loading diff…

releases/1.0.0/shell.css

Loading diff…

releases/1.0.0/shell.js

Loading diff…

releases/1.0.0/signal.css

Loading diff…

releases/1.0.0/tokens.css

Loading diff…