fix(anthropic): restore Fable 5 Vertex simple completions#98932
Conversation
|
Codex review: needs maintainer review before merge. Reviewed July 2, 2026, 2:15 AM ET / 06:15 UTC. Summary PR surface: Source +134, Tests +951. Total +1085 across 43 files. Reproducibility: yes. Source inspection shows current main can return a Promise from the custom API provider while Review metrics: 1 noteworthy metric.
Stored data model Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land the four-file boundary fix after maintainer review accepts the Vertex 403 proof limit, or require one redacted Vertex-enabled successful completion before merge. Do we have a high-confidence way to reproduce the issue? Yes. Source inspection shows current main can return a Promise from the custom API provider while Is this the best way to solve the issue? Yes. Adapting lazy plugin stream factories at the custom registry boundary and restoring the canonical Anthropic API inside the Vertex plugin is narrower than making the LLM runtime async or adding a Fable-only caller special case. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against e0970cfec572. Label changesLabel justifications:
Evidence reviewedPR surface: Source +134, Tests +951. Total +1085 across 43 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
Land-ready proof for exact head
Known proof gap: repeat the live completion probe when an approved GCP project has Vertex AI enabled. |
|
Merged via squash.
|
…8932) * fix(anthropic): restore Fable 5 Vertex simple completions * test(agents): satisfy custom API model types * test(ci): route reliability test from temp helper * test(agents): satisfy custom API model types
…8932) * fix(anthropic): restore Fable 5 Vertex simple completions * test(agents): satisfy custom API model types * test(ci): route reliability test from temp helper * test(agents): satisfy custom API model types
Related: #91882
What Problem This Solves
Fixes an issue where users running Claude Fable 5 through Anthropic Vertex simple-completion workflows would fail before the provider request. The lazy plugin stream factory returned a promise where the runtime requires an immediate event stream, and the selected synthetic API alias was then passed into the shared Anthropic transport instead of its canonical API.
Why This Change Was Made
The custom API registry now adapts lazy stream factories once at its synchronous provider boundary while preserving synchronous streams unchanged and converting lazy failures into terminal stream errors. The Anthropic Vertex plugin restores
anthropic-messagesonly after its synthetic simple-completion alias has selected the plugin, so the shared transport cannot recurse through or reject the internal alias.User Impact
Anthropic Vertex users can use Claude Fable 5 in simple-completion features such as generated conversation labels without an immediate stream-contract or missing-provider failure. Other custom provider streams keep their existing synchronous behavior.
Evidence
anthropic-vertex/claude-fable-5simple-completion probe failed withTypeError: s.result is not a function.pnpm build: passed; 134.5 seconds.pnpm check:test-types: passed.oxfmt,oxlint, andgit diff --check: passed.origin/main: no actionable findings; patch judged correct.AI-assisted: yes. The implementation, tests, failure reproduction, and live limitation were reviewed directly before submission.