Skip to content

quest: re-create the vendor sync in m3 with WebRTC and SCReAMv2 children - #8019

Merged
kixelated merged 3 commits into
mainfrom
quest/m2/cut-gate/vendor-sync/README
Nov 6, 2026
Merged

kixelated merged 3 commits into
mainfrom
quest/m2/cut-gate/vendor-sync/README

Conversation

@kixelated

@kixelated kixelated commented Nov 6, 2026 •

Copy link
Copy Markdown
Collaborator

Completes and deletes quest/m2/cut-gate/vendor-sync/README.md: every child of the 2026-10-30 vendor sync had merged, so this is the epic's own work. The questline is re-created at quest/m3/vendor-sync/ behind the release cut, which moves it under the re-created m2 cut gate.

Changes

  • Scan for newly vendored code. I searched module docs, READMEs, and Cargo comments for "forked", "vendored", and "ported from". I also looked for carried LICENSE, PATENTS, and Copyright notices, git dependencies, and forked flake inputs. Two new upstreams turned up, and each gets a child:
    • WebRTC (webrtc.md, [S]): moq-congestion's gcc GoogCC port, recorded at WebRTC 556f7eec27 (moq-dev/moq#7546), and moq-audio's NetEq time stretch (moq-dev/moq#7856). Both ports come from one upstream, so they share one child.
    • SCReAMv2 (scream.md, [XS]): moq-congestion's scream, ported from draft -01 and checked against Ericsson's reference (moq-dev/moq#7547).
  • Re-created children carry each run's checked heads and lessons: quinn, rml, v4l, nvenc, vaapi, and uniffi. The UniFFI baseline table and the VAAPI paragraph move out of the epic README into their children.
  • Dropped: no child. None of the vendored code was deleted. The UniFFI child stays because the exporter switch has not landed.
  • The m2 cut gate's Required no longer lists the vendor sync. m3's Required now links the new questline. Prose links in the cut gate, the release cut, the dependency audit, and the exporter switch point at the new path.

Choices made without asking

  • Kept rml and v4l despite dormant upstreams (rust-media-libs has been quiet since 2023-05, libv4l-rs since 2024-10). Each run is XS. RTMP parses untrusted input, and cargo-deny cannot see advisories against vendored code. The alternative was to drop them the way the libav.js polyfill fork was dropped.
  • One WebRTC child for GoogCC and NetEq, following the "one child per upstream" rule. It drops the GoogCC half, and the SCReAMv2 child drops itself, if the realtime uplink bake-off deletes that candidate.
  • Baselines for ports that recorded no commit. NetEq starts from WebRTC main as of 2026-11-04, the date the port read it. SCReAMv2 starts from Ericsson master 4b973bab, the head when its port merged, after confirming the port's constants match. WebRTC's gitiles history pages need a sign-in, so the WebRTC child says to clone instead.
  • Scan step widened: step 1 now also looks for carried LICENSE, PATENTS, or Copyright notices. The GoogCC port surfaced that way.
  • Out of scope, added: kixelated/goog_cc (now in-tree) and @moq/libav (builds pinned upstream releases unmodified).
  • Quinn child's Goal now names moq-congestion's Cubic. moq-congestion was extracted from moq-quic since the last run.

Public API and wire

None. Quest files only.

Validation

  • quest check --base origin/main: 587 documents ok.
  • quest unblocked quest/m3/vendor-sync/quinn.md: blocked by quest/m3/release/cut.md, as intended.

Review

Codex gpt-6.1-sol (medium effort) reviewed head a28b2ed1 against origin/main 0672ad56 in round 1. It reported no findings.

Head 5e831633 was not re-reviewed: its only change since a28b2ed1 swaps "tag" for "branch" in two words of quest/m3/vendor-sync/vaapi.md, naming Discord's discord-0.0.13 and discord-0.0.5 fork refs as branches. That is too trivial to review (skip recorded by the authoring model, Claude Opus 5.5).

Suggested follow-ups

None.

(Written by Claude Opus 5.5)

kixelated and others added 2 commits November 5, 2026 22:29
Every child of the 2026-10-30 vendor sync merged. Scan the tree for code
vendored since, add WebRTC (GoogCC, NetEq) and SCReAMv2 children, and
re-create the questline under m3 behind the release cut, carrying each
child's checked heads and what the run learned.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated kixelated changed the title Vendored code has every upstream fix it needs quest: re-create the vendor sync in m3 with WebRTC and SCReAMv2 children Nov 6, 2026
@kixelated
kixelated marked this pull request as ready for review November 6, 2026 06:35
@coderabbitai

coderabbitai Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The vendor-sync quest moved from the m2 cut gate into the m3 quest structure. Its README updates the scan criteria, records WebRTC and SCReAMv2 in scope, and lists required child quests. The PR adds recurring sync plans for Quinn, rml, SCReAMv2, UniFFI, v4l, VAAPI, nvenc, and WebRTC. Related quest links now point to the m3 vendor-sync README.

Merge Risk: Minimal · up to 5e831

The changes relocate the vendor-sync plans while preserving release prerequisites. No concrete issue requiring correction before merge remains.

Pre-merge checks: Passed 4

Check name Status Explanation
Title check Passed The title identifies the m3 vendor-sync quest and its new WebRTC and SCReAMv2 children.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Description check Passed The description matches the changes. It covers the m3 vendor-sync questline, its children, and the updated requirements and links.
Finishing Touches

Simplify code

  • Commit to this branch
  • Create a new PR
  • 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

Recent review info

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: 5396fca9-8ba7-43fd-ba2b-02718cb99dbd
Commits

Reviewing files that changed from the base of the PR and between 0672ad5 and 5e83163.

Files selected for processing: 14

  • quest/m2/cut-gate/README.md
  • quest/m3/README.md
  • quest/m3/audit-deps.md
  • quest/m3/ffi-exporter.md
  • quest/m3/release/cut.md
  • quest/m3/vendor-sync/README.md
  • quest/m3/vendor-sync/nvenc.md
  • quest/m3/vendor-sync/quinn.md
  • quest/m3/vendor-sync/rml.md
  • quest/m3/vendor-sync/scream.md
  • quest/m3/vendor-sync/uniffi.md
  • quest/m3/vendor-sync/v4l.md
  • quest/m3/vendor-sync/vaapi.md
  • quest/m3/vendor-sync/webrtc.md

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 0 remain after this review.

@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: a28b2ed

No actionable findings in the 14-file change. The recurrence wiring is consistent: the completed sync leaves the current m2 gate, all eight recreated children require the release cut, and the cut explicitly moves the next sync back under the recreated gate. The carried-forward baselines and new WebRTC/SCReAMv2 scopes match the repository records inspected.

Overall direction: the documentation-only re-creation is coherent; no change requested from this review.

Verification limits: GitHub-only static review of the diff and supporting repository documents/source. I did not run quest context, quest check, or tests, nor repeat the external upstream/advisory audits. The head's Check workflow was still in progress when checked.

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

ℹ️ Minor suggestion only — the quest move and its eight children otherwise check out.

Reviewed changes

Reviewed the quest-only move of the vendor sync from quest/m2/cut-gate/vendor-sync/ to quest/m3/vendor-sync/ (git sees a rename), the eight child quests, and the link rewrites that follow it.

  • Epic re-created in m3 — the renamed README gains a Required list of eight children, widens the scan to carried LICENSE/PATENTS/Copyright notices, and records the 2026-11-05 scan's two new upstreams.
  • Two new children — webrtc.md for moq-congestion's GoogCC and moq-audio's NetEq time stretch, and scream.md for SCReAMv2, each with baselines, recorded deviations, and bake-off drop conditions.
  • Six carried children — quinn, rml, v4l, nvenc, vaapi, and uniffi, with each run's checked heads and lessons moved from the epic README or the vendored crate's record into the child.
  • Link rewrites — the m2 cut gate drops the vendor sync from Required, and the m3 milestone, dependency audit, exporter switch, and release cut point at the new path.

I verified the cited merge dates (#7546, #7547, #7856), external heads and commit dates, the UniFFI pin table against rs/uniffi-bindgen/Cargo.toml and flake.nix, every path the children name, and that all /quest/... links in the changed files resolve. The scan's coverage holds: no in-tree vendored upstream is left without a child, and OpenH264 is a crates.io openh264-sys2 dependency rather than in-tree code.

Pullfrog  | Fix all ➔ | Fix 👍s ➔ | View workflow run | Using deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏

Comment thread quest/m3/vendor-sync/vaapi.md Resolved
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

✅ No new issues found.

Reviewed changes

This re-review covers the one commit pushed since the last review of a28b2ed.

  • Discord refs named as branches — quest/m3/vendor-sync/vaapi.md now calls discord-0.0.13 and discord-0.0.5 branches instead of tags, which is what both forks actually publish.

I confirmed both refs live: refs/heads/discord-0.0.13 on discord/cros-libva resolves to 896a248e, and refs/heads/discord-0.0.5 on discord/cros-codecs resolves to 9cdecb19, each exactly the SHA the document cites. Nothing else in the PR changed.

Pullfrog  | View workflow run | Using deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏

@kixelated
kixelated added this pull request to the merge queue Nov 6, 2026
Merged via the queue into main with commit eed3af0 Nov 6, 2026
10 checks passed
@kixelated
kixelated deleted the quest/m2/cut-gate/vendor-sync/README branch November 6, 2026 18:45
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