Task 1: the scaffold, on our module path, with the browser gate wired in
rastrillo new does more than the plan credited it with: arm64 release default and BuildVersion stamping were already there, so those steps were noise. What it does not ship is a browser step in the CI definition, and gates 3 and 7 both need one — the proof-of-work solver is only proven by a real browser answering the Go verifier. The scaffold's own AGENTS.md is kept as docs/scaffold-AGENTS.md rather than overwriting the doctrine. Reference, not binding. make ci is green, browser step included, though Chromium needs the sandbox off to start.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0175aLTHqLrYkGe1skMV1rvq
36 files changed,
+4861
−0
.amadan/ci+6 −0.amadan/ci.d/10-vet+2 −0.amadan/ci.d/20-fmt+2 −0.amadan/ci.d/30-test+2 −0.amadan/ci.d/40-migration-check+2 −0.amadan/ci.d/50-browser+2 −0.gitignore+6 −0AGENTS.md+17 −0CLAUDE.md+5 −0Makefile+122 −0README.md+22 −0cmd/movement/main.go+62 −0docs/scaffold-AGENTS.md+73 −0go.mod+34 −0go.sum+95 −0internal/movement/app.go+61 −0internal/movement/handlers.go+19 −0internal/movement/icons/icons.go+47 −0internal/movement/migrations.go+42 −0internal/movement/migrations/0001_init.sql+2 −0internal/movement/migrations/schema.sql+5 −0internal/movement/models.go+25 −0internal/movement/render.go+72 −0internal/movement/static/datetime.js+1338 −0internal/movement/static/rastrillo.js+337 −0internal/movement/static/select.js+280 −0internal/movement/static/theme.css+187 −0internal/movement/static/tokens.css+1664 −0internal/movement/templates/errors.html+9 −0internal/movement/templates/index.html+3 −0internal/movement/templates/layout.html+26 −0internal/movementtest/browser_test.go+53 −0internal/movementtest/harness_test.go+62 −0internal/movementtest/index_test.go+71 −0internal/movementtest/vendored_test.go+54 −0manifest/README.md+52 −0
.amadan/ciLoading diff…
.amadan/ci.d/10-vetLoading diff…
.amadan/ci.d/20-fmtLoading diff…
.amadan/ci.d/30-testLoading diff…
.amadan/ci.d/40-migration-checkLoading diff…
.amadan/ci.d/50-browserLoading diff…
.gitignoreLoading diff…
AGENTS.mdLoading diff…
CLAUDE.mdLoading diff…
MakefileLoading diff…
README.mdLoading diff…
cmd/movement/main.goLoading diff…
docs/scaffold-AGENTS.mdLoading diff…
go.modLoading diff…
go.sumLoading diff…
internal/movement/app.goLoading diff…
internal/movement/handlers.goLoading diff…
internal/movement/icons/icons.goLoading diff…
internal/movement/migrations.goLoading diff…
internal/movement/migrations/0001_init.sqlLoading diff…
internal/movement/migrations/schema.sqlLoading diff…
internal/movement/models.goLoading diff…
internal/movement/render.goLoading diff…
internal/movement/static/datetime.jsLoading diff…
internal/movement/static/rastrillo.jsLoading diff…
internal/movement/static/select.jsLoading diff…
internal/movement/static/theme.cssLoading diff…
internal/movement/static/tokens.cssLoading diff…
internal/movement/templates/errors.htmlLoading diff…
internal/movement/templates/index.htmlLoading diff…
internal/movement/templates/layout.htmlLoading diff…
internal/movementtest/browser_test.goLoading diff…
internal/movementtest/harness_test.goLoading diff…
internal/movementtest/index_test.goLoading diff…
internal/movementtest/vendored_test.goLoading diff…
manifest/README.mdLoading diff…