The migration file migrations/0001_initial.sql was created in commit 31678be
and contains the complete schema matching cmd/acb-api/db.go.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Bead-Id: bf-67io
Verified that the mobile bottom tab bar specified in §16.4 is implemented
in web/index.html as inline styles, not in external CSS files.
The implementation matches specification:
- Four bottom tabs: Home, Watch, Compete, Board
- Persistent bottom tab bar on mobile (<640px)
- Proper z-index layering and responsive behavior
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The migration file migrations/0001_initial.sql was added in commit 31678be.
This bead was filed based on an outdated plan inventory.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Verified that migrations/0001_initial.sql contains all 20 tables from
cmd/acb-api/db.go schema. Work was completed prior to bead assignment.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Verified all required components are in place:
- CI workflow at starters/csharp/.github/workflows/build.yml (added in 7bf6566)
- Plan §5.8 coverage at line 986 (added in 55c594c)
- Directory listing at line 2565 (added in 9d4a311)
- Plan §11.2 template repos at line 2629 (added in 55c594c)
C# starter kit fully registered alongside 8 other language starter kits.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Re-verified that all required components are in place:
- CI workflow exists at starters/csharp/.github/workflows/build.yml
- Plan §5.8 includes acb-starter-csharp at line 986
- Plan §11.2 includes acb-starter-csharp at line 2629
- Directory listing includes csharp/ at line 2565
The task was originally completed in commits 55c594c and 9d4a311.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The POST /api/register endpoint sets status='active' for newly registered
bots, and the matchmaker queries for all active bots. Integration is complete;
no code changes required.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Verified that commit 7e8c9d7 completed all registration requirements:
- Added to §5.8 Starter Kit table
- Added to file structure section
- Added to published template repos table
- CI workflow already exists
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The bead task indicated missing CI workflow and plan §5.8 coverage,
but verification found all components already in place from commit 55c594c.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The JavaScript starter kit was officially registered via commit 7e8c9d7,
which added it to plan §5.8, the file structure section, and the published
template repos table. This notes file documents the completion status.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Verified complete implementation of §16.9 directed attack arrows feature:
- Engine emits combat_death events with killers array (bot_id, owner, position)
- TypeScript types properly define CombatDeathKiller and CombatDeathDetails
- Viewer draws solid arrows from each killer to victim with attacker player color
- Arrowheads point to victim tile center
- Backward compatibility maintained for old replays (proximity-inference fallback)
- Red explosion flash and X marker for death visualization
Related commits: 8e0aa5e (engine), 323c1e8 (viewer)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The feature was already fully implemented in commits 8e0aa5e and 323c1e8.
This commit documents the verification of that implementation.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Investigated why all matches have enriched: false. Root cause is
corrupted R2 credentials in OpenBao that prevent the acb-enrichment
service from uploading AI commentary.
Key findings:
- R2 credentials at secret/rs-manager/ai-code-battle/r2 are corrupted
- endpoint/secret-key values are swapped
- Enrichment service cannot upload to R2
- Fix script exists but requires cluster access
Blocker: Expired kubeconfig (bf-5nap) prevents cluster access
and execution of the fix.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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>
The code fix for the winner badge bug has been applied. The index
builder needs to be run in an environment with Go installed to
regenerate static JSON files with correct winner badges.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The code fix was already applied in commit 6fe778b. This commit
adds documentation noting that the index builder needs to be run
to regenerate static JSON with correct winner badges.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Matches stopped being created after 2026-05-09. The iad-acb kubeconfig on
ex44 has expired credentials, preventing cluster access for diagnosis.
Created comprehensive diagnostic documentation covering:
- Cluster architecture and components (matchmaker, workers)
- Step-by-step diagnostic procedures for kubectl access
- Pod status checks and log analysis commands
- Database verification queries
- Service restart procedures
- Known issues from prior incidents (R2 credentials corruption)
Next steps:
1. Renew iad-acb token from Rackspace Spot UI
2. Update kubeconfig on ex44
3. Execute diagnostic commands to identify root cause
4. Restart services as needed
5. Verify match creation resumes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>