CultLib/packages
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens a813c09b6d Media FEC: enforce the datagram invariant at the producer, refuse overflowing audio blocks
The 720-byte shard cap stood in for "an encoded record fits one datagram" and
failed it at legal maximum-width identifiers. The invariant is now checked where
records are produced: protect_video_frame and protect_audio_block take the
producer's provenance, encode each record, and refuse the block when one exceeds
MediaFecPolicy::max_wire_bytes (default 1431, the IPv4/1500 MTU budget; smaller
paths pass less). The fixed cap is deleted; it contradicted a larger budget and
bounded nothing the decoder does not already hold in memory.

Audio block arithmetic lives in one function, audio_slot, used by the protect
path, the wire validator and recovery. The validator refuses a parity record
whose last packet id or pts overflows; recovery uses the same checked function
instead of adding.

Tests pin the policy 256-shard bounds, block identity on block_count and
block_data_start, the k=16 m=4 known answer, and the burst property
(worst always-recovering burst = blocks x smallest m for 1..=399 chunks), and
the wire behaviour of the media channel profile (delivery and expiry). Docs
state the rs-gf256-v1 construction and that audio playout gates on pts.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-09-30 02:50:11 +02:00
..
cultcache-py Prove TypeScript, Python and Rust refuse the C#-written variant store by name 2026-09-29 04:21:59 +02:00
cultcache-rs Prove TypeScript, Python and Rust refuse the C#-written variant store by name 2026-09-29 04:21:59 +02:00
cultcache-ts Prove TypeScript, Python and Rust refuse the C#-written variant store by name 2026-09-29 04:21:59 +02:00
cultmath Merge the snoise seam fix (Asura Q-N1 a): upstream kernel r2=0.5, scale 105, permute +10 2026-09-29 13:55:08 +02:00
cultmesh-browser Raise the TypeScript packages' Node floor to 20 2026-09-29 01:21:18 +02:00
cultmesh-kotlin Consolidate CultNet schema contracts into CultLib/contracts/cultnet 2026-09-13 17:27:41 +02:00
cultmesh-py CultNet selection cut1, commit 2 fix batch: R-2, Python refuses v1 selection messages 2026-09-22 06:13:16 +02:00
cultmesh-rs Land R-N in Rust: cultnet.error.v0 code/details, matched byte-for-byte 2026-09-22 20:00:37 +02:00
cultmesh-ts Raise the TypeScript packages' Node floor to 20 2026-09-29 01:21:18 +02:00
cultnet-py CultNet selection cut1 fix batch: R-L (contract, Python, mutate-dotnet.ps1) 2026-09-22 09:39:53 +02:00
cultnet-rs Media FEC: enforce the datagram invariant at the producer, refuse overflowing audio blocks 2026-09-30 02:50:11 +02:00
cultnet-ts Idunn runtime fixture generator takes its specification as input 2026-09-29 04:30:40 +02:00