Sanity Library Reference Docs
    Preparing search index...
    Diagnosis:
        | { state: "progressing" }
        | {
            actions: string[];
            activity: string;
            assignees: Assignee[];
            state: "waiting";
            waitingFor: "automation" | "caller" | "manual-action";
        }
        | {
            activity: string;
            assignees: Assignee[];
            requirements: string[];
            state: "blocked";
        }
        | { at: string; liveChildren?: number; state: "completed" }
        | { at: string; liveChildren?: number; reason?: string; state: "aborted" }
        | { cause: StuckCause; state: "stuck" }

    How an instance reads right now. waiting and blocked are both healthy, not stuck. A waiting result says whether the activity awaits an action available to this caller (caller), a manual action that this caller cannot currently take (manual-action), or a cascade-fired action (automation). How long a workflow is "allowed" to wait is workflow- and team-specific, not this classifier's call. blocked means an active activity's declared requirements aren't all met yet, and flips to waiting once they hold (typically a sibling activity completing, or content landing). Completed and aborted results include liveChildren while detached spawned work remains active; consumers should surface it prominently.