internal/executor/) - In internal/executor/dispatcher.go: (a) Add StaleRunningThreshold, StaleQueuedThreshold, and StaleRecoveryInterval fields to DispatcherConfig (keeping StaleTaskDuration as backwards-compat alias for StaleRunningThreshold, defaults: 30min running, 5min queued, 5min interval). (b) Rewrite recoverStaleTasks() to recover both running and queued orphans, marking them failed (not re-queued
#2224