fix(server): surface actionable provider failure messages - #12560
Conversation
|
Effect Service Conventions found a blocking error-boundary violation. Posted via Macroscope — Effect Service Conventions |
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a narrowly scoped server bug fix that improves messages for existing provider failure paths without changing workflows, defaults, schemas, or deployment behavior. The new cause handling is bounded and covered by targeted tests. You can add or adjust custom eligibility rules. Learn more. |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: unavailable · PR result: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
905d6a1
into
t3code/codex-turn-mapping
Provider startup and stream failures can collapse actionable errors into "Provider turn failed." For example, a context handoff budget rejection loses the instruction to compact the conversation or choose a model with more context.
Translate known failure categories through wrapped adapter and Effect causes in the shared formatter. Handoff budget and uncertain-delivery errors retain recovery guidance; startup, stream, session-open, and resume failures get specific next steps. Unknown defect text stays internal. Preserve explicit messages, credential redaction, and message length limits, with guarded and bounded cause traversal.
Targets #2829. This changes error reporting only; it adds no legacy reconciliation or database migration.
Verification:
Authored with Codex.