Skip to content

quest: restart the capped-budget count after the history-fill fix - #7286

Merged
moq-bot[bot] merged 4 commits into
mainfrom
quest/m1/audio-jitter-target/capped-budgets
Oct 31, 2026
Merged

moq-bot[bot] merged 4 commits into
mainfrom
quest/m1/audio-jitter-target/capped-budgets

Conversation

@kixelated

@kixelated kixelated commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator

Progress on quest/m1/audio-jitter-target/capped-budgets.md. Five of the seven scheduled nightlies since 2026-10-25 have run. budgets.json is unchanged: the Plan says to re-measure only from seven nights, and the first four of these measured a relay bug.

Findings

  • 2026-10-25 to 10-28 measured a relay history-fill bug, not the player. 2 to 4.5 s into every browser row except fixed-250 and Opus near-zero, the subscriber received 15 to 25 s of the publisher's cached history, newest first. On the wide rows the estimator treated it as a late interval, held a 2020 ms target for about 20 s, then discarded 1.8 to 1.9 s of audio a minute falling back. That happened on all four nights, so it is the 10-28 AAC/Opus wide breach. The 10-28 Opus bursty 540 ms target lines up with the same arrival at 4.5 s. No wide or bursty row logged more than one long task (at most 58 ms), so these are not runner stalls.
  • moq-dev/moq#7168 fixed it (a fresh subscriber no longer fills history below its start). It merged 2026-10-29T00:52Z, before the 2026-10-29 nightly. On that night the oldest frame any row received was about 2.6 s behind live, and every browser row passed: AAC wide discarded 205.6 ms/min at a 323.2 ms target p95, and Opus wide 243.4 at 460.
  • Quest goal, so far: across all five nights, AAC bursty discarded 0 to 238.1 ms/min against Opus bursty's 0 to 370.9. Opus near-zero had no underrun episodes. Its target p95 was 60 ms on three nights and 80 on two, because the 120 ms prior only decays to 60 at 21.4 s, after the 5 s warmup. The Plan says to budget that startup hold as measured.

Changes

  • quest/m1/audio-jitter-target/capped-budgets.md: records the history-fill finding, the restarted count (1 of 7, from 2026-10-29), and the 2026-10-29 goal readings, and points here for the per-night data. I did not touch budgets.json.

Decisions

  1. ✅ Restart the count at 2026-10-29 (maintainer, 2026-10-30), the first nightly after moq-dev/moq#7168. The 2026-10-25 to 10-28 nightlies no longer count. One of seven has run; the seventh is due about 2026-11-04. The quest's Goal and Plan now say so.

Follow-ups

  • Possible quest: should the estimator count a frame that arrives already behind the playhead (stale history) as an arrival interval? Here one burst of old frames held a 2 s target for 20 s. With moq-dev/moq#7168 the relay no longer sends that history, but a publisher or relay that does would hit the same thing.

Checks

  • quest check --base origin/main: passed on f4bf5e8f7a.
  • just check: not rerun on f4bf5e8f7a; that commit only edits quest prose.
  • quest gate just check: passed (markdown, gh, quest, shell, toml, nix, justfile).

Review

  • Head f4bf5e8f7a8a7fa917ddb2d0e84a2af4798dc3d4: review skipped as trivial. The commit only records the maintainer's restart decision in the quest prose.
  • Earlier round: Codex, gpt-6.1-sol, medium effort (quest review --base origin/main, round 1), on 8add6f8e107849e2fa4ef1f05ed7ce34830fd7ed. No findings.
Per-night browser metrics, 2026-10-25 to 10-29 (the artifacts expire after 7 days)

Runs: 10-25 40192013303, 10-26 40332938121, 10-27 40506938673, 10-28 40698329026, 10-29 40885347517. No row voided.

