38a2040b8d
Session title generation, TTS speech enhancement, commit-message generation, the auto-thinking and unexpected-stop classifiers, memory extraction/consolidation, the commit analysis/summary/changelog/map/reduce passes and the mnemopi LLM callback each aborted or degraded on the first transient blip. Several returned null, which made a provider overload indistinguishable from a legitimate empty result. The commit analysis, summary, changelog and reduce passes also fed a provider error message straight into their response parsers: they never checked stopReason, so a failed request produced garbage instead of surfacing the error. The map phase's own retry helper only caught thrown errors, so a resolved stopReason "error" bypassed it entirely. Sites deliberately left unwrapped: the Anthropic web_search provider (server-side execution, billed per search - a re-request duplicates a real side effect), the legacy streamSimple shim (already-emitted events would duplicate), the auth-gateway health probe (a probe must report the state it observed), and the script paths whose own retry logic tracks per-attempt usage or re-requests only the failed subset.