fix: preserve allow-always unavailable reasons across approval surfaces#97345
fix: preserve allow-always unavailable reasons across approval surfaces#97345arkyu2077 wants to merge 1 commit into
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed June 27, 2026, 10:12 PM ET / 02:12 UTC. Summary PR surface: Source +137, Tests +162. Total +299 across 21 files. Reproducibility: yes. from source with high confidence. Current main removes Allow Always for both ask=always and one-shot persistence while user-facing prompt builders still print policy-only copy when the decision is absent; I did not run a live gateway flow in this read-only review. Review metrics: 2 noteworthy metrics.
Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Mantis proof suggestion Risk before merge
Maintainer options:
Next step before merge
Security Review findings
Review detailsBest possible solution: Thread the typed unavailable reason through all production approval prompt data paths, keep Control UI copy in the i18n catalog, prove redirected-command and ask=always behavior in a real prompt, then choose one canonical PR for the linked bug. Do we have a high-confidence way to reproduce the issue? Yes, from source with high confidence. Current main removes Allow Always for both ask=always and one-shot persistence while user-facing prompt builders still print policy-only copy when the decision is absent; I did not run a live gateway flow in this read-only review. Is this the best way to solve the issue? No. The typed reason approach is plausible, but this branch stops short of the foreground/embedded/Telegram production call sites and bypasses Control UI i18n, so it is not yet the narrow complete fix. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against d1b917120a47. Label changesLabel justifications:
Evidence reviewedPR surface: Source +137, Tests +162. Total +299 across 21 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
Closing this in favor of #97145 as the stronger canonical fix for #97069. This branch introduces a typed unavailable-reason field, but the current head still leaves three production path families unwired: foreground agent tool results, Telegram native approvals, and Telegram forwarding. #97145 carries the existing Thank you for the careful protocol, renderer, and test work, @arkyu2077. |
Summary
allowAlwaysUnavailableReasonthrough exec approval requests, gateway transport, Control UI parsing, and approval view modelsTesting
Closes #97069