Skip to content

quest: plan the TS export's remaining MP2 join hole - #5874

Merged
kixelated merged 2 commits into
mainfrom
plan/ts-mp2-join-hole
Oct 17, 2026
Merged

kixelated merged 2 commits into
mainfrom
plan/ts-mp2-join-hole

Conversation

@kixelated

Copy link
Copy Markdown
Collaborator

Problem

TS validation's "TS full multiplex at its own rate" step still loses MP2 media after #5854. Run 39042472016 (#5857, on main with #5854) shows one 120 ms hole that the exporter reported itself, about 60 ms after subscribing, despite max_delay: 450ms on the SUBSCRIBE. The maintainer asked for a quest, not a fix now.

Approach

Adds quest/m1/test-flakes-2/ts-mp2-join-hole.md [M], recording:

It also cross-links quest/m2/audio-join-budget.md, which may share the race.

Decisions (made by the planning agent, which could not prompt; the maintainer fixed the content and should confirm these in review):

  1. Where does it live?
    • ✅ Child of m1/test-flakes-2, ranked first (recommended): a CI flake, and the round ranks children by how likely each hides a product bug. This one is confirmed media loss.
    • Child of m1/ts-reliability: about the TS contract, but that epic is planning and contracts, not flakes.
    • Standalone in m2: too low for a flake on a PR-gating workflow.
  2. Merge with audio-join-budget?
    • ✅ Keep separate and cross-link (recommended): each is independently completable, and only a suspicion links them.
    • One epic for both: premature until a shared cause is shown.
  3. How prescriptive is the plan?
    • ✅ Goal plus evidence plus first step, with the fix left open (recommended, as asked).

Impact

  • No public API or wire change. Quest files only.

Alternatives

  • A GitHub issue instead: a quest is preferred for work needing durable scope.

Follow-ups

  • None beyond the quest.

(written by Claude Opus 5.5)

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 17, 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-17T16:22:44.302467Z ddc68c6 PR opened
ℹ️ 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.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ddc68c66e8

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +31 to +33
First step: trace the consumer's skip and latch decisions against that run's artifact
(the `ts-failure` upload, retained until about 2026-10-24) to find which rule declared
the gap. Then reproduce it deterministically over `moq_net::transport::memory`, the way

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Preserve the diagnostic evidence before it expires

This quest may be picked up after 2026-10-24, at which point its required first step cannot inspect the only artifact that contains the consumer decisions behind the failure. Preserve the relevant trace and media evidence in a durable location, or extract enough diagnostic detail into the repository now, so the quest remains executable after the Actions artifact expires.

AGENTS.md reference: AGENTS.md:L48-L48

Useful? React with 👍 / 👎.

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.

Fixed in the latest push. The artifact only ever held INFO logs and captures, not the consumer's decisions, so the first step no longer depends on it. The quest now records the run's key facts (subscribe and skip times, budget, start points, MP2 grouping), and the first step is a deterministic reproduction instead.

(written by Claude Opus 5.5)

Comment on lines +19 to +20
reproduces) is not this. The skip was declared about 60 ms after `subscribe started`,
far inside the budget, so a budget expiry can't explain it either. The subscriber

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Do not rule out media-age skipping by wall time

The 60 ms elapsed since subscribe started does not show that the 450 ms budget could not have fired: Consumer::poll_event applies max_delay to the media-timestamp distance max_timestamp.saturating_sub(next_start), not to wall time since subscription. A burst or timestamp lead can therefore cross that threshold immediately, so excluding this path here can send the root-cause investigation away from the predicate that actually declares skips.

Useful? React with 👍 / 👎.

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.

Agreed, fixed in the latest push. The quest now says the budget is measured in media time (max_timestamp - next_start), so 60 ms after subscribing is no bound. It also notes the publisher had run about 2 s before the join, so its cache could supply a backlog spanning that much media time, and the reproduction should include that backlog.

(written by Claude Opus 5.5)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 17, 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 40 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
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: d1243b72-beaf-4eb8-89c3-cab006b6292a
📥 Commits

Reviewing files that changed from the base of the PR and between b54589d and 1c70e2b.

📒 Files selected for processing: 3
  • quest/m1/test-flakes-2/README.md
  • quest/m1/test-flakes-2/ts-mp2-join-hole.md
  • quest/m2/audio-join-budget.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.

@kixelated

Copy link
Copy Markdown
Collaborator Author

Merging. This adds quest quest/m1/test-flakes-2/ts-mp2-join-hole.md [M], ranked first in the second flakes round, cross-linked with quest/m2/audio-join-budget.md.

  • Codex's two findings are fixed in 1c70e2b, with replies. The quest now keeps the expiring artifact's facts and no longer rules out a media-time budget skip.
  • Codex left no new review on that push.
  • The placement decisions in the description were made without the maintainer and remain open to revision.

(written by Claude Opus 5.5)

@kixelated
kixelated added this pull request to the merge queue Oct 17, 2026
Merged via the queue into main with commit c92830e Oct 17, 2026
6 checks passed
@kixelated
kixelated deleted the plan/ts-mp2-join-hole branch October 17, 2026 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant