Skip to content

feat(report): add a fix-available-only filter to HTML reports - #447

Draft
vibgrate-team wants to merge 3 commits into
mainfrom
cursor/html-fix-available-filter-adcb
Draft

vibgrate-team wants to merge 3 commits into
mainfrom
cursor/html-fix-available-filter-adcb

Conversation

@vibgrate-team

@vibgrate-team vibgrate-team commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Summary

vg report --format html showed every finding, so long pages buried the rows that already name a fixed version. Each row was already stamped data-fix-available="yes" or "no" from details.fixedVersions on the scan artifact, but the page had no control to show only the rows with a known fix.

The summary now includes an unchecked Fix available only checkbox. Checking it hides table rows whose data-fix-available attribute is no. The generated HTML still contains every row, so a fixed artifact stays byte-stable and the default view is unchanged. The filter is a style rule in the page: no script, no external assets, and no registry call at report time. Summary counts stay complete.

Related issues

Closes #249

How to verify

  1. pnpm test, pnpm lint, and pnpm typecheck.
  2. Render a scan artifact: pnpm dev report --in .vibgrate/scan_result.json --format html > report.html.
  3. Open report.html. Every finding is visible. Check Fix available only and confirm rows without a known fix disappear. Uncheck it and confirm they return. The file on disk does not change.

Unchecked, every row is on the page:

HTML report with the fix-available-only checkbox unchecked and every row visible

Checked, rows with no known fix are hidden. The summary count stays Fix available: 2:

HTML report filtered to rows that name a known fix

html-fix-available-only-filter.mp4

Checklist

  • pnpm test passes
  • pnpm lint is clean
  • pnpm typecheck is clean
  • Docs updated (README / DOCS / ARCHITECTURE) where behavior changed
  • Determinism preserved — identical input still produces identical graph.json / report output (content-hashed IDs, stable sorts; no time, randomness, or filesystem-order dependence)
  • No proprietary or internal references — public, Apache-2.0 content only
  • Commits use Conventional Commits and are signed off (git commit -s, DCO)

Notes for reviewers

The control is CSS (body:has(#fix-available-only:checked) tr[data-fix-available="no"]), so the page still has no embedded script. A row is yes only when the existing fix hint finds a non-empty details.fixedVersions list already on the artifact. Security findings stay data-fix-available="no" and hide while the box is checked.

To show artifacts inline, enable in settings.

Open in Web Open in Cursor 

cursoragent and others added 3 commits October 11, 2026 21:54
vg report --format html now includes an unchecked "Fix available only"
checkbox. Checking it hides rows whose data-fix-available attribute is
"no", using fixed versions already stored on the scan artifact. The
generated page stays byte-stable, still contains every row, and does
not call a registry or embed a script.

Closes #249

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: vibgrate-team <vibgrate-team@users.noreply.github.com>
…able-filter-adcb

Co-authored-by: vibgrate-team <vibgrate-team@users.noreply.github.com>
The HTML summary includes an unchecked Fix available only checkbox.
Checking it hides rows that do not name a fixed version. The page file
still contains every finding, and the summary counts stay complete.

Closes #249

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: vibgrate-team <vibgrate-team@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.

Enhancement: optional “fix available only” filter in vg report HTML

2 participants