REQ-FUN-103
Critical-path computation triggered on schedule change
What
System SHALL compute the critical path of a project schedule automatically when any activity or dependency is created, updated, or deleted, and SHALL expose the result via GET /v1/projects/{id}/schedule/critical-path and the equivalent MCP tool.
Why
established project management guidelines Develop Schedule + Control Schedule both depend on a known critical path to identify schedule-driving activities and slack.
How
Standard forward-pass + backward-pass CPM over the activity-dependency DAG; outputs ES/EF/LS/LF/total-float per activity and the ordered list of critical-path activity IDs; results memoized per (project_id, schedule_version) tuple; recomputation cost capped by REQ-NFR-067.
Done when
Critical-path response includes the activity ID list, per-activity float, and project duration; round-trip test on a 50-activity network gives results matching a reference Python CPM implementation.
Out of scope
Resource-constrained critical path (RCPM); probabilistic CPM.
established project management guidelines Mapping
Critical path is the central output of established project management guidelines Develop Schedule.