39 lines
2.4 KiB
Markdown
39 lines
2.4 KiB
Markdown
# Telemetry validation — 2026-10-25
|
|
|
|
The final native run is T4, using a frozen copy of the production addon, private
|
|
Workbench profile and private Gamescope/Proton session. Production and dependency
|
|
sources remained unchanged and private-process cleanup was confirmed.
|
|
|
|
- Native scripts compiled on Workbench 1.8.0.13.
|
|
- Seven native assertions and one completion cover initial event persistence,
|
|
native JSON reload, one final result despite repeated termination, HTTP retry
|
|
and acknowledgement, the 64-record queue bound, and authorized administrator
|
|
opt-out including removal of recovery data.
|
|
- A loopback Python receiver returned 503 on the first POST, then 204. The first
|
|
two requests carried the identical event ID and payload; the third carried the
|
|
preparation-failure result. All three used `/ingest` and `application/json`.
|
|
- The receiver accepts chunked request bodies, which the engine actually uses.
|
|
T3 initially lacked this support in the fixture and therefore failed to decode
|
|
requests; this was corrected in T4 without changing shipping transport code.
|
|
- The full repository suite passed. The additional actual-method policy harness
|
|
covers HTTP status ranges, stale callbacks, backoff, duplicate completion,
|
|
interrupted/empty-restart outcome classification, resume with the same mission
|
|
ID, and client/stale-world rejection.
|
|
|
|
`native/runner.json` records `smoke-completed` and confirmed cleanup. The strict
|
|
native report still exits nonzero: the fixture deliberately causes a preparation
|
|
failure and a 503 response, and the installed world resources emit existing
|
|
unknown-property errors. These are retained in the raw report; this is not an
|
|
error-free-engine or multiplayer certification.
|
|
|
|
The fixture permits one exact loopback HTTP URL only in its frozen source copy;
|
|
shipping code still requires HTTPS. No external telemetry endpoint was contacted.
|
|
Raw HTTP payloads remain in `/tmp/erri-telemetry-run-T4/http-events.json`; they are
|
|
not committed because a native local player identity can appear. The committed
|
|
HTTP summary records the assertions without player names/account IDs. No live
|
|
server, installed addon, published Workshop version or Discord delivery changed.
|
|
|
|
Reproduce with `python3 docs/evidence/telemetry-2026-10-25/isolated-runner.py NEWID`.
|
|
It requires the existing isolated Tools prefix and installed dependency sources;
|
|
read the native result/assertions as well as the strict reporter exit status.
|