REQ-FUN-109
Activity status updates via dedicated activity_status_update rows
What
An actor SHALL be able to post a status update against a specific activity via POST /v1/activities/{id}/status. The update records percent_complete, actual_start (if newly started), actual_finish (if newly complete), and free-text notes. Each update produces an audit row.
Why
established project management guidelines Control Schedule depends on work-performance data flowing back into the schedule model. Generic status_update rows (REQ-FUN-024 family) are untyped and require client-side parsing.
How
New activity_status_update table (activity_id, posted_by, posted_at, percent_complete, actual_start_delta, actual_finish_delta, notes). Posting an update with actual_finish triggers slippage re-evaluation per REQ-FUN-105.
Done when
Status update via REST or MCP updates the parent activity's percent_complete and actual_* fields; audit row written; web UI activity detail view shows the update history.
Out of scope
Voice-note / image-attachment status updates.
established project management guidelines Mapping
Direct status posts are the data source for Control Schedule.