Skip to content

feat(scan): opt-in clone hints, --min-severity and a per-severity summary - #705

Merged
ajianaz merged 1 commit into
developfrom
fix/683-scan-noise
Oct 27, 2026
Merged

ajianaz merged 1 commit into
developfrom
fix/683-scan-noise

Conversation

@ajianaz

@ajianaz ajianaz commented Oct 27, 2026

Copy link
Copy Markdown
Collaborator

What

  • qual-clone (.clone() in Rust, info) is opt-in: rules_engine.clone_hints: true turns it on. A default scan of a Rust project no longer lists Arc::clone-style sites.
  • New cora scan --min-severity <info|minor|major|critical>: hides lower findings in every output format and in the count. Blocking is unchanged (still hook.min_severity).
  • The scan summary (pretty and JSON output) counts by severity: found 457 issues (1 critical, 150 minor, 306 info).
  • Docs (cli-reference, configuration) and CHANGELOG updated.

Why

On a 133-file Rust workspace 306 of 457 findings were qual-clone info; the count hid the one critical finding and the max_findings cap spent its slots on noise. Closes #683.

Testing

  • Unit test: qual_clone_is_opt_in (off by default, on with clone_hints).
  • 3 end-to-end tests in tests/scan_noise.rs: no clone sites by default, the JSON summary counts by severity, --min-severity major hides minor findings.
  • fmt, clippy -D warnings and the full suite pass.

…mary (#683)

Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>
@ajianaz
ajianaz force-pushed the fix/683-scan-noise branch from 22ecb5f to 7fed66a Compare October 27, 2026 08:38
@ajianaz
ajianaz merged commit 0146d29 into develop Oct 27, 2026
13 checks passed
ajianaz added a commit that referenced this pull request Oct 27, 2026
…mary (#705)

## What

- `qual-clone` (`.clone()` in Rust, info) is opt-in:
`rules_engine.clone_hints: true` turns it on. A default scan of a Rust
project no longer lists `Arc::clone`-style sites.
- New `cora scan --min-severity <info|minor|major|critical>`: hides
lower findings in every output format and in the count. Blocking is
unchanged (still `hook.min_severity`).
- The scan summary (pretty and JSON output) counts by severity: `found
457 issues (1 critical, 150 minor, 306 info)`.
- Docs (`cli-reference`, `configuration`) and CHANGELOG updated.

## Why

On a 133-file Rust workspace 306 of 457 findings were `qual-clone` info;
the count hid the one critical finding and the `max_findings` cap spent
its slots on noise. Closes #683.

## Testing

- Unit test: `qual_clone_is_opt_in` (off by default, on with
`clone_hints`).
- 3 end-to-end tests in tests/scan_noise.rs: no clone sites by default,
the JSON summary counts by severity, `--min-severity major` hides minor
findings.
- fmt, clippy -D warnings and the full suite pass.

Signed-off-by: ajianaz <ajianaz@users.noreply.github.com>
Co-authored-by: ajianaz <ajianaz@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(scan): qual-clone produces 306 info findings on one Rust workspace; add a default-off or a --min-severity for scan

1 participant