Skip to content

feat(validation-fuzz-dashboard): skill port: validation-fuzz-dashboard (XWING-2440) - #292

Merged
smith-xyz merged 1 commit into
traust-security:developmentfrom
smith-xyz:feat/validation-fuzz-dashboard
Oct 27, 2026
Merged

smith-xyz merged 1 commit into
traust-security:developmentfrom
smith-xyz:feat/validation-fuzz-dashboard

Conversation

@smith-xyz

@smith-xyz smith-xyz commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Plan: plans/traust-standardization/00-skill-ports/48-shaun-validation-fuzz-dashboard.md

Draft until ready for review.

What

Finishes the validation-fuzz-dashboard port. traust-core already has the validation-fuzz insight view (ValidationFuzzView, registered as ViewName.VALIDATION_FUZZ) and the traust dashboard view <name> --out CLI that renders any view to <out>/<view>/<stem>.{md,html,json}. The DashboardsMaterializer / VIEWS stage already rebuilds this view from recorded state — so the per-skill builder was a redundant duplicate.

  • refresh_dashboards.py: drop the redundant validation-fuzz builder stage (the VIEWS stage renders ValidationFuzzView in-process).
  • SKILL.md: point the procedure at traust dashboard view validation-fuzz --out <dir>; the skill no longer scans files or ships a script.
  • Delete harnessing/validation-fuzz-dashboard/scripts/build_validation_fuzz_dashboard.py.
  • Fix the now-dangling references (refresh-dashboards SKILL table row, continuous-operations builders list, .claude/commands wrapper, skill-security S10 exemption) and regenerate docs/skills.md.

No traust-core change — the view and CLI already exist on development.

Parity

Old behaviour Home now How
build_validation_fuzz_dashboard.py (scan validations/*.json + fuzz summary, render HTML/MD) core ValidationFuzzView + traust dashboard view validation-fuzz view already built in core; skill calls the render door; builder retired
verdict×severity / coverage / chains-with-≥1-confirmed-step / fuzz hit-rates ValidationFuzzView (core) deterministic rollup now computed by the core view from recorded state
bespoke dashboard HTML/MD rendering core HtmlRenderer / MarkdownRenderer rendering is a core view's job
metrics-history trend banner scoreboard / metrics stages trend capture stays with the metrics/scoreboard refresh, not the per-skill script

Prose changes

File · section Kind Change
SKILL frontmatter description 1 "Aggregates every validations/*.json … into one HTML dashboard" → "Renders traust-core's validation-fuzz view from recorded validation and fuzz runs"
Step 1 "Locate the analysis-results root" 1 removed — the view reads core's recorded state, not files
Step 2 "Run the harness script" 1 + 2 python3 build_validation_fuzz_dashboard.py → traust dashboard view validation-fuzz --out <dir>; the file-walking detail becomes "what the view shows", computed by core
"Design notes" (dataviz palette/segments) — removed; rendering moved to core's HtmlRenderer (see Behaviour changes)
Input / Outputs 1 results-root/file tokens → scope flags (--product/--team-id); output filenames → <out>/validation-fuzz/<stem>.{md,html,json}

Behaviour changes

  • Data source: the dashboard now reads traust-core's recorded validation and fuzz runs instead of scanning validations/*validation*.json + FUZZ-CAMPAIGN-SUMMARY. Purpose preserved; source is the system of record.
  • Rendering: the bespoke per-skill HTML/MD is replaced by core's standard view render; the skill's dataviz "design notes" prose is dropped because rendering is now core's. The deterministic rules it encoded (fixed status palette, coverage meter separate from stacked bars, chains counted only with ≥1 confirmed step) live in the core view/renderer.
  • Trends banner: the script's metrics-history append/banner is not reproduced per-skill; trend capture is the scoreboard/metrics refresh.

Legacy files

File Verdict Where it went / why it's gone
scripts/build_validation_fuzz_dashboard.py retire replaced by core ValidationFuzzView + traust dashboard view; deleted

Changed tests

Test Old → New Why
tests/test_validation_fuzz_dashboard_paths.py deleted it imported and tested the retired build_validation_fuzz_dashboard.py (its markdown_path helper); the script is gone
  • A person reviewed each changed test and the behaviour change is intended

@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Oct 27, 2026
@openshift-ci

openshift-ci Bot commented Oct 27, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: smith-xyz

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 27, 2026
@smith-xyz
smith-xyz force-pushed the feat/validation-fuzz-dashboard branch from 02fc3d6 to 2afd291 Compare October 27, 2026 20:03
@smith-xyz
smith-xyz marked this pull request as ready for review October 27, 2026 20:08
@smith-xyz
smith-xyz requested a review from a team as a code owner October 27, 2026 20:08
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Oct 27, 2026
@smith-xyz
smith-xyz merged commit a66ce20 into traust-security:development Oct 27, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant