Skip to content

ci: keep each local Rust gate's feature contracts on the changed crates - #7282

Merged
moq-bot[bot] merged 7 commits into
mainfrom
quest/m0/ci/five-minutes
Oct 31, 2026
Merged

moq-bot[bot] merged 7 commits into
mainfrom
quest/m0/ci/five-minutes

Conversation

@kixelated

@kixelated kixelated commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator

Partially implements quest/m0/ci/five-minutes.md and rewrites it to what remains.

Problem

check rs is the module that pushes just check past a worker's 5-minute prompt cache. Across 145 dispatch reports in agent transcripts since 2026-10-15, it is the only module whose median is over 5 minutes (559 s median, 1,126 s p75, 69 of 104 runs over). moq-net is the crate diffs touch most (39 of the last 200 commits on main). Its dependents cover most of the workspace.

One moq-net edit's rs lint-changed (desktop, warm mbx cache, load ~77 on 24 cores) took 1,880 s:

Step Seconds
quest gate admission 267
feature-shapes (cargo hack clippy, every dependent at both feature extremes) 981
tokio-features + media-features (selected only as dependents) 294
cargo doc 159
loom compile (--release) 112
rest 67

Approach

  • The local just check runs feature-shapes and the net, QUIC, tokio, and media feature contracts only for the crates the diff changed. sh/dispatch.sh sets RS_FEATURE_SCOPE=changed for check only. The landing worker's just ci, Nightly, and direct just rs *-changed calls keep the reverse-dependency closure. Dependents still get the default-feature lint, docs, and test build locally.
  • The gate compiles the loom models with a new just rs loom-check in the dev profile instead of loom --no-run in release. Nightly's rs loom still builds and runs in release. A dev --cfg loom build leaves the normal dev artifacts fresh (checked: cargo build -p kio afterwards finishes in 0.19 s).
  • Selector and dispatch tests cover the narrowed scope, and the dispatch test fails against the old sh/dispatch.sh.

Coverage tradeoff: a dependency change that breaks a dependent's build only at a non-default feature extreme, or a dependent's feature contract (for example a kio change leaking a runtime into moq-net's minimal build), now fails in the landing worker rather than locally. Shapes and contracts still run locally for every crate the diff touches. That is what moq-dev/moq#6703 added them to catch: feature-gated dead code in the crate being changed.

Measurements

Desktop with a warm mbx cache, while other agents were running. These are observations, not controlled benchmarks.

  • Same moq-net lint after the change: 319 s at load ~30 (feature-shapes 29 s; tokio and media contracts not selected).
  • Loom compile after a moq-net edit: dev 46 s against release 146 s at similar load.
  • Whole just check HEAD for a moq-net-only edit: 547 s with load falling from 24 to 8. That is check rs 230 s plus test rs 317 s (a 206 s test build of moq-net's dependents and a 110 s run of 9,049 tests). Still over 5 minutes; the quest now records what remains.

Validation

  • just check on this branch: passes in 1,420 s. It covers the whole workspace because sh/dispatch.sh changed. check flake was skipped (this host's Nix builder cannot create user namespaces) and swift was skipped (no toolchain off macOS).
  • After merging origin/main (no conflicts, none of these files touched): sh/rs/select.test.py (18) and sh/dispatch-query.test.py pass, as do shellcheck, shfmt, quest check, and quest check --base origin/main.

Choices made without asking

  • Narrowed the dependents' feature contracts in the local gate and kept them in the landing worker, under the epic's rule of evidence plus an explicit coverage tradeoff (above).
  • Read just test in the quest's baseline as the gate's test phase; there is no root just test recipe (bare just test lists the cross-language suites). The rewritten quest asks for that command to be named before it is measured.

Decisions

  1. Land this step now, or keep the PR open for the remaining levers?
    • ✅ (a) Land now, with the quest rewritten to the remaining test build, test run, other routes, and just test naming. Maintainer decision, 2026-10-30.
    • (b) Keep it open until a moq-net diff's whole just check is under 5 minutes.
  2. Run the rs lint beside the rs test build, in a second target directory? This lowers wall time but raises CPU, against the epic's CPU-time measure.
    • ✅ (a) Not now; measure after the slow-tests and hakari quests land. Maintainer decision, 2026-10-30; the quest's remaining list records the deferral.
    • (b) Plan it as its own quest now.

Merge with main's rs_shapes split

origin/main moved feature-shapes out of rs lint-changed into its own check rs_shapes module in moq-dev/moq#7070. The merge resolves the conflict by keeping that split and narrowing both modules:

  • sh/dispatch.sh sets RS_FEATURE_SCOPE=changed on check:rs and check:rs_shapes for just check only.
  • sh/rs/select.sh's feature-shapes action honors the scope as the lint action does.
  • sh/rs/select.test.py checks both actions under the narrowed scope; sh/dispatch-query.test.py checks that both recipes get the scope under check and not under ci (it fails when check:rs_shapes lacks it).
  • After the merge: CHECK_MODULES=-flake quest gate just check origin/main passed every module in 392 s wall time (check rs 140 s, test rs 157 s, check rs_shapes 69 s). This was a scripts-only diff, so the run covered the whole workspace.

Follow-ups

  • The rewritten quest lists the rest: the dependents' test build, the test run (slow-tests), the lint's remaining 230 s, the moq-ffi and JS-only routes, and naming just test.

Review

  • Reviewer: Codex, gpt-6.1-sol, medium effort (quest review --base origin/main).
  • Round 1 on cb4fe98691: no findings.
  • Round 2 on 4ff23fa961 (after a conflict-free origin/main merge and a comment rename to "landing worker"): no findings.
  • New session, round 1 on 1da9ea0bbd (the hand-resolved origin/main merge above): no findings.

🤖 Generated with Claude Code

(Written by Claude Opus 5.5)

kixelated and others added 5 commits October 29, 2026 22:53
just check lints feature shapes and runs the crate feature contracts for the
crates the diff changed; the merge queue's just ci keeps their dependents.
The gate compiles the loom models in the dev profile.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t scope

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated kixelated changed the title Gate each diff in under five minutes ci: keep each local Rust gate's feature contracts on the changed crates Oct 30, 2026
Main split feature-shapes into its own rs_shapes module; the local check now
narrows that module's scope too, and the quest records the deferred parallel
lint.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kixelated
kixelated marked this pull request as ready for review October 30, 2026 20:52
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 30, 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-30T20:53:53.356039Z 1da9ea0 Draft marked ready
ℹ️ 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.

@kixelated

Copy link
Copy Markdown
Collaborator Author

Landing. Maintainer decisions (2026-10-30): land the per-crate feature-contract step now, and defer the parallel lint (the quest records it). The merge with origin/main kept the new rs_shapes module and narrowed it under just check as well. Codex reviewed 1da9ea0bbd with no findings, and just check minus check flake passed on it.

(Written by Claude Opus 5.5)

@kixelated
kixelated enabled auto-merge (squash) October 30, 2026 20:52
@coderabbitai

coderabbitai Bot commented Oct 30, 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 58 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
  • 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: 0c44cc78-72e5-4c63-92d2-a2351579d2da
Commits

Reviewing files that changed from the base of the PR and between 6633d2f and 05eb4a9.

Files selected for processing: 6
  • quest/m0/ci/five-minutes.md
  • rs/justfile
  • sh/dispatch-query.test.py
  • sh/dispatch.sh
  • sh/rs/select.sh
  • sh/rs/select.test.py
  • 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 commit: 1da9ea0bbdcfec4bbf5aa7336c424131106eba86.

No actionable bugs found in the changed code. The direction is reasonable: narrow only the local feature-contract selection while retaining dependent coverage in just ci, ordinary lint/test selection, and the workspace-wide fallback. Reusing the existing selector for seeds avoids a second impact map; the dev-profile compile-only loom recipe keeps the release execution path separate. The added tests cover both dispatch modules and the local/CI scope distinction.

Verification limits: static review of the diff, selector, dispatcher, recipes, launcher, and relevant tests only. I did not run tests or builds, reproduce the timing measurements, or independently verify the reported CI results.

@github-actions
github-actions Bot disabled auto-merge October 31, 2026 00:49
@github-actions

Copy link
Copy Markdown
Contributor

quest land removed this pull request from the queue: it conflicts with the base or the PRs queued before it in quest/m0/ci/five-minutes.md; merge the base, push, and land it again (run).

@kixelated

Copy link
Copy Markdown
Collaborator Author

Re-landing after the queue fix. The merge_conflict stop at 2026-10-31T00:49Z was not a base conflict: 1da9ea0bbd merges cleanly into current main (1d8bf24998), and quest check --base origin/main passes on it. No changes since the reviewed head; Codex's record on 1da9ea0bbd still stands, and all 12 checks pass.

(Written by Claude Opus 5.5)

@kixelated
kixelated enabled auto-merge (squash) October 31, 2026 03:52
@moq-bot
moq-bot Bot disabled auto-merge October 31, 2026 07:10
@moq-bot

moq-bot Bot commented Oct 31, 2026

Copy link
Copy Markdown
Contributor

quest land removed this pull request from the queue: the batch check failed (exit 1).

Resolving dependencies...
Downloading packages...
  _fe_analyzer_shared 105.0.0 (111.0.0 available)
  analyzer 14.1.0 (14.7.0 available)
  code_assets 2.0.0 (2.1.0 available)
  coverage 1.15.1 (1.16.0 available)
  crypto 3.0.7 (3.0.8 available)
  frontend_server_client 4.0.0 (4.2.0 available)
  http_multi_server 3.2.2 (3.2.3 available)
! moq_ffi 0.0.0-dev from path ../moq_ffi (overridden)
  shelf 1.4.2 (1.4.3 available)
  shelf_static 1.1.3 (1.2.0 available)
  test 1.32.0 (1.33.0 available)
  test_api 0.7.14 (0.7.15 available)
  test_core 0.6.20 (0.6.21 available)
  vm_service 15.3.0 (15.4.0 available)
  web 1.1.1 (1.1.2 available)
Got dependencies!
14 packages have newer versions incompatible with dependency constraints.
Try `dart pub outdated` for more information.
Publishing moq 0.1.0 to https://pub.dev:
├── CHANGELOG.md (<1 KB)
├── LICENSE (1 KB)
├── MIGRATE.md (16 KB)
├── README.md (1 KB)
├── analysis_options.yaml (<1 KB)
├── bench
│   └── ffi.dart (5 KB)
├── lib
│   ├── audio.dart (2 KB)
│   ├── json.dart (2 KB)
│   ├── media.dart (3 KB)
│   ├── moq.dart (<1 KB)
│   ├── src
│   │   ├── aliases.dart (7 KB)
│   │   ├── client.dart (10 KB)
│   │   ├── epoch.dart (<1 KB)
│   │   ├── server.dart (5 KB)
│   │   ├── stream.dart (2 KB)
│   │   ├── timestamp.dart (1 KB)
│   │   └── version.dart (<1 KB)
│   └── video.dart (3 KB)
├── pubspec.yaml (<1 KB)
└── test
    ├── cancellation_test.dart (7 KB)
    ├── docs
    │   ├── prelude.dart (<1 KB)
    │   └── samples.dart (4 KB)
    └── moq_test.dart (27 KB)

Total compressed archive size: 30 KB.
Validating package...
Package validation found the following hint:
* Non-dev dependencies are overridden in pubspec.yaml.
  
  This indicates you are not testing your package against the same versions of its
  dependencies that users will have when they use it.
  
  This might be necessary for packages with cyclic dependencies.
  
  Please be extra careful when publishing.
The server may enforce additional checks.

Package has 0 warnings and 1 hint.
ci: check quest failed
ci: seconds per module
   399  check py
    63  test py
   821  check rs
   441  test rs
  1216  check rs_shapes
   470  check c
   285  check cpp
    61  check obs_compile
   339  check js
    72  test js
    97  check drafts
   124  check markdown
     6  check gh
   152  test gh
   485  check kt
    95  check flake
    61  check bench
     8  check carla
     0  check swift
   192  check go
     0  check drill
     8  check workers
     9  check moq_sh
     3  check quest (failed)
     9  check obs
     2  check ts_paths
    22  check shell
     9  check large_files
     6  check toml
     0  check nix
     0  check justfile
   245  check dart
  2723  wall time
error: recipe `ci` failed on line 104 with exit code 1

.

@moq-bot moq-bot Bot removed the quest:merge label Oct 31, 2026
@moq-bot

moq-bot Bot commented Oct 31, 2026

Copy link
Copy Markdown
Contributor

Codex land fixer: fixer crashed (exit 101); run /quest-iterate. Recommendation: run /quest-iterate before picking it again.

…//work/rs/moq-clock#0.11.0 not found in Cargo.lock
�[2m2026-10-31T06:25:10.924503Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-clock/macros#moq-clock-macros@0.1.0 not found in Cargo.lock
�[2m2026-10-31T06:25:10.924514Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-net#0.3.10 not found in Cargo.lock
�[2m2026-10-31T06:25:10.924525Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-pattern#0.1.2 not found in Cargo.lock
�[2m2026-10-31T06:25:10.926267Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-loc#0.2.19 not found in Cargo.lock
�[2m2026-10-31T06:25:10.958079Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-msf#0.5.1 not found in Cargo.lock
�[2m2026-10-31T06:25:11.012464Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/hang#0.21.11 not found in Cargo.lock
�[2m2026-10-31T06:25:11.012534Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/kio#0.6.2 not found in Cargo.lock
�[2m2026-10-31T06:25:11.012554Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/kio/macros#kio-macros@0.1.0 not found in Cargo.lock
�[2m2026-10-31T06:25:11.012581Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-clock#0.11.0 not found in Cargo.lock
�[2m2026-10-31T06:25:11.012597Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-clock/macros#moq-clock-macros@0.1.0 not found in Cargo.lock
�[2m2026-10-31T06:25:11.012614Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-json#0.5.8 not found in Cargo.lock
�[2m2026-10-31T06:25:11.012632Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-loc#0.2.19 not found in Cargo.lock
�[2m2026-10-31T06:25:11.012646Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-msf#0.5.1 not found in Cargo.lock
�[2m2026-10-31T06:25:11.012663Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-mux#0.10.11 not found in Cargo.lock
�[2m2026-10-31T06:25:11.012707Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-net#0.3.10 not found in Cargo.lock
�[2m2026-10-31T06:25:11.012738Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-nvenc#0.1.2 not found in Cargo.lock
�[2m2026-10-31T06:25:11.012755Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-pattern#0.1.2 not found in Cargo.lock
�[2m2026-10-31T06:25:11.018112Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-video#0.1.10 not found in Cargo.lock
�[2m2026-10-31T06:25:11.064445Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-nvenc#0.1.2 not found in Cargo.lock
�[2m2026-10-31T06:25:11.094007Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-v4l#0.1.0 not found in Cargo.lock
�[2m2026-10-31T06:25:11.119759Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/libmoq#0.6.12 not found in Cargo.lock
�[2m2026-10-31T06:25:11.154627Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/kio#0.6.2 not found in Cargo.lock
�[2m2026-10-31T06:25:11.154676Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/kio/macros#kio-macros@0.1.0 not found in Cargo.lock
�[2m2026-10-31T06:25:11.154703Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-clock#0.11.0 not found in Cargo.lock
�[2m2026-10-31T06:25:11.154720Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-clock/macros#moq-clock-macros@0.1.0 not found in Cargo.lock
�[2m2026-10-31T06:25:11.154735Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-net#0.3.10 not found in Cargo.lock
�[2m2026-10-31T06:25:11.154753Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-pattern#0.1.2 not found in Cargo.lock
�[2m2026-10-31T06:25:11.157914Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-archive#0.0.11 not found in Cargo.lock
�[2m2026-10-31T06:25:11.192565Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/hang#0.21.11 not found in Cargo.lock
�[2m2026-10-31T06:25:11.192630Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/kio#0.6.2 not found in Cargo.lock
�[2m2026-10-31T06:25:11.192643Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/kio/macros#kio-macros@0.1.0 not found in Cargo.lock
�[2m2026-10-31T06:25:11.192655Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-clock#0.11.0 not found in Cargo.lock
�[2m2026-10-31T06:25:11.192665Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-clock/macros#moq-clock-macros@0.1.0 not found in Cargo.lock
�[2m2026-10-31T06:25:11.192677Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-json#0.5.8 not found in Cargo.lock
�[2m2026-10-31T06:25:11.192689Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-loc#0.2.19 not found in Cargo.lock
�[2m2026-10-31T06:25:11.192716Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-msf#0.5.1 not found in Cargo.lock
�[2m2026-10-31T06:25:11.192728Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-mux#0.10.11 not found in Cargo.lock
�[2m2026-10-31T06:25:11.192749Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-net#0.3.10 not found in Cargo.lock
�[2m2026-10-31T06:25:11.192770Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-pattern#0.1.2 not found in Cargo.lock
�[2m2026-10-31T06:25:11.195193Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-audio#0.1.10 not found in Cargo.lock
�[2m2026-10-31T06:25:11.229415Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/kio#0.6.2 not found in Cargo.lock
�[2m2026-10-31T06:25:11.229460Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/kio/macros#kio-macros@0.1.0 not found in Cargo.lock
�[2m2026-10-31T06:25:11.229471Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-clock#0.11.0 not found in Cargo.lock
�[2m2026-10-31T06:25:11.229482Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-clock/macros#moq-clock-macros@0.1.0 not found in Cargo.lock
�[2m2026-10-31T06:25:11.229492Z�[0m �[34mDEBUG�[0m �[1mdevelop_cmd�[0m:�[1mbuild_wheels�[0m:�[1mbuild_wheels_inner�[0m:�[1mgenerate�[0m: �[2mcargo_cyclonedx::generator�[0m�[2m:�[0m Hash for package ID path+file:///work/rs/moq-pattern#0.1.2 not found in Carquest: fixer agent exited 101

(written by Codex)

@kixelated

Copy link
Copy Markdown
Collaborator Author

Re-landing 1da9ea0bbdcfec4bbf5aa7336c424131106eba86 unchanged after the failed_checks stop at 2026-10-31T07:10Z. This PR was collateral.

  • All seven PRs in that run were ejected within 16 seconds with the same 3-second check quest (failed) output: #6946, #7404, #7035, #7405, #7370, this one, and #7135.
  • Each PR merged alone onto the run's base (1ea4b1a2c3) passes quest check except #7135. It deletes quest/m0/nightly/browser-baseline.md, which quest/m2/fill-wait-cancel-test.md:29 on main still requires.
  • This head merged with current main passes quest check (the flake-pinned quest, the same binary the gate runs). quest check --base origin/main --branch quest/m0/ci/five-minutes also passes on the head.
  • Nothing changed since the reviewed head. Codex's record on 1da9ea0bbd still stands, and all 12 checks pass.

(Written by Claude Opus 5.5)

@moq-bot
moq-bot Bot merged commit ec8ada9 into main Oct 31, 2026
1 check passed
@moq-bot
moq-bot Bot deleted the quest/m0/ci/five-minutes branch October 31, 2026 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant