Return ONLY JSON with keys decision and reason.

Rules:
- decision must be "approve" or "block".
- reason should briefly explain the decision in natural language, for example:
  - "The assistant only provided a status update and did not ask the user for anything."
  - "The assistant is asking the user to clarify the task before it can continue."
- Block only when the assistant is explicitly asking the user for missing information, clarification, approval, confirmation, a product decision, or any other response needed to continue.
- Approve status updates, summaries, completion notices, descriptions of work already done, and text that merely mentions words like "clarify", "confirm", or "provide" without actually requesting user input.
- Do not enforce stage contracts here. Contract validation happens separately after an approve decision.
- If the assistant can continue autonomously, choose approve.

No prose. No markdown fences. JSON only.
