# New Appeal Refactor Tracker Base branch for this tracker: `refactor` ## Status Current slice: Slice 2b — File Merge/Dedupe Helpers Status: READY TO START --- ## Slice List ### Slice 1 — XML/Form Derivation Extraction Status: COMPLETE - Extract XML parsing helpers into lib - Keep selectors identical - No behaviour change --- ### Slice 2a — Payload Cleanup Helpers Status: COMPLETE - Extract boolean normalization - Extract null/internal key stripping --- ### Slice 2b — File Merge/Dedupe Helpers Status: NOT STARTED - Extract file list merge logic - Extract dedupe logic --- ### Slice 3 — Side Effect Facade Status: NOT STARTED - Wrap existing service calls - No logic changes --- ### Slice 4 — BuildSection UI Extraction Status: NOT STARTED --- ### Slice 5 — BuildCheckSection UI Extraction Status: NOT STARTED --- ### Slice 6 — BuildCheckRow Formatter Map Status: NOT STARTED --- ### Slice 7 — Props Boundary Cleanup Status: NOT STARTED --- ### Slice 8 — Start Flow Cleanup (CreateCase / AboutYou) Status: NOT STARTED --- ## Rules - Only work on ONE slice at a time - Do not move to next slice until current is COMPLETE - Do not combine slices - Preserve behaviour at all times ## Notes - Save/resume payload shape is sensitive - File upload logic duplicated in multiple places - BuildSection is highest risk area ## Regression Checklist (Run After Each Slice) - Start new appeal - Save and exit - Resume saved appeal - Navigate sections - Upload file - View check answers - Submit appeal (if safe to test) - View confirmation page - Verify EN/CY parity Validation: - npm run lint passed - Playwright end-to-end new appeal journey passed - submission completed successfully through CRM insertion