Commit 8ce5bc9
ci: lift bot stage turn caps to ~10x — let timeout-minutes be the ceiling (#2538)
Premature optimization on a dimension we don't have data for. The
real ceiling is each workflow's `timeout-minutes` (5-60 min depending
on stage), and the real safety net is `WHEELS_BOT_ENABLED=false`.
Turn caps that compete with those ceilings just create a redundant
cliff, and tonight we discovered painfully that misjudging where it
sits costs a full failed run + manual cleanup + re-dispatch.
Math that motivates the lift: with `timeout-minutes: 60` and Opus at
~5-10s per turn, propose-fix can practically execute ~360-600 turns
before the timeout triggers anyway. A 100-turn cap was a cliff at
~17% of the time budget. A 1000-turn cap is unreachable — the
timeout catches it first, which is what we want.
Plan: run with these ceilings for a few weeks, collect data on
actual turn counts across a variety of issue shapes, then revisit
with empirical evidence rather than guesses.
bot-triage: 20 → 200 (Sonnet, timeout 25m)
bot-research: 40 → 400 (Opus, timeout 30m)
bot-propose-fix: 100 → 1000 (Opus, timeout 60m — effectively no cap;
workflow timeout becomes the ceiling)
bot-write-docs: 30 → 300 (Sonnet, timeout 30m)
bot-review-a: 25 → 250 (Sonnet, timeout 20m)
bot-review-b: 30 → 300 (Sonnet, timeout 15m)
Worst-case incremental cost if a stage hits its new cap before the
workflow timeout: ~$50 for propose-fix Opus at 1000 turns, similar
for research. In practice the workflow timeout will catch any
runaway long before max-turns does. The kill switch
(`WHEELS_BOT_ENABLED=false`) is the manual safety net for active
incidents.
Subsumes both the original 30 → 50 single-stage write-docs bump and
the 2x audit. The 10x lift is the right level of generosity for the
data-collection period before we tighten anything.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 2b443e6 commit 8ce5bc9
6 files changed
Lines changed: 6 additions & 6 deletions
File tree
- .github/workflows
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
111 | | - | |
| 111 | + | |
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
77 | | - | |
| 77 | + | |
78 | 78 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
69 | | - | |
| 69 | + | |
70 | 70 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
68 | | - | |
| 68 | + | |
69 | 69 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
61 | | - | |
| 61 | + | |
62 | 62 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
103 | | - | |
| 103 | + | |
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
| |||
0 commit comments