Conversation
|
✅ 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. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: lidge-jun/opencodex/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (3)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe Responses passthrough now removes ChangesResponses passthrough
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~8 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to Claude’s omitted-thinking behavior is preserved while the unsupported marker is removed from outbound requests; no actionable merge-blocking risk remains. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The change removes an internal reasoning marker from outgoing requests without changing request access, credentials, or routing. No new security attack path was identified, although end-to-end coverage is limited. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
🚥 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 |
리뷰 · 우선순위 65 / 80Claude Code가 생각 요약을 숨기라고 하면( 이 PR은 번역·파서는 그대로 두고, 와이어로 나가기 직전에만 라인 - 라인 - 메인테이너의 판단이 필요한 지점 steering에서도 너의 추천 방향은 맞습니다. 머지 전에 steering normalizer에도 이 댓글은 grok-bot이 작성했습니다 |
Summary
thinking.display: "omitted"is translated toreasoning.summary: "none"soparseRequestcan sethideThinkingSummary. The marker was also being serialized to OpenAI-style Responses upstreams, which reject it with HTTP 400 (Invalid value: 'none'. Supported values are: 'concise', 'detailed', and 'auto'). Every Claude Code turn routed to a native OpenAI model failed.stripNoneReasoningSummaryinsrc/adapters/openai-responses/reasoning.tsand call it inpassthrough.tsnext to the other reasoning-summary wire sanitizers. It removesreasoning.summary === "none"from the outgoing body, and removesreasoningentirely if that leaves it empty.thinking: disabled.Verification
bun test tests/responses/openai-responses-passthrough.test.ts -t "omitted thinking display": passes with the change, fails without it (summary: "none"stays on the wire).bun test tests/responses/openai-responses-passthrough.test.ts: 181 pass, 5 fail. The same 5 "byte accounting" cases fail on unmodifieddevin my environment, so they are not from this change.bun run typecheck,bun run structure:check,bun run privacy:scan: pass.ocx claude -p ... --model <native gpt-6-astra slot>returned 400 before the patch and 200 with "ok" after.bun run test(the WebSocket steering suites time out in my environment). CI has not run on this branch yet.Checklist
Review readiness checklist
This PR stays in draft until every box below is ticked. Tick all four boxes once the requirements are met:
Required local validation passed; commands, results, and any full-suite exception are documented.
I pushed my PR to a recent dev commit (at most 10 behind; a maintainer may still ask for the exact tip before merge).
I resolved all correct Codex and CodeRabbit findings.
My PR is ready for review.
Summary by CodeRabbit
reasoning.summary: "none"marker. Other reasoning settings, such as effort, are preserved.