Files
VerseVDI-Data-Plane/openspec/changes/truthful-fixed-frame-qualification/proposal.md
T
sechmachine 55afea72a1
Verify Data Plane / gateway (push) Successful in 4m14s
fix(gateway): bound Apollo video ingress
2026-08-09 19:07:22 +07:00

2.1 KiB

Why

The existing fixed-profile harness treats each 1,179-byte datagram as an encoded frame, so its reported frame rate, frame boundaries, bitrate, queue pressure, and processing evidence do not model the named 60/120 FPS profiles.

The v6 complete-frame fixture subsequently exposed a source-fidelity defect on ordinary Linux runners: it emitted every UDP shard in one tight loop, unlike pinned Apollo's bounded intra-frame rate and batch schedule. The affected v6 qualification evidence remains retained but is superseded for candidate-readiness purposes.

Private Linux run 125 then demonstrated a separate production-ingress defect after source pacing was corrected: 33 successful fixture writes missing from MediaIngress matched 33 measured kernel UDP drops while decrypt/FEC, queue, pacer, QUIC, and client counters remained downstream of the shortfall.

What Changes

  • Generate deterministic variable-size encoded frame units at the named frame rates and target bitrates, including bounded keyframes.
  • Traverse native Apollo recovery, production queues, the production pacer, QUIC framing, and independent reassembly.
  • Assert frame count/rate, bitrate, exact bytes and boundaries, clean loss attribution, latency, and resource bounds.
  • Decouple native video socket draining from the single decrypt/FEC processor with a fixed provider-scoped receive pool and request the source-backed video receive-buffer size.
  • Keep short smoke tests separate and leave all prior normative artifacts unchanged.

Capabilities

New Capabilities

None.

Modified Capabilities

  • gateway-qualification: Fixed-profile evidence measures complete encoded frame units rather than one datagram per frame.

Impact

The qualification harness, its canonical specification, and native Apollo video ingress in gateway/apollo_native.go. Downstream complete-frame queues, audio/control ingress, codec/FEC formats, pacing, QUIC, dependencies, and public interfaces remain unchanged. No codec operation or normative rerun is included. Requirements: P3C-002, P3C-008, P3C-029, P3C-030, P3C-033, VER-009, VER-010, OPS-015.