Record receiver-driven IDR proof

This commit is contained in:
Meta Vens 2026-07-16 21:26:00 +01:00
commit d3d461be93
3 changed files with 23 additions and 4 deletions

View file

@ -471,10 +471,13 @@ repair requests), and the OBS audio decoder now consumes Muninn's actual float
PCM contract rather than treating it as AAC. Audio reorder is bounded to 40 ms
with short silence concealment. The next audio cut is Opus with explicit
FEC/PLC for variable-rate compressed audio; PCM now has bounded 4+2 erasure
recovery plus concealment. The next video cut is a controllable encoder owner
that can force IDR without restarting the video session. Receiver keyframe
pressure is deliberately not allowed to restart the whole A/V stream and hide
the missing authority.
recovery plus concealment. The controllable video encoder owner now exists and
forces the next NVENC frame to IDR without restarting the video session. A live
D3D11 desktop proof verified the command-generated IDR. The remaining field
cut is to install its bundle on Raven, route the existing activation task
through `--video-encoder`, and run the named impairment profiles. Raven's
WireGuard SSH route timed out during the first deployment attempt, so no
interactive workstation task was disturbed.
1. Replace the frame-event diagnostic bridge with concrete direct capture
drivers for Leap stereo IR first, then the

View file

@ -191,3 +191,4 @@
{"ts": "2026-07-16T20:29:03+01:00", "type": "verification", "status": "ok", "note": "Moonlight-derived reliability cut implemented in Odin against experimental CultLib snapshot 8965f3c0: HID epoch/latest-state/ordered-edge/application-ack semantics; wall clock demoted from ordering; Muninn A/V uses CultNet realtime lane with 100ms default LAN deadline; bounded producer/pending queues; expiring and receiver-late-aware repair cache; decode-chain-only keyframe pressure. Verification passed 168 Muninn, 25 Sleipnir, and 35 vendored experimental CultNet tests."}
{"ts": "2026-07-16T20:48:32+01:00", "type": "verification", "status": "ok", "note": "Production Muninn receiver audit fixed two live contract failures: early video repair feedback no longer places live frames in late_frame_ids (which made Odin refuse every repair), with a C++-emitted fixture decoded by Rust; OBS local audio decoder now consumes Muninn's actual f32le stereo 48kHz packets rather than AAC, default reorder is 40ms instead of 2000ms, and short gaps receive bounded silence concealment. Native plugin build and two CTests passed; Odin cross-fixture tests passed."}
{"ts": "2026-07-16T21:03:13+01:00", "type": "verification", "status": "ok", "note": "Muninn production audio recovery now uses typed 4+2 GF(256) PCM parity from Odin and a bounded Mimir receiver cache feeding the existing 40 ms reorder owner; native OBS DLL builds and 3/3 CTests pass. Odin cultnet-impair adds deterministic real-socket loss/burst/reorder/duplicate/jitter/stall profiles. Experimental CultLib snapshot lineage remains pinned at 8965f3c0."}
{"ts": "2026-07-16T21:26:00+01:00", "type": "verification", "status": "ok", "note": "Receiver decode-chain invalidation now actuates a verified next-frame NVENC IDR through Odin's long-lived libav encoder without restarting A/V or CultNet. Live 2560x1440 D3D11 proof emitted a command-driven IDR at frame 22 under a 600-frame GOP; synthetic proof emitted IDRs at frames 0 and 10 and decoded cleanly. Muninn/Sleipnir edge admission is bounded at 256 via epoch rebase; 174/26 tests pass. Raven field deployment remains pending because 10.77.0.4 SSH and TCP probing timed out."}

View file

@ -87,6 +87,21 @@ invariants:
are temporary smoke/bootstrap edges only.
accepted_design:
- Receiver-driven video recovery now reaches the actual NVENC frame owner.
Odin's `native/muninn-video-encoder` is a long-lived libavdevice desktop
capture and `h264_nvenc` process; a new decode-chain invalidation edge makes
Muninn write `IDR` to its stdin without restarting video, audio, or CultNet.
A live 2560x1440 D3D11 proof with a deliberately 600-frame GOP produced the
requested second IDR at frame 22, and its Annex-B stream decoded cleanly.
The normal quarter-second scheduled IDR remains independent fallback.
The repeatable bundle includes the OBS experimental FFmpeg dependency
snapshot. Raven installation and real impairment acceptance remain pending
because Raven's documented WireGuard SSH route timed out on 2026-07-16.
- Muninn input now bounds disconnected unacknowledged button history at 256
edges. Overflow rotates the controller epoch and rebases Sleipnir from the
next complete latest-state frame, rather than dropping an arbitrary press
or retaining history forever. Sleipnir rejects sparse future edge gaps over
256. Full Muninn (174) and Sleipnir (26) suites pass.
- The 2026-07-16 loss-recovery cut is now live on both sides of the Muninn
audio boundary. Odin emits typed `muninn.media_audio_parity_shard.v1`
records using fixed 4+2 GF(256) parity for constant-size 10 ms PCM packets.