COR-1576: Improve CLI wrapper/help UX (wrapper --version passthrough, gate progress)#121
Open
juangaitanv wants to merge 1 commit into
Open
COR-1576: Improve CLI wrapper/help UX (wrapper --version passthrough, gate progress)#121juangaitanv wants to merge 1 commit into
juangaitanv wants to merge 1 commit into
Conversation
…sting - Disable version flag forwarding on wrapper for underlying package managers (Issue 1) - Add `#[command(disable_version_flag = true)]` to InstallWrapArgs - Wrapper --version/-V now forwards to the underlying package manager - Add stderr progress lines to precheck initialization (Issue 3) - Add two eprintln! status lines before thread::scope in precheck/mod.rs - Provides visibility into early setup phases - Gate verdict progress on non-empty job list (Issue 3) - Remove VERDICT_PROGRESS_THRESHOLD constant - Only emit progress when jobs.is_empty() is false - Add pluralization for better UX with small job sets - Add regression tests for Issues 1 and 3 - tests/cli_install.rs: wrapper help and version forwarding - tests/cli_verdict.rs: verdict progress output - tests/cli_deps.rs: deps command validation
There was a problem hiding this comment.
No meaningful production-blocking findings.
Verified the PR diff against main and inspected the affected wrapper parsing (src/main.rs), install-gate progress paths (src/precheck/mod.rs, src/precheck/verdict.rs), and the added regression coverage. I also ran the focused tests with the lockfile on Rust stable:
cargo +stable test --locked wrapper_version_flag_forwards_to_managercargo +stable test --locked small_set_emits_resolve_and_verdict_progress_on_stderrcargo +stable test --locked small_set_progress_keeps_json_stdout_cleancargo +stable test --locked cli_deps_nested_help_forms_both_work
All passed. I did not find an actionable reason to block merge.
Sent by Cursor Automation: pr-flow
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
Fixes the CLI UX inconsistencies surfaced during
corgea 1.9.1smoke testing againstdevex-testing-grounds. Linear: COR-1576.--versionintercepted#[command(disable_version_flag = true)]on the sharedInstallWrapArgsstruct.corgea npm/pip/uv/yarn/pnpm --version(and-V) now forward to the underlying tool instead of printingcorgea-npm 1.9.1.corgea --versionstill reports the Corgea version; wrapper-h/--helpunchanged.main(regressed only in ≤1.8.7)corgea help deps scanandcorgea deps help scanexit 0 with byte-identical output. No behavior change.eprintln!resolution lines before the resolvethread::scope; removedVERDICT_PROGRESS_THRESHOLDand gate thechecking N packages…line on!jobs.is_empty()so small/early sets narrate too. Under--json, stdout stays exactly oneschema_version: 1document. Empty pass stays silent.Why
During release smoke testing,
corgea npm --versionreported the wrapper version instead of npm's (non-install wrapper commands otherwise delegate), and short Install Gate runs printed nothing on stdout/stderr for 25s+ — indistinguishable from a hang — because the only progress line was gated to trees larger than 8 packages.Changes
Production (3 files):
src/main.rs—disable_version_flagonInstallWrapArgs.src/precheck/mod.rs— stderr resolution-progress lines (resolving named package targets…,resolving the would-install dependency tree…).src/precheck/verdict.rs— removed the> 8threshold; pluralized + always-on verdict progress for non-empty sets.Tests (3 files):
tests/cli_install.rs,tests/cli_verdict.rs,tests/cli_deps.rs— regression coverage for all three issues.Verification
cargo test: 441 passed / 0 failed / 13 ignored (network-gated); 4 new regression tests green.cargo clippy --all-targets -- -D warningsandcargo fmt --check: clean.corgea npm --version→ real npm,corgea --version→corgea 1.9.1preserved.Notes (non-blocking)
--versionforwarding test coversnpm+pip;uv/yarn/pnpmverified manually against real binaries.resolving named package targets…prints even when all targets are git/URL/path specs (no registry call) — cosmetic, left out of scope.