## ADDED Requirements ### Requirement: Task Dependency Cycle Prevention The system SHALL detect and prevent circular dependencies between tasks to ensure Gantt charts can be properly rendered. #### Scenario: Direct circular dependency rejected - **WHEN** user attempts to create dependency where Task A depends on Task B and Task B depends on Task A - **THEN** system rejects the operation with 400 Bad Request - **THEN** error message includes the cycle path (e.g., "Circular dependency detected: A -> B -> A") #### Scenario: Indirect circular dependency rejected - **WHEN** user attempts to create dependency that would form a cycle (A -> B -> C -> A) - **THEN** system rejects the operation with 400 Bad Request - **THEN** error message includes the full cycle path #### Scenario: Valid dependency chain accepted - **WHEN** user creates dependencies forming a valid DAG (directed acyclic graph) - **THEN** system accepts and saves the dependencies - **THEN** Gantt chart renders correctly with proper task ordering