Add evidence format guidance to plan_write tool description

Agents frequently put descriptive prose in the evidence field when
marking plan items done, causing verification errors since
parse_evidence() interprets everything as file paths. The plan_write
tool description now documents the 3 accepted evidence formats
(file path, file:line, file::test_name) and explicitly warns against
putting descriptions in evidence.
This commit is contained in:
Dhanji R. Prasanna
2026-02-14 14:19:54 +11:00
parent 1d77f3f865
commit 74714806c0

View File

@@ -214,7 +214,7 @@ fn create_core_tools() -> Vec<Tool> {
"properties": {
"plan": {
"type": "string",
"description": "The plan as YAML. Must include plan_id and items array."
"description": "The plan as YAML. Must include plan_id and items array.\n\nWhen marking items done, `evidence` must be a list of verifiable file references — NOT free-form descriptions. Each entry is verified against the filesystem.\n\nAccepted evidence formats:\n- `src/foo.rs` — file path (checked: file exists)\n- `src/foo.rs:42` or `src/foo.rs:42-118` — file + line range (checked: file exists, lines in range)\n- `tests/foo.rs::test_bar` — test reference (checked: file exists, function found)\n\n❌ Do NOT put descriptions, summaries, or prose in evidence. Use `notes` for explanations."
}
},
"required": ["plan"]