report_outcome
Reports the outcome of using a recommended tool. Updates graph edge weights to improve future recommendations — successful outcomes reinforce recommendation confidence while failures attenuate it.
When to use
Call report_outcome after using a tool that ToolCairn recommended. This is typically the final step in the discovery flow: search_tools → report_outcome. You can also report outcomes for tools found through get_stack or check_issue.
Input schema
- Name of the tool that was used (e.g. "Prisma", "Vitest", "Drizzle ORM").
- The result of using the tool. "success" for full satisfaction, "failure" for complete failure, "partial" for mixed results.
- Additional context about the outcome — what worked, what failed, or any caveats. Helps refine future recommendations.
tool_namestringrequiredoutcome"success" | "failure" | "partial"requireddetailsstringoptionalExamples
Reporting success
json
{
"tool_name": "Prisma",
"outcome": "success",
"details": "Type-safe queries worked perfectly with PostgreSQL 16. Migrations ran without issues."
}text
Prisma worked great for my project — type-safe queries
and migrations ran without issues on PostgreSQL 16.
// Claude will call report_outcome with:
// {
// "tool_name": "Prisma",
// "outcome": "success",
// "details": "Type-safe queries worked perfectly with PostgreSQL 16..."
// }text
// In Cursor chat:
// "TypeORM didn't work with my Next.js 15 + SWC setup.
// I switched to Drizzle ORM instead."
// Cursor calls report_outcome automaticallyReporting failure
json
{
"tool_name": "TypeORM",
"outcome": "failure",
"details": "TypeORM decorators conflicted with SWC compilation in Next.js 15. Switched to Drizzle ORM."
}Reporting partial success
json
{
"tool_name": "Docker",
"outcome": "partial",
"details": "Container builds work but hot-reload does not function on Windows with volume mounts."
}Response format
Returns a confirmation with the graph update details, including the edge weight change and new confidence score.
Success outcome response
Success confirmation
json
{
"status": "recorded",
"tool_name": "Prisma",
"outcome": "success",
"graph_update": {
"edge_weight_delta": +0.03,
"new_confidence": 0.97,
"affected_edges": 4
},
"message": "Outcome recorded. Prisma's recommendation confidence has been reinforced."
}Failure outcome response
Failure confirmation
json
{
"status": "recorded",
"tool_name": "TypeORM",
"outcome": "failure",
"graph_update": {
"edge_weight_delta": -0.05,
"new_confidence": 0.67,
"affected_edges": 3
},
"message": "Outcome recorded. TypeORM's recommendation confidence has been attenuated for this context."
}Error codes
- Invalid parameters. Ensure tool_name is non-empty and outcome is one of "success", "failure", or "partial".
- The specified tool was not found in the graph. Check the tool name spelling.
- Graph update error. The outcome could not be recorded due to an internal failure.
400Bad Requestoptional404Not Foundoptional500Internal ErroroptionalRelated tools
search_tools— Start a new tool searchcheck_issue— Diagnose issues before reporting a failure- Feedback Loop — Learn how outcomes affect the recommendation graph