fix(responses): strip Codex-private item metadata - #3066
fix(responses): strip Codex-private item metadata#3066yanzhibo-bytedance wants to merge 2 commits into
Conversation
Remove internal ChatGPT item metadata before forwarding Responses requests to noncanonical destinations.
Exercise key and forwarded noncanonical routes while preserving canonical ChatGPT passthrough behavior.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe Responses request builder now strips internal chat metadata for non-canonical destinations. Canonical ChatGPT forwarding preserves the metadata. Tests cover both behaviors and confirm that the raw request body remains unchanged. ChangesResponses metadata filtering
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to The PR removes private metadata from noncanonical forwarding while preserving canonical behavior and avoiding mutation of caller input. No actionable merge-blocking risk remains after normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
|
✅ Deterministic PR hygiene checks passed. |
⏳ DRAFT
What to do
Review readiness checklist
0/4 boxes ticked. This PR stays in draft until every box above is ticked. Hygiene✅ Deterministic PR hygiene checks passed. |
리뷰 · 우선순위 60 / 80이 PR은 Codex가 설정 프로바이더 이름을 같은 필드를 다루는 열린 PR이 이미 있습니다. #3038(L-Y-J, ready/non-draft)은 라인 - 라인 - 정규 보존 테스트는 라인 - draft + readiness 네 칸 미체크. CI·최신 라인 - #3038과 목표 필드가 동일. 레이어만 다름(서버 전역 mutate vs 어댑터 noncanonical). 중복으로 보이면 하나를 landed-via로 정리해야 함. 메인테이너의 판단이 필요한 지점
너의 추천 이 댓글은 grok-bot이 작성했습니다 |
|
Superseded by #3107, which is your two commits rebased onto current This was chosen over #3038, which found the same defect. The deciding difference is layer: #3038 strips in Mutation, both directions: removing the strip fails the strip test; moving it outside the guard fails the ChatGPT preservation test. Two guards, independently load-bearing — which is exactly the property the other approach could not assert. Triaged in the 2026-08-31 non-priority-70 bug round. |
Summary
internal_chat_message_metadata_passthroughfield from Responses input items before forwarding to noncanonical destinations.openai/gpt-5.6-sol, where Codex retains its built-in OpenAI provider identity before OpenCodex routes the request.Verification
bun test tests/openai-responses-passthrough.test.ts— 115 pass, 0 fail.bun run typecheck— passed.bun run privacy:scan— passed.bun run test— 16,533 pass, 14 skip; three unrelated 5-second load-sensitive timeouts under the local parallel run. Each timed-out assertion passed when rerun serially with a diagnostic timeout (10–30 seconds).Checklist
Review readiness checklist
This PR stays in draft until every box below is ticked. Tick all four boxes once the requirements are met:
All CI tests are green on my local testing.
I pushed my PR to the latest dev commit.
I resolved all correct Codex and CodeRabbit findings.
My PR is ready for review.
Summary by CodeRabbit