Skip to content

fix #84745: scope Google preview model normalization to Google providers only#84762

Merged
clawsweeper[bot] merged 5 commits into
openclaw:mainfrom
zhangguiping-xydt:feat/issue-84745
May 21, 2026
Merged

fix #84745: scope Google preview model normalization to Google providers only#84762
clawsweeper[bot] merged 5 commits into
openclaw:mainfrom
zhangguiping-xydt:feat/issue-84745

Conversation

@zhangguiping-xydt

Copy link
Copy Markdown
Contributor

Summary

normalizeAgentModelRefForConfig in src/config/model-input.ts was calling normalizeGooglePreviewModelId on the model suffix regardless of provider, causing non-Google providers (e.g. litellm/gemini-3-flash) to be incorrectly rewritten to preview IDs (litellm/gemini-3-flash-preview). This broke cron preflight allowlist validation for custom LiteLLM-backed providers.

Changes

  • Added provider check in normalizeAgentModelRefForConfig(): Google preview model normalization is now only applied when the provider is google, google-gemini-cli, or google-vertex
  • Matches the existing pattern in normalizeBuiltInProviderModelId() in src/agents/model-ref-shared.ts

Real behavior proof

  • Behavior or issue addressed: Non-Google provider model refs (e.g. litellm/gemini-3-flash) are no longer incorrectly normalized to preview IDs (litellm/gemini-3-flash-preview)
  • Real environment tested: Linux x64, Node.js v22.22.0, worktree SHA f4b4122
  • Exact steps or command run after this patch: node proof_repro_84745.mjs
  • Evidence after fix:
PASS: litellm/gemini-3-flash stays unchanged (non-Google provider)
  Actual:   litellm/gemini-3-flash
  Expected: litellm/gemini-3-flash

  (Buggy version produced: litellm/gemini-3-flash-preview)

PASS: litellm/gemini-3.1-pro stays unchanged (non-Google provider)
  Actual:   litellm/gemini-3.1-pro
  Expected: litellm/gemini-3.1-pro

PASS: google/gemini-3-flash gets normalized to preview
  Actual:   google/gemini-3-flash-preview
  Expected: google/gemini-3-flash-preview

PASS: google-vertex/gemini-3-flash gets normalized to preview
  Actual:   google-vertex/gemini-3-flash-preview
  Expected: google-vertex/gemini-3-flash-preview

PASS: google-gemini-cli/gemini-3.1-pro gets normalized to preview
  Actual:   google-gemini-cli/gemini-3.1-pro-preview
  Expected: google-gemini-cli/gemini-3.1-pro-preview

PASS: openai/gpt-4o stays unchanged
  Actual:   openai/gpt-4o
  Expected: openai/gpt-4o

PASS: gemini-3-flash without provider stays unchanged
  Actual:   gemini-3-flash
  Expected: gemini-3-flash

PASS: normalizeAgentModelMapForConfig preserves litellm keys, normalizes google keys
  Fixed map keys: litellm/gemini-3-flash, litellm/gemini-3.1-pro, google/gemini-3-flash-preview

=== Results: 8 passed, 0 failed ===
  • Observed result after fix: All 8 test cases pass. Non-Google provider model refs are preserved unchanged. Google provider model refs are still correctly normalized to preview IDs.
  • What was not tested: Live cron preflight with actual LiteLLM provider configuration (requires running OpenClaw gateway with custom provider config)

Test plan

  • proof_repro_84745.mjs passes locally (8/8 tests)
  • Verify google/gemini-3-flash still normalizes to google/gemini-3-flash-preview
  • Verify litellm/gemini-3-flash stays as litellm/gemini-3-flash
  • Verify existing model selection tests still pass

@openclaw-barnacle openclaw-barnacle Bot added size: S proof: supplied External PR includes structured after-fix real behavior proof. labels May 21, 2026
@clawsweeper

clawsweeper Bot commented May 21, 2026

Copy link
Copy Markdown
Contributor

Codex review: passed.

Workflow note: Future ClawSweeper reviews update this same comment in place.

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.

Summary
The branch scopes config-time Google Gemini preview model normalization to Google providers or nested google/ proxy suffixes, adds model-picker regression coverage, and adds a changelog entry.

Reproducibility: yes. by source inspection. Current main sends every provider suffix through the Google preview normalizer, so litellm/gemini-3-flash deterministically becomes litellm/gemini-3-flash-preview; I did not run a live cron preflight.

