fix(release/2026.7.1): backport migration-hang cluster and GPT-5.6 defaults for the stable cut#104656
Conversation
* feat(openai): default fresh setup to GPT-5.6 * test(crestodian): expect GPT-5.6 Codex defaults * test(crestodian): expect GPT-5.6 bootstrap default (cherry picked from commit ab5d143)
(cherry picked from commit 474d660)
* fix(codex): archive imported orphan binding sidecars * fix(codex): harden binding sidecar migration Co-authored-by: Benjamin Badejo <[email protected]> * chore: keep release notes out of contributor PRs --------- Co-authored-by: Benjamin Badejo <[email protected]> Co-authored-by: Peter Steinberger <[email protected]> (cherry picked from commit 1f3ea6f)
Signed-off-by: sallyom <[email protected]> (cherry picked from commit cdb58ca)
(cherry picked from commit 9b4c7c0)
|
Codex review: needs maintainer review before merge. Reviewed July 11, 2026, 4:12 PM ET / 20:12 UTC. Summary PR surface: Source +548, Tests +1100, Docs +73, Other 0. Total +1721 across 70 files. Reproducibility: yes. Focused fixtures cover recurring sidecar discovery, archive collisions, recoverable metadata and index conflicts, strict catalog rejection, and GPT-5.6 function-tool rejection; the linked source PR also records a real unhealthy-to-healthy container upgrade. Review metrics: 3 noteworthy metrics.
Stored data model Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land the complete ordered backport after the final exact-head CI shard passes, retaining existing model selections and fail-closed handling for genuinely malformed or ambiguous migration state. Do we have a high-confidence way to reproduce the issue? Yes. Focused fixtures cover recurring sidecar discovery, archive collisions, recoverable metadata and index conflicts, strict catalog rejection, and GPT-5.6 function-tool rejection; the linked source PR also records a real unhealthy-to-healthy container upgrade. Is this the best way to solve the issue? Yes. Reusing the complete dependency-ordered main fixes is narrower and safer than release-branch reimplementation, preserves plugin and provider ownership, and matches the directly inspected Codex model contract. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against e34bff22763d. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source +548, Tests +1100, Docs +73, Other 0. Total +1721 across 70 files. View PR surface stats
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)
|
* test: align provider tool call lifecycles * test: isolate plugin install repair migrations * fix: accept catalog temperature compatibility * fix: disable GPT-5.6 tool reasoning on completions * style: avoid shadowed stream model (cherry picked from commit 57af2bb)
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ffdbfc6462
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| supportsPromptCacheKey: z.boolean().optional(), | ||
| supportsDeveloperRole: z.boolean().optional(), | ||
| supportsReasoningEffort: z.boolean().optional(), | ||
| supportsTemperature: z.boolean().optional(), |
There was a problem hiding this comment.
Respect supportsTemperature in Responses payloads
When a configured Responses model sets compat.supportsTemperature: false, this newly accepted config is preserved by the catalog/schema but no request builder reads it: packages/ai/src/providers/openai-responses.ts and src/agents/openai-transport-stream.ts still attach temperature whenever stream options include one. In that configuration, users can now declare a model rejects temperature but OpenClaw will still send the parameter and the provider can fail the request; gate the temperature assignment on this compat flag in both Responses paths.
Useful? React with 👍 / 👎.
|
Merged via squash.
|
What Problem This Solves
The 2026.7.1 stable cut needs critical fixes that landed on
mainafter beta.5:Why This Change Was Made
Backport of the complete ordered
mainfix chain, with-xprovenance:ab5d143d59dd— GPT-5.6 setup defaults (feat(openai): default new setups to GPT-5.6 #103581)474d660137d0— archive-collision migration convergence1f3ea6faaab0— binding-migration startup hang (fix(codex): prevent startup hangs after binding migration #103281)cdb58cafb58e— recoverable legacy-state convergence (fix: startup migrations block on recoverable legacy state #104529)9b4c7c0991dd— provider-default auth contract (fix(ci): align OpenAI auth contract with provider default #103760)57af2bbff099— GPT-5.6 temperature/config projection and function-tool reasoning contract (fix: clear remaining release validation blockers #104555)Conflict resolutions preserve branch-owned release notes and older-branch test ownership. The complete #104555 patch is included because partial runtime picks would leave generated config validation and model-registry projection inconsistent.
User Impact
Evidence
280aeb9a9a2d.gpt-5.6-solreviewer model; focused Testbox and exhaustive manual review are the authoritative fallback.