[dashboard-components] Refactor table-region built-in inventory tables

Daily Dashboard Component Refactorer · pull request · closed

Filter2mode:review mode:live
All recorded Export JSON
github-actions[bot]

published Aug 29, 2026, 6:59 PM · updated Aug 29, 2026, 7:11 PM

Summary

Extracted the remaining repeated built-in inventory table wrapper markup in pages/dashboard/src/presenter.js into the existing reusable renderTableRegion(...) component.

Duplication evidence

Repeated .table-region > table > thead > tr > th* plus tbody empty-row construction remained at these call sites in pages/dashboard/src/presenter.js before this refactor:

  • renderEnginesModelsPage
  • renderOperationalValuePage
  • renderOrganizationsPage
  • renderRepositoriesPage
  • renderExperimentsPage
  • renderGradersPage
  • renderEvalsPage

Each site repeated the same table-region wrapper shape and differed only in table class name, header labels, empty-state message, column span, and row renderer.

Call sites collapsed

Reused pages/dashboard/src/components/table-region.js at every duplicated call site identified above, including both grader tables and both eval tables.

Tests added

  • Expanded pages/dashboard/test/unit/table-region.test.js
    • added keyed-list descriptor coverage for populated body rows used by built-in presenter tables

Behavior preservation evidence

  • Kept all existing DOM text, accessible names, class names, and empty-state messages unchanged.
  • Verified the presenter diff is limited to replacing duplicated wrapper construction with renderTableRegion(...) calls.
  • Full suite remained green after the refactor.

Gates

Ran from pages/dashboard/:

  • npm install
  • npm run typecheck
  • npm run lint
  • npm test
  • npm run test:e2e

Blockers

  • None.

Next candidates

  • Extract repeated custom-view source/metadata/context chrome.
  • Extract repeated provenance section rendering for built-in pages.
  • Extract repeated built-in page section headings plus inventory-table composition once the remaining table call sites settle.

Generated by ♻️ Daily Dashboard Component Refactorer · pi · gpt54 · 49.8 AIC · ⌖ 10.5 AIC · ⊞ 5.4K ·