PR rating
Overall: 🐚 platinum hermit
Proof: 🦞 diamond lobster
Patch quality: 🐚 platinum hermit
Summary: The PR has strong terminal proof and a focused implementation with regression coverage; the remaining gap is normal exact-head test execution.

Rank-up moves:

  • none
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.

Real behavior proof
Sufficient (terminal): The PR body includes after-fix terminal output from a real Linux/Node worktree covering the reported non-Google cases and retained Google normalization behavior.

Risk before merge

  • I did not execute tests in this read-only review; exact-head CI or maintainer validation should still gate the merge.

Maintainer options:

  1. Decide the mitigation before merge
    Land the scoped normalization with the regression test while keeping nested Google proxy normalization intact.
  2. Pause or close
    Do not merge this PR until maintainers decide whether the risk is worth taking.

Next step before merge
No repair lane is needed; the branch has no actionable review findings, so the remaining action is ordinary exact-head CI/automerge or maintainer merge handling.

Security
Cleared: The diff is limited to config normalization, focused tests, and changelog text with no dependency, CI, script, credential, permission, or supply-chain surface change.

Review details

Best possible solution:

Land the scoped normalization with the regression test while keeping nested Google proxy normalization intact.

Do we have a high-confidence way to reproduce the issue?

Yes by source inspection. Current main sends every provider suffix through the Google preview normalizer, so litellm/gemini-3-flash deterministically becomes litellm/gemini-3-flash-preview; I did not run a live cron preflight.

Is this the best way to solve the issue?

Yes. The patch is the narrow maintainable fix because it follows the existing provider-scoped normalization rule and preserves the established nested google/ proxy-provider compatibility path.

Label justifications:

  • P1: The bug can block cron preflight allowlist validation for custom provider model refs, affecting scheduled agent workflows.
  • rating: 🐚 platinum hermit: Current PR rating is 🐚 platinum hermit because proof is 🦞 diamond lobster, patch quality is 🐚 platinum hermit, and The PR has strong terminal proof and a focused implementation with regression coverage; the remaining gap is normal exact-head test execution.
  • status: 🚀 automerge armed: This PR is in ClawSweeper's automerge lane. Sufficient (terminal): The PR body includes after-fix terminal output from a real Linux/Node worktree covering the reported non-Google cases and retained Google normalization behavior.
  • proof: sufficient: Contributor real behavior proof is sufficient. The PR body includes after-fix terminal output from a real Linux/Node worktree covering the reported non-Google cases and retained Google normalization behavior.

What I checked:

  • Current main still normalizes every provider suffix: On current main, normalizeAgentModelRefForConfig computes the provider but still passes the entire model suffix through normalizeGooglePreviewModelId, so non-Google refs with Gemini-looking model IDs can be rewritten. (src/config/model-input.ts:77, 46c88640482a)
  • Preview normalizer rewrites the reported model IDs: The shared Google preview normalizer maps gemini-3-flash and gemini-3.1-pro to preview IDs, which explains the reported LiteLLM/custom-provider allowlist breakage when called unconditionally. (src/plugin-sdk/provider-model-id-normalize.ts:13, 46c88640482a)
  • Existing provider-scoped pattern: The existing static provider model normalization path already limits built-in Google preview normalization to google, google-gemini-cli, and google-vertex, which the PR mirrors for config input normalization. (src/agents/model-ref-shared.ts:54, 46c88640482a)
  • PR head scopes normalization while preserving proxy Google suffixes: At the reviewed head, config normalization checks the normalized provider against a Google provider set and also preserves the nested google/ suffix path for proxy providers before calling the Google preview normalizer. (src/config/model-input.ts:70, c59163c80954)
  • PR head regression coverage: The branch keeps the existing OpenRouter nested-Google normalization expectation and adds coverage that litellm/gemini-3-flash and litellm/gemini-3.1-pro remain unchanged when applying the model allowlist. (src/commands/model-picker.test.ts:1440, c59163c80954)
  • Feature history provenance: History points to centralized provider model policy and model-picker compatibility work as the relevant ownership trail: 41243529fb37747912162c8ec4cad677b63a546b, 3107faf571ce8bca79e3fdc366c6f0e81112b5fd, and 67fba9c5e1736c14fcef03398ca2da14078846bb. (src/agents/model-ref-shared.ts:54, 41243529fb37)

