Skip to content

fix(release/2026.7.1): backport migration-hang cluster and GPT-5.6 defaults for the stable cut#104656

Merged
steipete merged 8 commits into
release/2026.7.1from
backport/2026.7.1-gpt56-migration-fixes
Jul 11, 2026
Merged

fix(release/2026.7.1): backport migration-hang cluster and GPT-5.6 defaults for the stable cut#104656
steipete merged 8 commits into
release/2026.7.1from
backport/2026.7.1-gpt56-migration-fixes

Conversation

@steipete

@steipete steipete commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

What Problem This Solves

The 2026.7.1 stable cut needs critical fixes that landed on main after beta.5:

  • Legacy Codex binding-sidecar migrations can hang startup after upgrades, including archive-collision and recoverable-state cases.
  • GPT-5.6 Sol/Terra/Luna can be missing from the model picker and fresh-setup defaults.
  • Once GPT-5.6 is the default, generated catalog temperature compatibility and Chat Completions function-tool reasoning must match the shipped provider contract.

Why This Change Was Made

Backport of the complete ordered main fix chain, with -x provenance:

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

  • Legacy sidecar migrations converge without startup hangs.
  • GPT-5.6 models appear in the picker and fresh setup defaults correctly.
  • GPT-5.6 Responses models omit unsupported temperature, and known Chat Completions function-tool requests disable reasoning as required.
  • Existing explicit model selections remain unchanged.

Evidence

steipete and others added 5 commits July 11, 2026 12:08
* 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)
* 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)
@openclaw-barnacle openclaw-barnacle Bot added docs Improvements or additions to documentation extensions: memory-core Extension: memory-core scripts Repository scripts commands Command implementations agents Agent runtime and tooling extensions: openai extensions: qa-lab extensions: codex plugin: migrate-hermes size: XL maintainer Maintainer-authored PR labels Jul 11, 2026
@clawsweeper clawsweeper Bot added rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. P1 High-priority user-facing bug, regression, or broken workflow. merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. merge-risk: 🚨 auth-provider 🚨 May break OAuth, tokens, provider routing, model choice, or credentials. merge-risk: 🚨 availability 🚨 May cause crashes, hangs, restart loops, stalls, or process outages. labels Jul 11, 2026
@clawsweeper

clawsweeper Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge. Reviewed July 11, 2026, 4:12 PM ET / 20:12 UTC.

Summary
Backports six current-main fixes plus two release-branch test adjustments covering migration convergence, GPT-5.6 defaults, auth contracts, catalog compatibility, and Chat Completions tool reasoning.

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.

  • Backport chain: 6 main commits, 2 branch-only test adaptations. The stable cut includes the complete dependency-ordered fixes without release-branch-only runtime behavior.
  • Default surfaces: 2 changed defaults. API-key setup and Codex OAuth now choose different GPT-5.6 refs while preserving explicit existing primary and fallback choices.
  • Migration result contract: 1 optional notices channel added. Startup checkpoints can complete when only reviewed non-blocking residue remains instead of repeating every startup.

Stored data model
Persistent data-model change detected: migration/backfill/repair: extensions/codex/doctor-contract-api.test.ts, migration/backfill/repair: src/commands/doctor-config-preflight.state-migration.test.ts, migration/backfill/repair: src/commands/doctor-config-preflight.ts, migration/backfill/repair: src/commands/doctor/shared/missing-configured-plugin-install.test.ts, migration/backfill/repair: src/flows/doctor-health-contributions.test.ts, migration/backfill/repair: src/flows/doctor-health-contributions.ts, and 21 more. Confirm migration or upgrade compatibility proof before merge.

Merge readiness
Overall: 🦞 diamond lobster
Proof: 🦞 diamond lobster ✨ media proof bonus
Patch quality: 🦞 diamond lobster
Result: ready for maintainer review.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Risk before merge

  • [P1] One exact-head CI shard is still running; the release branch should not land until it completes successfully.
  • [P1] Fresh OpenAI API-key setup now selects openai/gpt-5.6 and fresh Codex OAuth selects openai/gpt-5.6-sol; users without GPT-5.6 access must explicitly choose GPT-5.5, although existing explicit selections are preserved.
  • [P1] Migration convergence now removes byte-identical already-archived sources or archives differing residue under numbered suffixes; this intentionally changes operator-visible upgrade behavior and relies on the reviewed migration boundaries and upgrade proof.

Maintainer options:

  1. Land after the last shard passes (recommended)
    Merge the complete contract-aligned backport once the remaining exact-head CI shard completes successfully.
  2. Pause if the shard fails
    Keep the stable cut open and investigate only the failing final-head path rather than dropping part of the dependency-ordered backport.

Next step before merge

  • No automated repair is indicated; the release manager should merge after the remaining exact-head CI shard passes.

Security
Cleared: The backport changes no dependency source, workflow permission, secret handling, publishing path, or downloaded-code execution surface.

Review details

Best 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 changes

Label changes:

  • add proof: sufficient: Contributor real behavior proof is sufficient. Linked live container upgrade proof and source-blind setup/runtime validation demonstrate the changed behavior; the final two commits are test-only, and the exact-head Real behavior proof check passes.
  • add rating: 🦞 diamond lobster: Overall readiness is 🦞 diamond lobster; proof is 🦞 diamond lobster and patch quality is 🦞 diamond lobster.
  • remove rating: 🐚 platinum hermit: Current PR rating is rating: 🦞 diamond lobster, so this older rating label is no longer current.

