447516d93c
Four coordinated fixes for company runs permanently stalling around tool-approval parks (project 1111 forensics + live reproduction): - company executor dispatch loop now exits convergently when nothing is in flight and every remaining task waits on a human: immediate parked exit when all waiters have pending checkpoints, bounded stall ticks otherwise. Previously it polled sleep(5) forever, hanging the turn (observed 7.5h), never answering the user, and holding claims that blocked any later rescue turn. - _resume_task_checkpoint routes work-item runtime tasks through the delegation state machine: release the human wait via the legal AWAITING_HUMAN -> READY recovery exit, clear stale claims, and hand the item back to the dispatcher (runtime-snapshot fallback when the checkpoint payload lacks a plan) instead of a detached single-agent re-run that never advances the work item phase. - startup recovery reverse self-heal: an awaiting_human task whose park checkpoint was already resolved (human answered, resume cut off before the phase write) is reopened for dispatch instead of being preserved as a wait nobody can end. Runs before the metadata-plan gate since modern runs no longer carry the plan in task metadata. - pause checkpoints record execution_mode from the durable work_item_runtime marker instead of volatile task metadata, which degraded to task_mode after a first resume and misrouted the next one. Validated end-to-end on a live native-agent minimal-org run (park -> approve -> re-park -> approve -> complete -> deliver, plus synthesized crash-between-resolve-and-phase-write healed on restart). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>