docs(m011): record MVP balance and acceptance evidence

This commit is contained in:
2026-09-08 21:02:20 +03:00
parent 7902800ff7
commit cf187bdd1c
5 changed files with 202 additions and 5 deletions
+52 -5
View File
@@ -853,7 +853,7 @@ Implementation and required verification are complete.
## Milestone 010 — On-device integration and resource hardening
**Status:** `IN_PROGRESS`
**Status:** `COMPLETE`
### Objective
@@ -949,10 +949,42 @@ the ESP32-C6 Flash, RAM, socket, and network limits.
(internal free 235,372 bytes, largest block 212,992 bytes, queue high-water
10, six-client high-water 6). Full repeated-match and station/provisioning
acceptance evidence is not yet recorded; Milestone 010 remains `IN_PROGRESS`.
- On 2026-09-08, the project owner ran
`./scripts/ws_protocol_client.py 192.168.1.50 --verify-m010 --stress-moves 80
--repeat-matches 2` against the target device. It passed six-client load with
four complete observers, six-client responsiveness (86.9 ms), slow/malformed
stress (455.4 ms maximum player latency and 387 dropped latest observer
updates), and two repeated match cycles (16-byte heap range). Final
diagnostics recorded active connections 2, connection high-water 6, queue
high-water 8, queue depth 0, 202,292-byte minimum internal free heap,
184,320-byte minimum largest block, 20 malformed messages, 21 rate-limited
messages, 80 accepted commands, two completed/reset matches, and no PSRAM
requirement. The subsequent `/health` response was `serving` for version
`0.10.0`. Acceptance criteria 1--4 and 6 now have concrete evidence;
physical station/fallback provisioning and browser-recovery evidence for
criterion 5 remains pending, so Milestone 010 is `IN_PROGRESS`.
- On 2026-09-08, `./scripts/run_host_tests.sh` passed every health, Wi-Fi
configuration, NVS, provisioning, lobby/protocol, maze, game, disconnect
recovery, browser, and web-asset suite. Its deterministic maze sweep covered
1,024 seeds and its repeated-match reset test completed 128 cycles. The
owner also ran `pio run -e esp32-c6-devkitm-1`, which passed with 124,276 of
327,680 RAM bytes and 1,028,956 of 2,097,152 application bytes, and
`pio run -e esp32-c6-devkitm-1 --target buildfs`, which passed with the
2,031,616-byte LittleFS image exactly fitting its 2,031,616-byte partition.
- On 2026-09-08, the owner confirmed physical station recovery after network
disruption. `/api/wifi/status` returned
`{"state":"station_connected","accessPointSsid":"maze32-F7B9",`
`"ip":"192.168.1.50"}`, and bounded station retries behaved as expected.
The owner also confirmed the fallback provisioning page worked as expected
and that both active player sessions restored their original slots through
saved tokens. Together with the successful target stress run, host
regressions, production builds, and fixed-limit evidence above, this
satisfies every Milestone 010 acceptance criterion. Milestone 010 is
`COMPLETE`; Milestone 011 remains `NOT_STARTED`.
## Milestone 011 — Gameplay tuning and MVP acceptance
**Status:** `NOT_STARTED`
**Status:** `IN_PROGRESS`
### Objective
@@ -988,6 +1020,21 @@ criterion on the release candidate.
### Evidence
Completion evidence is not yet available because this milestone has not
started. Required evidence includes playtest data, the mapped acceptance report,
final build hashes and sizes, and project-owner approval of any deviations.
Implementation is in progress. `docs/BALANCE_REPORT.md` locks the current MVP
gameplay configuration and records the deterministic maze metrics. The
playtest procedure and result table are in `docs/PLAYTEST_REPORT.md`, and the
criterion-by-criterion evidence register is in `docs/MVP_ACCEPTANCE.md`.
Representative completed-match timings and the final release build record are
still required before this milestone can be marked `COMPLETE`.
- On 2026-09-08, `bash scripts/run_host_tests.sh` passed its health, Wi-Fi,
NVS, provisioning, lobby/protocol, maze, game, disconnect-recovery, browser,
and web-asset suites. The locked 1,024-seed sweep reported cycles `133..133`,
dead ends `704..854`, start-to-key distance `416..1442`, and key-to-exit
distance `346..1244`; every generated map satisfied the key-distance balance
invariant. `pio run -e esp32-c6-devkitm-1` passed using 124,276 of 327,680
RAM bytes and 1,028,956 of 2,097,152 application bytes. The matching
`buildfs` command passed using 2,031,616 of 2,031,616 LittleFS bytes.
`docs/MVP_ACCEPTANCE.md` records version `0.10.0`, build hashes, and the
19,253-byte reproducible web payload. Human playtest evidence for the
approximately five-minute target remains pending, so Milestone 011 is
`IN_PROGRESS` and Milestone 012 has not started.