ai-code-battle/cmd/acb-index-builder
jedarden 32d7dd07e7 feat(index-builder): merge latest site build artifact before Pages deploy (§8.4, §11.3)
Add crane CLI to the runtime Dockerfile so the index builder can pull the
latest SPA shell from the Forgejo container registry on each cycle. The
existing syncSiteBuild logic checks for a newer image digest, extracts
the dist/ assets via crane export, and overlays generated JSON data files
on top before deploying to Cloudflare Pages.

- Dockerfile: install go-containerregistry crane binary (v0.20.2)
- sitebuild.go: new file with syncSiteBuild, craneDigest, craneExport,
  digest caching, fallback to baked-in /app/web/dist
- main.go: wire initCraneAuth at startup, replace hardcoded webDistDir
  with syncSiteBuild call in runBuildCycle
- sitebuild_test.go: 18 tests for extractRegistry, digest caching,
  fallback logic, crane auth config, and copyWebAssets overlay behavior

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-22 17:52:03 -04:00
..
blog.go feat(matchmaker): implement §6.1 Pareto skill-proximity + LRU pairing algorithm 2026-04-22 17:35:00 -04:00
cards.go Implement S3 functions for R2/B2 integration in acb-index-builder 2026-03-29 09:09:29 -04:00
config.go feat(matchmaker): implement §6.1 Pareto skill-proximity + LRU pairing algorithm 2026-04-22 17:35:00 -04:00
db.go feat(index): implement §7.2/§15.2 maps/index.json and maps/{map_id}.json generation 2026-04-22 17:46:27 -04:00
deploy.go feat(index): implement match thumbnail PNG generation (§7.2, §14.3) 2026-04-22 17:42:36 -04:00
Dockerfile feat(index-builder): merge latest site build artifact before Pages deploy (§8.4, §11.3) 2026-04-22 17:52:03 -04:00
enrichment.go feat(playlists): add playlist curation and rebuild logic per §10, with series/seasons/enrichment 2026-04-21 16:11:27 -04:00
enrichment_test.go fix(index-builder): correct series/season exempt queries, optimize playlist curation 2026-04-21 16:47:13 -04:00
generator.go feat(index): implement §7.2/§15.2 maps/index.json and maps/{map_id}.json generation 2026-04-22 17:46:27 -04:00
main.go feat(index-builder): merge latest site build artifact before Pages deploy (§8.4, §11.3) 2026-04-22 17:52:03 -04:00
main_test.go feat(index): implement §7.2/§15.2 maps/index.json and maps/{map_id}.json generation 2026-04-22 17:46:27 -04:00
narrative.go feat(matchmaker): implement §6.1 Pareto skill-proximity + LRU pairing algorithm 2026-04-22 17:35:00 -04:00
narrative_test.go feat(blog): add rivalry context to spotlight prompt and fix narrative tests 2026-04-21 15:45:33 -04:00
rivalry_test.go fix(index-builder): improve rivalry recency test isolation + add metrics 2026-04-22 16:07:18 -04:00
s3.go feat(evolver): complete Phase 7 LLM-driven evolution implementation 2026-04-08 16:38:48 -04:00
s3_test.go Implement S3 functions for R2/B2 integration in acb-index-builder 2026-03-29 09:09:29 -04:00
sitebuild.go feat(index-builder): merge latest site build artifact before Pages deploy (§8.4, §11.3) 2026-04-22 17:52:03 -04:00
sitebuild_test.go feat(index-builder): merge latest site build artifact before Pages deploy (§8.4, §11.3) 2026-04-22 17:52:03 -04:00