Skip to content

fix: make Scorecard filters accessible and recoverable - #146

Merged
johnnyhuy merged 1 commit into
mainfrom
agent/issue-145-scorecard-filters
Nov 15, 2026
Merged

johnnyhuy merged 1 commit into
mainfrom
agent/issue-145-scorecard-filters

Conversation

@johnnyhuy

Copy link
Copy Markdown
Contributor

Scorecard now names its search, Kind and Type controls, announces the matching entity count, and offers Clear filters whenever a filter is active. Search ignores surrounding whitespace and letter case; clearing restores all scorecards and returns focus to search while the catalog-wide overview stays unchanged.

Part of #85
Closes #145

Verified in this worktree

  • mise run install passed with existing peer-dependency warnings and no lockfile changes. The reviewed worktree config needed MISE_TRUSTED_CONFIG_PATHS="$PWD" for mise tasks.
  • mise run lint passed TypeScript and ESLint across all five workspaces.
  • mise run test -- --runInBand --verbose passed 65 tests in 10 suites, with one existing skipped test and suite.
  • BROWSER=none mise run dev compiled and served the app on localhost:3000 and backend on localhost:7007. Playwright entered as Guest, opened /scorecard, searched for a missing entity, then cleared the filters. The browser restored all 22 demo entities and the active element was the search input.
  • git diff --check passed.
  • mise run build was not run locally because this slice changes frontend controls and tests only. The PR Build workflow includes the Docker build.

The four added regression cases passed

PASS app packages/app/src/components/scorecard/ScorecardPage.test.tsx
  ✓ labels every filter and announces the matching entity count (291 ms)
  ✓ combines all filters and clears them with focus even when no entities match (592 ms)
  ✓ normalises search whitespace and case for "  PUBLIC  " (123 ms)
  ✓ normalises search whitespace and case for "   " (126 ms)

Test Suites: 1 skipped, 10 passed, 10 of 11 total
Tests:       1 skipped, 65 passed, 66 total

Capture method (a) succeeded. These 1440 by 1200 PNGs are from the running worktree after guest entry, saved under .tmp/proof/. No capture path was blocked.

Scorecard zero matches with named filters and a clear action

Scorecard restored with search focused and 22 entities

The overview deliberately continues to describe the full catalog, as the existing empty-filter regression requires. Existing React/MUI deprecation and jsdom stylesheet warnings appeared during verification, and the preview signals WebSocket still returns 404. They did not prevent the Scorecard checks or capture. Backend behaviour, scoring rules and catalog data are unchanged. The parent epic remains open; demo-baseline and landing-page taste decisions remain with Johnny.

Co-authored-by: OpenAI Codex <noreply@openai.com>
@johnnyhuy
johnnyhuy merged commit 65cd612 into main Nov 15, 2026
5 checks passed
@johnnyhuy
johnnyhuy deleted the agent/issue-145-scorecard-filters branch November 15, 2026 08:28
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.

Make Scorecard filters accessible and recoverable

1 participant