ai-code-battle/cmd
jedarden af46a1da97 feat(engine): add combat-density metric and fix computeCombatTurns
- Fix computeCombatTurns to count EventCombatDeath events instead of
  EventBotDied with reason="combat" (which was never emitted, causing
  CombatTurns to always be 0)
- Add CombatDeaths field to MapEngagementScore to track focus-fire kills
- Update engagement formula to weight combat deaths at 3.0 (same as
  win_prob_crossings) to bias map evolution toward combat-dense maps
- Add countCombatDeaths helper function to count EventCombatDeath events
- Update log output to include combat_deaths metric

This implements bf-4nxs: the combat-density metric is now measured and
weighted in map engagement, which gates map curation/selection. Maps
with zero combat will have low engagement scores and be filtered out.

Closes: bf-4nxs
2026-05-24 10:16:54 -04:00
..
acb-api feat(api): implement POST /api/request-enrichment endpoint 2026-05-04 02:58:11 -04:00
acb-enrichment feat(acb-enrichment): implement AI replay enrichment service 2026-05-04 02:22:28 -04:00
acb-evolver Evolver: Fix nsjail integration for complete sandbox coverage 2026-05-22 15:18:21 -04:00
acb-index-builder Bug fix bf-3mx7: Fix match index winner badge - use p.Won instead of comparing BotID with WinnerID 2026-05-13 17:59:02 -04:00
acb-local feat(evolver): complete Phase 7 LLM-driven evolution implementation 2026-04-08 16:38:48 -04:00
acb-map-evolver feat(engine): reduce default map size to 40x40 and add skirmish map class 2026-05-24 10:10:57 -04:00
acb-mapgen feat(engine): reduce default map size to 40x40 and add skirmish map class 2026-05-24 10:10:57 -04:00
acb-matchmaker feat(engine): reduce default map size to 40x40 and add skirmish map class 2026-05-24 10:10: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(engine): add combat-density metric and fix computeCombatTurns 2026-05-24 10:16:54 -04:00