Repository navigation
relay#562: adopt resolves a broker-served model to its alias - #565
Merged
barelyworkingcode merged 3 commits intoOct 21, 2026
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…fix/562-adopt-broker-model # Conflicts: # docs/FEATURES.md
Owner
Author
|
merge-check: merged. approved, target, contract, evidence, owner, weakening |
This was referenced Oct 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #562
Adopt refused a terminal Claude that runs on relay's model broker with
model_unknown, because onlyclaude-*ids mapped to a family. Now, when the caller sends no model and the transcript has no Claude family, relay resolves the transcript's model id through the broker's own alias map. It reads a fresh catalog per request, finds the map keys that serve the id, and maps each key to the alias (haiku,sonnet,opus) whoseANTHROPIC_DEFAULT_<F>_MODELnames it. Exactly one alias adopts, and the adopted session gets that alias, so it reaches the same broker model. Zero aliases, several, no match or an unreadable catalog still refuse409 model_unknown, before anything is signalled.A caller-sent
modeland aclaude-*family still win, unchanged. The wire shape and fakerelay are unchanged.The epic (with relay#561) was merged in. The G1.50 proof cell keeps both PRs' test names.
Review notes (minor, not fixed): the unreadable-catalog branch has no test of its own.
Fix attempts: 1. Tokens: about 400k across subagents (planner, tests, dev, real-app check, review).
Red on main: TestAdoptBrokerModelAdoptsWithAlias key and target red on the epic head 7ec4af5 (409 model_unknown, want 201); green on 2cf5daa
Real-app check: eve outside-adopt journey on a fresh stack r562: epic 705e9e7 FAIL 409 model_unknown; 2cf5daa PASS (201, session adopted, audit session_adopt ok)
Journey: outside-adopt (eve devboxverify, stack r562) PASS on 2cf5daa
Review: no blocking findings (default model, round 1)
🤖 Generated with Claude Code