ai-code-battle/cmd/acb-index-builder
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
..
blog.go fix(index-builder): correct function name typo in weekly chronicles generation 2026-05-04 03:10:46 -04:00
cards.go Implement S3 functions for R2/B2 integration in acb-index-builder 2026-03-29 09:09:29 -04:00
config.go feat(index-builder): add sitemap.xml generation 2026-05-04 00:09:53 -04:00
db.go Phase 9: Map voting + positional fairness monitoring - verify existing implementation 2026-05-08 14:30:46 -04:00
deploy.go fix(index-builder): run wrangler from /app/web to pick up functions/ bundle 2026-04-30 12:39:57 -04:00
Dockerfile fix(index-builder): run wrangler from /app/web to pick up functions/ bundle 2026-04-30 12:39:57 -04:00
enrichment.go feat(playlists): add playlist curation and rebuild logic per §10, with series/seasons/enrichment 2026-04-21 16:11:27 -04:00
enrichment_test.go fix(index-builder): correct series/season exempt queries, optimize playlist curation 2026-04-21 16:47:13 -04:00
generator.go Phase 9: Map voting + positional fairness monitoring - verify existing implementation 2026-05-08 14:30:46 -04:00
main.go feat(§15.2): generate and stream static meta JSON files to R2 2026-04-22 18:46:27 -04:00
main_test.go feat(config): add season_id + rules_version to Config per §4.2 2026-04-22 18:09:26 -04:00
narrative.go fix(index-builder): correct function name typo in weekly chronicles generation 2026-05-04 03:10:46 -04:00
narrative_test.go feat(blog): add rivalry context to spotlight prompt and fix narrative tests 2026-04-21 15:45:33 -04:00
rivalry_test.go test(index-builder): fix buildRivalryNarrative call signature 2026-04-28 23:40:57 -04:00
s3.go fix(worker,index-builder): use us-east-1 region for S3-compatible endpoints 2026-04-25 11:07:08 -04:00
s3_test.go feat(config): add season_id + rules_version to Config per §4.2 2026-04-22 18:09:26 -04:00
sitebuild.go fix(types): add missing ReplayPlayer import and type annotation for transcript feature 2026-04-22 18:20:56 -04:00
sitebuild_test.go fix(types): add missing ReplayPlayer import and type annotation for transcript feature 2026-04-22 18:20:56 -04:00