fix(provisioning): send messages to bare registry connector id, not wrapper agent - #5
fix(provisioning): send messages to bare registry connector id, not wrapper agent#5ssk-corti wants to merge 2 commits into
Conversation
…ctor _create_targeted_agent set payload for the inline-agent branch but never returned — the function fell off the end, returning None, so any eval using use_connector_name on an inline agent connector would fail with a confusing type error downstream. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR adjusts targeted provisioning for registry connectors so evaluation messages are sent to the registry connector’s own id (rather than the wrapper agent id), improving isolation when using use_connector_name.
Changes:
- Update
_create_targeted_agentto extract the registry connector id from thecreate_agentresponse and return its bare id for message sending. - Update the provisioning test client double to echo connector ids back in
create_agentresponses.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
src/agent_evals/provisioning.py |
Extracts registry connector id from create_agent response and targets message sending at the connector (bare id) instead of the wrapper agent id. |
tests/test_agent_provisioning.py |
Extends the recording client to include connector ids in create_agent responses to better emulate the real API shape. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
the use of Better fix would be to not use the orchestrator wrapping but rather being about to call the reference expert directly https://linear.app/corti/issue/AGENT-1197/initialize-registry-experts-directly-without-orchestrator-wrapping |

What
Split off from corticph/agent-eval-cases#47, which used a
use_connector_nametargeting flow against a registry connector wrapped in a minimal agent — but sent messages to the wrapper agent's id, not the connector itself. The wrapper's system prompt makes it an orchestrator that re-delegates, defeating the point of targeting the connector in isolation.Fix
_create_targeted_agent: for aregistryconnector, read the connector's own id back out of thecreate_agentresponse'sconnectorslist, and return that (stripped of itscon.type prefix, since the send endpoint takes the bare uuid) instead of the wrapper agent id.create_agentnow echoes back connector ids in its response, matching the real API shape, and a regression test asserts messages go to the connector id.Testing
pytest tests/test_agent_provisioning.py— 10 passed.