Per RFC.pipeline.md "go-process Improvements Needed": hung agent processes blocked dispatch slots forever. Now killed after configured timeout, with SIGTERM-then-SIGKILL grace period and process-group kill to prevent orphaned subprocesses. Lands: * pkg/agentic/dispatch.go — every c.Process().Run() that spawns an agent now passes Timeout (DispatchConfig.TimeoutMinutes, default 60), GracePeriod: 30s, KillGroup: true. Watchdog writes timeout-specific failure reason into workspace status. * pkg/agentic/queue.go — DispatchConfig adds TimeoutMinutes int (YAML: timeout_minutes, default 60) so operators can tune per-deployment. * dispatch_test.go — TestDispatch_Run_Bad_Timeout asserts slow process transitions to failed state with timeout reason * queue_test.go — TestQueue_Config_Good_TimeoutDefault asserts default 60 Verified go-process exposes timeout/gracePeriod/killGroup option keys in the local checkout — no BLOCKED sibling needed. Plain go build blocked by unrelated go.work conflict + sibling go-ws coreerr.Warn missing (out of allowlist); supervisor's clean workspace build will catch any remaining compile. Co-authored-by: Codex <noreply@openai.com> Closes tasks.lthn.sh/view.php?id=540 |
||
|---|---|---|
| .. | ||
| agentic | ||
| brain | ||
| lib | ||
| messages | ||
| monitor | ||
| runner | ||
| setup | ||
| .DS_Store | ||