Skip to content

Surface a failed-turn strip when a model cannot resolve - #540

Merged
TheGreatAxios merged 8 commits into
mainfrom
cl-6491-messaging-an-agent-whose-model-cant-resolve-returns-a-bare
Aug 31, 2026
Merged

Surface a failed-turn strip when a model cannot resolve#540
TheGreatAxios merged 8 commits into
mainfrom
cl-6491-messaging-an-agent-whose-model-cant-resolve-returns-a-bare

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Messaging an agent whose model cannot resolve is now a failed turn with recovery, never a raw HTTP 500.

What changed

  • Wake and mint wrap InferenceResolutionError as a named consumer error.
  • POST /workbenches and other on-request mint paths return 409 not_launchable with consumer copy instead of 500.
  • Uncaught InferenceResolutionError maps through hub onError to 422 with the same copy.
  • The failed-turn strip names the agent, offers 2-4 tenant chat models, applies the pick, retries the turn, and hops to that agent's Settings.

Tests

  • Wake/sendMail resolution failure does not 500 and does not write the raw dump onto the turn.
  • Strip copy, picker, apply+retry, and Settings hop.

Closes CL-6491

Wake, mint, and the failed-turn strip must keep the technical
resolution dump off the turn row, the HTTP body, and the transcript.
Catch inference-resolution failure at wake and mint so the room gets named recovery instead of a raw HTTP 500.
Keep a single catalog load, apply-and-retry path, and Settings hop so the workspace typechecks.
Invite now returns the same consumer copy mint and add-participant already use.
@TheGreatAxios
TheGreatAxios merged commit 65d6c54 into main Aug 31, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant