ai-code-battle/cmd
jedarden 0028100c64 Phase 9: Map voting + positional fairness monitoring - verify existing implementation
Verified all Phase 9 deliverables already in place:
- PostgreSQL map_votes table (UNIQUE constraint on map_id, voter_id)
- POST /api/vote-map endpoint (+1/-1 votes, rate-limited)
- GET /api/vote/map/{map_id} endpoint for vote counts
- Positional fairness monitoring: tickFairnessAudit with 5-step lifecycle
  * updateMapFairnessStats: recompute per-slot win rates
  * flagUnfairMaps: probation for >10pp deviation
  * retireDislikedMaps: force-retire at < -20 net votes
  * pruneLowEngagementMaps: monthly bottom 10% pruning
  * promoteClassicMaps: top-5 sustained (3+ months) to classic
- maps/index.json includes NetVotes from aggregation

All tests pass (mapvote, map_fairness, index-builder).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-08 14:30:46 -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 feat(acb-evolver): add weekly automated map evolution ticker 2026-05-08 09:26:38 -04:00
acb-index-builder Phase 9: Map voting + positional fairness monitoring - verify existing implementation 2026-05-08 14:30:46 -04:00
acb-local feat(evolver): complete Phase 7 LLM-driven evolution implementation 2026-04-08 16:38:48 -04:00
acb-map-evolver test(acb-map-evolver): add comprehensive tests for weekly schedule 2026-05-08 09:32:51 -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 feat(matchmaker): add best-of-5 weekly featured and best-of-7 championship series scheduling 2026-05-04 02:34:47 -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(worker): implement map engagement scoring per plan §14.6 2026-05-04 02:28:45 -04:00