fix(agents): quiet extra_body tuning-key collisions#92288
Conversation
|
Codex review: needs changes before merge. Reviewed June 30, 2026, 7:29 PM ET / 23:29 UTC. Summary PR surface: Source +6, Tests +62. Total +68 across 2 files. Reproducibility: yes. for the source-level warning path: current main warns on every Review metrics: 1 noteworthy metric.
Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Copy recommended automerge instructionNext step before merge
Security Review findings
Review detailsBest possible solution: Keep the narrow warning-boundary fix, add Do we have a high-confidence way to reproduce the issue? Yes for the source-level warning path: current main warns on every Is this the best way to solve the issue? No as submitted. The warning-boundary layer is the right narrow place, but the managed set omits generated Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against a841c2788202. Label changesLabel justifications:
Evidence reviewedPR surface: Source +6, Tests +62. Total +68 across 2 files. View PR surface stats
Acceptance criteria:
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
Review history (1 earlier review cycle)
|
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
This pull request has been automatically marked as stale due to inactivity. |
Summary
This PR fixes noisy
extra_bodycollision warnings for OpenAI-compatible requests.extra_bodyas the provider-specific escape hatch for intentional tuning-key overrides such asthinking.messages,model, andstream.extra_bodystill wins when configured.Review focus: the warning boundary in
src/agents/embedded-agent-runner/extra-params.ts.Linked context
Closes #75040
Related #74403
Related #75085
Real behavior proof (required for external PRs)
extra_bodywiththinkingproduced a warning on every request even thoughthinkingis a provider tuning key intentionally overridden by user config.upstream/main, Node v22.22.2, pnpm 11.2.2, embedded agent runner payload mutation path.OPENCLAW_VITEST_FS_MODULE_CACHE_PATH=<tmp-cache> pnpm test src/agents/embedded-agent-runner-extraparams.test.tswith Node v22.22.2.extra_body.thinkingoverrides the payloadthinkingvalue without callinglog.warn; overriding framework-managedmodelstill warns.Tests and validation
git diff --checkOPENCLAW_VITEST_FS_MODULE_CACHE_PATH=<tmp-cache> pnpm test src/agents/embedded-agent-runner-extraparams.test.tsnode scripts/run-oxlint.mjs --tsconfig config/tsconfig/oxlint.core.json src/agents/embedded-agent-runner/extra-params.ts src/agents/embedded-agent-runner-extraparams.test.tspnpm check:import-cyclespnpm lint:webhook:no-low-level-body-readpnpm lint:auth:no-pairing-store-grouppnpm lint:auth:pairing-account-scopepnpm check:media-download-helperspnpm check:runtime-sidecar-loaderspnpm check:changed src/agents/embedded-agent-runner/extra-params.ts src/agents/embedded-agent-runner-extraparams.test.tscleared guards and core typecheck, thentsgo:core:testran silently for several minutes locally and was stopped. The focused test and targeted lint/type-adjacent guards above cover this change.Risk checklist
Did user-visible behavior change?
YesDid config, environment, or migration behavior change?
NoDid security, auth, secrets, network, or tool execution behavior change?
NoHighest-risk area: warning visibility for
extra_bodykey collisions.Risk mitigation: warning suppression is limited to non-framework tuning keys; framework-owned scaffold keys still warn and are covered by regression.
Current review state
Next action: maintainer review and CI.
Still waiting on: CI and any maintainer request for live provider replay.