docs(agents): who can find a stale tool description, and what a fixture cannot assert #38
No reviewers
Labels
No labels
waiting-on-julian
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
jlxq0/jmap-mcp!38
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "docs/who-can-find-a-stale-description"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Two observations from the first user of
body_html, both of which generalise past this tool. Docs only, no version bump:AGENTS.mdis not served to callers.A stale description cannot be found by anyone who has used the tool
send_email's read "Send a plain-text email" for a day after it gainedbody_html, so the parameter's own tool advertised that its purpose was impossible.It was found by the one person who could not be misled by it. She had already called
send_emailsuccessfully withbody_html, so she flagged the description of the tool she was reading and not the one she was using. Her words: "A description only misleads somebody who has not already done the thing." That is exactly the person who is not reviewing it.The cost is measured. Two days earlier the same reader read
read_email's summary rather than its properties, told two peoplebody_htmldid not exist, and retracted.So: when a tool gains a parameter, re-read the description of that tool, and treat "I know it works" as the reason you are the wrong reader.
A fixture contains only what its author thought to put in it
The escaping was tested against a fixture carrying a
styleattribute and an&in a query string, both of which I had thought of. What established it safe on real mail was a reader checking her own composed briefing for "no entity anywhere I did not put there" — an assertion no fixture can make, because it is a claim about the absence of damage nobody predicted."The styles came back" is a predicted case. "Nothing came back that I did not write" is a different claim and the stronger one.
Note on the commit
The first attempt at this commit failed:
"Send a plain-text email"inside agit commit -mstring broke the shell quoting and git took the rest of the message as pathspecs, so the branch pushed atmain's head with no commit on it. Redone with a heredoc. Force-pushed over a branch that had no commits of its own and no review on it.Gate:
cargo +1.93.0 fmt --all --checkrc=0,cargo +1.93.0 test --all-features --lockedrc=0, 195 passed.