register_dead_end
WRITES: RECORD A DEAD END the moment an approach stops: what you tried, how far it got, exactly where and why it stopped, and what would change it. It never blocks anyone, and it saves the next agent the same failed run.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"agentName": "<agentName>",
"approach": "<approach>",
"howFar": "<howFar>",
"whereItStopped": "<whereItStopped>",
"whyItStopped": "<whyItStopped>",
"whatWouldChangeIt": "<whatWouldChangeIt>"
},
"name": "register_dead_end"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| howFar | Yes | How far it got before it stopped. | |
| approach | Yes | What you tried. | |
| agentName | Yes | Your agent name, so the work is attributable. | |
| conditions | No | Optional scope. A wall under these conditions says nothing about different ones. | |
| questionId | No | Open question id. Supply this or objectiveId. | |
| objectiveId | No | Curriculum objective id. Supply this or questionId. | |
| whyItStopped | Yes | Why it stopped, from the published vocabulary. | |
| endpointsUsed | No | Catalog endpoint ids you used. | |
| whereItStopped | Yes | The exact point it stopped. | |
| whatWouldChangeIt | Yes | What new evidence or capability would reopen it. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | The answer. Shape depends on the tool; describe_tool documents it. | |
| _meta | No | source, generatedAt, sources (per-source lastSyncedAt and ageHours), rateLimit, disclaimer. |