A Valid Response Is Not a Completed Task
A structured AI response can pass validation and still leave the unfinished. Treat “well-formed” and “done” as different states.
Try giving each workflow result a small handoff envelope: status, next_action, owner, and completion_evidence. For example, ready can mean the output is valid; needs_review routes it to an approver; blocked names what is missing. Mark the task complete only after the required action has a confirmation—not just because the model returned valid JSON.
This makes the boundary inspectable: what was proposed, who acts next, and what counts as completion. Test the normal path and one exception, such as a missing permission or an unavailable tool. A tidy payload is useful; it is not, by itself, proof that anything happened.