github sponge-b0b/arid v2.2.4

4 hours ago

Arid 2.2.4 — Identify stale suppressions in normal scan output

Arid 2.2.4 is a narrow usability patch for suppression-health reporting.

When a normal text scan performs a suppression audit, Arid already reported aggregate Total / Active / Stale counts. If the audit found stale suppressions, however, the developer still had to run a second command to discover which suppression regions were stale.

This release closes that gap.

Actionable stale-suppression output

When --suppression-summary or normal-scan --fail-on-stale finds stale suppressions, the human text report now lists only the stale regions immediately after the Suppressions table:

Suppressions

┌────────┬─────┐
│ Total  │ 317 │
│ Active │ 316 │
│ Stale  │   1 │
└────────┴─────┘

Stale suppressions

  src/example.py:120-134

Run with --suppression-status for the full suppression audit.

EOF-terminated regions are rendered as START-EOF.

The locations are project-relative and follow the same deterministic path/line ordering used by the suppression audit. Active suppressions remain summarized by count so normal scan output stays focused on the maintenance action that is actually required.

When no stale suppressions exist, the extra section is omitted entirely.

Existing workflows remain intact

--suppression-summary remains informational: stale suppressions do not affect the process exit status unless --fail-on-stale is also requested.

--fail-on-stale keeps its existing exit semantics, but a text-mode failure now identifies the stale region or regions that caused the policy failure.

Use the existing detailed command when you need the complete lifecycle view of all suppression regions:

arid . --suppression-status

Compatibility

Arid's duplicate-detection behavior and duplicate identity are unchanged in 2.2.4.

This patch does not change any versioned machine contract or machine-oriented output shape, including:

  • report-v4;
  • summary-v1;
  • suppression-status-v1;
  • SARIF;
  • Markdown;
  • supplemental normal-scan reports.

The change is limited to human text presentation plus the corresponding regression and integration validation.

Install

With uv:

uv tool install --upgrade "arid==2.2.4"
arid --version

Or with pip:

python -m pip install --upgrade "arid==2.2.4"
arid --version

Expected version output:

arid 2.2.4

GitHub Action

The existing GitHub Action remains compatible. Stable examples should use the 2.2.4 tag after publication:

- uses: sponge-b0b/arid@v2.2.4
  with:
    paths: .

Don't miss a new arid release

NewReleases is sending notifications on new releases.