feat(parse): add argument subcommand conflicts - #1104
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Central YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
3c22f71 to
722733c
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 722733c. Configure here.
722733c to
5d5d7dd
Compare
5d5d7dd to
59edb6f
Compare
4974d24 to
ae910b3
Compare
ae910b3 to
98680be
Compare
Instruction countsNothing was compared, and so nothing was gated. No series appears on both sides: either the base has no measurements recorded, or the two were measured on different runner classes, which are deliberately not comparable — counts shift between machine types by more than a real regression does. New, nothing to compare against: Only instruction counts gate. Wall clock is shown for context — on identical hardware it moves 4-20% run to run. Measured by tak — instruction-counted CLI benchmarks, stored in this repository's git notes. Shadow comparisonParsing
|
98680be to
8479be7
Compare
8479be7 to
a61a34b
Compare
a61a34b to
52c723e
Compare
52c723e to
cb2b16c
Compare
cb2b16c to
adb3055
Compare
adb3055 to
7e0931d
Compare

Summary
args_conflicts_with_subcommandsacross KDL, typed Rust, usage-lib, the clap bridge, generated Go, and Go runtime loweringVerification
cargo test --all --all-featurescargo clippy --all --all-features -- -D warningsgo test ./...(fromgo/)AI-generated pull request.
Note
Medium Risk
Core argv routing changes in Rust and Go parsers, but the behavior is opt-in per command and covered by cross-layer tests; wrong enforcement would mainly affect CLIs that enable the flag.
Overview
Implements
args_conflicts_with_subcommands, matching clap: when enabled on a command, binding any parent flag or positional makes a later child subcommand name an error; subcommands alone still work.The change threads a new command flag through KDL/spec, usage-lib (including default-subcommand routing),
usage-argvand Go parsers (command_arg_found/CodeSubcommandConflict), derive (#[command(args_conflicts_with_subcommands)]), generated Go, clap bridge, and styled diagnostics.clap_usageno longer reports this setting as a fidelity loss.PLAN.md and migration/compatibility docs mark the policy as portable; tests cover Rust argv, usage-lib, Go, facade derive, and clap bridge preservation.
Reviewed by Cursor Bugbot for commit 7e0931d. Bugbot is set up for automated code reviews on this repo. Configure here.