2.0 KiB
2.0 KiB
Legacy adapter inventory and cleanup boundary
Decision
Legacy adapter files are not bulk-deleted. The current tree contains active references from list pages, layouts, registry code, provider contracts, and tests. Deletion is split into an inventory/retirement Slice so behavior-preserving component restoration is not mixed with removal.
Active or contract-required
KbxListPage.vue: referenced by existing model and shadow-run list pages.KsListPage.vue: direct-owned replacement used by model and shadow-run list pages.contracts.ts,compatibility.ts,useUiAdapter.ts: provider and contract tests still use these symbols.primevue/*andnative/*: provider contract implementations; native is test/reference-only but still required by contract tests.
Removed after zero-reference verification
KbxButton.vue,KbxInput.vue,KbxDataGrid.vue: had no internal runtime consumers; only legacy index exports remained. Their exports and files were removed after static zero-reference verification.KbxListPage.vue: replaced byshared/ui/components/KsListPage.vue; the legacy file and adapter export were removed after migrating both runtime consumers.
Remaining cleanup candidates
- Duplicate
.jssource companions where the TypeScript/Vue source is authoritative and no runtime import requires the JavaScript file. - Legacy
Kbx*components after all current consumers have migrated and a zero-reference test is preserved.
Required evidence before deletion
- Static import graph shows zero runtime consumers.
- Contract and feature tests pass without the candidate.
- Production build no longer includes the candidate.
- Rollback path and migration note identify the removed file set.
Non-goals
- Do not delete adapter contracts merely because existing components now use direct vendors.
- Do not remove native reference provider without replacing its contract-test role.
- Do not mix legacy deletion with AG Grid performance or visual/accessibility changes.