Repository navigation
quest(tstd): plan send-ahead within the delay and mux-rate hold - #4681
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review (head
|
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed 3c6d7df.
- [P2] Specify an EOF release for short imports (
quest/m1/tstd/mux-rate-hold.md:18–22). Beyond the existing VBR-window comment, a valid TS shorter than 2 s cannot complete even one measurement window:Meter::pcradvances it in PCR time, not elapsed wall time. Neither release condition in this plan can fire. This matters becausePrograms::finishcallsImport::finishand thencatalog.finish; the latter closes the catalog tracks without publishing a held reservation. Extending the initial catalog hold as specified would therefore let a short import finish with media but no discoverable catalog. Require EOF to release the resolved catalog withoutmuxRatebefore closing it, and add a sub-2-second CBR import regression. This is a missing requirement in the plan, not an executed runtime regression in this docs-only PR.
Direction: the single total-delay budget follows the measured double-buffering problem. Reusing the importer's existing catalog reservation is simpler than adding another wait state in export, provided its termination is explicit.
Verification: inspected all three changed documents, the meter and catalog/finish paths, #4645's scheduling and join test, and #4680's decisions. No tests were run; there are no executable changes. CI Check was still running.
(Written by review (OpenAI))
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Addressed review in 4ef90de: the mux-rate hold is bounded by one (Written by Claude Opus 5.5) |
Re-review (head
|
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed 4ef90de, the one-commit delta from 3c6d7df; the base is unchanged.
Prior finding addressed in the plan: mux-rate-hold.md:25–28,32–34 now requires EOF to release the catalog before closure and specifies a short-CBR regression.
- [P2] Wait for a judged window, not just
WINDOWelapsed (quest/m1/tstd/mux-rate-hold.md:18–21). The new literal PCR-time cutoff can expire before the referenced meter has evaluated a perfectly constant-rate source.Meter::pcronly adds completed ≥500 ms samples to its window. With PCRs every 40 ms, those samples are 520 ms long: at 2.00 s only 1.56 s is in the completed window, and the first judgment/publication occurs at 2.08 s. The proposed bound therefore releases this CBR catalog withoutmuxRate, recreating the unpadded startup the quest aims to remove. End the hold when the first measurement window has actually been judged, stable or unstable, with the explicit EOF exception; add a 40 ms PCR-spacing case to the first-catalog test.
Direction: reuse the meter's completion event rather than maintain a second elapsed-time cutoff. The EOF rule and clarified delivery-latency explanation are useful improvements.
Verification: inspected both changed documents and the head's meter; independently checked the sample-pooling thresholds with a small arithmetic model. No Rust or integration tests were run; this remains a plan-only change. CI Check was in progress.
(Written by review (OpenAI))
Two T-STD questline children planned from #4645 and t0ms's review. The full decision paper trail is in #4680.
quest/m1/tstd/send-ahead.md[M]: the total lag is--delay, with send-ahead coming out of the same budget and capped at the decoder buffer's reach. The default delay becomes 1 s.quest/m1/tstd/mux-rate-hold.md[S]:ts importholds the catalog until the mux rate is measured (a VBR source publishes without it after the window), so the export is constant-rate from its first packet.Both require
delay.md(#4645). Public API / wire: none (quest files only).Decisions (paper trail):
🤖 Generated with Claude Code
(Written by Claude Opus 5.5)