qwen-code/.github
Shaojin Wen 22bacfe249
feat(autofix): escalate a non-converging diff to a maintainer handoff (#9104)
#8981's growth brake trims non-Critical feedback once a window's diff
grows past budget, but when the growth is Critical-driven (a complex
feature whose every fix opens the next fail-open gap the reviewer then
flags — e.g. PR #8777, 8 rounds, 13k additions) Critical-only cannot
help: the Criticals ARE the growth, so the diff keeps climbing and the
agent keeps patching.

Two additions on the autofix side:

- Feed the growth trajectory to the agent. feedback.md now opens with a
  "Diff growth this window" section (net src/test vs budget + how many
  prior rounds were over budget) whenever growth is measured, telling the
  agent to prefer minimal/subtractive fixes and to read a rising
  trajectory as a signal to escalate for a split, not add another guard.

- Detect divergence and hand off. A new per-round autofix-growth-now
  marker records each round's growth + over-budget flag; prepare reads
  the window's history and, once the brake has been over budget for
  >= GROWTH_DIVERGENCE_ROUNDS prior rounds (default 2, tunable) AND the
  diff has not shrunk from its worst, injects a "Needs a maintainer's
  decision — this PR is not converging" block. It is framed as a
  defer-to-human item, so the address run stops BLOCKED with a handoff
  (split / accept core + track the tail / redesign) instead of patching
  again. A diff that is over budget but shrinking, or a one-off
  overshoot, stays in ordinary Critical-only.

SKILL.md documents both blocks. Contract tests pin the knob, run the
extracted divergence detector against fixture history (climbing →
diverged, shrinking → not, sub-threshold → not, wrong-window → not), and
assert the growth-now marker is written on both report paths.
2026-08-14 09:04:49 +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(ci): use repository token for spam minimization (#9140) 2026-08-14 08:06:21 +00:00
workflows feat(autofix): escalate a non-converging diff to a maintainer handoff (#9104) 2026-08-14 09:04:49 +00:00
actionlint.yaml ci: add Windows runner smoke test (#8008) 2026-07-29 08:44:36 +00:00
CODEOWNERS chore(ci): Add security hygiene: CODEOWNERS for release workflows, least-privilege permissions, security checks and Scorecard (#9008) 2026-08-14 01:22:53 +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