Repository navigation
fix(audit): pass p7-quiet only when the help declares --quiet or -q - #171
Open
brettdavies wants to merge 1 commit into
Open
brettdavies wants to merge 1 commit into
brettdavies wants to merge 1 commit into
Conversation
`p7-quiet` passed whenever the `--help` text contained the characters `--quiet` or `-q` anywhere. eza's `--no-quotes`, helm's `--qps`, scc's `--file-list-queue-size` and yq's `--ini-preserve-quotes` each carry `-q` inside another flag's name, so all four passed without a quiet flag. A `-q` shown only in a usage line passed too. The audit now asks the definition query for `--quiet` or `-q` and reads the help through the shared probe the other flag audits use. A warn says what was searched: `no option definition in --help declares --quiet or -q; usage lines are not read.` When the help declares `-quiet` beside double-dash names, the warn adds why that spelling does not count.
brettdavies
added this pull request to stack #166
October 8, 2026 21:45
This was referenced Oct 8, 2026
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
p7-quietpassed whenever the--helptext contained the characters--quietor-qanywhere. Four registry tools passed that way without a quiet flag, because-qsits inside another flag's name:--no-quotes--qps--file-list-queue-size--ini-preserve-quotesA
-qshown only in a usage line (Usage: quill [-q] [-o FILE] <input>) passed too.The audit now asks the definition query whether the help declares
--quietor-q, and reads the help through the shared probe the other flag audits use. A warn says what was searched:no option definition in --help declares --quiet or -q; usage lines are not read.When the help declares-quietbeside double-dash names, the warn adds why that spelling does not count.p7-quietis one of the four audits behind the scorecard'saudience, so a pass that becomes a warn is one more warn in that count.Changelog
Fixed
p7-must-quietpassing for tools with no quiet flag. The row passed when-qappeared anywhere in--help, including inside--no-quotesor--qpsand in a usage line. It now passes only when an option definition declares--quietor-q.Changed
p7-must-quietwarn evidence now readsno option definition in --help declares --quiet or -q; usage lines are not read.Type of Change
fix: Bug fix (non-breaking change which fixes an issue)Related Issues/Stories
docs/plans/2026-10-06-0034-fix-help-flag-names-across-frameworks-plan.md(unit U10, thequiet.rsPR)Testing
Test Summary:
quiet.rs. The four tools' real help lines do not pass.-q, --quiet,--quietalone and-qalone pass. A-qshown only in a usage line warns with the search-scope evidence.-quietbeside double-dash names warns and says why, and-quietin a help with no double-dash name passes.tests/fixtures/handwritten-help/quillshows-qonly in its usage line.anc audit <path> --output jsongives ap7-quietrow that warns with the search-scope evidence, and theaudiencelabel equals the label for the number of warns among the four signal rows with that row counted.cargo test --test dogfoodpasses.Negatives observed failing. The new tests, run against the base (#170) with the audit reading the shared probe and the substring match still in place:
Expected moves. Written before the corpus run, from the base and head builds replayed over the full registry capture set. 66 rows, all
p7-must-quiet(p7-quiet):-qappears only inside another flag's name (the lines in the summary); no definition declares--quietor-qno --quiet/-q flag detected in --help outputto the search-scope sentenceThe other 29 scored tools pass before and after: each declares
--quietor-qon a definition line. No row in the corpus carries the dash-rule note.Derived, computed from the base scorecards:
badge.score_pctbadge.eligibleaudienceEach of the four also moves
summary.passdown one andsummary.warnup one. No propagated row moves:p7-must-quietis no row's antecedent.The plan's seed for this PR expected helm, scc and yq to move from agent-optimized to mixed. The base scorecards say otherwise: for all three,
p2-json-outputis skip andp1-non-interactiveandp6-no-color-behavioralpass, so the quiet warn is their only warn among the four signal rows, and one warn keeps the label at agent-optimized.Corpus before/after. Run after the tables above were written. Base
175c634d343a, head682c69ed3ac3. Imagesha256:05db16cf226cd14a93a2682aea41b72d3e6b4d240cadba006f2881d3ffa996b3, networkbridge. 98 tools selected, 95 scored under both builds, 67 rerun three times.Moved rows (66), grouped by what changed
p7-must-quietp7-quiethead: no option definition in --help declares --quiet or -q; usage lines are not read.
p7-must-quietp7-quiethead: no option definition in --help declares --quiet or -q; usage lines are not read.
Derived fields moved (13)
badge.score_pctbandsummary.passsummary.warnbadge.score_pctsummary.passsummary.warnbadge.score_pctsummary.passsummary.warnbadge.score_pctsummary.passsummary.warnThe 66 moved rows are the 66 expected, row for row with the same before and after evidence, and the derived moves equal the predictions: no
audienceorbadge.eligiblevalue moved. Every moved row returned the same result in all four runs of each build. No row is unstable, no harness bug is flagged, and no tool failed to score under one build only.modsp3-should-about-long-about, the one row on the A/A noise list, did not move (base runs pass, pass, pass, pass; head runs warn, warn, pass, pass).cursor,nvidia-smiandxai-grok-buildare absent from the image and ran under neither build.Files Modified
Modified:
src/audits/behavioral/quiet.rs:audit_quietasks the definition query;run()reads the shared help probe.tests/integration.rs: the usage-line case.Created:
tests/fixtures/handwritten-help/quillRenamed:
Deleted:
Breaking Changes
Four registry tools lose a
p7-must-quietpass they did not earn, and everyp7-must-quietwarn carries new evidence text. The scorecard schema and JSON shape are unchanged.Deployment Notes
Checklist