Claude Opus 5.5 and Sonnet 5.5 in One Git Diff
One TypeScript refactor, two clean worktrees
The useful question about Claude Opus 5.5 and Claude Sonnet 5.5 is not which one writes prettier code. It is which one gets a particular repository change through review with fewer corrections. For a practical 2026 comparison, give both models the same multi-file refactor: move retry logic out of three API clients into a shared module without changing public behavior.
Treat this as a reproducible evaluation recipe, not a benchmark result. Start from one commit, create separate Git worktrees, and give each run identical instructions. Keep the lockfile, runtime version, available tools, and starting tests fixed. Otherwise, you are comparing environments as much as models.
A refactor contract both models can follow
Before asking either model to edit, write down the behavior that must survive. Our retry module needs bounded attempts, exponential backoff, cancellation support, and unchanged error propagation. The three clients must keep their existing exported signatures. New dependencies and unrelated formatting changes are out of scope.
- Ask each model to identify affected files before making changes.
- Require a short implementation plan tied to existing repository symbols.
- Specify that cancellation must interrupt waiting, not merely subsequent requests.
- Require tests for exhausted retries, immediate cancellation, and successful recovery.
- Tell both models to report uncertainty instead of inventing behavior.
Use the same task prompt and repository guidance for both runs. Supply relevant client files and nearby tests, but let repository search answer narrower questions. Dumping the entire project into context makes cost harder to interpret and can bury the constraints that matter.
Separate planning quality from patch quality
Run both models independently before trying a combined workflow. Record whether each plan notices the same hidden coupling: perhaps one client already retries authentication failures, while another accepts a caller-owned cancellation signal. A plausible abstraction can still be wrong if it erases those differences.
Then inspect the actual patches. Does the shared module own only retry policy, or has it absorbed transport-specific behavior? Are callers simpler? Did either implementation introduce an unnecessary configuration layer? Prefer the smallest abstraction that preserves the contract, regardless of which model proposed it.
Only after that comparison should you test a handoff: one model drafts the change, and the other reviews the diff against the original requirements. Do not assume a particular assignment wins. Measure whether the second pass catches real defects rather than generating stylistic churn.
Terminal checks that catch refactor regressions
Run targeted tests first, then type checking, linting, and the broader suite. Read the diff yourself, including deleted assertions and changed fixtures. A green test run means less if the patch quietly weakened the tests.
- Use deterministic timers so backoff tests avoid real waiting.
- Check that non-retryable failures still escape after one attempt.
- Inspect every changed call site for accidental signature drift.
- Keep command execution sandboxed and require approval for destructive operations.
- Record human review minutes alongside failures and repair attempts.
Fluxo routing without changing the experiment
Fluxo provides one key and one base URL, https://api.fluxorelay.com, for Claude, GPT, Gemini, DeepSeek, Kimi, GLM, Qwen, Grok, and more. It works with Claude Code, Codex, Gemini CLI, and any OpenAI SDK. Configure the endpoint and credentials through your tool's supported settings, and confirm the exact model identifier before running the comparison.
If you want to reproduce this workflow, you can create a Fluxo account and keep both runs under the same relay setup. Keep credentials out of tracked files. Fluxo bills per real token, including cache reads and writes, with no monthly fee; users also earn a referral share when people they invite pay.
A 2026 scorecard for the merged retry module
Log input, output, cache reads, cache writes, elapsed time, test failures, and reviewer corrections. Compare cold and warm runs separately, and repeat the task before drawing conclusions. The winning workflow is the one that delivers a correct, reviewable patch at an acceptable total cost—not the one that produces the most confident summary.