- Guard PATCH /api/missions/features/:featureId to reject status transitions to execution states (triaged, in-progress, done, blocked) when feature has no taskId - 'defined' status remains always allowed (initial state) - Non-status field updates (title, description) are unaffected - Add 6 new tests covering guard behavior and edge cases - All 147 mission-e2e tests passing