Skip to content

List View Component: Execution Kickoff

Repo: ux-prototype | Branch: jmpicnic/list-view-management-620 from main | Strategy: Single agent, sequential (PQ1)

  • Delete stale canary-refactor/ artifacts
  • Clone 2 dev-witness stories to canary-refactor/reference/items/
  • Capture VRT baselines (then skip VRT until Phase 5 per PQ5)
  • Verify/add ESLint canary-cannot-import-extras rule
  • Port PaginationData, formatters, ag-theme-arda.css to canary paths
  • Port 5 cell types (text, number, boolean, date, enum) — Display + Editor each
  • Create 2 new types: memo (Display + Editor + MemoButtonCell + factory) and color (Display + Editor)
  • Port useColumnPersistence, SortMenuHeader, DataGrid<T>
  • Replace vendored SelectAllHeaderComponent with AG Grid native rowSelection
  • Verify all 7 cell atom types render in DataGrid stories

Phase 4 — Entity Data Grid (Waves 3a + 3b)

Section titled “Phase 4 — Entity Data Grid (Waves 3a + 3b)”
  • Extract useDirtyTracking<T>() as composable hook
  • Port createEntityDataGrid<T>() (Tier 3a — multi-sort, filtering, cell editing lifecycle)
  • Create ActionCellRenderer<T> atom
  • Create createEntityDataGridShim<T>() (Tier 3b — vendored ArdaGrid compatibility)
  • Fork column definitions, ItemTableAGGrid, ItemsPage, ItemDetailPage into canary-refactor/components/
  • Swap ~15 columns to canary atoms, ~3 to new types (memo, color), retain ~10 vendored
  • Update canary.ts barrel exports, remove placeholders
  • Run VRT comparison against dev-witness
  • Write completion report, update CHANGELOG
#ItemContextGuidance
1cn utility locationEvery cell type lists cn* as a dependency (asterisked). Is there already a canary cn function, or does it come from a shared location like @/lib/utils? This affects whether it needs to be ported.The function is located in ux-prototype/src/types/canary/utils.ts
2getBrowserTimezone / getTimezoneAbbreviation existencePhase 2 T2.4 (Date Cell) says these are “already at @/types/canary/date-time”. Need to verify this exists before starting Phase 2.They are there, but verify as part of Phase 2 entry criteria.
3VRT baseline capture approachPhase 0 requires VRT baselines, which needs either Storybook dev server or a static build. Options: npm run build-storybook + test:vrt:ci (deterministic, slower) or npm run storybook + test:vrt (faster, requires server management).Use the build-storybook approach
4Commit strategyShould commits happen at each phase boundary (6 commits), or at a different granularity? The plan’s verification gates align with phases, so per-phase commits seem natural.Per Phase Commits
5GitHub issue linkageThe branch references issue #620 in the management repo. The project definition references #565. Which issue should the PR link to?Both, it should close both.