Repository navigation
fix(check): let the queue's base binary skip the stub check - #658
Conversation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
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 28 minutes. View limit details
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…flag # Conflicts: # assets/skills/merge.md
Summary
quest checkgains--no-stubs, which skips the comparison of the repository's skill stubs with the skills compiled into the binary. The stub check stays on by default..github/workflows/queue-build.ymlpasses it in the base-binary step ("Check that the PR leaves its quest accurate"), with a comment saying why.Since #655, main's binary rejected any PR that adds, removes or changes a skill's stub, because it compares stubs with main's skills. #649 failed the queue with "quest-unblock/SKILL.md is missing" and "quest-complete/SKILL.md is outdated". The PR's own
quest checkinnix develop --command just check, later in the same required job, still checks the stubs against the PR's skills.Decisions
Maintainer (2026-11-12): add a
quest checkflag that skips the stub check (--no-stubs) and pass it in queue-build.yml's base-binary step; the stubs are checked by the PR's own binary injust checklater in the same required job. The check stays on by default everywhere else.Maintainer (2026-11-12): also pass
--no-stubsin/quest-merge's preflight (assets/skills/merge.md), which runsquest check --basewith aquestthe PR cannot modify, so it rejected stub-changing PRs the same way. The maintainer asked for the skill edit.Other callers of
quest checkwith a binary that is not the PR's own, searched in the assets,src/cli/land*, and workflows: none has the same flaw.quest land's screening calls the check function in process with no stub comparison,quest land-bumprunsquest initwith the same binary beforequest check --fix, andREADME.md's examples use the repository's own pin. The README's sentence on--no-stubsnow names thequest-mergepreflight beside the merge queue.Caused by
quest check, which the queue runs with the base's binary against a PR whose stubs follow the PR's skills.Public API
New flag
quest check --no-stubs; default behavior and exit codes are unchanged. No wire impact.Landing
queue.yml calls main's copy of queue-build.yml, so the workflow change takes effect only after this PR lands, and while this PR is in the queue the old step runs. This PR changes no stubs, so the old step passes it.
Validation
just checkandjust testpass.quest check --helpshows the flag; README updated to match./quest-merge's preflight command inassets/skills/merge.mdnow passes--no-stubs;just checkandjust testpass on the head with it.checkexits 1 with "is missing",check --no-stubsexits 0 with no output.Models
Size: XS
Implementer: Claude Code, claude-sonnet-5-5, high effort
Implementer: Claude Code, claude-sonnet-5-5, high effort (iterate, XS)
(Written by Claude Sonnet 5.5 with high)
🤖 Generated with Claude Code
Review
Rewritten by
quest reviewafter each round.Head: b17430d
Base: origin/main at 2729857
Reviewer: Codex, gpt-6.1-sol, medium effort
Session:
01a1d0a4-e7c3-7280-bf35-b83f29bee3ce, round 1Score: 9/10,
The change cleanly skips base-binary stub comparisons while retaining head stub validation in the merge queue; code inspection found no actionable defects, and builds and tests were not run as instructed.Findings: none
Reviewer: opencode, opencode-go/deepseek-v4.1-flash, high effort
Session:
ses_e2f5b1193ffeEaSXnuIyoDIZk7, round 2Score: 10/10,
All three earlier findings are refuted by the queue's own stub check at queue-build.yml:57, the impossibility of a base binary checking a PR's stubs, the README's distinction between base-built and repository-installed binaries, and the maintainer's recorded decision to accept the preflight split, with no changes at this head introducing new issues.Findings: none
The last round's findings, at b17430d:
assets/skills/merge.md:35:Merge preflight skips the only pre-queue stub check, and its stated justification is false here;The maintainer recorded on 2026-11-12 the decision to skip stubs in the preflight, and the queue build at .github/workflows/queue-build.yml:57 runs the PR's own `just check` stub check before landing, with `--direct` remaining the explicit-request path..github/workflows/queue-build.yml:53:The queue's trusted stub check is delegated to PR-controlled code;A base binary compares the head's stubs with the base's skills, so only the PR's own binary can check them, and the maintainer's recorded decision chose to put that check in the queue's `just check` at .github/workflows/queue-build.yml:57.README.md:277:The README's PR job still runs the command the new paragraph says must change;README.md:283-288 limits `--no-stubs` to binaries built from the base, while the example at README.md:277 uses the repository's installed `quest`, whose skills match its stubs, so the example remains correct.