Repository navigation
fix(approval): a reviewer DENY needs its own human answer (RIG-8544) - #44
Merged
mattwilkinsonn merged 4 commits intoNov 9, 2026
Conversation
Co-authored-by: Matt Wilkinson <matt@rigel.build>
Collaborator
Author
Review round 1 (head
|
| Severity | Finding | Disposition |
|---|---|---|
| High | Card taps and /approve resolve the oldest request in the session, not the one shown. A tap on an ordinary card can release a queued DENY. |
Fixing: the resolver never releases a DENY unless its own request_id names it. The Telegram and relay cards will carry request_id. |
| High | Same root cause, through parallel tool calls and plain /approve |
Fixing with the above |
| High | The interactive CLI hardcodes smart_denied=False, so the reviewer warning is never shown |
Fixing: carry smart_denied through PendingControls and GatewayAgent |
| Medium | A cached session grant skips the reviewer | Fixing: skip the cache when review_first is set |
| Medium | The CLI panel can drop every command row, and it miscounts rows | Fixing: keep at least one command row; correct the count |
| Medium | Subagent auto-approve also matches display text; its docstring is wrong | Fixing: use the kwarg only; correct the docstring |
| Medium | Reviewer note string is duplicated; an over-length comment | Fixing |
| Medium | No end-to-end test for DENY queued ahead of an ordinary card | Adding it |
| Low | Assorted style and test nits | Cheap ones fixed; rest noted |
Next: fixes with tests that fail first, then round 2.
…ewer DENY cannot be released by another (RIG-8544)
Collaborator
Author
Round 1 fixes (head
|
A reply with no request ID resolves nothing while a DENY heads the queue. review_first honours cached grants for non-DENY verdicts. The CLI panel keeps the warning and a command row at 11 rows. Refs RIG-8544 Co-authored-by: Matt Wilkinson <matt@rigel.build>
An empty request ID no longer resolves the head of the queue, and the managed worker rejects empty prompt IDs. Refs RIG-8544 Co-authored-by: Matt Wilkinson <matt@rigel.build>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
After #43, a smart-reviewer DENY goes to a human. Review found ways it could still run without a human answering it. Now a DENY runs only after a person answers "once" to that request; otherwise it is blocked.
Related Issue
RIG-8544. Follows #43.
Type of Change
Changes Made
/approvesays to answer DENY requests on their own card.review_first, the reviewer runs first; a cached grant then applies only to a non-DENY verdict.How to Test
cb0ca31c.ruff checkpasses on touched files.test_automation_retry,test_hosted_mux_runtime,test_hosted_group_members) also fail on99ffc621.Checklist
Code
Documentation & Housekeeping
cli-config.yaml.exampleif I added/changed config keys — N/AFor New Skills
N/A
Screenshots / Logs
N/A: test runs above.
Refs RIG-8544
Co-authored-by: Matt Wilkinson matt@rigel.build