Likely related people:

  • steipete: Authored the centralized provider model policy and later split the model-id normalizers into the plugin SDK surface used by this path. (role: feature history owner; confidence: high; commits: 41243529fb37, 3107faf571ce; files: src/agents/model-ref-shared.ts, src/plugin-sdk/provider-model-id-normalize.ts)
  • Takhoffman: Authored prior model-picker compatibility work in the same flow/test area and is the maintainer who armed automerge on this PR. (role: recent adjacent contributor; confidence: medium; commits: 67fba9c5e173; files: src/flows/model-picker.ts, src/commands/model-picker.test.ts)
  • Jason (Json): Current checkout blame for the central config/model-ref files points to the commit that carried these files into the current main history. (role: current implementation provenance; confidence: medium; commits: 4a360ac1cc18; files: src/config/model-input.ts, src/agents/model-ref-shared.ts, src/commands/model-picker.test.ts)

Codex review notes: model gpt-5.5, reasoning high; reviewed against 46c88640482a.

@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. P1 High-priority user-facing bug, regression, or broken workflow. merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. labels May 21, 2026
@clawsweeper

clawsweeper Bot commented May 21, 2026

Copy link
Copy Markdown
Contributor

ClawSweeper PR egg

✨ Hatched: 🌱 uncommon Mossy Review Wisp

Hatch command

Comment @clawsweeper hatch when this PR is hatchable.

Hatchability rules:

  • Merged PRs are hatchable.
  • Open PRs are hatchable when they are status: 👀 ready for maintainer look, status: 🚀 automerge armed, or labeled clawsweeper:automerge.
  • Closed unmerged PRs are hatchable only when one of those hatchable labels is still present in the durable record.

Rarity: 🌱 uncommon.
Trait: guards the happy path.
Image traits: location branch lighthouse; accessory CI status badge; palette rose quartz and slate; mood mischievous; pose balancing on a branch marker; shell soft velvet shell; lighting subtle sparkle highlights; background smooth stones and checkmarks.
Share on X: post this hatch
Copy: My PR egg hatched a 🌱 uncommon Mossy Review Wisp in ClawSweeper.

What is this egg doing here?
  • Eggs appear after the PR passes real-behavior proof. It is here for vibes, not verdicts: it does not change labels, ratings, merge decisions, or automation.
  • The shell reacts to review momentum: open follow-up work warms it up, re-review makes it wobble, and a clean final review lets it hatch.
  • Hatchability usually comes from sufficient real-behavior proof, no blocking P0/P1/P2 findings, no security attention needed, and clean correctness. A merged PR is already final, so merge makes the egg hatchable independently.
  • The hatch is seeded from this repository and PR number, so the same PR keeps the same creature; the reviewed head SHA can only change safe visual details.
  • Rarity is just collectible sparkle: 🥚 common, 🌱 uncommon, 💎 rare, ✨ glimmer, and 🌈 legendary.

@openclaw-barnacle openclaw-barnacle Bot removed the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 21, 2026
@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. 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. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. labels May 21, 2026
@Takhoffman

Copy link
Copy Markdown
Contributor

@clawsweeper automerge

@clawsweeper clawsweeper Bot added the clawsweeper:automerge Maintainer opted this PR into bounded ClawSweeper-reviewed automerge label May 21, 2026
@clawsweeper

clawsweeper Bot commented May 21, 2026

Copy link
Copy Markdown
Contributor

ClawSweeper 🐠 automerge status

This repair pass finished without changing the PR. ClawSweeper checked the branch and found no safe patch to push this time.

Executor outcome: Codex /review timed out after 198965ms.
Worker summary: Make this PR merge-ready for ClawSweeper automerge. Rebase onto latest main, address PR comments and review findings, fix CI/check failures, add required changelog if needed, and validate before returning.

Worker actions:

  • build_fix_artifact on this PR: planned - Maintainer opted this PR into ClawSweeper automerge/autofix repair; run the direct Codex edit loop after live hydration instead of a separate read-only planning pass.

No push, rebase, replacement PR, merge, or ClawSweeper re-review happened on this pass.

fish notes: model gpt-5.5, reasoning high.

