Skip to content

feat: maintenance risk detection with --check-maintenance (DM001)#854

Merged
sonukapoor merged 18 commits into
mainfrom
feature/issue-732-dm001-maintenance-risk
Jul 20, 2026
Merged

feat: maintenance risk detection with --check-maintenance (DM001)#854
sonukapoor merged 18 commits into
mainfrom
feature/issue-732-dm001-maintenance-risk

Conversation

@sonukapoor

Copy link
Copy Markdown
Collaborator

Adds --check-maintenance (DM001), a maintenance-risk detector that surfaces direct dependencies which either block a transitive CVE fix through a major-version constraint drag, or are marked deprecated on npm. Findings render as a "Maintenance Risk" section in the terminal, thread into JSON and the HTML report, work across multi-folder/workspace scans, and count toward --fail-on.

The detector reuses existing finding data and the npm packument path, so there is no new scan surface and offline mode simply skips the deprecated check. A new examples/dm001-maintenance-drag fixture (a real @sentry/nextjs snapshot whose transitive uuid and @opentelemetry/core are pinned below their CVE fixes) exercises the feature end to end.

While wiring the HTML output, the Override Hygiene and Maintenance Risk report tables were unified with the main Findings table styling (flat rows, severity badges, no boxed panel) so all three read as one system.

Closes #732

…eck-maintenance

Real npm install snapshot of @sentry/nextjs@9.47.1, whose transitive
uuid and @opentelemetry/core dependencies are pinned below their real
CVE fix versions, requiring a major-version upgrade of the parent.
Confirms DM001 detection works end-to-end against live OSV/registry
data, not just the mocked unit tests.
…r style, closing summary, no double blank line
… styling with the Findings table

Both panels used an older boxed-panel style (bordered container,
severity-group header rows, left-border color stripe) that visibly
clashed with the Findings table's flush, badge-based layout in the
same report. Switches both to flat rows sorted by severity, a
sev-badge severity pill per row, and pkg-name/pkg-version styled
package cells, reusing the Findings table's existing global CSS
classes rather than introducing new ones.
@sonukapoor
sonukapoor merged commit 6a39be6 into main Jul 20, 2026
9 checks passed
@sonukapoor
sonukapoor deleted the feature/issue-732-dm001-maintenance-risk branch July 20, 2026 11:33
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: maintenance risk scoring for abandonware and downstream dependency drag (DM001)

1 participant