f3357b5031
request_review ignored artifacts entirely, so a review-bound card lost every file its handoff named: the reviewer's complete_task is what runs _cleanup_workspace over the managed scratch workspace. Stage declared (explicit artifacts argument or metadata["artifacts"]) and prose-referenced files into the task's durable attachments dir at the review handoff, exactly as complete_task already does, carry the staged paths in the review_requested event payload, and let the gateway notifier upload them (its guard widens from completed to review_requested). ArtifactPreservationError still rolls the whole transition back: the task stays running and retryable with no attachments and no event.