fix: cool down Claude keychain pre-alerts - #2021
Conversation
dc9fa87 to
01dfb69
Compare
|
Codex review: needs real behavior proof before merge. Reviewed July 11, 2026, 5:25 AM ET / 09:25 UTC. Summary Reproducibility: yes. Source inspection gives a high-confidence path: keep the first synchronous modal open, start a second qualifying load, and the gate returns false while the second caller continues into the Keychain read. Review metrics: 3 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:
Risk before merge
Maintainer options:
Next step before merge
Security Review findings
Review detailsBest possible solution: Make concurrent callers defer, fail without reading, or reuse the first presentation outcome so no potentially interactive Keychain read proceeds until the explanatory modal completes; add a focused concurrent integration test and redacted proof from a freshly built app. Do we have a high-confidence way to reproduce the issue? Yes. Source inspection gives a high-confidence path: keep the first synchronous modal open, start a second qualifying load, and the gate returns false while the second caller continues into the Keychain read. Is this the best way to solve the issue? No. The cooldown and persisted acknowledgement are reasonable, but in-flight deduplication must also prevent or defer the duplicate credential read rather than suppressing only its explanation. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against db93fc92abca. Label changesLabel changes:
Label justifications:
Evidence reviewedSecurity concerns:
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
|
|
Maintainer pass complete on exact head Improvements beyond the original patch:
Proof:
|
Summary
Product and security boundary
This PR chooses a persisted six-hour acknowledgement cooldown for maintainer review. The cooldown applies only to the CodexBar explanation. The subsequent Security.framework read is unchanged, macOS may still show its authorization prompt, and Claude Never prompt plus global Disable Keychain access remain authoritative.
No live Keychain UI validation was run, per AGENTS.md.
Validation
swift build --target CodexBarCorepassed on the combined tree.ClaudeOAuthKeychainAccessGatecontrols actual Keychain access, while this cooldown suppresses only CodexBar’s explanatory pre-alert.Fixes #1990