Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions quest/m0/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ Interop on main (2026-10-13): the cross-client matrix fails with `unroutable`
whenever WebSocket wins the connect race: since #5294, #4180's upgrade
retires epochless handles before its held `Restart` reaches anyone. The
released wire-compat step aborts on planned breaks the last release made
stale. Both stay in m0 (maintainer, 2026-10-13) and rank with TS duration
fidelity: a red Interop hides real regressions.
stale. Both stay in m0 (maintainer, 2026-10-13): a red Interop hides real
regressions.

Crashes (2026-10-13, #5407): a publisher on a host whose wall clock reads
before 2020 panics, and `panic = "abort"` turns any library panic into a
Expand All @@ -78,7 +78,6 @@ have fixes on `main`: macOS tests (#5335), drill-sensitivity (#5338), loom
## Required

- [Draft-22 media on 0.17](/quest/m0/release-22/README.md) - a 0.17.x with the LOCATION_FILTER and FIRST_OBJECT fixes and moq-noq 1.3.5, then draft-20+ FETCH
- [TS duration fidelity](/quest/m0/ts-duration-fidelity.md) - Interop's TS compliance captures the whole round-tripped stream again, fixing a regression that turns Interop red on main
- [Upgrade restarts epochless broadcasts](/quest/m0/upgrade-unroutable.md) - a WebSocket-to-QUIC upgrade retires epochless handles only once their `Restart` is delivered, and first-party consumers follow it, fixing Interop's `unroutable` rounds
- [Unset host clock](/quest/m0/wall-clock-omit.md) - a publisher whose wall clock reads before 2020 publishes without a catalog clock instead of panicking
- [Panic isolation](/quest/m0/panic-isolation.md) - unwind, ignore lock poison, and supervise every task, so a panic closes only its connection or exits on a long-lived task
Expand Down
29 changes: 0 additions & 29 deletions quest/m0/ts-duration-fidelity.md

This file was deleted.

1 change: 0 additions & 1 deletion quest/m1/ts-reliability/validation.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ controls have CI invocations too.

## Related

- [TS duration fidelity](/quest/m0/ts-duration-fidelity.md) - fixes the base capture regression without weakening the duration assertion
- [T-STD controls](/quest/m2/tstd-controls.md) - MB and AAC positive/negative coverage
- [PSI system buffer](/quest/m1/tstd/psi-runs.md) - system-buffer proof belongs with the PSI fix
- [Open-GOP leading pictures](/quest/m1/open-gop-leading-pictures.md) - acquisition trims change the decoder oracle
Expand Down
1 change: 0 additions & 1 deletion quest/m1/ts-same-instance-resume.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,3 @@ required behavior or API change returns to the maintainer for a decision.
- [Replacement catalog linger #5305](https://github.com/moq-dev/moq/pull/5305) - owns the bound on a mid-stream switch's first catalog
- [Same-epoch importers](/quest/m1/hop-aligned-import.md) - shared catalogs, tracks and source-derived group identity
- [Closed fallback #5284](https://github.com/moq-dev/moq/pull/5284) - early WebSocket closure and its transport-test fix
- [TS duration fidelity](/quest/m0/ts-duration-fidelity.md) - diagnose a shared end-of-stream cause only if reproduced
8 changes: 5 additions & 3 deletions test/ts/compliance.py
Original file line number Diff line number Diff line change
Expand Up @@ -1242,9 +1242,11 @@ def check_duration_fidelity(captured_s: float, reference_s: float) -> Check:
Every timing check above reads the stream's own PCR, so a PCR emitted on the
wrong clock rate stays internally consistent and passes them all. Comparing
the exported PCR span against the source's independent duration is the one
check that pins the absolute rate. Keyframe alignment drops up to a GOP of
lead, so the captured span runs a shade short, never materially long; the
band is wide enough to ignore that yet catch a gross scale error.
check that pins the absolute rate. The exporter joins at the live edge once
the catalog appears, and import holds the catalog for its two-second mux-rate
window, so the captured span runs up to that window plus a GOP short, never
materially long; the band is wide enough to ignore that yet catch a gross
scale error.
"""
metrics = {"captured_s": round(captured_s, 2), "reference_s": round(reference_s, 2)}
if reference_s <= 0:
Expand Down
Loading