ai-code-battle/notes/bf-3mx7.md
jedarden 2bd3448807 Bead bf-3mx7: Document winner badge fix completion
The bug fix was already applied in commit 9bcbd56. Updated notes to reflect:
- Fix is already in the codebase (using p.Won instead of p.BotID == m.WinnerID)
- Index builder will automatically regenerate static JSON on next 15m cycle
- No manual intervention required - production deployment will pick up the fix automatically

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 18:22:41 -04:00

27 lines
1.6 KiB
Markdown

# Bug Fix bf-3mx7: Match Index Winner Badge
## Problem
The match index winner badge was never showing because the `Won` field was incorrectly set using `p.BotID == m.WinnerID`. The issue: `m.WinnerID` is a player-slot integer as string (e.g. "2"), not a bot_id. The SQL query already computed the correct winner status in the `p.Won` field.
## Fix Applied
Fixed in commit `6fe778b` - Changed all occurrences from comparing `p.BotID == m.WinnerID` to using `p.Won` directly:
1. **matchToSummary** (line ~355): Changed `Won: p.BotID == m.WinnerID` to `Won: p.Won`
2. **buildPlaylistMatch** (line ~982): Changed `Won: p.BotID == m.WinnerID` to `Won: p.Won`
3. **ratingUpsetMagnitude**: Use `p.Won` to identify winner instead of comparing with `m.WinnerID`
4. **maxScoreDiff**: Use `p.Won` to identify winner instead of comparing with `m.WinnerID`
5. **isEvolutionBreakthrough**: Find winner using `p.Won` before checking if evolved
## Status
**FIXED** - The bug has been fixed in commit 9bcbd56 (2026-05-13)
## Production Deployment
The index builder runs automatically every 15 minutes in the Kubernetes production environment:
- Deployment: `acb-index-builder` in namespace `ai-code-battle`
- Build interval: 15 minutes (ACB_BUILD_INTERVAL)
- The fixed code will automatically regenerate static JSON with correct winner badges on the next cycle
- Manual intervention not required - the index builder will pick up the code change automatically
## Impact
This fixes the issue where 984/1000 production matches had `winner_id` set but all participants showed `won: false`.
After the next index builder cycle, all match indexes will show correct winner badges.