Skip to content

feat(slice-42): add quality triage tabs to dashboard - #120

Merged
neomatrix369 merged 3 commits into
mainfrom
slice/42-quality-score-tabs
Aug 25, 2026
Merged

feat(slice-42): add quality triage tabs to dashboard#120
neomatrix369 merged 3 commits into
mainfrom
slice/42-quality-score-tabs

Conversation

@neomatrix369

@neomatrix369 neomatrix369 commented Aug 25, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add three skill-only quality triage tabs to the dashboard toolbar: Quality ≥ 80 (default), Quality < 80, and No quality score
  • Pure filter helpers in tripwire-status.js; wired into Tripwire.dc.html filter pipeline, tab counts, empty-state copy, and clear-filters reset
  • Unit tests for high/low/unscored buckets (79/80 boundary, NaN, MCP exclusion)
  • Docs: slice 42 A14–A15 spec, TRAIL/PROGRESS, CHANGELOG, STATUS, README, gate evidence; nw-review APPROVED

Closes

Closes #42

Test plan

  • Open dashboard (Mock or Live) — confirm three quality tabs render with counts
  • Quality ≥ 80 shows only skills with Tessl quality ≥ 80
  • Quality < 80 shows skills with numeric score below 80 (includes 79)
  • No quality score shows skills with null/unscored quality
  • MCP servers never appear in any quality tab bucket
  • Search + type filter + quality tab intersect correctly
  • Empty state names active quality tab; Clear filters resets to default tab
  • (cd prototypes/dc-dashboard && npm test && npm run lint) passes

Test Results

Stack Result Coverage
Python (pytest) 439 passed 95.6% line / branch 95% gate
Dashboard (prototypes/dc-dashboard) 110 passed, 1 optional live smoke skipped offline
CLI (cli/) 138 passed

Quality Gates

  • ./scripts/quality-gates.sh — passed (ruff, mypy, xenon, vulture, bandit, gitleaks, markdownlint, shellcheck)
  • Slice gate evidence: docs/plan/gate-evidence/slice-42.json (A14–A15 delta, nw-review APPROVED)
  • Dashboard complexity: reporting-only (eslint.complexity.config.js warnings, no errors)

Checklist

  • ./scripts/quality-gates.sh passes locally
  • New tests added or updated (or change is docs-only)
  • Docs updated where applicable
  • No secrets or credentials committed

Made with Cursor

Three skill-only tabs — Quality ≥ 80, Quality < 80, and No quality score —
let operators filter by Tessl item.quality without scrolling the full grid.
Slice spec, tests, and status docs updated for A14–A15.
Align TRAIL, PROGRESS, gate evidence, and entry docs with three-tab
quality triage (≥80 / <80 / unscored) on slice/42-quality-score-tabs.
Embeds software-crafter-reviewer verdict and gate-evidence review field.
@github-actions

Copy link
Copy Markdown

code-review-graph review

Overall risk: 0.35 (LOW) — 12 changed function(s)/class(es), 3 affected flow(s), 2 test gap(s)

Risk-scored changes

Risk Level Symbol Location Tested
0.35 low prototypes/dc-dashboard/tripwire-status.js::isSkillItem prototypes/dc-dashboard/tripwire-status.js:315 yes
0.35 low prototypes/dc-dashboard/tripwire-status.js::hasKnownQualityScore prototypes/dc-dashboard/tripwire-status.js:323 no
0.35 low prototypes/dc-dashboard/tripwire-status.js::qualityMeetsThreshold prototypes/dc-dashboard/tripwire-status.js:334 no
0.35 low prototypes/dc-dashboard/tripwire-status.js::qualityTabBucket prototypes/dc-dashboard/tripwire-status.js:344 yes
0.35 low prototypes/dc-dashboard/tripwire-status.js::matchesQualityTab prototypes/dc-dashboard/tripwire-status.js:357 yes
0.25 low prototypes/dc-dashboard/test/tripwire-status.test.js::test:given quality helpers when boundary and type checks then s... prototypes/dc-dashboard/test/tripwire-status.test.js:328 (test)
0.25 low prototypes/dc-dashboard/test/tripwire-status.test.js::test:given mixed skills when countSkillsByQualityTab then talli... prototypes/dc-dashboard/test/tripwire-status.test.js:342 (test)
0.25 low prototypes/dc-dashboard/tripwire-status.js::countSkillsByQualityTab prototypes/dc-dashboard/tripwire-status.js:376 yes
0.20 low prototypes/dc-dashboard/tripwire-status.js::filterItemsByQualityTab prototypes/dc-dashboard/tripwire-status.js:367 yes
0.15 low prototypes/dc-dashboard/test/tripwire-status.test.js::test:given mixed quality skills when high tab filter then only ... prototypes/dc-dashboard/test/tripwire-status.test.js:301 (test)

Affected execution flows

  • loadData — criticality 0.47, 21 node(s) across 2 file(s)
  • findingCountParts — criticality 0.29, 4 node(s) across 1 file(s)
  • formatFindingsHeadingLabel — criticality 0.29, 4 node(s) across 1 file(s)

Test gaps

  • prototypes/dc-dashboard/tripwire-status.js::hasKnownQualityScore (prototypes/dc-dashboard/tripwire-status.js:323)
  • prototypes/dc-dashboard/tripwire-status.js::qualityMeetsThreshold (prototypes/dc-dashboard/tripwire-status.js:334)

Token savings: this graph-backed report used ~98,072 fewer tokens (~95%) than reading every changed file in full (estimated, chars/4 approximation).


Powered by code-review-graph — local-first analysis; no code leaves the CI runner.

@neomatrix369
neomatrix369 merged commit baffda8 into main Aug 25, 2026
14 checks passed
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.

1 participant