Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks 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. |
리뷰 · 우선순위 52 / 80Qoder가 도구를 직접 실행하지 못하게 막는 변경이다. 요청에 도구가 있으면 OpenCodex는 그 목록만 작은 도우미 프로그램으로 보여 준다. 도우미는 "이 도구를 이 값으로 부르고 싶다"는 기록만 파일로 남기고, 실행하지 않은 채 멈춘다. 부모 프로세스가 Qoder가 보낸 호출 번호와 그 기록을 짝지어, 맞는 첫 호출만 Codex로 넘긴다. Codex가 승인하고 격리된 공간에서 실행한 뒤, 다음 요청에 결과를 다시 넣는다. 도구가 없는 요청은 예전처럼 글과 추론만 한다. 베이스는 같은 일을 하려다 닫힌 #5554를 이 풀리퀘스트가 대신한다. #5554는 2026-09-24에 이미 닫혀 있다. 이슈 #5270은 아직 열려 있고, 본문은 이 풀리퀘스트가 그 이슈를 고친다고 적는다. 작성자가 적은 검증은 Qoder 테스트 147개, CodeBuddy 회귀 125개, 타입체크, 그리고 Qoder CLI 1.1.60으로 라인 - 라인 - 라인 - 라인 - 라인 - 메인테이너의 판단이 필요한 지점 초안 체크리스트 네 칸이 모두 비어 있다. 전체 테스트를 면제할지를 본문 한 줄로 끝낼지, 칸을 채울 때까지 초안을 유지할지. 도구가 있는 턴의 너의 추천 방향은 맞다. Codex가 실행하고 Qoder는 부르고 싶은 도구만 넘긴다. 초안인 채로 두고, 체크리스트를 채운 뒤에 머지한다. 한 대답에 호출이 둘 이상이면 그 턴을 실패로 닫는다. 저장 강제는 도구가 있는 턴으로 한정한다. 도구 턴에도 턴 횟수 상한을 남긴다. #5554는 이미 닫혀 있다. 그 상태는 유지하면 된다. #5270은 이 풀리퀘스트가 머지될 때 닫히면 된다. 이 댓글은 grok-bot이 작성했습니다 |
Summary
Add a Qoder capture-only tool bridge. Its private MCP helper captures tool-call intent without executing tools; Qoder-local code pairs that intent with native call IDs and validates the result. Codex retains ownership of tool approval, sandboxing, and execution, with tool results returned through continuation.
The shared coding-agent changes provide provider-neutral runtime support. CodeBuddy is an existing capture-only bridge precedent, not an implementation copied into Qoder.
Fixes #5270. This implementation supersedes the earlier approach in #5554; #5554 is now closed.
Verification
2fc06bbea1e7327709c845255f2a6ff88120247a.184470aa962aa8adb43e8c8981806638e0b3c205: Qoder targeted tests 147/147 PASS; CodeBuddy regression tests 125/125 PASS;bun run typecheckPASS;git diff --checkPASS.184470aa962aa8adb43e8c8981806638e0b3c205with Qoder CLI1.1.60: PASS.tool_call → Codex-side test client execution → function_call_output → continuation → final responsecompleted;sum_numbers(a=2,b=3)returned5. The smoke logs contained noduplicateorprotocol_error, and the production OpenCodex instance was not modified, restarted, or replaced.protocol_error; Qoder forced continuation is limited to completed responses that contain afunction_call, while Kiro/Cursor behavior is unchanged.bun run typecheckPASS;git diff --checkPASS.--max-turns 1; static evidence was insufficient to confirm that flag with Qoder CLI1.1.60, so no behavior change or additional real-provider test was made for that point.message_stopremains marked estimated by design. Vendor code 118 /credit usage limithandling remains Qoder-local; no evidence was found that CodeBuddy requires that mapping.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.