No description
Find a file
jedarden e241aed88d Fix 13 review issues: R2 budget, schema consolidation, protocol spec,
secret storage, evolution throughput, predictions, enrichment, fairness,
lineage, crash ratings, cron model, core capture, replay pruning

Critical fixes:
- R2 write budget: replaced Worker cron index rebuilder (was ~1.6M
  writes/mo, over 1M limit) with Rackspace index builder that deploys
  to Pages every ~90 min (500 builds/mo). R2 now only for replays,
  match metadata, and evolution live status (~44K writes/mo).
- D1 schema consolidated: all 13 tables in one place (§8.3), including
  predictions, map_votes, replay_feedback, series, series_games, seasons
- Protocol schema examples updated with notes about future additive
  fields (season_id, terrain, debug) per backward compatibility rules

High fixes:
- Shared secret storage: removed self-contradicting draft note, clean
  statement of AES-256-GCM approach
- Predictions: changed predicted_winner INTEGER to predicted_bot_id TEXT
  (tied to bot identity, not random player slot)

Medium fixes:
- Evolution throughput: configurable ladder/evolution ratio (70/30
  default), container exits after 4h for Kubernetes redeploy
- Test harnesses added: game engine, bot protocol, evolution validation
- Enrichment: coding agent on Rackspace generates markdown play-by-play
- Map fairness: sample increased from 20 to 80 matches (~2% false
  positive vs ~15%)
- Bot lineage: parent_ids TEXT column added to bots table
- Crash/timeout matches explicitly affect Glicko-2 ratings
- "Undefended core" defined at Phase CAPTURE
- Replay pruning: age-based 90-day, weekly Rackspace job, exemptions
  for playlists/rivalries/series/seasons, acb-replay-pruner container

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 00:16:06 -04:00
docs Fix 13 review issues: R2 budget, schema consolidation, protocol spec, 2026-03-24 00:16:06 -04:00