[5173] docs(design): plan — surface gateway tool-resolution failures and stop one dead tool bricking the agent - #5212
Conversation
…op one dead tool bricking the agent Plan-feature workspace for issues #5173 and #5174 (symptom side) and QA finding F-019. Covers surfacing the resolver error detail end to end, the fail-vs-skip policy when one of several tools fails to resolve, and why the #5174 discover-resolve drift stays separate. Claude-Session: https://claude.ai/code/session_018MaXPNpvzN22kngHno3VMj
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Feedback needed. This plan is ready for review. Three open questions need a call before Phase 2 gets coded (details in
Phase 1 (surface the resolver detail in the run error) has no open questions and can be approved independently. |
Context
A committed agent config referenced the Composio action
github/COMMIT_MULTIPLE_FILES, which Composio removed from its catalog. Every turn on that config failed in about six seconds with only:The message named no tool and no reason. Diagnosing it required backend access: reading the saved config out of Postgres and probing each action slug against Composio by hand. This is QA finding F-019, and it reproduces the two problems in issues #5173 and #5174.
Two things are wrong. The failure is opaque, and resolution is all-or-nothing so one dead tool takes down an agent whose other tools are fine.
The root cause of the opacity is a one-hop drop. The backend already produces the useful sentence and puts it in the HTTP body (
{"detail": "Action not found: composio/github/COMMIT_MULTIPLE_FILES"}). The SDK reads only the status code and discards the body.What this adds
This is a design-only plan-feature workspace. No code changes. It plans two independently shippable fixes and settles where each one lives.
gateway.py), pulldetailout, and carry it on the exception so the run error readsAction not found: composio/github/COMMIT_MULTIPLE_FILES (HTTP 404)instead of a bareHTTP 404.Before and after, from the user's point of view:
Workspace
docs/design/agent-workflows/projects/gateway-tool-resolution/:context.md,research.md(the verified failure chain, including the exact swallow point and run lifecycle),design.md(the three decisions with trade-offs),plan.md(three phases),status.md.Notes
research.mdis verified against the code at the current base.status.mdneed a decision before Phase 2 coding: the warning transport, whether any tool is "required", and who owns the shared resolvability check across this plan and Composio discover vs resolve toolkit-version misalignment: discover_tools surfaces tools that resolve/execute can't find #5174.Closes the design step for #5173. Related: #5174.
https://claude.ai/code/session_018MaXPNpvzN22kngHno3VMj