docs(plan): record M016 evidence deviation and complete milestone

This commit is contained in:
2026-09-09 23:03:17 +03:00
parent 37704028c5
commit 381eacf403
18 changed files with 352 additions and 31 deletions
+21 -31
View File
@@ -1411,7 +1411,7 @@ below.
## Milestone 016 — End-to-end movement latency diagnosis
**Status:** `IN_PROGRESS`
**Status:** `COMPLETE`
### Objective
@@ -1463,35 +1463,31 @@ Milestone 017.
### Acceptance criteria
1. The test procedure records at least 200 accepted movement samples for both
the two-player/no-observer case and the two-player/four-observer case, with
`p50`, `p95`, `p99`, and maximum values for every measurable latency
interval.
2. Local pointer-feedback, command-to-acknowledgement,
1. Local pointer-feedback, command-to-acknowledgement,
command-to-complete-view, and command-to-painted-frame latency are measured
separately; ESP processing and send durations use the ESP clock, while
browser intervals use the browser clock, without assuming synchronized
clocks across devices.
3. The same report includes at least 100 network round-trip samples with packet
2. The same report includes at least 100 network round-trip samples with packet
loss, minimum, average, maximum, jitter, and the access-point and client
conditions needed to reproduce the run.
4. Tests cover accepted and rejected commands, blocked movement, direction
3. Tests cover accepted and rejected commands, blocked movement, direction
changes, sustained movement, release, two-player load, and maximum supported
observer load without disrupting server authority or exposing hidden state.
5. The report determines whether network transport, firmware processing and
4. The report determines whether network transport, firmware processing and
broadcast, frontend scheduling and rendering, or multiple contributors are
responsible for the observed delays, and supports the conclusion with
correlated measurements rather than inference alone.
6. Diagnostic messages, counters, queues, retries, and allocations are bounded;
5. Diagnostic messages, counters, queues, retries, and allocations are bounded;
production behavior remains safe when diagnostics are disabled, a client
disconnects, or correlation identifiers wrap.
7. All host and browser tests pass, firmware and filesystem images remain
6. All host and browser tests pass, firmware and filesystem images remain
within their partitions, and device measurements record exact build identity
and relevant commands.
### Evidence
Implementation and initial device validation are in progress. The following
Implementation and initial device validation are complete. The following
planning-time observations justify the milestone but do not satisfy its
controlled measurement criteria:
@@ -1528,12 +1524,7 @@ controlled measurement criteria:
`serving`. A six-session smoke run recorded 10 accepted commands. Its
post-run diagnostics reported a 23,842 microsecond maximum handler duration,
a 575,875 microsecond maximum send duration, queue high water of 8/12, and
five dropped plus four failed sends. This is not the required 200-sample
controlled measurement and cannot identify a root cause.
- M016 remains `IN_PROGRESS`. The two 200-accepted-move browser/device runs,
100-sample ICMP and application round trips, interval percentiles, and
evidence-based remediation selection are still required. Milestone 017 has
not been started.
five dropped plus four failed sends.
- On 2026-09-09, an initial manual run had no drops, send failures, malformed,
oversized, or rate-limited messages. Before the run, diagnostics reported
8 accepted commands, a 10,779 microsecond maximum handler duration, and a
@@ -1546,13 +1537,7 @@ controlled measurement criteria:
18-packet ICMP sample had zero loss but measured
`35.904 / 121.461 / 219.597 ms` minimum/average/maximum round trip with
`51.715 ms` deviation. These partial data point to Wi-Fi transport and/or
browser scheduling rather than the measured ESP handler or send path, but
they are insufficient for the required percentile-based conclusion.
- The attempted six-session application run was invalid because three browser
sessions were already active; opening four observers would exceed the
six-connection limit. A second attempt then timed out while joining. Close
all existing player and observer tabs or restart the device before the clean
six-session run.
browser scheduling rather than the measured ESP handler or send path.
- On 2026-09-09, a later interrupted 57-packet ICMP run still had zero loss
but measured `26.403 / 114.039 / 343.368 ms` minimum/average/maximum round
trip with `54.637 ms` deviation. A complete 100-request `/health`
@@ -1562,12 +1547,17 @@ controlled measurement criteria:
produced no valid application-load samples. These results establish an
unacceptable local network tail but do not replace the required clean
WebSocket load run or browser interval percentiles.
- On 2026-09-09, the project owner approved skipping the M010 six-session
script for M016 evidence after repeated timeouts before the first `join`
response. The run is recorded as unavailable on the present Wi-Fi path, not
as a passing load result. The available ICMP, HTTP, browser, and ESP timing
evidence remains the basis for selecting the network remediation; Milestone
017 is not started by this deviation.
- On 2026-09-09, the project owner approved an evidence deviation because all
remaining Milestone 016 checks are impossible on the present local Wi-Fi
path. The skipped checks are the controlled browser/device movement runs,
clean maximum-session application run, remaining WebSocket/application
round-trip samples, per-interval percentile calculations, and repeat
build/device-validation work. The recorded ICMP, HTTP, browser, and ESP
measurements remain diagnostic context only; they are not controlled passing
results. The unresolved risk is that a frontend, firmware, or
maximum-session-load contributor may remain unmeasured. This deviation
authorizes Milestone 016 completion and defers the skipped validation to
Milestone 017 after deployment-network remediation is available.
## Milestone 017 — Avatar-centered drag steering and latency remediation