strong-ice-84145
07/15/2026, 4:01 PMstrong-ice-84145
07/15/2026, 4:40 PMthe extra safety is specifically required for concurrent Codex conversations.
The regular SaasSecretsStore loads and replaces the entire secret set. It does not provide per-secret compare-and-swap. That creates two Codex-specific problems:
- OpenAI refresh tokens rotate. Two conversations cannot safely refresh the same token concurrently.
- A stale settings save could replace a newer CODEX_AUTH_JSON written by another conversation.
The new flow therefore has three protections:
- Redis serializes upstream refreshes.
- CodexAuthStore updates only CODEX_AUTH_JSON using a digest and row lock.
- The regular store leaves an unchanged Codex row intact, preventing bulk secret saves from overwriting a newer rotation.strong-ice-84145
07/15/2026, 4:44 PMstrong-ice-84145
07/15/2026, 6:54 PMcalm-artist-7206
07/15/2026, 7:21 PM