diff options
| author | Peter Stone <thepeterstone@gmail.com> | 2026-03-15 23:32:14 +0000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-03-15 23:32:14 +0000 |
| commit | b91636be171bc8e43a3dba1b54f78e2048356ab1 (patch) | |
| tree | aa1e6bad56a09a438d31b8262bdef8ed5a61ad76 /internal/cli | |
| parent | 52f6bdee9297b48938242d3ac843cc054d7dbcaa (diff) | |
fix: promote stale BLOCKED parent tasks to READY on server startup
When the server restarts after all subtasks complete, the parent task
was left stuck in BLOCKED state because maybeUnblockParent only fires
during a live executor run. RecoverStaleBlocked() scans all BLOCKED
tasks on startup and re-evaluates them using the existing logic.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/cli')
| -rw-r--r-- | internal/cli/serve.go | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/internal/cli/serve.go b/internal/cli/serve.go index 2d47630..f22ea95 100644 --- a/internal/cli/serve.go +++ b/internal/cli/serve.go @@ -78,6 +78,7 @@ func serve(addr string) error { } pool.RecoverStaleRunning(context.Background()) pool.RecoverStaleQueued(context.Background()) + pool.RecoverStaleBlocked() srv := api.NewServer(store, pool, logger, cfg.ClaudeBinaryPath, cfg.GeminiBinaryPath) if cfg.WebhookURL != "" { |
