Skip to content

feat(pipeline): escalate a degenerate no-op worker instead of re-revising it to STUCK (INT-2521)#265

Merged
unohee merged 1 commit into
mainfrom
fix/INT-2521-degenerate-escalate
Jul 5, 2026
Merged

feat(pipeline): escalate a degenerate no-op worker instead of re-revising it to STUCK (INT-2521)#265
unohee merged 1 commit into
mainfrom
fix/INT-2521-degenerate-escalate

Conversation

@unohee

@unohee unohee commented Jul 5, 2026

Copy link
Copy Markdown
Owner

A worker that reports success but changed 0 files, ran 0 commands, and produced no substantive report (trivial summary AND output) did nothing. calculateConfidence scored it ~55% and the pipeline re-revised it identically until STUCK — and a worker self-reporting high confidencePercent bypassed even that.

  • isDegenerateWorkerResult detects the pure no-op; requiring an empty summary too spares legitimate no-edit outcomes ('no change needed' with a real summary).
  • The HALT gate checks it independently of the confidence threshold (a 90%-self-reported no-op no longer slips past), escalates the next attempt (buildRepeatEscalation → stronger effort/model) + injects a clear 'you changed nothing — implement now' feedback.

Found by the INT-2521 audit (②/P1). Tests: helper matrix incl. substantive-summary no-edit case; pipeline test that a degenerate + 90% confidence run is not success AND never reaches the reviewer. tsc clean + full vitest 1714. Review round 1 caught the bypass gap + false-positive risk (both fixed); round 2's final truncated at turn limit with no new finding.

🤖 Generated with Claude Code

…sing it to STUCK (INT-2521)

A worker that reports success but changed 0 files, ran 0 commands, and produced no
substantive report (trivial summary AND output) did NOTHING. calculateConfidence
scored it ~55% and the pipeline re-revised it identically every iteration until
STUCK — and a worker that self-reported high confidencePercent bypassed even that.

- isDegenerateWorkerResult (agentPair) detects the pure no-op; requiring an empty
  summary too spares legitimate no-edit outcomes ('no change needed' with a real
  summary) — only a pure empty no-op is flagged.
- The HALT gate checks it INDEPENDENTLY of the confidence threshold (a 90%-self-
  reported no-op no longer slips past), escalates the next attempt (buildRepeat-
  Escalation → stronger effort/model) and injects a clear 'you changed nothing —
  implement now' feedback instead of the misleading 'low confidence' loop.

Found by the INT-2521 harness audit (finding ②/P1). Tests: helper matrix incl. the
substantive-summary no-edit case; pipeline test that a degenerate + 90% confidence
run is not success AND never reaches the reviewer. tsc clean + full vitest 1714.

openswarm review: round 1 caught the confidence-bypass gap (fixed: check is now
independent of the threshold) + false-positive risk (fixed: summary requirement +
test). Round 2's final was truncated at its turn limit with no new articulated
finding; its thinking re-explored the already-addressed no-edit edge.
@unohee unohee merged commit e2be50f into main Jul 5, 2026
@cursor

cursor Bot commented Jul 5, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@unohee unohee deleted the fix/INT-2521-degenerate-escalate branch July 5, 2026 14:32
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