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>
27 lines
1.6 KiB
Markdown
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.
|