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
feat(retry): opt-in claude -p retry backend with silent fallback
The log-driven LaTeX retry currently reuses the main backend's LLM,
which for MiniMax means the same model that wrote the broken section
also gets to fix it — often not enough for structural equation bugs.
New flag: --retry-backend {same,hybrid} (default: same).
- 'same' preserves current behavior; users without claude delegation
set up see no change at all.
- 'hybrid' swaps the fix pass to claude -p via the local proxy
(model defaults to claude-opus-4-5, override with --retry-model).
Before using it we probe {claude-proxy}/health with a 1.5s timeout;
if the proxy isn't running we log a `warning` progress event and
silently fall back to the main backend. No exception, no abort —
"retry quality is a nice-to-have, not a dependency" is an explicit
design choice.
The probe helper (probe_claude_proxy) lives in config.py so other
callers can reuse it. writeup()/run_pipeline() now carry
retry_cfg/retry_model kwargs end-to-end; _retry_failing_sections
uses them if supplied, otherwise the existing cfg/model.
Also: sanitize the paper title alongside abstract (both bypass the
per-section pipeline). Cheap, symmetric, covers the one prose-special
case abstract fix didn't.
Tests: 9 new cases pin the flag surface, the probe-fail-fallback
contract, explicit --retry-model wins, and the real probe returns
False quickly against a dead port. Total suite now 68 passing.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
0 commit comments