D3a [CRIT]: --web mutually exclusive with --json/--jq/--template (C5+C15)#5
Merged
Conversation
4 tasks
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
C-audit findings C5 + C15: every command that has both
--weband the output flags silently picked--weband discarded the machine-readable request. Scripts that pipe--jsontojq— common gh-port pattern — got empty stdout and exit 0, no warning.gh-compat behavior: refuse at parse time with "flag X and Y are mutually exclusive". This PR implements that.
Fix
output.MarkWebMutuallyExclusive(cmd)— three pair-wisecmd.MarkFlagsMutuallyExclusive("web", FlagX)declarations so--json+--jq(existing legal combination) still works.issue/view,issue/list,pr/view,pr/list,repo/view.Cobra emits a strong message on conflict:
Test plan
TestMarkWebMutuallyExclusive— table-driven across all 8 combinations: 4 single-flag cases pass,--json+--jq(legal combo) passes, 3--web+ X cases reject with cobra's mutex message.make cigreen locally.Notes for follow-up
repo list --webdoesn't exist yet (C23). When it's added in a later D3 PR, the same helper applies — single one-line addition.