Automerge progress:

  • 2026-05-21 12:28:42 UTC review queued 0cf16e7b16f0 (after repair)
  • 2026-05-21 17:45:37 UTC review passed c59163c80954 (structured ClawSweeper verdict: pass (sha=c59163c809542b8a89db257729cd3a87d3bb6...)
  • 2026-05-21 17:38:59 UTC review queued c59163c80954 (queued)
  • 2026-05-21 17:46:01 UTC merged c59163c80954 (merged by ClawSweeper automerge)

@clawsweeper clawsweeper Bot added the clawsweeper:human-review Needs maintainer review before ClawSweeper can continue label May 21, 2026
@clawsweeper

clawsweeper Bot commented May 21, 2026

Copy link
Copy Markdown
Contributor

🦞✅
ClawSweeper is pausing this repair loop for human review.

Source: clawsweeper[bot]
Reason: No ClawSweeper repair lane is needed because the current PR head no longer has a blocking finding; remaining validation is ordinary maintainer and CI proof.; Cleared: The diff is a one-file config normalization change and does not touch dependencies, scripts, CI, secrets, permissions, or supply-chain surfaces. (sha=19eced00c9bacea83a40a789134cfba13ec74da2)

Why human review is needed:
This item has security-sensitive risk. ClawSweeper is pausing instead of making an autonomous change that could affect trust, credentials, permissions, or exposure.

Recommended next action:
Have a maintainer review the security-sensitive detail and provide an explicit safe path before asking ClawSweeper to continue.

I added clawsweeper:human-review and left the final call with a maintainer.

@zhangguiping-xydt

Copy link
Copy Markdown
Contributor Author

@Takhoffman Thanks for the automerge attempt. It looks blocked only by clawsweeper:human-review; ClawSweeper says it will not continue until a maintainer reviews/accepts the remaining gate. I don’t see any contributor-side action left. Could you help clear the human-review gate or merge manually if appropriate?

@clawsweeper clawsweeper Bot added status: 🚀 automerge armed This PR is in ClawSweeper's automerge lane. and removed status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. clawsweeper:human-review Needs maintainer review before ClawSweeper can continue labels May 21, 2026
@clawsweeper clawsweeper Bot force-pushed the feat/issue-84745 branch from 19eced0 to cb51229 Compare May 21, 2026 12:10
@openclaw-barnacle openclaw-barnacle Bot added the commands Command implementations label May 21, 2026
@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. and removed rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. labels May 21, 2026
zhangguiping-xydt and others added 4 commits May 22, 2026 00:24
…ders only

normalizeAgentModelRefForConfig was calling normalizeGooglePreviewModelId
on the model suffix regardless of provider, causing non-Google providers
(e.g. litellm/gemini-3-flash) to be incorrectly rewritten to preview IDs
(litellm/gemini-3-flash-preview). This broke cron preflight allowlist
validation for custom LiteLLM-backed providers.
…ders only

normalizeAgentModelRefForConfig was calling normalizeGooglePreviewModelId
on the model suffix regardless of provider, causing non-Google providers
(e.g. litellm/gemini-3-flash) to be incorrectly rewritten to preview IDs
(litellm/gemini-3-flash-preview). This broke cron preflight allowlist
validation for custom LiteLLM-backed providers.

Now only applies normalization when the provider is a Google provider
(google, google-gemini-cli, google-vertex) or the model suffix starts
with google/ (proxy providers like openrouter that route through Google's
model namespace).
@clawsweeper clawsweeper Bot added the merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. label May 21, 2026
Restore nested google/ suffix normalization for proxy providers while keeping bare non-Google Gemini-looking refs unchanged, with regression coverage for LiteLLM allowlist entries.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@clawsweeper clawsweeper Bot added rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. labels May 21, 2026
@clawsweeper clawsweeper Bot merged commit 7d5afcb into openclaw:main May 21, 2026
109 of 113 checks passed
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 24, 2026
…e providers only (openclaw#84762)

Summary:
- The branch scopes config-time Google Gemini preview model normalization to Google providers or nested `google/` proxy suffixes, adds model-picker regression coverage, and adds a changelog entry.
- Reproducibility: yes. by source inspection. Current main sends every provider suffix through the Google prev ... i-3-flash` deterministically becomes `litellm/gemini-3-flash-preview`; I did not run a live cron preflight.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(config): scope Google preview model normalization to Google provi…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: scope Google preview model normalization to Google provid…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: preserve proxy Google model normalization

Validation:
- ClawSweeper review passed for head c59163c.
- Required merge gates passed before the squash merge.

Prepared head SHA: c59163c
Review: openclaw#84762 (comment)

Co-authored-by: zhang-guiping <zhang.guiping@xydigit.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 24, 2026
…e providers only (openclaw#84762)

Summary:
- The branch scopes config-time Google Gemini preview model normalization to Google providers or nested `google/` proxy suffixes, adds model-picker regression coverage, and adds a changelog entry.
- Reproducibility: yes. by source inspection. Current main sends every provider suffix through the Google prev ... i-3-flash` deterministically becomes `litellm/gemini-3-flash-preview`; I did not run a live cron preflight.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(config): scope Google preview model normalization to Google provi…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: scope Google preview model normalization to Google provid…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: preserve proxy Google model normalization

Validation:
- ClawSweeper review passed for head c59163c.
- Required merge gates passed before the squash merge.

Prepared head SHA: c59163c
Review: openclaw#84762 (comment)

Co-authored-by: zhang-guiping <zhang.guiping@xydigit.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 24, 2026
…e providers only (openclaw#84762)

Summary:
- The branch scopes config-time Google Gemini preview model normalization to Google providers or nested `google/` proxy suffixes, adds model-picker regression coverage, and adds a changelog entry.
- Reproducibility: yes. by source inspection. Current main sends every provider suffix through the Google prev ... i-3-flash` deterministically becomes `litellm/gemini-3-flash-preview`; I did not run a live cron preflight.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(config): scope Google preview model normalization to Google provi…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: scope Google preview model normalization to Google provid…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: preserve proxy Google model normalization

Validation:
- ClawSweeper review passed for head c59163c.
- Required merge gates passed before the squash merge.

Prepared head SHA: c59163c
Review: openclaw#84762 (comment)

Co-authored-by: zhang-guiping <zhang.guiping@xydigit.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request May 24, 2026
…e providers only (openclaw#84762)

Summary:
- The branch scopes config-time Google Gemini preview model normalization to Google providers or nested `google/` proxy suffixes, adds model-picker regression coverage, and adds a changelog entry.
- Reproducibility: yes. by source inspection. Current main sends every provider suffix through the Google prev ... i-3-flash` deterministically becomes `litellm/gemini-3-flash-preview`; I did not run a live cron preflight.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(config): scope Google preview model normalization to Google provi…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: scope Google preview model normalization to Google provid…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: preserve proxy Google model normalization

Validation:
- ClawSweeper review passed for head c59163c.
- Required merge gates passed before the squash merge.

Prepared head SHA: c59163c
Review: openclaw#84762 (comment)

Co-authored-by: zhang-guiping <zhang.guiping@xydigit.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
galiniliev pushed a commit to galiniliev/openclaw that referenced this pull request May 25, 2026
…e providers only (openclaw#84762)

Summary:
- The branch scopes config-time Google Gemini preview model normalization to Google providers or nested `google/` proxy suffixes, adds model-picker regression coverage, and adds a changelog entry.
- Reproducibility: yes. by source inspection. Current main sends every provider suffix through the Google prev ... i-3-flash` deterministically becomes `litellm/gemini-3-flash-preview`; I did not run a live cron preflight.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(config): scope Google preview model normalization to Google provi…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: scope Google preview model normalization to Google provid…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: preserve proxy Google model normalization

Validation:
- ClawSweeper review passed for head c59163c.
- Required merge gates passed before the squash merge.

Prepared head SHA: c59163c
Review: openclaw#84762 (comment)

Co-authored-by: zhang-guiping <zhang.guiping@xydigit.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 26, 2026
…e providers only (openclaw#84762)

Summary:
- The branch scopes config-time Google Gemini preview model normalization to Google providers or nested `google/` proxy suffixes, adds model-picker regression coverage, and adds a changelog entry.
- Reproducibility: yes. by source inspection. Current main sends every provider suffix through the Google prev ... i-3-flash` deterministically becomes `litellm/gemini-3-flash-preview`; I did not run a live cron preflight.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(config): scope Google preview model normalization to Google provi…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: scope Google preview model normalization to Google provid…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: preserve proxy Google model normalization

Validation:
- ClawSweeper review passed for head c59163c.
- Required merge gates passed before the squash merge.

Prepared head SHA: c59163c
Review: openclaw#84762 (comment)

Co-authored-by: zhang-guiping <zhang.guiping@xydigit.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 26, 2026
…e providers only (openclaw#84762)

Summary:
- The branch scopes config-time Google Gemini preview model normalization to Google providers or nested `google/` proxy suffixes, adds model-picker regression coverage, and adds a changelog entry.
- Reproducibility: yes. by source inspection. Current main sends every provider suffix through the Google prev ... i-3-flash` deterministically becomes `litellm/gemini-3-flash-preview`; I did not run a live cron preflight.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(config): scope Google preview model normalization to Google provi…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: scope Google preview model normalization to Google provid…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: preserve proxy Google model normalization

Validation:
- ClawSweeper review passed for head c59163c.
- Required merge gates passed before the squash merge.

Prepared head SHA: c59163c
Review: openclaw#84762 (comment)

Co-authored-by: zhang-guiping <zhang.guiping@xydigit.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 26, 2026
…e providers only (openclaw#84762)

Summary:
- The branch scopes config-time Google Gemini preview model normalization to Google providers or nested `google/` proxy suffixes, adds model-picker regression coverage, and adds a changelog entry.
- Reproducibility: yes. by source inspection. Current main sends every provider suffix through the Google prev ... i-3-flash` deterministically becomes `litellm/gemini-3-flash-preview`; I did not run a live cron preflight.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(config): scope Google preview model normalization to Google provi…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: scope Google preview model normalization to Google provid…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: preserve proxy Google model normalization

Validation:
- ClawSweeper review passed for head c59163c.
- Required merge gates passed before the squash merge.

Prepared head SHA: c59163c
Review: openclaw#84762 (comment)

Co-authored-by: zhang-guiping <zhang.guiping@xydigit.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
jameslcowan pushed a commit to jameslcowan/openclaw that referenced this pull request Jun 2, 2026
…e providers only (openclaw#84762)

Summary:
- The branch scopes config-time Google Gemini preview model normalization to Google providers or nested `google/` proxy suffixes, adds model-picker regression coverage, and adds a changelog entry.
- Reproducibility: yes. by source inspection. Current main sends every provider suffix through the Google prev ... i-3-flash` deterministically becomes `litellm/gemini-3-flash-preview`; I did not run a live cron preflight.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(config): scope Google preview model normalization to Google provi…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: scope Google preview model normalization to Google provid…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: preserve proxy Google model normalization

Validation:
- ClawSweeper review passed for head c59163c.
- Required merge gates passed before the squash merge.

Prepared head SHA: c59163c
Review: openclaw#84762 (comment)

Co-authored-by: zhang-guiping <zhang.guiping@xydigit.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
SYU8384 pushed a commit to SYU8384/openclaw that referenced this pull request Jun 3, 2026
…e providers only (openclaw#84762)

Summary:
- The branch scopes config-time Google Gemini preview model normalization to Google providers or nested `google/` proxy suffixes, adds model-picker regression coverage, and adds a changelog entry.
- Reproducibility: yes. by source inspection. Current main sends every provider suffix through the Google prev ... i-3-flash` deterministically becomes `litellm/gemini-3-flash-preview`; I did not run a live cron preflight.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(config): scope Google preview model normalization to Google provi…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: scope Google preview model normalization to Google provid…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: preserve proxy Google model normalization

Validation:
- ClawSweeper review passed for head c59163c.
- Required merge gates passed before the squash merge.

Prepared head SHA: c59163c
Review: openclaw#84762 (comment)

Co-authored-by: zhang-guiping <zhang.guiping@xydigit.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
sablehead pushed a commit to sablehead/openclaw that referenced this pull request Jun 10, 2026
…e providers only (openclaw#84762)

Summary:
- The branch scopes config-time Google Gemini preview model normalization to Google providers or nested `google/` proxy suffixes, adds model-picker regression coverage, and adds a changelog entry.
- Reproducibility: yes. by source inspection. Current main sends every provider suffix through the Google prev ... i-3-flash` deterministically becomes `litellm/gemini-3-flash-preview`; I did not run a live cron preflight.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(config): scope Google preview model normalization to Google provi…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: scope Google preview model normalization to Google provid…
- PR branch already contained follow-up commit before automerge: fix openclaw#84745: preserve proxy Google model normalization

Validation:
- ClawSweeper review passed for head c59163c.
- Required merge gates passed before the squash merge.

Prepared head SHA: c59163c
Review: openclaw#84762 (comment)

Co-authored-by: zhang-guiping <zhang.guiping@xydigit.com>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clawsweeper:automerge Maintainer opted this PR into bounded ClawSweeper-reviewed automerge commands Command implementations P1 High-priority user-facing bug, regression, or broken workflow. proof: sufficient ClawSweeper judged the real behavior proof convincing. proof: supplied External PR includes structured after-fix real behavior proof. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. size: XS status: 🚀 automerge armed This PR is in ClawSweeper's automerge lane.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants