fix(xai): preserve plaintext string child-result continuation - #3991
Conversation
Refs #3907. Enable exact string preservation through the existing agent-message normalizer only for non-forward xAI destinations. Keep array conversion and mixed-ciphertext fail-closed behavior unchanged. Add adapter destination controls and mocked parent/child/result continuation coverage for SSE and JSON. This is an isolated WP2 preparation candidate; local product tests, typecheck, build, install and runtime probes were NOT RUN. Main owns phase adoption, independent audit and hosted CI. (cherry picked from commit 339e42c1e388db1ca01cda9d960368ad9335d48c)
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review (2)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. |
리뷰 · 우선순위 72 / 80이 PR은 라우팅된 Grok(xAI Responses) 부모 스레드가 자식 결과를 Codex 전용 이번 변경은 세 층으로 나뉩니다. (1) 현재 라인 메인테이너의 판단이 필요한 지점
너의 추천 이 댓글은 grok-bot이 작성했습니다 |
Summary
A routed Grok parent can receive a completed child's result as a string-valued Codex
agent_message. The existing non-forward conversion handled arrays only, leaving that string envelope on xAI's strict Responses wire and causing 422 errors. Convert nonblank strings through the same user-message representation only for the existing exact xAI destination predicate; preserve exact text, forward traffic, arrays, and mixed-ciphertext rejection.Closes #3907.
Manual stack, layer 2 of 6, depends on #3986: Go compatibility → xAI child result → V2 guidance → server preset → canonical reset alias → cooldown recovery. Review only this layer; merge bottom-up after retargeting to dev.
Verification
--no-verify.339e42c1e; actual stack head00eb47886690e7b24b0eed69b6d870c33ceade62has identical product/docs trees (checked with git diff). Hosted CI34180674115 is running.d57460224795b9224c5bcda555be2eadcd8974a2, using an isolated macmini-cf scratch directory and verified archive hash. No deployment.Checklist
Maintainer integration decision
The owner explicitly authorized bottom-up integration of this manual stack into
dev. Acting as current maintainerlidge-jun, I choose the dev-only maintainer-integration path in MAINTAINERS.md; this is not self-approval. Independent technical/security review and contributor attribution remain required, and any maintainer objection must be resolved.This PR's certified candidate head is
00eb47886690e7b24b0eed69b6d870c33ceade62with PR CI34180674115. Cumulative integration headf80f39d20e8395901d3b62758d118ea3a559a9f4contains current dev402be7c1f88283eb8465c3aec8437ccecd2542ec; full lane=all run34193218874 is the required final matrix. PR CI34193213502 attempt2 passed after one investigated macOS job cancellation; the full dispatch reran only its failed macOS control after same-head shard evidence passed. Failed attempts remain recorded. These links identify the exact evidence to inspect; any pending, failed, cancelled or skipped required execution blocks landing. The actor, base, head, reviews and checks will be refreshed immediately before each merge.Serial merge prediction is conflict-free and its final tree equals the cumulative candidate. Because merged branches are automatically deleted, the next owned child is retargeted to dev immediately before its parent lands. PRs remain ordinary/manual; no native stack registration is requested. Local product checks remain NOT RUN by owner instruction.
Final pre-landing verification: full run34193218874 attempt2 SUCCESS, all26 named jobs and mandatory execution steps verified at
f80f39d20e8395901d3b62758d118ea3a559a9f4; PR run34193213502 attempt2 SUCCESS. The investigation allowed one retry of each failed/cancelled macOS job; prior failures remain historical, and previously passing jobs were not rerun. Current CI is accepted for this owner-authorized integration.