Update AI resolver to use Claude Opus model and improve error logging

- Changed the model used in the Claude CLI from "claude-sonnet-4-5-20250514" to "claude-opus-4-5-20251101" for enhanced merge resolution quality.
- Improved error handling by printing stderr and stdout to logs when the Claude CLI returns a non-zero exit code.
This commit is contained in:
AndyMik90
2025-12-16 13:36:52 +01:00
parent 7f6456facc
commit 1d830ba59e
+9 -4
View File
@@ -636,12 +636,12 @@ def create_claude_resolver() -> AIResolver:
prompt_file = f.name
try:
# Read prompt from file and pipe to claude
# Run claude in print mode with Opus 4.5 for quality merge resolution
result = subprocess.run(
[
claude_path,
"--print",
"--model", "claude-sonnet-4-5-20250514",
"--model", "claude-opus-4-5-20251101",
"--max-turns", "1",
"--output-format", "text",
],
@@ -653,8 +653,13 @@ def create_claude_resolver() -> AIResolver:
)
if result.returncode != 0:
logger.warning(f"claude CLI returned non-zero: {result.returncode}")
logger.debug(f"stderr: {result.stderr}")
# Print to stderr so it shows in logs
import sys
print(f"claude CLI returned non-zero: {result.returncode}", file=sys.stderr)
if result.stderr:
print(f"claude stderr: {result.stderr[:1000]}", file=sys.stderr)
if result.stdout:
print(f"claude stdout (on error): {result.stdout[:500]}", file=sys.stderr)
return ""
return result.stdout.strip()