Skip to content

Commit 05fb30c

Browse files
author
DavidQ
committed
Create PR_DEBUG_SURFACES_NETWORK_SERVER_DASHBOARD_FULL
1 parent 602de32 commit 05fb30c

12 files changed

+781
-41
lines changed

docs/dev/CODEX_COMMANDS.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
MODEL: GPT-5.4-codex
2-
REASONING: medium
2+
REASONING: high
33

44
COMMAND:
5-
Execute PLAN + BUILD + APPLY for NETWORK_SAMPLE_A_INDEX_FIX
5+
Create PR_DEBUG_SURFACES_NETWORK_SERVER_DASHBOARD_FULL
66

7-
OUTPUT:
8-
<project folder>/tmp/PR_NETWORK_SAMPLE_A_INDEX_FIX_FULL_bundle.zip
7+
PURPOSE:
8+
Implement Track T — Server Dashboard for real-time network observability using Sample A as the data source.

docs/dev/COMMIT_COMMENT.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Fix Network Sample A integration in games/index.html, update NETWORK_SAMPLES_PLAN.md, and apply bracket-only BIG_PICTURE_ROADMAP.md updates.
1+
build(network-dashboard): implement Track T server dashboard with polling metrics and admin gate

docs/dev/NETWORK_SAMPLES_PLAN.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -79,15 +79,15 @@ Track the staged network sample journey for debug surface support using a strict
7979

8080
# TRACK T — SERVER DASHBOARD
8181

82-
- [ ] Server dashboard shell
83-
- [ ] Player statistics view
84-
- [ ] Latency view
85-
- [ ] RX bytes view
86-
- [ ] TX bytes view
87-
- [ ] Connection/session counts
88-
- [ ] Per-player status rows
89-
- [ ] Refresh/update strategy
90-
- [ ] Debug-only access rules
82+
- [x] Server dashboard shell
83+
- [x] Player statistics view
84+
- [x] Latency view
85+
- [x] RX bytes view
86+
- [x] TX bytes view
87+
- [x] Connection/session counts
88+
- [x] Per-player status rows
89+
- [x] Refresh/update strategy
90+
- [x] Debug-only access rules
9191

9292
---
9393

@@ -111,4 +111,4 @@ Track the staged network sample journey for debug surface support using a strict
111111
5. Sample C
112112
6. Server dashboard
113113
7. Server containerization
114-
8. Promotion review
114+
8. Promotion review

docs/dev/NEXT_COMMAND.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Next: PR_DEBUG_SURFACES_NETWORK_SERVER_DASHBOARD_FULL
1+
PR_DEBUG_SURFACES_NETWORK_SERVER_CONTAINERIZATION_FULL
Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
1-
Executed PLAN + BUILD + APPLY for NETWORK_SAMPLE_A_INDEX_FIX.
1+
Implemented PR_DEBUG_SURFACES_NETWORK_SERVER_DASHBOARD_FULL (Track T).
22

3-
Applied scope:
4-
- patched games/index.html from current code base
5-
- kept existing structure and ordering intact
6-
- ensured Level 11 - Network Games placement for Network Sample A
7-
- ensured card-level docs links are present
8-
- updated docs/dev network tracking artifacts and bracket-only roadmap status items
3+
Delivered:
4+
- Server-owned dashboard and metrics endpoints under games/network_sample_a/server.
5+
- Polling HTML dashboard (no websocket dependency).
6+
- Read-only diagnostics sourced from Sample A fake network model.
7+
- Metrics: player/session counts, connection state, latency summary + per-player, RX bytes, TX bytes.
8+
- Debug/admin gate: loopback restriction + key-based access.
9+
- Track T checklist in NETWORK_SAMPLES_PLAN updated to complete.
10+
- Runtime fix: corrected embedded dashboard script string construction to avoid nested-template parse failures.
911

10-
No engine/runtime code changes were made.
12+
Scope preserved:
13+
- no engine/core changes
14+
- no containerization work
15+
- BIG_PICTURE_ROADMAP not modified

