diff --git a/docs/research/moonlight-muninn-sleipnir-study-2026-07-16.md b/docs/research/moonlight-muninn-sleipnir-study-2026-07-16.md index 0ceb09d..41da754 100644 --- a/docs/research/moonlight-muninn-sleipnir-study-2026-07-16.md +++ b/docs/research/moonlight-muninn-sleipnir-study-2026-07-16.md @@ -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 diff --git a/state/evidence.jsonl b/state/evidence.jsonl index 7e336cb..70b74a3 100644 --- a/state/evidence.jsonl +++ b/state/evidence.jsonl @@ -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."} diff --git a/state/map.yaml b/state/map.yaml index 4343226..e02b44a 100644 --- a/state/map.yaml +++ b/state/map.yaml @@ -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