## ADDED Requirements ### Requirement: Optimistic Locking for Task Updates The system SHALL use optimistic locking to prevent concurrent update conflicts on tasks. #### Scenario: Concurrent update detected - **WHEN** user A and user B both load task at version 1 - **WHEN** user A saves changes, incrementing version to 2 - **WHEN** user B attempts to save with version 1 - **THEN** system returns 409 Conflict error - **THEN** error message instructs user to refresh and retry #### Scenario: Sequential updates succeed - **WHEN** user loads task at version N - **WHEN** user saves changes with correct version N - **THEN** system accepts update and increments version to N+1 ### Requirement: Soft Delete Cascade Restore The system SHALL restore child tasks when parent task is restored from soft delete. #### Scenario: Parent task restored with children - **WHEN** soft-deleted parent task is restored - **THEN** system identifies child tasks deleted at same timestamp - **THEN** system recursively restores all matching child tasks - **THEN** audit log records restoration of parent and children #### Scenario: Selective restore without children - **WHEN** user explicitly requests restore without cascade - **THEN** only parent task is restored - **THEN** child tasks remain in deleted state