Skip to content

fix: preserve reviewer verdict on salvage - #714

Merged
unohee merged 1 commit into
mainfrom
heewonoh/agt-4484-reviewer-verdict
Sep 20, 2026
Merged

unohee merged 1 commit into
mainfrom
heewonoh/agt-4484-reviewer-verdict

Conversation

@unohee

@unohee unohee commented Sep 20, 2026

Copy link
Copy Markdown
Collaborator

Root cause

A real reviewer session for AX-1366 exhausted 30 tool turns. The generic no-tools salvage prompt only asked for the original task format, so the model returned a worker-style status summary with no Decision/JSON. The strict reviewer parser correctly rejected it, producing the recurring AGT-4484 bucket.

Fix

When salvage ends a review/verdict task, explicitly require Decision: approve|revise|reject, concrete reasoning, and forbid a worker-status summary. This applies through the shared agentic loop used by all in-process adapters.

Verification

  • npx vitest run src/adapters/agenticLoop.test.ts src/adapters/resultParsing.test.ts src/agents/reviewer.test.ts --reporter=dot — 139 passed
  • npm run typecheck
  • npm run lint
  • git diff --check

Regression test drives tool exhaustion and asserts the salvage prompt contains the explicit verdict contract.

@unohee

unohee commented Sep 20, 2026

Copy link
Copy Markdown
Collaborator Author

🔍 Fresh review of a3ddccc (openswarm pr review --fresh)

✓ Decision: APPROVE
Prompt change is correctly conditional (only activates for review tasks), no regression risk. Test validates the prompt text and result propagation. The test relies on source-string inspection (criterion #8) — it would pass if the same logic moved to a helper — but no better behavioral alternative exists at the unit level for this guardrail.

@unohee
unohee merged commit 0a31266 into main Sep 20, 2026
7 checks passed
@unohee
unohee deleted the heewonoh/agt-4484-reviewer-verdict branch September 20, 2026 01:15
@unohee unohee mentioned this pull request Sep 20, 2026
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