Label justifications:

  • P1: The PR addresses upgrade startup hangs and release-critical provider behavior for an imminent stable cut.
  • merge-risk: 🚨 compatibility: Migration archival, strict config compatibility, model allowlists, and setup defaults affect existing upgrades and operator behavior.
  • merge-risk: 🚨 auth-provider: The patch changes route-specific OpenAI API-key and Codex OAuth defaults and their existing-selection preservation behavior.
  • merge-risk: 🚨 availability: Incorrect migration convergence could keep an upgraded gateway unhealthy or repeatedly blocked during startup.
  • rating: 🦞 diamond lobster: Overall readiness is 🦞 diamond lobster; proof is 🦞 diamond lobster and patch quality is 🦞 diamond lobster.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (linked_artifact): Linked live container upgrade proof and source-blind setup/runtime validation demonstrate the changed behavior; the final two commits are test-only, and the exact-head Real behavior proof check passes.
  • proof: sufficient: Contributor real behavior proof is sufficient. Linked live container upgrade proof and source-blind setup/runtime validation demonstrate the changed behavior; the final two commits are test-only, and the exact-head Real behavior proof check passes.
Evidence reviewed

PR surface:

Source +548, Tests +1100, Docs +73, Other 0. Total +1721 across 70 files.

View PR surface stats
Area Files Added Removed Net
Source 30 790 242 +548
Tests 31 1222 122 +1100
Docs 8 156 83 +73
Config 0 0 0 0
Generated 0 0 0 0
Other 1 2 2 0
Total 70 2170 449 +1721

What I checked:

  • Backport inventory: The branch contains the six declared main commits in dependency order, followed by two narrow release-branch test adaptations. (ffdbfc646232)
  • Cherry-pick fidelity: The archive-collision, Codex migration-hang, recoverable-state, and auth-contract patches have identical stable patch IDs; GPT-5.6-related differences are limited to release-owned changelog and branch test context. (ffdbfc646232)
  • Existing model preservation: Fresh API-key and Codex defaults are route-specific, while an existing explicit primary and fallbacks are retained and kept in the allowlist. (extensions/openai/default-models.ts:9, ffdbfc646232)
  • Direct Codex contract: At sibling Codex SHA 385c0a9351e, GPT-5.6 Sol is picker-visible with priority 1 and 372K context; Codex sorts by priority, marks the first visible model as default, and preserves an explicitly configured model. (../codex/codex-rs/models-manager/models.json:4, 385c0a9351e2)
  • Codex catalog projection: The backport excludes the bare direct-API GPT-5.6 alias from Codex routing and normalizes exact Sol, Terra, and Luna rows to the authoritative 372K Codex context. (extensions/openai/openai-provider.ts:325, ffdbfc646232)
  • Migration convergence boundary: Identical archived sources are removed, differing sources receive a numbered archive, and archive failures still produce warnings rather than falsely completing migration. (src/plugins/doctor-state-migration-fs.ts:25, ffdbfc646232)

Likely related people:

  • steipete: Authored this release backport and the merged main changes for GPT-5.6 defaults, provider-auth alignment, and the release-validation compatibility fixes. (role: release backport author and recent OpenAI area contributor; confidence: high; commits: ab5d143d59dd, 9b4c7c0991dd, 57af2bbff099; files: extensions/openai/default-models.ts, extensions/openai/openai-provider.ts, src/agents/openai-transport-stream.ts)
  • bdjben: Authored the merged binding-sidecar ownership and archival fix that prevents repeated startup migration hangs. (role: Codex migration fix author; confidence: high; commits: 1f3ea6faaab0; files: extensions/codex/src/migration/session-binding-sidecars.ts, extensions/codex/doctor-contract-api.test.ts)
  • sallyom: Authored the merged recoverable legacy-state convergence fix and supplied the linked live container upgrade confirmation. (role: startup migration follow-up contributor; confidence: high; commits: cdb58cafb58e; files: extensions/codex/src/migration/session-binding-sidecars.ts, extensions/memory-core/doctor-contract-api.ts, extensions/memory-core/doctor-contract-api.test.ts)
  • obviyus: Authored the archive-collision convergence prerequisite used patch-identically in this release backport. (role: legacy migration convergence contributor; confidence: high; commits: 474d660137d0; files: src/infra/state-migrations.ts, src/infra/state-migrations.debug-proxy.ts, src/plugins/doctor-state-migration-fs.ts)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

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
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.
Review history (1 earlier review cycle)
  • reviewed 2026-07-11T19:52:31.435Z sha 09bfd39 :: needs real behavior proof before merge. :: none

steipete and others added 2 commits July 11, 2026 12:55
* 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)

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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(),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

@steipete
steipete merged commit 92ebc97 into release/2026.7.1 Jul 11, 2026
101 checks passed
@clawsweeper clawsweeper Bot added the proof: sufficient ClawSweeper judged the real behavior proof convincing. label Jul 11, 2026
@steipete
steipete deleted the backport/2026.7.1-gpt56-migration-fixes branch July 11, 2026 20:13
@clawsweeper clawsweeper Bot removed the rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. label Jul 11, 2026
@steipete

Copy link
Copy Markdown
Contributor Author

Merged via squash.

@clawsweeper clawsweeper Bot added the rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. label Jul 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agents Agent runtime and tooling commands Command implementations docs Improvements or additions to documentation extensions: codex extensions: lmstudio extensions: memory-core Extension: memory-core extensions: openai extensions: qa-lab extensions: xai maintainer Maintainer-authored PR merge-risk: 🚨 auth-provider 🚨 May break OAuth, tokens, provider routing, model choice, or credentials. merge-risk: 🚨 availability 🚨 May cause crashes, hangs, restart loops, stalls, or process outages. merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. P1 High-priority user-facing bug, regression, or broken workflow. plugin: migrate-hermes proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. scripts Repository scripts size: XL status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants