Skip to content

Containers no longer time out while the steps inside them are still within their own limits - #61

Open
pallaoro wants to merge 1 commit into
mainfrom
container-node-timeout
Open

pallaoro wants to merge 1 commit into
mainfrom
container-node-timeout

Conversation

@pallaoro

Copy link
Copy Markdown
Member

Problem

runWithRetry applies the default per-node limit (maxNodeDurationMs, 30s) to every node without its own timeout, including condition, branch, loop and parallel. For those, the limit is measured over everything inside them. So a condition whose branch holds an agent step with timeout: "300s", or a loop of steps that each allow 60s, fails with Node "<container>" timed out after 30000ms even though no inner step exceeded its own limit.

Change

  • Containers get no default limit. Each inner step keeps its own timeout (or the default), so nothing runs unbounded.
  • An explicit timeout on a container still caps the whole group, as before.
  • The per-attempt timer is cleared once a node settles, instead of lingering until it fires.
  • SKILL.md and the maxNodeDurationMs doc comment say this.
  • Version 1.7.1.

Tests

Four new cases in tests/core.test.ts ("container node timeouts"): a condition and a loop whose inner step outlasts the default limit now complete (both failed before the change); an explicit container timeout still fails the run; a single step still gets the default limit. Full suite: 251 pass.

Not in this PR

When a node times out, the race rejects but the node's work is not cancelled and keeps running with the run already marked failed. Tracked separately.

…ithin their own limits

A condition, branch, loop or parallel node got the same default 30s limit
as a single step, measured over everything inside it. A branch holding an
agent step allowed several minutes failed at 30s. Containers now get no
default limit: each inner step keeps its own, and an explicit `timeout` on
the container still caps the whole group. The per-attempt timer is also
cleared once a node settles.
@pallaoro
pallaoro force-pushed the container-node-timeout branch from dc64b86 to 1742d12 Compare September 26, 2026 19:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant