Update web/public/data/blog/posts/meta-week-13-season-1.json to show
what an LLM-enhanced meta report looks like. Adds:
- Counter-Strategy Spotlight section with narrative analysis
- Evolution Deep Dive subsection with generational insights
- Enhanced Looking Ahead section with specific predictions
- Structured tables for strategies, rising stars, rivalries, evolution
- Prediction standings leaderboard
- More detailed summary with key insights
This placeholder now accurately reflects the output of generateMetaReportWithLLM()
in cmd/acb-index-builder/blog.go, which adds these LLM-generated sections
to the template-based report.
Closes: bf-39q2
Add web/public/data/predictions/ directory with demo JSON files:
- leaderboard.json: demo predictor leaderboard entries
- open.json: demo open matches for predictions
These placeholder files follow the same pattern as other demo data
(e.g., bots/index.json, leaderboard.json) for local development
and consistency. The index builder generates the real versions at
runtime via generatePredictionsIndex() and generatePredictionsOpen().
Closes: bf-4w95
Regenerated demo-replay-v2.json (2-player) and demo-replay-v2-6p.json (6-player)
using acb-local with current engine settings. Both replays now show combat_death
events, demonstrating the focus-fire combat system is working.
- 2-player demo: 6 turns, 2 combat_deaths (seed 789)
- 6-player demo: 6 turns, 6 combat_deaths (seed 456)
Previous replays were generated before zone/spawn radius fixes and showed minimal
combat. Combat density tests confirm targets met: 86% for 2-player, 100% for
6-player (TestCombatDensityMetrics).
Closes: bf-3er8
Regenerated demo replays using the latest combat density and zone mechanics.
Previous replays (May 10) had 0 combat_death events and didn't reflect the
current state where zone starts early (turn 15-20) and forces combat.
New replays:
- demo-replay-v2.json: 2-player (random vs idle), 15 turns, 2 combat_death events
- demo-replay-v2-6p.json: 6-player (swarm,hunter,gatherer,rusher,guardian,random), 41 turns, 8 combat_death events
Verification:
- grep for combat_death events: > 0 in both replays
- Replays show focus-fire combat working as intended
Closes: bf-a918
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Add comprehensive verification for the /watch/replays match history page:
- Match cards render with real match data (8 matches)
- Bot names, turn count, winner info, map IDs all present
- 'Watch Replay' links point to real match IDs
- Curated playlist sections (featured, upsets, comebacks) render
- Empty playlists show graceful empty state
- Thumbnails handled gracefully (R2 issue tracked)
- Pagination infrastructure in place
- Mobile experience verified on Pixel 6 via ADB
Test page: web/public/test-match-list.html
Summary: MATCH_LIST_VERIFICATION_SUMMARY.md
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Verified /watch/replays shows real completed matches (not just demo)
- Match cards display bot names, turn count, winner badges, map ID
- 'Watch Replay' links point to real match IDs (m_test_*)
- Curated playlists render with real data (featured, comebacks, upsets, etc.)
- Pagination/infinite scroll works via IntersectionObserver
- Mobile testing on Pixel 6 via ADB: layout responsive, touch targets usable
- Created MATCH_LIST_TEST_RESULTS.md with full verification details
- Thumbnails not implemented (clean UI without broken images due to R2 issues)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Remove duplicate SWR cache (use shared fetchers from api-types.ts)
- Add territory view mode to featured replay embed
- Use demo replay fallback when no live matches available
- Compact layout with tighter spacing for 1080p above-the-fold
- Add missing placeholder data files: evolution/meta.json, seasons/index.json
- Fix unused import in cmd/acb-index-builder/s3_test.go
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Populate web/public/data/playlists/ with all 12 playlist slug JSON files
and update index.json so the frontend fetch calls work during local
development without requiring the index builder to have run.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Add blog generation to Go index builder (cmd/acb-index-builder/blog.go):
- Weekly meta report generation with competitive analysis
- Story arc chronicles: rise stories, upsets, rivalries
- Blog index and individual post JSON generation
- Add blog page to web SPA (web/src/pages/blog.ts):
- Blog listing with type filters (all/meta-report/chronicle)
- Individual post view with markdown rendering
- Tag cloud and post metadata display
- Added /blog and /blog/:slug routes
- Add Blog link to navigation menu
- Add placeholder blog data files for initial content
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Embeddable Replay Widget:
- web/embed.html: Minimal standalone HTML with Open Graph and Twitter Card tags
- web/src/embed.ts: TypeScript embed viewer with auto-play, progress bar, keyboard controls
- R2 warm cache + B2 cold archive fallback for replay loading
- ~7KB gzipped (well under 50KB target)
Replay Playlists:
- cmd/acb-indexer/src/playlists.ts: Auto-curated playlist generator
- Featured, upsets, comebacks, domination, close games, long games, weekly categories
- Uses match data to detect notable games
- web/src/pages/playlists.ts: SPA page for browsing playlists
- web/src/api-types.ts: Added playlist types and fetch functions
Other changes:
- web/src/replay-viewer.ts: Added getIsPlaying() method for embed viewer
- web/vite.config.ts: Added embed.html as build entry point
- web/app.html: Added Playlists nav link
- web/public/img/embed-placeholder.svg: OG image placeholder
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add web/pages.json documenting Pages project settings and data paths
- Add web/public/_headers for cache control on static assets
- Add web/public/robots.txt for SEO
- Add web/public/data/ placeholder structure for index files
- leaderboard.json
- bots/index.json
- matches/index.json
- Update PROGRESS.md marking Phase 5 complete
Phase 5 is now complete. Ready for Phase 6 (Deployment & Production).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>