- POST /api/register: bot registration with URL + shared secret validation
- GET /api/job: worker polls for next pending match job (authenticated)
- POST /api/job/:id/result: worker submits match result (winner, replay JSON)
- GET /api/replay/🆔 serve replay JSON from R2 warm cache (falls back to B2)
- GET /api/bot/🆔 bot profile JSON (rating, elo, record, metadata)
- GET /api/bots: leaderboard snapshot with pagination
- POST /api/ui-feedback: accept Agentation UI feedback
Authentication via Bearer token (worker API key). Shared secrets encrypted
with AES-256-GCM using ACB_ENCRYPTION_KEY.
Add wrangler.toml, deployment script, and documentation for deploying
the AI Code Battle SPA to Cloudflare Pages.
- wrangler.toml: Cloudflare Pages project configuration
- scripts/deploy-pages.sh: Manual deployment script using wrangler CLI
- web/CLOUDFLARE_DEPLOYMENT.md: Deployment guide with GitHub Actions setup
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add automated script for creating R2 bucket and configuring custom domain
r2.aicodebattle.com for replay storage.
- Create scripts/setup-r2.sh:
- Creates acb-data R2 bucket if it doesn't exist
- Configures custom domain via Cloudflare API
- Includes verification and usage instructions
- Update DEPLOYMENT.md to reference the new script
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add configure-dns.sh for automated DNS record setup:
- aicodebattle.com CNAME to Pages
- r2.aicodebattle.com CNAME to R2
- api.aicodebattle.com A record to Traefik (optional)
Includes manual dashboard instructions as fallback.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add helper scripts for Cloudflare Pages and R2 deployment:
- cloudflare-setup.sh: Creates Pages project, deploys dist, creates R2 bucket
- verify-deployment.sh: End-to-end verification of all endpoints
These scripts require wrangler authentication via `wrangler login`.
Note: worker-api deployment removed from scope (legacy code was removed
in commit b06350d).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>