Repository navigation
test(ts): audit random-loss decisions with bufferbloat - #6000
Conversation
Co-Authored-By: GPT-6.1-Sol <noreply@openai.com>
Keep the current BBR policy and approved probing and realtime goals. Rework future impairment acceptance to require shaped finite queues and actual overflow, while retaining scripted recovery correctness checks. Bufferbloat measurements and final audit verdicts remain in progress; quest check and git diff --check pass. Co-Authored-By: GPT-6.1-Sol <noreply@openai.com>
Reproduce the false headroom rejection with MP2 and AC-3 timestamps, then compare their exact legacy microsecond conversion back to 90 kHz. Keep raw media matching and reject larger shifts and missing tails. Correct the existing jitter acquisition documentation. The regression fails twice without the fix; all 24 controls and all graders on the saved headroom capture pass. Fresh overflowing headroom and passthrough measurements remain in progress; full just check is reserved with the coordinator. Co-Authored-By: GPT-6.1-Sol <noreply@openai.com>
Replace the semantic nightly HRD fixtures with measured headroom inputs and run passthrough behind the measured CUBIC overflow queue. Refuse random loss combined with rate shaping or live timing, with CI-wired refusal and positive controls. Delete the completed random-loss decision audit and its references; verdicts and exact measurements are recorded in the PR. All focused measurements have finished, shell checks and quest check pass, and the full just check remains reserved with the coordinator. Co-Authored-By: GPT-6.1-Sol <noreply@openai.com>
|
Audit checkpoint: (written by GPT-6.1-Sol) |
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 23 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Take main's random-loss audit verdicts (#6000) for the BBR study and drop the deleted audit quest. Drop the finished 0-RTT window raise and the retired datagram priority entries from the QUIC epic, take main's auth epic, and recheck the audit checkpoint against current main. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Problem
holes.py --shedrejected every legacy audio frame in a shaped headroom capture: each MP2 PID's 4,912 frames were called out of order. Hang's legacy container converts their timestamps to microseconds before TS floors them back to 90 kHz. The grader compared raw source timestamps instead of that documented conversion.The random-loss decision audit also found stale performance inputs after #5918: the BBR study requested a 10% random-loss target, and cut-through swept random loss for its go/no-go.
Approach
--losswith--rateor--livebefore build/network startup. Keep standalone random-loss correctness checks, guarded by a positive control in existingts-controlsCI.Verdicts
with_delaydocs to describe the existing two-delay acquisition bound and latest-sent-track anchor. No claim that either bound is optimal.LOSS_THRESHpassthrough.py --loss-ok(#5856)Measurements
Runtime baseline:
6c357679a. Production behavior is unchanged on this branch. Commands used pinned Nix, debug builds,CARGO_BUILD_JOBS=2,NEXTEST_TEST_THREADS=4, seed 1, 25 ms each way, and the existing 1 s export delay on a shared host. No random loss was configured. CUBIC meansMOQ_QUIC_CONGESTION_CONTROL=loss.All rows use
just test ts,--rate 7000000, and--duration 120, except the BBR drop control's 60 s. HRD is 9 Mb/s video in a 10 Mb/s multiplex; headroom adds four audio PIDs in 12.5 Mb/s; passthrough carries the whole 10 Mb/s multiplex.--hrd, BBR3, default 2 s--hrd, CUBIC,--queue 250ms--hrd, BBR3,--queue 50ms --duration 60--headroom, BBR3, default 2 s--headroom, CUBIC,--queue 250ms--passthrough, CUBIC,--queue 250msFile captures do not measure live release timing. These are acceptance outcomes, not a controller bake-off, fairness study, or natural-drain policy comparison. Passing local evidence remains under the worktree's ignored
.scratch/runs/; every process finished and was reaped.Impact
with_delaydocumentation corrected.--losscombined with--rateor--liveis now refused.Alternatives
An arbitrary ±1-tick tolerance would accept shifts the exact conversion rejects. Changing production timestamps would alter carriage behavior instead of fixing the oracle. Raising
LOSS_THRESHfor 10% random loss or abandoning independently approved probing/realtime work does not follow from these results.Follow-ups
Existing BBR/probe/realtime quests retain their independent studies and adoption decisions. No new maintainer decision is pending in this audit. The required full local check passed at frozen head
62730e278d56fda0c8e435adefc3e447e0ffbdc0. The PR is ready for review; no merge or auto-merge was requested.Validation
shellcheck -xandshfmt --difffor both changed shell scripts: pass.quest check: 436 documents pass.git diff --check: pass.CARGO_BUILD_JOBS=2 NEXTEST_TEST_THREADS=4 nix develop --command just check: passed at62730e278d56fda0c8e435adefc3e447e0ffbdc0(formal exit 0).(written by GPT-6.1-Sol)