You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: coder.solve() PR bodies now carry the coder's own summary, not a diagnostic string (v0.29.2) (#68)
_WorktreeSolveAdapter.generate() dispatched the coder into its worktree but
discarded the reply, keeping only the worktree path. Every coder dispatch is
promised "your FINAL message becomes the PR description" (loop._build_prompt),
but dispatch() had nothing real to report for a solve()-ladder win, so it fell
back to its own diagnostic string (e.g. "[coder.solve rung=greedy gens=1]
solved 1-shot") — which became the PR body verbatim. Same failure class as
#62, on a different path.
Worse than cosmetic: _verify_goal's NO_TEST_NEEDED escape hatch reads this
same text, so a legitimate no-test-needed change dispatched through the
solve() ladder would always look like a missing test, forcing an unnecessary
re-dispatch/escalation cycle.
Fix: generate() now captures the coder's reply per candidate; dispatch()
uses the WINNING candidate's own reply as the result, falling back to the
diagnostic string only when there isn't one (a fusion win, which returns
file content, not a summary).
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
0 commit comments