List View Component: Execution Kickoff
Execution Summary
Section titled “Execution Summary”Repo: ux-prototype | Branch: jmpicnic/list-view-management-620 from main | Strategy: Single agent, sequential (PQ1)
Phase 0 — Setup
Section titled “Phase 0 — Setup”- 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
Phase 1 — Shared Foundation (Wave 0)
Section titled “Phase 1 — Shared Foundation (Wave 0)”- Port
PaginationData,formatters,ag-theme-arda.cssto canary paths
Phase 2 — Cell Atoms (Wave 1)
Section titled “Phase 2 — Cell Atoms (Wave 1)”- 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)
Phase 3 — DataGrid Molecule (Wave 2)
Section titled “Phase 3 — DataGrid Molecule (Wave 2)”- Port
useColumnPersistence,SortMenuHeader,DataGrid<T> - Replace vendored
SelectAllHeaderComponentwith AG Grid nativerowSelection - 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)
Phase 5 — Integration
Section titled “Phase 5 — Integration”- Fork column definitions,
ItemTableAGGrid,ItemsPage,ItemDetailPageintocanary-refactor/components/ - Swap ~15 columns to canary atoms, ~3 to new types (memo, color), retain ~10 vendored
- Update
canary.tsbarrel exports, remove placeholders - Run VRT comparison against dev-witness
Phase 6 — Report & Changelog
Section titled “Phase 6 — Report & Changelog”- Write completion report, update CHANGELOG
Items to Confirm
Section titled “Items to Confirm”| # | Item | Context | Guidance |
|---|---|---|---|
| 1 | cn utility location | Every 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 |
| 2 | getBrowserTimezone / getTimezoneAbbreviation existence | Phase 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. |
| 3 | VRT baseline capture approach | Phase 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 |
| 4 | Commit strategy | Should 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 |
| 5 | GitHub issue linkage | The 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. |
Copyright: © Arda Systems 2025-2026, All rights reserved