From 2fb0d08274c62886d9ed144c1a9d72c2402d78b9 Mon Sep 17 00:00:00 2001 From: iris Date: Sun, 2 Aug 2026 23:56:43 +0200 Subject: [PATCH] docs(approvals): fix deny-notification conditionality argus review: the submitting agent is always notified when its request is denied (HelperEvent::ApprovalResolved fires unconditionally); only the reason text is optional, and only from the dashboard prompt (not the CLI, which has no reason argument at all). Also note that cancelling the dashboard prompt aborts the whole deny, not just the reason. --- docs/approvals.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/approvals.md b/docs/approvals.md index 70fe2779..bdf8a325 100644 --- a/docs/approvals.md +++ b/docs/approvals.md @@ -41,11 +41,13 @@ CLI) before it takes effect. What you'll see, and what to do with it: *agent* asking to schedule something, not for you doing it. Don't want to approve something? **Deny it** (`DENY` on the dashboard -card, or `hivectl approvals deny `) — nothing runs. The dashboard -prompts for an optional reason, which lands directly in the submitting -agent's inbox if you give one; the CLI denies without one. Denying is -final: a denied approval can't be re-approved later, the agent has to -submit a fresh one (a new PR, a new request). +card, or `hivectl approvals deny `) — nothing runs. Either way the +submitting agent is always notified their request was denied; what's +optional is only the reason text, which you can add on the dashboard's +prompt (cancelling that prompt aborts the whole deny, not just the +reason) but not from the CLI. Denying is final: a denied approval +can't be re-approved later, the agent has to submit a fresh one (a new +PR, a new request). Everything below this point is the implementation detail behind that flow.