qwen-code/.github
qqqys acc46e58cb
fix(autofix): give the repair pass a budget it can finish in (#9691)
* fix(autofix): give the repair pass a budget it can finish in

The repair attempt ran on a hardcoded 18-minute agent budget while the
primary attempt gets 120 minutes from a configurable default. Raise the
repair budget to 45 minutes and carry the step and job caps that bound it.

The repair attempt is handed strictly less to work with than the primary
one: a deterministic rejection is an opaque check failure, not the
structured review feedback the primary attempt receives, so it must first
re-derive which change caused the rejection before it can amend anything.
Giving that 15% of the primary budget inverted the difficulty and the
allowance.

Measured on four takeover PRs over nine rounds on 2026-08-21: the primary
attempt reported `Autofix agent completed address-review successfully.` in
9 of 9 rounds, and the repair attempt hit `timeout (1080000ms)` in 9 of 9.
Every one of those rounds discarded work the primary attempt had already
finished — on #9340 a completed `origin/main` conflict resolution across
three files with two mutation probes and `vitest run src/commands/review/`
green at 97 files / 4335 tests. Three such rounds tripped
TIMEOUT_WINDOW_CAP and parked the PR at its round cap with
`autofix/needs-human`.

The rejections themselves were a mix — a flaky unrelated test (#9648), a
genuine defect in the PR, and a scope violation — so this is not a
substitute for fixing any one of them. It is the step they all funnel
through: whatever the gate rejects on, the repair attempt has to be able
to finish before the round can push.

Carried bounds, each preserving its documented margin:

- repair step cap 20m → 55m (budget + the same 10-minute margin the
  primary attempt keeps, so the internal kill path still writes
  `agent-timeout` before the step cap fires)
- review-address job cap 300m → 330m (the four long steps now sum to 305m
  plus the 25m setup/report reserve)
- PENDING_STALE_MIN 330 → 360 (its 30-minute margin over the job cap, so a
  live review-address run is never aged out mid-flight)

45 minutes is deliberately a fraction of the primary budget: a repair that
cannot land in 45m is a handoff, not a longer retry.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VgTjRF91xANQh6SY9YGyCf

* fix(autofix): carry the raised repair bounds through sibling prose

* fix(autofix): revert design-record edits outside this PR's footprint (#9691)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: qwen-code-dev-bot <qwen-code-dev-bot@users.noreply.github.com>
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-08-23 00:32:36 +00:00
..
actions ci: run Windows merge queue tests on ECS (#8386) 2026-08-05 12:14:42 +00:00
assets fix(cli): echo resume command to main screen on exit (#8455) 2026-08-08 04:29:31 +00:00
ISSUE_TEMPLATE chore: re-organize labels for better triage results (#819) 2025-10-17 19:49:11 +08:00
scripts fix(autofix): give the repair pass a budget it can finish in (#9691) 2026-08-23 00:32:36 +00:00
workflows fix(autofix): give the repair pass a budget it can finish in (#9691) 2026-08-23 00:32:36 +00:00
actionlint.yaml ci: add Windows runner smoke test (#8008) 2026-07-29 08:44:36 +00:00
CODEOWNERS chore(ci): Disable install scripts in release CI and guard security-checks workflow (#9577) 2026-08-21 03:48:03 +00:00
dependabot.yml Limit dependabot PRs to security updates (#6657) 2025-08-20 22:24:43 +00:00
issue-owners.json feat(ci): auto-assign issues to area owners from labels (#8668) 2026-08-08 23:01:03 +00:00
pull_request_template.md docs(agents,pr-template): add Working Principles and restructure PR template (#4496) 2026-05-25 19:15:35 +08:00
release.yml ci: auto-skip internal CI changes in release notes (#7251) 2026-07-20 11:10:55 +00:00
spam-blocklist.txt ci: auto-minimize comments from org-blocked users (#7899) 2026-07-29 23:37:42 +00:00