Skip to content

feat(nano): long-running work — no bash timeout ceiling + anti-poll guidance (PR 18) - #897

Merged
agentforce314 merged 1 commit into
mainfrom
feat/nano-bash-no-timeout
Aug 16, 2026
Merged

feat(nano): long-running work — no bash timeout ceiling + anti-poll guidance (PR 18)#897
agentforce314 merged 1 commit into
mainfrom
feat/nano-bash-no-timeout

Conversation

@agentforce314

Copy link
Copy Markdown
Owner

16/25 nano-v2 failures were wall-clock kills, driven measurably by bash's 2-min default/10-min cap forcing nohup-and-poll loops (225 poll commands across failures; compile-compcert: 111 polls, died at the 300-turn ceiling mid-build). Nano now runs commands with no default timeout (abort + task wall-clock are the backstops), uncaps explicit timeouts, documents the contract, adds one anti-poll guideline, and raises the runner's turn ceiling to 600. Stock bash byte-identical. 70 nano + 125 bash tests pass.

🤖 Generated with Claude Code

…-poll guidance, 600-turn runner default

The dominant failure class in tb21-nano-flash-max-2 (16 of 25 incorrect
tasks) is wall-clock death while still working, and the mechanism is
measurable: clawcodex bash's 2-minute default / 10-minute cap forces
every long build or training run into nohup-and-poll loops — 225
poll-pattern commands across the failed tasks, each poll a full
max-thinking model turn. compile-compcert burned 111 polls, 307 bash
calls, and died at the 300-turn adapter ceiling mid-build; caffe-cifar-10
(163 calls), train-fasttext (67), make-mips-interpreter (116) show the
same signature. pi's bash has no default timeout and pays zero turns for
a 25-minute make.

Nano now matches that contract:
* no default timeout (24h supervision deadline — the abort signal and
  the task wall-clock remain the backstops; _run_supervised still polls
  abort continuously) and no 10-minute cap on explicit timeouts; the
  1000ms floor stays; stock behavior byte-identical (nano-gated at the
  resolution site)
* Bash nano doc states the contract; one prompt guideline encodes the
  general practice ('run long builds/training as ONE blocking command,
  tee to a log — never nohup-and-poll')
* runner default --ak max_turns=600 (NANO_MAX_TURNS to override) so an
  artificial turn ceiling cannot kill a marathon task that is working

5 new tests (nano accepts >cap timeouts, stock still rejects, defaults
both ways, floor kept); 70 nano + 125 bash regression tests pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@agentforce314
agentforce314 merged commit 6792ace into main Aug 16, 2026
agentforce314 added a commit that referenced this pull request Aug 16, 2026
fxinfo24 pushed a commit to fxinfo24/clawcodex that referenced this pull request Aug 16, 2026
…nano-bash-no-timeout"

This reverts commit 6792ace, reversing
changes made to b60519d.
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