Harness spec 3.0.0-draft: where each tool is offered; the chat's tools
Every tool says its `sessions` (chat, agent or both). The file tools read, write, edit, glob, grep and list are shared; mkdir, mv, rm, search, python and the forge verbs (commit, branch, pr, merge, tag, release) are the chat's; show and recall are new and shared. New fields: `requires` (page, display, forge) with the exact `unavailable` answer, and `confirm: always` for merge, tag and release. knowledge_*, notes_search, note_view and note_manage leave the chat. Default rules for the new tools; modes.json says what `confirm` does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
50 files changed
+568
-20
No files matched your search
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"name": "branch",
|
||||
"scope": "llembas",
|
||||
"sessions": "chat",
|
||||
"risk": "execute",
|
||||
"exclusive": false,
|
||||
"block": "tool",
|
||||
"purpose": "purpose",
|
||||
"requires": [
|
||||
"forge"
|
||||
],
|
||||
"unavailable": "No repository from a forge is open to this session, so there is nothing to branch here.",
|
||||
"aliases": {
|
||||
"cli": [],
|
||||
"llembas": []
|
||||
},
|
||||
"description": "Create a branch in a repository (a mount), from `from` (default: the branch this session works on), and switch this session's working copy of it to the new branch. Staged changes come along.",
|
||||
"parameters": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"path": {
|
||||
"type": "string",
|
||||
"description": "Any path inside the repository (the mount) this is about"
|
||||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "The new branch's name"
|
||||
},
|
||||
"from": {
|
||||
"type": "string",
|
||||
"description": "Branch, tag or commit to start from"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"path",
|
||||
"name"
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user