Cloudflare R2 was never the intended storage layer — plan.md correctly specifies Backblaze B2 via Cloudflare Bandwidth Alliance. Remove the Cloudflare R2 Setup section from the phase6 checklist, replace all r2.aicodebattle.com URLs with b2.aicodebattle.com, fix the data flow diagram to show K8s cluster as write-only compute (battles + replay building) with no inbound user traffic, and update spa-route-test-results to reference /b2/ paths consistently.
3.8 KiB
SPA Route Smoke Test Results
Date: 2026-05-24 Bead: bf-2qp0 Method: curl (ADB not available on this system) Base URL: https://ai-code-battle.pages.dev
Summary
| Metric | Count |
|---|---|
| Passed | 36 |
| Warned (404) | 7 |
| Failed | 0 |
| Total | 43 |
Result: All SPA routes return valid HTML. The /b2/ data paths return 404 (data not yet deployed — B2 bucket not yet publicly accessible and index builder not yet running).
Static Routes (All Passed)
| Route | Description | Status |
|---|---|---|
/ |
Home page | 200 OK |
/watch |
Watch hub | 200 OK |
/watch/replays |
Matches page | 200 OK |
/watch/playlists |
Playlists page | 200 OK |
/watch/replay |
Replay page (no id) | 200 OK |
/watch/predictions |
Predictions page | 200 OK |
/watch/series |
Series page | 200 OK |
/compete |
Compete hub | 200 OK |
/compete/sandbox |
Sandbox page | 200 OK |
/compete/register |
Register page | 200 OK |
/compete/docs |
Compete docs | 200 OK |
/compete/docs/api |
API docs | 200 OK |
/leaderboard |
Leaderboard page | 200 OK |
/evolution |
Evolution page | 200 OK |
/blog |
Blog page | 200 OK |
/seasons |
Seasons page | 200 OK |
/rivalries |
Rivalries page | 200 OK |
/feedback |
Feedback page | 200 OK |
/docs/api |
API docs (alt path) | 200 OK |
Redirect Routes (All Passed)
| Route | Description | Status |
|---|---|---|
/matches |
Redirect to /watch/replays | 200 OK |
/playlists |
Redirect to /watch/playlists | 200 OK |
/replay |
Redirect to /watch/replay | 200 OK |
/predictions |
Redirect to /watch/predictions | 200 OK |
/series |
Redirect to /watch/series | 200 OK |
/sandbox |
Redirect to /compete/sandbox | 200 OK |
/register |
Redirect to /compete/register | 200 OK |
/bots |
Redirect to /leaderboard | 200 OK |
/docs |
Redirect to /compete/docs | 200 OK |
/clip-maker |
Redirect to /watch/replays | 200 OK |
Parameterized Routes (All Passed - routing only)
| Route | Description | Status |
|---|---|---|
/watch/replay/:id |
Replay detail | 200 OK |
/bot/:id |
Bot profile | 200 OK |
/compete/bot/:id |
Bot profile (compete path) | 200 OK |
/season/:id |
Season detail | 200 OK |
/watch/series/:id |
Series detail | 200 OK |
/blog/:slug |
Blog post | 200 OK |
/watch/playlists/:slug |
Playlist detail | 200 OK |
Note: Parameterized routes tested with placeholder IDs. Routes return valid SPA shell; actual data loading depends on /b2/ data paths served from Backblaze B2 via Cloudflare CDN.
Data Paths (/b2/) - 404 Expected
| Path | Description | Status |
|---|---|---|
/b2/ |
B2 data root | 404 Not Found |
/b2/data/matches/index.json |
Matches index | 404 Not Found |
/b2/data/leaderboard.json |
Leaderboard data | 404 Not Found |
/b2/data/seasons/index.json |
Seasons index | 404 Not Found |
/b2/data/series/index.json |
Series index | 404 Not Found |
/b2/data/blog/index.json |
Blog index | 404 Not Found |
/b2/data/playlists/index.json |
Playlists index | 404 Not Found |
Note: These 404s are expected — the B2 bucket is not yet publicly accessible and the index builder is not yet running. Data paths are served from Backblaze B2 (not Cloudflare R2). This is a data availability issue, not a routing issue. See related bead bf-cmh1 for end-to-end replay viewer testing.
Test Script
The test script is available at /home/coding/ai-code-battle/test_routes.sh. Run with:
./test_routes.sh
ADB Testing
ADB was not available on this system (adb-check command not found, no platform-tools in ~/.local/). The fallback curl method was used instead. For full device testing with ADB, see the related bead bf-cmh1.