# Implementation Plan ## Overview This implementation plan covers renaming "Deleted Items Management" to "Recovery Management" and adding permanent delete functionality for soft-deleted items. The tasks are organized to first implement the terminology changes, then add the hard delete features. ## Tasks - [x] 1. Update navigation and routing terminology - Update AppSidebar navigation item from "Deleted Items" to "Recovery Management" - Preserve existing route paths for backward compatibility - Update browser tab titles and page metadata - _Requirements: 1.1, 1.2, 1.3, 5.1, 5.2, 5.3_ - [ ]* 1.1 Write property test for navigation terminology - **Property 1: Navigation displays recovery terminology** - **Validates: Requirements 1.1** - [x] 2. Update main recovery management page terminology - Update page title from "Deleted Items Management" to "Recovery Management" - Revise page description to use recovery-focused language - Update loading messages, empty states, and filter labels - Update all user-facing text to use recovery terminology - _Requirements: 1.4, 2.1, 2.2, 2.3, 2.4, 2.5, 3.1, 3.2, 3.3, 3.4, 3.5_ - [ ]* 2.1 Write property test for page content terminology - **Property 3: Page content uses recovery terminology** - **Validates: Requirements 1.4, 2.2, 2.5, 3.2, 3.3, 3.4, 3.5** - [x] 3. Verify existing functionality preservation - Test that all existing API endpoints continue to work - Verify navigation and routing functionality is preserved - Ensure component interfaces remain unchanged - _Requirements: 4.1, 4.2, 4.3, 4.4, 4.5_ - [ ]* 3.1 Write property test for API endpoint preservation - **Property 4: API endpoints remain functional** - **Validates: Requirements 4.2, 4.3** - [x] 4. Checkpoint - Verify terminology updates - Ensure all tests pass, ask the user if questions arise. - [x] 5. Design permanent delete confirmation dialog - Create PermanentDeleteConfirmDialog component - Implement warning messages about irreversible data loss - Add support for both individual and bulk operations - Include confirmation token generation for security - _Requirements: 6.3, 8.1_ - [x] 6. Implement backend permanent delete service - Add permanent delete methods to recovery service - Implement cascading deletion for related data (tasks, submissions, attachments, notes, reviews) - Add file system cleanup for associated files - Ensure transactional integrity with rollback on failure - Add audit logging for permanent deletion operations - _Requirements: 6.4, 7.1, 7.2, 7.3, 7.4, 7.5, 8.1, 8.3, 8.4_ - [ ]* 6.1 Write property test for cascading deletion - **Property 5: Permanent deletion removes all related data** - **Validates: Requirements 6.4, 7.1, 7.2, 7.3, 7.4** - [ ]* 6.2 Write property test for transactional deletion - **Property 6: Permanent deletion is transactional** - **Validates: Requirements 8.1, 8.4** - [x] 7. Add permanent delete API endpoints - Create DELETE endpoints for permanent shot deletion - Create DELETE endpoints for permanent asset deletion - Add bulk permanent delete endpoints - Implement proper error handling and validation - Add rate limiting for permanent delete operations - _Requirements: 6.4, 8.1, 8.4_ - [x] 8. Update recovery management interface with permanent delete actions - Add "Permanent Delete" buttons to individual item cards - Add bulk permanent delete option when items are selected - Integrate confirmation dialog into the workflow - Update success/error messaging for permanent deletions - Remove permanently deleted items from the recovery list - _Requirements: 6.1, 6.2, 6.5_ - [ ]* 8.1 Write property test for permanent delete UI actions - **Property 7: Permanent delete actions are available** - **Validates: Requirements 6.1, 6.2** - [ ]* 8.2 Write property test for confirmation workflow - **Property 8: Permanent deletion requires confirmation** - **Validates: Requirements 6.3** - [ ]* 8.3 Write property test for deletion feedback - **Property 9: Permanent deletion provides feedback** - **Validates: Requirements 6.5, 8.3** - [x] 9. Implement permanent delete confirmation workflow - Wire up confirmation dialog to permanent delete actions - Implement confirmation token validation - Add loading states during permanent deletion - Handle success and error responses appropriately - Update UI state after successful permanent deletion - _Requirements: 6.3, 6.5, 8.1, 8.4_ - [x] 10. Add bulk permanent delete functionality - Implement bulk selection for permanent deletion - Add bulk confirmation dialog with item summary - Handle partial success/failure scenarios in bulk operations - Provide detailed feedback on bulk operation results - _Requirements: 6.2, 6.5_ - [ ] 11. Checkpoint - Verify permanent delete functionality - Ensure all tests pass, ask the user if questions arise. - [ ] 12. Update documentation and help text - Add help text explaining permanent deletion consequences - Update any existing documentation references - Add tooltips and contextual help for permanent delete actions - _Requirements: 6.3, 8.5_ - [ ]* 12.1 Write unit tests for permanent delete components - Test confirmation dialog rendering and behavior - Test permanent delete button states and interactions - Test bulk selection and permanent delete workflows - _Requirements: 6.1, 6.2, 6.3_ - [ ] 13. Final integration testing - Test complete workflow from soft delete to permanent delete - Verify file system cleanup works correctly - Test error scenarios and rollback behavior - Verify audit logging is working properly - _Requirements: 7.4, 8.1, 8.3, 8.4_ - [ ] 14. Final checkpoint - Complete system verification - Ensure all tests pass, ask the user if questions arise.