feat(#2109): harness-side idle watchdog to bail on anthropic api stall storms
This commit is contained in:
parent
244669f644
commit
5027068e31
7 changed files with 157 additions and 8 deletions
|
|
@ -57,6 +57,14 @@ pub enum Error {
|
|||
#[error("waiting on claude failed: {0}")]
|
||||
Wait(#[source] std::io::Error),
|
||||
|
||||
/// The child produced no stdout for longer than the configured idle
|
||||
/// window (`Config::idle_timeout`) and was killed. Indicative of an
|
||||
/// Anthropic API stall (e.g. a multi-retry connection storm that goes
|
||||
/// silent for minutes). Callers typically park briefly and retry, like
|
||||
/// the rate-limit path.
|
||||
#[error("claude idle timeout: no output for the configured window")]
|
||||
IdleTimeout,
|
||||
|
||||
/// claude exited non-zero and raised none of the recognized sentinels.
|
||||
/// `stderr_tail` is the last handful of stderr lines (empty if there were
|
||||
/// none), included so the caller can surface a real diagnostic.
|
||||
|
|
|
|||
Loading…
Reference in a new issue