feat: approval gates block indefinitely instead of auto-rejecting on timeout
Remove the wall-clock approval timeout that auto-rejected pending approvals. The timeout modeled machine latency, but approvals are human latency (unbounded); it also created an intent/outcome divergence where a human approving at the same instant the timeout fired was silently overridden by the auto-reject. Approvals now block until the operator decides; the resolved-request dedup still guards against double-submit. Add ServerMessage.ApprovalResolved and map ApprovalDecisionResolvedEvent to it in DomainEventMapper so clients are notified when any approval is resolved (by anyone) — letting a second connected client clear its prompt. This is the event-sourced replacement for the removed timeout notification path. Drop the now-dead ApprovalConfig (timeout_ms) and its loader/test/sample-config references. ApprovalStatus.TIMED_OUT is retained for replay of historical events.
This commit is contained in:
@@ -12,9 +12,6 @@ session_list_limit = 5
|
||||
[cli]
|
||||
default_output = "human"
|
||||
|
||||
[approval]
|
||||
timeout_ms = 300000
|
||||
|
||||
[tools]
|
||||
sandbox_root = "~/.config/correx/sandbox"
|
||||
working_dir = "/tmp"
|
||||
|
||||
Reference in New Issue
Block a user