fix: don't archive gitleaks-allow response before gate reads it
lint / lint (push) Successful in 1m49s
test / unit (pull_request) Successful in 33s
test / integration (pull_request) Successful in 21s

The TUI was calling archive_proposal for gitleaks-allow immediately
after write_response, moving the response file to processed/ within
microseconds. The git-gate shell loop polls queue_dir for the response
file every second — it never sees it and hangs until timeout.

capability-block is handled by the MCP sidecar which archives after
reading; gitleaks-allow is handled by the shell gate which archives
after processing. Let the gate own the archive step.
This commit is contained in:
2026-06-23 02:05:40 +00:00
parent 2177ff8106
commit 09db0eda98
2 changed files with 6 additions and 4 deletions
+1 -1
View File
@@ -157,7 +157,7 @@ def approve(
qp, action=status, notes=notes,
diff_before=diff_before, diff_after=diff_after,
)
if qp.proposal.tool in (TOOL_CAPABILITY_BLOCK, TOOL_GITLEAKS_ALLOW):
if qp.proposal.tool == TOOL_CAPABILITY_BLOCK:
archive_proposal(qp.queue_dir, qp.proposal.id)