fix: harden Codex notification recovery - #2076
Conversation
|
Codex review: needs maintainer review before merge. Reviewed July 11, 2026, 6:58 PM ET / 22:58 UTC. Summary Reproducibility: yes. The exact-head isolated fixture exercises depletion and ambiguous recovery and observes exactly one depleted and one restored notification. 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:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Keep the centralized owner-aware reducer, including its freshness barrier and confirmation state, with the focused regression suite and isolated live fixture serving as the behavioral contract for future notification changes. Do we have a high-confidence way to reproduce the issue? Yes. The exact-head isolated fixture exercises depletion and ambiguous recovery and observes exactly one depleted and one restored notification. Is this the best way to solve the issue? Yes. A typed reducer with explicit ownership, observation freshness, trusted reset boundaries, and confirmation state is the narrowest maintainable way to keep every refresh and cleanup path consistent. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 50d790360a09. Label changesLabel changes:
Label justifications:
Evidence reviewedWhat 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
Review history (3 earlier review cycles) |
eed68c9 to
6ce37f2
Compare
Co-authored-by: Yuxin Qiao <104957188@users.noreply.github.com>
Co-authored-by: Yuxin Qiao <104957188@users.noreply.github.com>
6ce37f2 to
60f069a
Compare
|
Maintainer validation complete on exact head 60f069a.
|
Summary
Post-merge hardening follow-up to #2060. Preserves contributor credit from @Yuxin-Qiao.
Proof
make check: SwiftFormat and SwiftLint cleanCODEXBAR_TEST_RETRY_NON_TIMEOUT_FAILURES=0 make test: 612/612 tests, 51/51 shards, zero retries/recoveries/timeouts60f069aafe9bca30fe225f4e1996f15470d12664passed strict codesign and Gatekeeper validationRisk
Medium. This rewrites the notification transition reducer and its caller state, but only affects notification decisions; provider fetching and displayed usage snapshots remain unchanged. Regression coverage includes non-Codex behavior, observation ordering, missing reset metadata, stale/post-reset samples, disabled/unavailable cleanup, and identity rotation.
Dependencies
No dependency changes; freshness review not applicable.