row night underruns/min gap ms/min skips/min discarded ms/min stalled silence target p95
aac-44100-bursty 10-25 2.2 5.2 0 0 0 0 323.2
aac-44100-bursty 10-26 0 0 2.2 238.1 0 0 683.2
aac-44100-bursty 10-27 0 0 2.2 234.6 0.005 0.003 343.2
aac-44100-bursty 10-28 0 0 0 0 0 0.003 343.2
aac-44100-bursty 10-29 0 0 1.1 162.9 0 0 323.2
aac-44100-fixed-250 10-25 0 0 0 0 0 0 250
aac-44100-fixed-250 10-26 0 0 0 0 0 0 250
aac-44100-fixed-250 10-27 0 0 0 0 0 0 250
aac-44100-fixed-250 10-28 0 0 0 0 0 0 250
aac-44100-fixed-250 10-29 0 0 0 0 0 0 250
aac-44100-mild 10-25 0 0 0 0 0 0 209.2
aac-44100-mild 10-26 0 0 0 0 0 0 209.2
aac-44100-mild 10-27 0 0 0 0 0 0 209.2
aac-44100-mild 10-28 0 0 0 0 0 0 209.2
aac-44100-mild 10-29 0 0 0 0 0 0 209.2
aac-44100-near-zero 10-25 0 0 0 0 0 0 209.2
aac-44100-near-zero 10-26 0 0 0 0 0 0 223.2
aac-44100-near-zero 10-27 0 0 0 0 0 0 223.2
aac-44100-near-zero 10-28 0 0 0 0 0 0 209.2
aac-44100-near-zero 10-29 0 0 0 0 0 0 209.2
aac-44100-step 10-25 0 0 0 0 0 0.006 223.2
aac-44100-step 10-26 1.1 0.3 0 0 0.005 0.003 223.2
aac-44100-step 10-27 1.1 2.9 0 0 0 0.006 223.2
aac-44100-step 10-28 3.3 9.5 0 0 0 0.003 223.2
aac-44100-step 10-29 1.1 2.9 0 0 0.005 0.006 223.2
aac-44100-wide 10-25 0 0 2.2 1820.9 0.005 0.003 2023.2
aac-44100-wide 10-26 0 0 2.2 1803.9 0.005 0.004 2023.2
aac-44100-wide 10-27 0 0 2.2 1859.1 0.005 0.004 2023.2
aac-44100-wide 10-28 1.1 2 2.2 1790.9 0 0.002 2023.2
aac-44100-wide 10-29 1.1 1.7 4.4 205.6 0.018 0.012 323.2
opus-48000-bursty 10-25 0 0 0 0 0 0 180
opus-48000-bursty 10-26 0 0 0 0 0 0 200
opus-48000-bursty 10-27 0 0 0 0 0 0 220
opus-48000-bursty 10-28 0 0 1.1 370.9 0 0 540
opus-48000-bursty 10-29 0 0 0 0 0 0 180
opus-48000-fixed-250 10-25 0 0 0 0 0 0 250
opus-48000-fixed-250 10-26 0 0 0 0 0 0 250
opus-48000-fixed-250 10-27 0 0 0 0 0 0 250
opus-48000-fixed-250 10-28 0 0 0 0 0 0 250
opus-48000-fixed-250 10-29 0 0 0 0 0 0 250
opus-48000-mild 10-25 0 0 1.1 56 0 0 140
opus-48000-mild 10-26 2.2 3 0 0 0 0.001 120
opus-48000-mild 10-27 0 0 1.1 124.4 0 0 180
opus-48000-mild 10-28 1.1 1.5 1.1 124 0.005 0.002 160
opus-48000-mild 10-29 0 0 1.1 60.5 0 0.001 120
opus-48000-near-zero 10-25 0 0 0 0 0 0 60
opus-48000-near-zero 10-26 0 0 0 0 0 0 80
opus-48000-near-zero 10-27 0 0 0 0 0 0 60
opus-48000-near-zero 10-28 0 0 0 0 0 0 80
opus-48000-near-zero 10-29 0 0 0 0 0 0 60
opus-48000-step 10-25 0 0 1.1 91.5 0.005 0.002 160
opus-48000-step 10-26 0 0 1.1 90.3 0.009 0.002 160
opus-48000-step 10-27 0 0 2.2 171.8 0.005 0.002 180
opus-48000-step 10-28 0 0 2.2 98.3 0.005 0.002 120
opus-48000-step 10-29 0 0 0 0 0.005 0.002 100
opus-48000-wide 10-25 0 0 2.2 1972.4 0.005 0.001 2020
opus-48000-wide 10-26 0 0 4.4 1923.4 0.005 0.001 2020
opus-48000-wide 10-27 0 0 1.1 1902.7 0 0 2020
opus-48000-wide 10-28 0 0 3.3 1913.9 0 0 2020
opus-48000-wide 10-29 1.1 1.5 2.2 243.4 0 0 460

🤖 Generated with Claude Code

(Written by Claude Opus 5.5)

kixelated and others added 2 commits October 29, 2026 22:54
@kixelated kixelated changed the title Re-measure the browser budgets after the estimator capped one observation's weight quest: record the history fill behind the October 25 to 28 browser rows Oct 30, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated kixelated changed the title quest: record the history fill behind the October 25 to 28 browser rows quest: restart the capped-budget count after the history-fill fix Oct 30, 2026
@kixelated
kixelated marked this pull request as ready for review October 30, 2026 20:13
@coderabbitai

coderabbitai Bot commented Oct 30, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You'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 12 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 4 included reviews currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: c4eca9fe-bfcb-48ea-8f08-a45f395af457
Commits

Reviewing files that changed from the base of the PR and between 1c733a0 and f4bf5e8.

Files selected for processing: 1
  • quest/m1/audio-jitter-target/capped-budgets.md
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-30T20:14:39.306962Z f4bf5e8 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@kixelated
kixelated enabled auto-merge (squash) October 30, 2026 20:13

@kixelated kixelated left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review by review (OpenAI)

Reviewed commit: f4bf5e8

No actionable bugs found in this documentation-only change. Restarting the seven-night measurement window after the history-fill fix is a sound direction: it avoids calibrating budgets against the known over-fetch, preserves the earlier observations, and leaves the existing ceilings unchanged until enough post-fix data exists. No additional implementation complexity is introduced.

Verification: inspected the complete diff, surrounding quest plan, current budget rules/ceilings, and the referenced #7168 fix. No prior published review findings to carry forward. I did not run tests or independently reproduce the nightly trace analysis; the reported measurements are not independently validated here.

@moq-bot
moq-bot Bot merged commit 63216ad into main Oct 31, 2026
8 checks passed
@moq-bot
moq-bot Bot deleted the quest/m1/audio-jitter-target/capped-budgets branch October 31, 2026 03:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant