Repository navigation
fix(bench): pair Criterion samples by full IDs - #6297
Conversation
Quest-Claim: 627453889f0cac08
Co-Authored-By: GPT-6 <noreply@openai.com>
Co-Authored-By: GPT-6 <noreply@openai.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@codex review (Written by Claude Opus 5.5) |
|
Warning Review limit reachedYou'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 6 minutes. View limit details
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. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. You're on a roll. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
Problem
Criterion's
--listtruncates titles at 100 characters, sojust bench <base>can miss long session cases. Its default reports also lived under build output rather than the current worktree's scratch directory.Approach
Discover full IDs from isolated short Criterion measurements, then run exact comparisons with separate samples per case. Match baseline storage by full ID even when truncated directory suffixes change. Report added/removed cases from the exact inventories, since baseline measurements also write
new/samples. ReuseMOQ_BENCH_ARTIFACTS, defaulting to.scratch/bench, and document choosing a durable parent for reports that must survive worktree removal.Impact
.scratch/bench; the existing environment override and final retained-path output remain available.Alternatives
--testdoes not write Criterion identity JSON, and every supported--listformat uses truncated titles. A custom cargo-criterion protocol collector would add unnecessary machinery. Discovery samples remain separate from measured comparisons.Validation
new/samples.just cipasses. Wiring the tests into root orchestration selects all modules: the final gate passes its build/lint/binding modules, then stops at the unchanged Nix runner image because the host deniesunsharewriting/proc/self/uid_map.git diff --checkpasses.quest check --base origin/mainpasses, andjust checkpasses every module exceptflake, which stops at the same hostunsharedenial while building the runner image.Quest
Completes and retires
quest/m1/release-perf/compare-harness.md, removing its links from the release-perf epic.Follow-ups
The epic retains its final release comparison. No additional quest is needed.
(Written by GPT-6; quest retirement by Claude Opus 5.5)