ai-code-battle/engine
jedarden 92576dbed4 feat(worker): add map engagement score tracking and verify win_prob in replays
- Add engine.CalculateMapEngagement() to compute map engagement scores from replay data (win_prob_crossings, critical_moments, map_coverage_pct, closeness, turn_pct)
- Add DBClient.UpdateMapEngagement() to update map engagement using rolling average
- Worker now calculates and writes map engagement scores after each match
- Add test to verify win_prob array is non-empty in produced replays

This implements the win probability Monte Carlo array storage in replay JSON
feature. The engine already called ComputeWinProbability() in MatchRunner.Run(),
so this commit adds the missing map engagement tracking.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-03 23:21:57 -04:00
..
auth.go fix: resolve universal stalemate — signing format and secret decryption 2026-04-30 21:48:25 -04:00
auth_test.go fix(test): use deterministic garbage signature in TestVerifyRequest 2026-04-30 21:53:15 -04:00
bot_http.go fix(engine): enforce strict HMAC response signature verification per §4.4 2026-04-22 13:18:10 -04:00
bot_http_test.go fix(engine): enforce strict HMAC response signature verification per §4.4 2026-04-22 13:18:10 -04:00
bot_local.go Implement Phase 1 core engine: grid, combat, fog of war, turn execution 2026-03-24 01:48:27 -04:00
bot_strategies.go feat(evolver): complete Phase 7 LLM-driven evolution implementation 2026-04-08 16:38:48 -04:00
bot_strategies_phase13.go fix(engine): repair partitionBots refactor in phase13 strategies 2026-04-22 18:48:46 -04:00
determinism_test.go Complete Phase 1: add connectivity validation and determinism tests 2026-03-24 03:44:44 -04:00
game.go fix(matchmaker): multi-match crash cooldown (3 strikes / 30 min) per §4.5 + §6.1 2026-04-22 15:22:12 -04:00
grid.go Implement Phase 1 core engine: grid, combat, fog of war, turn execution 2026-03-24 01:48:27 -04:00
grid_test.go Implement Phase 1 core engine: grid, combat, fog of war, turn execution 2026-03-24 01:48:27 -04:00
integration_test.go feat(worker): add map engagement score tracking and verify win_prob in replays 2026-05-03 23:21:57 -04:00
map_engagement.go feat(worker): add map engagement score tracking and verify win_prob in replays 2026-05-03 23:21:57 -04:00
match.go fix(matchmaker): multi-match crash cooldown (3 strikes / 30 min) per §4.5 + §6.1 2026-04-22 15:22:12 -04:00
replay.go feat(engine): integrate Monte Carlo win probability computation into match runner 2026-04-21 08:46:39 -04:00
thumbnail.go feat(config): add season_id + rules_version to Config per §4.2 2026-04-22 18:09:26 -04:00
turn.go fix(matchmaker): multi-match crash cooldown (3 strikes / 30 min) per §4.5 + §6.1 2026-04-22 15:22:12 -04:00
turn_test.go fix(engine): use core1 variable in spawn priority tiebreak test 2026-04-22 14:45:06 -04:00
types.go fix(engine): add JSON marshaling to Direction for string/int interop 2026-05-02 16:23:55 -04:00
winprob.go feat(engine): integrate Monte Carlo win probability computation into match runner 2026-04-21 08:46:39 -04:00