#!/usr/bin/env python3 """Probe one dispatched ACK worker's liveness and emit a single JSON status. Read-only supervision helper for the coordinator's wait loop. It never sends input, never mutates dispatch or terminal state, and never marks a task outcome. The coordinator runs it between rolling ``check --wait`` windows to detect workers that never started, stalled on an approval/choice prompt, hit a usage limit, or lost heartbeat. Output (single JSON document on stdout): { "probedAt": "", "taskId": "", "dispatchId": "", "terminal": "", "status": "running | progress | stall | not-started | unknown", "stallReason": "