Honest note: this item has not been completed here. The minimal plugin loads (measured), but registering a tool's
name, parameter schema, and handler into the tool registry is not done. What follows is the path and known facts, not verified steps — if you get it working, please contribute a record using the template.Three known layers
| Layer | What it takes | Verified? |
|---|---|---|
| Package loads | package.json + cordis.patch.yml + apply() | Verified, see the minimal plugin item |
| Entry is composed | insert an id in the patch; it shows in dump-config | Verified |
| Tool callable by the model | register name/schema/handler with the tool registry | Not verified — what this item must fill in |
What tool calls look like in the event log
Every call records two events, tool/call and tool/result, and the result holds {content:[{type:"tool-result", content:[{type:"text"…}], isError}]}. Measured: isError is always false, with failure described in the text (see the tool failure item). So when registering your own tool, do not rely on isError to mark failure.
What completing this needs
- A tool-registration service injectable through ctx — its exact name was not found, which is where this stopped.
- One real call: run a minimal task and have the model invoke your registered tool.
- Confirm the
namefield intool/callmatches what you registered.
I am not going to invent steps here. 'What is known and where it stopped' is more useful than an unrun registration procedure: following the latter, you would not know whether the doc is wrong or you are.