ai-code-battle/cmd
jedarden b2e9ba8319 fix(matchmaker): correct priority inversion in bestCandidate opponent selection
The bestCandidate function allowed game count to override pairing recency
when both candidates had non-zero LastPairedAt values. Per §6.1, pairing
recency must be the primary criterion with game count only breaking ties.

Also adds 10 tests covering: never-paired preference, oldest-pairing
preference, game count tiebreaking, Pareto distribution verification,
multi-opponent selection, and regression test for the priority inversion.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-22 17:46:44 -04:00
..
acb-api fix(api): remove unused time import from rotatekey_test.go 2026-04-22 17:40:06 -04:00
acb-evolver feat(evolver): add workflow completion polling to promoter 2026-04-22 17:46:33 -04:00
acb-index-builder feat(index): implement §7.2/§15.2 maps/index.json and maps/{map_id}.json generation 2026-04-22 17:46:27 -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): correct priority inversion in bestCandidate opponent selection 2026-04-22 17:46:44 -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(matchmaker): implement §6.1 Pareto skill-proximity + LRU pairing algorithm 2026-04-22 17:35:00 -04:00