Document Raven Moonlight field acceptance

This commit is contained in:
Meta Vens 2026-07-17 08:12:21 +01:00
commit fea4d27dd1
3 changed files with 41 additions and 0 deletions

View file

@ -257,6 +257,36 @@ loss:
Muninn and Sleipnir already have enough organs to become strong. The next work
is to give each signal one explicit survival law and make the transport obey it.
## 2026-07-17 LAN field results
The Moonlight-derived ownership changes now have Raven-to-Starfire field
evidence over LAN, with Raven processes launched only through hidden scheduled
tasks:
- Muninn video uses independently recoverable block parity plus bounded repair.
During a seeded 1% datagram-loss run, the OBS receiver advanced from 2 to 12
video assembly expiries while forwarding 14,400 additional payload groups:
99.93% completed without expiry. Audio reported zero failures, skips, or stale
packets in the same interval. The impairment proxy forwarded 2,147,356 of
2,169,105 datagrams with zero queue overflow.
- Sleipnir latest-state delivery remained live through seeded 1% loss. Cutting
the proxy caused the non-neutral virtual Xbox pad to neutralize after 1.56 s,
owned by the named stale-input lease; restoring the hidden proxy reconnected
and resumed state without operator action.
- A continuous 64-packet receive drain was retaining the newest input for about
48-57 ms before HID application. Bounding that drain to 2 ms reduced live
receiver-owned receive-to-apply time to typically 69-204 microseconds. A
witnessed 16 ms spike remains to characterize.
- Starfire and Raven wall clocks differ by roughly 2.38 s. Sleipnir no longer
publishes their raw subtraction as one-way latency. Its surface reports that
source-clock latency is unavailable without a clock model and exposes only
monotonic receiver-owned stage durations.
These results clear the initial 99.9% media-completion and disconnect-safety
gates at 1% independent loss. They do not yet prove glass-to-glass latency,
A/V skew, ordered quick-tap delivery under loss, 5%/burst behavior, or a long
mixed-impairment soak. Those remain acceptance gates, not footnotes.
The field comparison also exposed a generic transport invariant Moonlight's
long-running sessions force us to respect: bounded wire identifiers must wrap
deliberately. CultNet's fragmented-message ID previously saturated at the

View file

@ -199,3 +199,4 @@
{"ts": "2026-07-17T01:59:33+01:00", "type": "scar", "status": "open", "note": "Direct Raven LAN falsified trailing-parity sufficiency: a 24-datagram sequence gap left a 56-chunk keyframe at 52/56 with parity_present=false because all 16 V3 parity shards followed the data and fell in the same tail burst. Next cut must disperse parity/adapt block layout; deadline increases and repair flooding are not owners."}
{"ts": "2026-07-17T02:34:05+01:00", "type": "verification", "status": "ok", "note": "Receiver completed-frame tombstones eliminated false post-FEC ghost assemblies: a 7-minute LAN run forwarded 54,000 payloads with zero video assembly expiry before an experimental weighted sender scheduler independently caused audio queue eviction; the scheduler was deleted. A later genuine 24-datagram tail burst left a frame 18/33 with only the leading 8 of 16 bookended parity shards available, proving V3 frame-wide bookends still need Moonlight-style multi-block FEC."}
{"ts": "2026-07-17T02:58:43+01:00", "type": "rejected_path", "status": "ok", "note": "Adaptive frame-wide parity was tested and removed: 32 dispersed shards still expired a frame during a 54-datagram gap, and 64-shard production recovery violated the 50 ms CPU bound. V4 must use smaller independently recoverable blocks rather than a frame-wide bandwidth/matrix arms race. Periodic audio skips were traced separately to seven orphaned Raven WASAPI capture workers left by forced parent stops; the hidden scheduled task now reaps only stale Muninn, FFmpeg, encoder, and loopback workers before launching exactly one sender tree."}
{"ts":"2026-07-17T08:15:00+01:00","type":"verification","status":"partial","note":"Raven LAN Moonlight field pass used hidden scheduled tasks, no WireGuard, and experimental CultLib 8965f3c0. Seeded 1% media loss completed 99.93% of 14,400 additional OBS payload groups without expiry (10 expiries), with zero audio failures/skips and no impairment-proxy queue overflow. Sleipnir neutralized the non-neutral virtual Xbox pad after 1.56 s of input loss and automatically recovered. A 64-packet continuous receive drain caused 48-57 ms receive-to-apply delay; a 2 ms drain budget reduced typical live receiver-owned delay to 69-204 us. Cross-host raw clock subtraction was removed from latency telemetry. One 16 ms spike, quick-tap edge impairment, 5%/burst input, glass-to-glass age, A/V skew, and mixed soak remain open."}

View file

@ -186,6 +186,16 @@ accepted_design:
replaceable latest state from ordered non-replaceable edges, coalesce before
enqueue, acknowledge applied edge/state sequences, and use a proved clock
model before reporting cross-host wall-clock subtraction as one-way latency.
- The 2026-07-17 Raven LAN field pass used hidden scheduled tasks and the
experimental CultLib snapshot at `8965f3c0`; Raven used no WireGuard path.
Seeded 1% media loss completed 99.93% of 14,400 additional OBS payload
groups without video assembly expiry and produced zero audio failures or
skips. Sleipnir neutralized a non-neutral virtual pad 1.56 s after input
loss and recovered automatically. Bounding its continuous receive drain to
2 ms reduced live receive-to-apply from roughly 48-57 ms to typically
69-204 us. Cross-host source latency is now explicitly unavailable until a
clock offset/uncertainty model exists; a 16 ms receiver-side spike, edge
impairment proof, glass-to-glass age, A/V skew, and mixed soak remain open.
- Nightwing Muninn `d0eded6` now owns PSMoveAPI observation admission in each
private Eye worker. It rejects stale, sub-2 px, out-of-frame, and
discontinuous positions before the parent aggregates evidence; typed