ai-code-battle/cmd
jedarden dc0caf0115 feat(worker): upload replays directly to R2 in addition to B2
Adds R2 (Cloudflare) as a direct upload target alongside B2 (cold archive).
When ACB_R2_* credentials are configured, the worker uploads replays and
thumbnails to R2 immediately after each match, bypassing the index-builder's
B2→R2 promotion cycle.

This is necessary because ARMOR's B2 app key is write-only; reads via the
direct S3 path return 403. The Cloudflare CDN read path (armor-hub-b2.ardenone.com)
is dead post-hub-decommission. Direct R2 upload ensures replays are available
without waiting for a working B2 read path.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 10:24:47 -04:00
..
acb-api fix(api): add missing replay_feedback FK migration 2026-04-28 23:36:02 -04:00
acb-evolver fix(evolver): correct GROUP BY in island stats query 2026-04-24 07:04:37 -04:00
acb-index-builder test(index-builder): fix buildRivalryNarrative call signature 2026-04-28 23:40:57 -04:00
acb-local feat(evolver): complete Phase 7 LLM-driven evolution implementation 2026-04-08 16:38:48 -04:00
acb-map-evolver Add map evolution pipeline (cmd/acb-map-evolver) 2026-03-29 02:35:33 -04:00
acb-mapgen Fix sin/cos math bug and add cellular automata map generation 2026-03-26 01:10:46 -04:00
acb-matchmaker fix(matchmaker): stale-reaper queries claimed not running status 2026-04-24 17:24:57 -04:00
acb-wasm feat(playlists): add playlist curation and rebuild logic per §10, with series/seasons/enrichment 2026-04-21 16:11:27 -04:00
acb-worker feat(worker): upload replays directly to R2 in addition to B2 2026-04-30 10:24:47 -04:00