fix: cancel_loose_end approval kind is root-agent-only, no own-approval carve-out

This commit is contained in:
damocles 2026-06-05 00:47:03 +02:00 committed by mara
commit 2fff9485b9

View file

@ -864,10 +864,9 @@ impl AgentServer {
`\"reminder\"`; `id` is the row id from the matching `get_loose_ends` entry \ `\"reminder\"`; `id` is the row id from the matching `get_loose_ends` entry \
or the `question_queued` reply you got when you submitted. Auth: you can only \ or the `question_queued` reply you got when you submitted. Auth: you can only \
cancel rows where you're the asker / owner. Returns `ok` or an error string.\n\ cancel rows where you're the asker / owner. Returns `ok` or an error string.\n\
Agents with the `approvals` tool group can also pass `kind: \"approval\"` to \ `kind` may also be `\"approval\"` to withdraw a pending approval you submitted \
withdraw a pending approval they submitted (before the operator acts on it). \ (before the operator acts on it) root agent (`ruth`) only; the server rejects \
The root agent (`ruth`) may cancel any approval; non-root agents are restricted \ `approval` kind for all other callers."
to their own approvals and the server rejects `approval` kind otherwise."
)] )]
async fn cancel_loose_end(&self, Parameters(args): Parameters<CancelLooseEndArgs>) -> String { async fn cancel_loose_end(&self, Parameters(args): Parameters<CancelLooseEndArgs>) -> String {
let log = format!("{args:?}"); let log = format!("{args:?}");