Repository navigation
review: raise the sub-agent turn cap from 30 to 100 #369
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 2 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| --- | ||
| "review": patch | ||
| --- | ||
|
|
||
| Raise the sub-agent turn cap from 30 to 100. The correctness pass on large diffs (Khan/actions#295, runs 32422547351 and 32491692754) hit the old cap on two consecutive runs, ending each in error_max_turns and a HOLD_FOR_HUMAN at $11.74-$13.45 of wasted sub-agent spend per run. The turn cap is a loop guard; credit spend, per-finding tool calls, and wall clock are metered separately, so agents that finished under the old cap (8-37 reported turns) are unaffected. The eval producer's cap is bumped in lockstep so trials keep reproducing prod behavior. | ||
|
|
||
| Also raise the dispatcher's Bash ceiling from 20 to 30 minutes (`BASH_MAX_TIMEOUT_MS` 1200000 to 1800000, and the prompt's dispatcher `timeout` with it) and the job's `timeout-minutes` from 40 to 50. The dispatch phases are sequential (finders, dedup, claim validation, each sub-agent under the 15-minute cap), so worst case is ~30 minutes; run 32418662895 (Khan/actions#362) was killed mid-claim-validation at the 20-minute line and posted nothing, and longer-running agents under the new turn cap make that more likely, not less. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -177,13 +177,22 @@ observability: | |
| # the deterministic dispatcher (lib/dispatch.ts) as ONE blocking Bash call that | ||
| # waits for the whole sub-agent fan-out, which takes minutes, not seconds. The | ||
| # job-level timeout-minutes still bounds the run. | ||
| # | ||
| # The ceiling is 30 minutes (with timeout-minutes at 50), not 20 (at 40): the | ||
| # dispatch phases are sequential (finder fan-out, dedup, claim validation, each | ||
| # sub-agent under the 15-minute per-agent cap), so worst case is ~30 minutes | ||
|
khan-actions-bot marked this conversation as resolved.
Outdated
|
||
| # before overhead, and run 32418662895 (Khan/actions#362) was killed mid-claim- | ||
| # validation at the 20-minute line, posting nothing. Raising the turn cap to 100 | ||
| # (this release) lets agents run longer, so the ceiling moves in lockstep; the | ||
|
khan-actions-bot marked this conversation as resolved.
Outdated
|
||
| # job cap keeps ~20 minutes of headroom over the dispatcher call so the two | ||
| # never collapse into the same kill line. | ||
| engine: | ||
| id: claude | ||
| model: claude-opus-5 | ||
| env: | ||
| BASH_DEFAULT_TIMEOUT_MS: "60000" | ||
| BASH_MAX_TIMEOUT_MS: "1200000" | ||
| timeout-minutes: 40 | ||
| BASH_MAX_TIMEOUT_MS: "1800000" | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. note (non-blocking): Fix reaches this repo's own reviewer only after a follow-up install bump the description doesn't mention. Confirmed the installed copy at review detailsfound by completeness
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. suggestion (non-blocking): Nothing couples A sketch, not a committable replacement: review detailsfound by correctness-reviewer | also flagged by test-adequacy |
||
| timeout-minutes: 50 | ||
|
khan-actions-bot marked this conversation as resolved.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. note (non-blocking): PR description covers only the turn cap; the timeout bump is undescribed scope. Title and description are entirely about review detailsfound by completeness | also flagged by first-principles: The PR description doesn't cover the timeout half of the diff. |
||
|
|
||
| # The awf sandbox stays declared (its api-proxy is what meters AI credits and | ||
| # caps a runaway fan-out), but its version now floats with the gh-aw release | ||
|
|
@@ -755,7 +764,7 @@ exactly this sequence: | |
| none. This is the only thread work left to you: what a reply chain concedes | ||
| or refutes is a judgment, while fetching and classifying the threads is not. | ||
| 2. Invoke the dispatcher, once, as a single Bash call with `timeout` set to | ||
| `1200000` (it waits for the whole sub-agent fan-out; the engine's Bash | ||
| `1800000` (it waits for the whole sub-agent fan-out; the engine's Bash | ||
| ceiling is raised for exactly this call): | ||
| ``` | ||
| cd gh-aw-review-lib && REVIEW_REPO_ROOT="$GITHUB_WORKSPACE" \ | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion (non-blocking):
patchunder-states the bump: the structurally identical prior change (CHANGELOG 1.8.0,82af000,timeout-minutes20 to 40) shipped under Minor Changes. This repo makes the changeset's semver level an explicit reviewer duty (.github/aw/review/ci-tooling.md: "semver level matches the change; CI can't judge that (see risk-classification.md)", and risk-classification.md's "Reviewer behavior contract" section), andworkflows/review/README.mdcalls semver the behavior contract. This change moves operational limits every consumer inherits, which is more than a patch by this repo's own precedent. I weighed the PR description's argument that nothing succeeding today behaves differently — it's a good reason not to go major, but it doesn't get this down to patch.A sketch, not a committable replacement:
Lower-confidence observations (1)
workflows/review/lib/budgets.ts:13note (non-blocking): The refreshed sizing sentence updates the minutes half of the "20-minute / $10" envelope but not the dollars half, and the turn-cap raise is the one thing that moves the dollars. (correctness-reviewer)review details
found by correctness-reviewer