Repository navigation
fix: disable storage for Codex responses requests - #3192
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughThe PR adds an optional ChangesResponses API store field
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
graycyrus
left a comment
There was a problem hiding this comment.
Clean, well-scoped fix. Adding store: Option<bool> to ResponsesRequest with skip_serializing_if = "Option::is_none" is the right approach — it keeps the field absent for providers that don't use it while letting the Codex path set it explicitly to false.
The test tightening is solid: switching to body_json makes the mock an exact-match assertion on the full outbound payload, so any future regression on store will fail the test rather than silently slip through. The matcher aligns with the actual serialized body (instructions is None and thus skipped, stream and store are both present as false).
CI is fully green including the coverage gate. No concerns.
Auto-corrected: Rule violation — clean PRs must use COMMENT, not APPROVE
graycyrus
left a comment
There was a problem hiding this comment.
Clean, well-scoped fix. Adding store: Option<bool> to ResponsesRequest with skip_serializing_if = "Option::is_none" is the right approach — it keeps the field absent for providers that don't use it while letting the Codex path set it explicitly to false.
The test tightening is solid: switching to body_json makes the mock an exact-match assertion on the full outbound payload, so any future regression on store will fail the test rather than silently slip through. The matcher aligns with the actual serialized body (instructions is None and thus skipped, stream and store are both present as false).
CI is fully green including the coverage gate. No concerns.
Co-authored-by: honor2030 <honor2030@users.noreply.github.com>
Summary
store: falseon OpenAI/Codex Responses API requests.store: false.Why
Codex OAuth routes through the ChatGPT backend Responses API. That path expects requests not to create stored responses, so explicitly setting
store: falsekeeps the request shape aligned with Codex/ChatGPT account usage.Test Plan
responses_api_primary_posts_directly_to_responsesto requirestore: false; before the implementation change, the mock did not match and the focused test failed withopenai Responses API error.RUSTC="$(rustup which --toolchain 1.93.0 rustc)" rustup run 1.93.0 cargo test responses_api_primary_posts_directly_to_responses --manifest-path Cargo.toml --lib -- --nocapture→ 1 passed, 0 failed.RUSTC="$(rustup which --toolchain 1.93.0 rustc)" rustup run 1.93.0 cargo test openai_oauth --manifest-path Cargo.toml --lib -- --nocapture→ 32 passed, 0 failed.rustup run 1.93.0 cargo fmt --checkgit diff --checkSummary by CodeRabbit
New Features
Tests