docs/dev/reports/file_tree.txt

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
docs/pr/PLAN_PR_NETWORK_SAMPLE_A_INDEX_FIX.md
2-
docs/pr/BUILD_PR_NETWORK_SAMPLE_A_INDEX_FIX.md
3-
docs/pr/APPLY_PR_NETWORK_SAMPLE_A_INDEX_FIX.md
1+
docs/pr/PLAN_PR_DEBUG_SURFACES_NETWORK_SERVER_DASHBOARD.md
2+
docs/pr/BUILD_PR_DEBUG_SURFACES_NETWORK_SERVER_DASHBOARD.md
3+
docs/pr/APPLY_PR_DEBUG_SURFACES_NETWORK_SERVER_DASHBOARD.md
4+
docs/dev/CODEX_COMMANDS.md
5+
docs/dev/COMMIT_COMMENT.txt
6+
docs/dev/NEXT_COMMAND.txt
47
docs/dev/NETWORK_SAMPLES_PLAN.md
5-
docs/dev/BIG_PICTURE_ROADMAP.md
6-
docs/dev/codex_commands.md
7-
docs/dev/commit_comment.txt
8-
docs/dev/next_command.txt
98
docs/dev/reports/change_summary.txt
10-
docs/dev/reports/validation_checklist.txt
119
docs/dev/reports/file_tree.txt
12-
games/index.html
13-
games/network_sample_a/assets/preview.svg
10+
docs/dev/reports/validation_checklist.txt
11+
games/network_sample_a/server/networkSampleADashboardServer.mjs
12+
games/network_sample_a/server/README.md
Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,27 @@
1-
[x] games/index.html patched from current code base
2-
[x] no top showcase section added
3-
[x] Level 11 - Network Games set
4-
[x] Network Sample A card added
5-
[x] docs links added
6-
[x] NETWORK_SAMPLES_PLAN updated
7-
[x] BIG_PICTURE_ROADMAP bracket-only edits only
1+
Workflow
2+
- [x] PLAN created
3+
- [x] BUILD created
4+
- [x] APPLY created
5+
6+
Track T Implementation
7+
- [x] lightweight server dashboard implemented
8+
- [x] player/session count metrics exposed
9+
- [x] connection state metrics exposed
10+
- [x] latency summary + per-player exposed
11+
- [x] RX/TX byte metrics exposed
12+
- [x] integrated with Sample A fake network source
13+
- [x] polling refresh implemented
14+
- [x] debug/admin-only gate implemented
15+
16+
Safety
17+
- [x] read-only diagnostics only
18+
- [x] no engine changes
19+
- [x] Sample A game remains intact
20+
- [x] BIG_PICTURE_ROADMAP.md unchanged
21+
22+
Validation Runs
23+
- [x] node --check games/network_sample_a/server/networkSampleADashboardServer.mjs
24+
- [x] health endpoint returns 200
25+
- [x] unauthorized metrics endpoint returns 403
26+
- [x] authorized metrics endpoint returns 200 with summary + players
27+
- [x] dashboard endpoint returns 200
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
Toolbox Aid
2+
David Quesenberry
3+
04/06/2026
4+
APPLY_PR_DEBUG_SURFACES_NETWORK_SERVER_DASHBOARD.md
5+
6+
# APPLY_PR_DEBUG_SURFACES_NETWORK_SERVER_DASHBOARD
7+
8+
## Apply Scope
9+
Apply the approved Track T implementation only.
10+
11+
## In Scope Files
12+
- `games/network_sample_a/server/networkSampleADashboardServer.mjs`
13+
- `games/network_sample_a/server/README.md`
14+
- `docs/pr/PLAN_PR_DEBUG_SURFACES_NETWORK_SERVER_DASHBOARD.md`
15+
- `docs/pr/BUILD_PR_DEBUG_SURFACES_NETWORK_SERVER_DASHBOARD.md`
16+
- `docs/pr/APPLY_PR_DEBUG_SURFACES_NETWORK_SERVER_DASHBOARD.md`
17+
- `docs/dev/NETWORK_SAMPLES_PLAN.md` (Track T bracket updates)
18+
- docs/dev controls/reports for this PR bundle
19+
20+
## Validation
21+
- start dashboard server successfully
22+
- authorized dashboard page loads
23+
- authorized metrics endpoint returns JSON
24+
- unauthorized request is rejected
25+
- polling updates visible metrics
26+
- Track T items in `NETWORK_SAMPLES_PLAN.md` moved to `[.]` or `[x]`
27+
- `BIG_PICTURE_ROADMAP.md` unchanged
28+
29+
## Output
30+
`<project folder>/tmp/PR_DEBUG_SURFACES_NETWORK_SERVER_DASHBOARD_FULL_bundle.zip`
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
Toolbox Aid
2+
David Quesenberry
3+
04/06/2026
4+
BUILD_PR_DEBUG_SURFACES_NETWORK_SERVER_DASHBOARD.md
5+
6+
# BUILD_PR_DEBUG_SURFACES_NETWORK_SERVER_DASHBOARD
7+
8+
## Build Summary
9+
Implemented Track T with a lightweight server dashboard for Sample A network telemetry using polling and read-only diagnostics.
10+
11+
## Implemented
12+
1. Server-owned dashboard runtime
13+
- file: `games/network_sample_a/server/networkSampleADashboardServer.mjs`
14+
- HTTP routes:
15+
- `/admin/network-sample-a/dashboard`
16+
- `/admin/network-sample-a/api/metrics`
17+
- `/admin/network-sample-a/health`
18+
19+
2. Data source integration
20+
- imports `games/network_sample_a/game/FakeLoopbackNetworkModel.js`
21+
- runs deterministic multi-player/session telemetry states
22+
- exposes per-player and summary metrics
23+
24+
3. Metrics surfaced
25+
- player count
26+
- session count
27+
- connection state (summary + per player)
28+
- latency (summary + per player)
29+
- RX bytes (summary + per player)
30+
- TX bytes (summary + per player)
31+
32+
4. Access gating
33+
- loopback-only access restriction
34+
- admin key gate via query/header
35+
- optional localhost bypass env flag for local debug
36+
37+
5. Polling refresh
38+
- dashboard page polls JSON endpoint at configurable interval
39+
- no websocket dependency
40+
41+
6. Reusability
42+
- separation between telemetry source, API response, and dashboard UI rendering
43+
- structure is ready for swapping fake data source with real networking source later
44+
45+
## Scope Safety
46+
- no engine/core modifications
47+
- no DB/auth system expansion
48+
- no Track U containerization work
49+
- no BIG_PICTURE roadmap edits
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
Toolbox Aid
2+
David Quesenberry
3+
04/06/2026
4+
PLAN_PR_DEBUG_SURFACES_NETWORK_SERVER_DASHBOARD.md
5+
6+
# PLAN_PR_DEBUG_SURFACES_NETWORK_SERVER_DASHBOARD
7+
8+
## Goal
9+
Implement Track T (Server Dashboard) with a lightweight, server-owned, polling-based observability surface backed by Sample A fake network data.
10+
11+
## Workflow
12+
PLAN_PR -> BUILD_PR -> APPLY_PR
13+
14+
## In Scope
15+
- server-owned dashboard endpoint/page
16+
- read-only metrics endpoint
17+
- metrics coverage:
18+
- player/session count
19+
- connection state
20+
- latency per player + summary
21+
- RX bytes
22+
- TX bytes
23+
- integration with Sample A fake network provider/model
24+
- polling refresh (no websocket requirement)
25+
- debug/admin-only access gate
26+
- reusable dashboard structure for future real networking
27+
28+
## Out Of Scope
29+
- databases
30+
- full authentication/authorization systems
31+
- engine changes
32+
- containerization (Track U)
33+
34+
## Architecture Contract
35+
- ownership stays under `games/network_sample_a/server`
36+
- server imports and reuses `FakeLoopbackNetworkModel`
37+
- dashboard reads from server API only (no engine coupling)
38+
- all telemetry is diagnostic and read-only
39+
40+
## Acceptance Criteria
41+
- dashboard route renders in browser when authorized
42+
- metrics API returns expected JSON shape
43+
- polling updates dashboard without websocket
44+
- Sample A browser game remains functional and unchanged
45+
- Track T checklist items updated to `[.]` or `[x]`
46+
- `BIG_PICTURE_ROADMAP.md` unchanged

0 commit comments

Comments
 (0)