Skip to content

quest: Interop triage of 42245660435 (harness fixture, bare-fin async, lite-07 remeasure) - #8049

Merged
kixelated merged 2 commits into
mainfrom
quest/m0/interop-green/README
Nov 7, 2026
Merged

kixelated merged 2 commits into
mainfrom
quest/m0/interop-green/README

Conversation

@kixelated

@kixelated kixelated commented Nov 6, 2026 •

Copy link
Copy Markdown
Collaborator

Triage of scheduled Interop run 42245660435 (at 01d4edb, which predates moq-dev/moq#8001, so P2P was not tested with that fix). No media-matrix, P2P, or IETF22 fallback failure; three deterministic steps failed, each fixed here:

  • Harness regressions: test/interop/staging.test.py stubbed only examples interop.sh runs directly; interop-socket-js is built there but run only by socket.sh since moq-dev/moq#7884. The fixture now stubs every example in the build list.
  • Subscription termination (just test bare-fin): built moq-net lib tests without the async feature the tests need, a configuration nothing else compiles, so dead code broke it (read_frame then, mebibytes unused now on main). The recipe now passes --features async; locally 3/3 pass.
  • Released wire compatibility: moq-cli 0.14.13 / moq-relay 0.17.13 made the moq-lite-07-wip planned break stale; remeasured with just test wire-compat --remeasure (same 16 cells fail), and just test wire-compat passes.

The quest stays in place with its ## Waiting item: it finishes when a scheduled Interop run passes.

Review

Codex (gpt-6.1-sol, medium) reviewed head d0f1122 against origin/main: no findings.

Validation

  • python3 test/interop/staging.test.py: 6 tests OK
  • just rs test -p moq-net --features async --lib bare_fin_interop owed_tail_death_interop --run-ignored all: 3/3 pass
  • just test wire-compat: passed after remeasure
  • quest check: ok

Suggested follow-ups

  • The moq-lite-07-wip planned break goes stale on every moq-cli/moq-relay release and reds Interop each time; consider pinning it to the draft rather than release versions, or remeasuring as part of the release.

🤖 Generated with Claude Code

(Written by Claude Opus 5.5)

kixelated and others added 2 commits November 6, 2026 11:49
…asure lite-07 break

Triage of scheduled Interop run 42245660435.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated kixelated changed the title Interop and Video pass on main quest: Interop triage of 42245660435 (harness fixture, bare-fin async, lite-07 remeasure) Nov 6, 2026
@kixelated
kixelated marked this pull request as ready for review November 6, 2026 20:41
@coderabbitai

coderabbitai Bot commented Nov 6, 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 1 minute.

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: 176111fb-4262-4b4e-8758-f5da567b66d4
Commits

Reviewing files that changed from the base of the PR and between 45930a7 and d0f1122.

Files selected for processing: 4

  • quest/m0/interop-green/README.md
  • test/interop/compat/planned-breaks.json
  • test/interop/staging.test.py
  • test/justfile
  • 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

@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 head: d0f1122

No actionable correctness findings in the four-file diff. The direction is sound: the staging fixture now includes interop-socket-js and every example in the actual build list without removing the runtime-reference coverage; the bare-fin recipe explicitly enables moq-net's optional async APIs; and the existing lite-07-wip exception is re-pinned without broadening its protocol scope. The quest correctly remains open pending a successful scheduled Interop run.

Limits: GitHub-only static review of the diff and related staging, Cargo-feature, and compatibility-harness code. I did not execute the staging or bare-fin tests, independently repeat the released-wire measurements, or verify a subsequent green scheduled Interop run. The PR's Check workflow was still in progress when inspected.

@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.

ℹ️ One minor suggestion inline. The three fixes themselves check out.

Reviewed changes

  • Harness fixture — test/interop/staging.test.py derives the staged example set from interop.sh's examples=(...) build list, so interop-socket-js (built there, run only by socket.sh) is stubbed and build_relay_cli no longer fails on the missing artifact.
  • bare-fin features — test/justfile passes --features async, matching the async tests the recipe filters and clearing the feature-off dead-code failure seen in the run log.
  • Wire-compat pin — planned-breaks.json re-pins moq-lite-07-wip to moq-cli 0.14.13 / moq-relay 0.17.13 after a remeasure. Both are the current crates.io releases, and @moq/net 0.4.7 is still latest on npm, so the break will not go stale on the next run.
  • Quest log — quest/m0/interop-green/README.md records the 42245660435 triage and keeps the waiting item for a green scheduled run.

I confirmed against the run's job log that only the Harness, Subscription termination, and Released wire compatibility steps failed, and that the interop-socket-js cp failure is the fixture symptom the staging change fixes. The refreshed staging.test.py passes 6/6 once ffmpeg is on PATH (the two failures here were that pre-existing env requirement).

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

Comment thread test/justfile
# Cross-language subscription termination over in-memory transports.
bare-fin:
just rs test -p moq-net --lib bare_fin_interop owed_tail_death_interop --run-ignored all
just rs test -p moq-net --features async --lib bare_fin_interop owed_tail_death_interop --run-ignored all

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.

The sibling interop recipe at line 70 runs the same moq-net lib tests without --features async and only builds because selecting -p moq-crypto unifies in that crate's dev-dependency's moq-net/async; if that dev-dependency or the package selection changes, this exact failure returns there with the same misleading compile error. Naming moq-net/async there as well would make the requirement explicit instead of accidental.

Technical details
# `moq-net` lib tests need `async` in every recipe that selects them

## Affected sites
- `test/justfile:70` — `interop` runs `just rs test -p moq-net -p moq-crypto --lib ...` without `--features async`, and compiles only because `rs/moq-crypto/Cargo.toml:54` declares `moq-net = { path = "../moq-net", features = ["async"] }` as a dev-dependency, which the shared invocation unifies in. The run log shows it building `moq-net` and passing 10 tests at the same commit where `bare-fin` alone failed.
- `rs/moq-net/src/model/group.rs:5480` — `mebibytes` and its siblings are async-only test helpers that are compiled in feature-off test builds; that dead-code warning is what `build.warnings = deny` turned into the `bare-fin` failure.

## Required outcome
- Any recipe that builds `moq-net` lib tests requests the `async` feature itself rather than inheriting it from another selected package's dev-dependency.

## Suggested approach (optional)
- Add `--features moq-net/async` to the `interop` recipe's `just rs test` line (package-qualified, since `moq-crypto` also has an `async` feature).
- Optionally gate `mebibytes` behind `#[cfg(feature = "async")]`, so the feature-off config that `sh/rs/net-features.sh` compiles stays warning-free too.

@kixelated
kixelated added this pull request to the merge queue Nov 6, 2026
@kixelated

Copy link
Copy Markdown
Collaborator Author

Maintainer decision (2026-11-06, /quest-spawn): ✅ for the suggested follow-up, key the moq-lite-07-wip planned break in test/interop/compat/planned-breaks.json to the lite-07 draft rather than to released moq-cli/moq-relay versions, so a release doesn't make it stale. Not chosen: re-measuring at each release cut; fixing it by hand when Interop goes red. /quest-merge plans this follow-up when it queues this PR.

(Written by Claude Opus 5.5 with high)

Merged via the queue into main with commit 29b6a4b Nov 7, 2026
14 checks passed
@kixelated
kixelated deleted the quest/m0/interop-green/README branch November 7, 2026 00:23
kixelated added a commit that referenced this pull request Nov 7, 2026
…main

The Pullfrog bare-fin and staging fixes landed in #8049. A full gate on
main passes except the MEMLOCK flake uring-memlock already tracks, and the
CARLA, direnv hook, and supervised launcher tests pass.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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