Skip to content

fix(models): bound /models and models list catalog loading#92247

Merged
steipete merged 1 commit into
openclaw:mainfrom
samson910022:codex/models-list-91809
Jun 13, 2026
Merged

fix(models): bound /models and models list catalog loading#92247
steipete merged 1 commit into
openclaw:mainfrom
samson910022:codex/models-list-91809

Conversation

@samson910022

@samson910022 samson910022 commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Bound default /models and openclaw models list browsing to configured/read-only discovery; explicit all browsing retains full provider discovery.
  • Reuse the gateway's loaded plugin metadata and prepared provider-auth state without triggering external CLI auth discovery on the picker hot path.
  • Preserve configured provider normalization, image capabilities, and canonical CLI-runtime aliases.
  • Fixes [Performance] /models command slow in v2026.6.1 — catalog loading regression #91809.

Verification

  • node scripts/run-vitest.mjs src/agents/model-provider-auth.test.ts src/auto-reply/reply/commands-models.test.ts src/agents/model-catalog-browse.test.ts src/commands/models/list.rows.test.ts src/commands/models.list.e2e.test.ts src/agents/model-runtime-aliases.test.ts src/gateway/server-methods/models.test.ts (116 tests)
  • node scripts/run-vitest.mjs extensions/openai/openai-provider.test.ts extensions/anthropic/index.test.ts src/agents/anthropic-transport-stream.test.ts src/llm/providers/openai-responses-shared.test.ts src/llm/providers/openai-completions.test.ts src/llm/providers/openai-chatgpt-responses.test.ts (187 tests)
  • node scripts/run-tsgo.mjs -p tsconfig.core.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core.tsbuildinfo
  • node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.core.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/core-test.tsbuildinfo
  • pnpm build
  • AWS check:changed: run_ac95d2f9c585
  • AWS Docker OpenAI Chat Completions tools E2E: run_c417429409c0
  • Fresh forced OpenAI Responses function call with gpt-5.4-mini
  • Fresh forced Anthropic Messages tool call with claude-sonnet-4-6
  • Fresh autoreview: no accepted/actionable findings

Real behavior proof

Behavior addressed: Default model browsing repeatedly performed full plugin/provider discovery, causing multi-second to minute-scale /models and models list latency on large installations.

Real environment tested: macOS source checkout plus AWS Linux Docker gateway E2E, using real OpenAI and Anthropic API credentials.

Exact steps or command run after this patch: Repeated node openclaw.mjs models list --json; exercised gateway-style buildModelsProviderData with a loaded metadata snapshot; ran the AWS Docker OpenAI tools E2E and direct forced tool calls against both official APIs.

Evidence after fix: Default CLI runs completed in 1.42-1.73 seconds versus 6.15-6.71 seconds before the rewrite. Gateway-style browsing completed in 4.265 seconds cold and 0.382-0.406 seconds warm. Remote changed gate and Docker tool E2E both exited successfully.

Observed result after fix: Default browsing avoids cold full discovery, explicit all still discovers the full catalog, configured provider rows keep provider normalization, and official OpenAI/Anthropic tool calling remains functional.

What was not tested: Windows timing and a live Telegram button-click timing capture for this exact rewritten commit.

@openclaw-barnacle openclaw-barnacle Bot added gateway Gateway runtime commands Command implementations agents Agent runtime and tooling size: M triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. labels Jun 11, 2026
@clawsweeper

clawsweeper Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs real behavior proof before merge. Reviewed June 12, 2026, 9:09 AM ET / 13:09 UTC.

Summary
Review failed before ClawSweeper could summarize the requested change.

PR surface: Source +290, Tests +340. Total +630 across 15 files.

Reproducibility: unclear. The review failed before ClawSweeper could establish a reproduction path.

Review metrics: none identified.

Stored data model
Persistent data-model change detected: persistent cache schema: src/agents/model-catalog.test.ts, serialized state: src/agents/model-catalog.test.ts, serialized state: src/commands/models/list.auth-index.test.ts. Confirm migration or upgrade compatibility proof before merge.

Merge readiness
Overall: 🌊 off-meta tidepool
Proof: 🌊 off-meta tidepool
Patch quality: 🌊 off-meta tidepool
Result: rating does not apply to this item.

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

Risk before merge

  • [P1] No close action taken because the review did not complete.

Maintainer options:

  1. Decide the mitigation before merge
    Retry the Codex review after fixing the execution failure.
  2. Pause or close
    Do not merge this PR until maintainers decide whether the risk is worth taking.

Next step before merge

  • [P1] Review did not complete, so no work-lane recommendation was made.
Review details

Best possible solution:

Retry the Codex review after fixing the execution failure.

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

Unclear. The review failed before ClawSweeper could establish a reproduction path.

Is this the best way to solve the issue?

Unclear. Retry the review first so ClawSweeper can evaluate the actual issue and fix direction.

AGENTS.md: unclear because the file could not be read completely.

Codex review notes: model internal, reasoning high; reviewed against 0fc5a57a3440.

Label changes

Label changes:

  • remove P2: Current review triage priority is none.
  • remove merge-risk: 🚨 compatibility: Current PR review selected no merge-risk labels.
  • remove merge-risk: 🚨 auth-provider: Current PR review selected no merge-risk labels.

Label justifications:

  • rating: 🌊 off-meta tidepool: Overall readiness is 🌊 off-meta tidepool; proof is 🌊 off-meta tidepool and patch quality is 🌊 off-meta tidepool.
Evidence reviewed

PR surface:

Source +290, Tests +340. Total +630 across 15 files.

View PR surface stats
Area Files Added Removed Net
Source 7 382 92 +290
Tests 8 351 11 +340
Docs 0 0 0 0
Config 0 0 0 0
Generated 0 0 0 0
Other 0 0 0 0
Total 15 733 103 +630

What I checked:

  • failure reason: retryable codex transport failure (capacity)
  • codex failure detail: Codex review failed for this PR with exit 1.
  • codex stderr:

Likely related people:

  • unknown: Codex failed before it could trace repository history. (role: review did not complete; confidence: low)
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.

@clawsweeper clawsweeper Bot added the rating: 🌊 off-meta tidepool PR readiness rating does not apply to this item. label Jun 11, 2026
@samson910022
samson910022 force-pushed the codex/models-list-91809 branch from 2776e4a to f73bfe2 Compare June 11, 2026 19:05
@openclaw-barnacle openclaw-barnacle Bot added proof: supplied External PR includes structured after-fix real behavior proof. and removed triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. labels Jun 12, 2026
@clawsweeper clawsweeper Bot added proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. mantis: telegram-visible-proof Mantis should capture Telegram visible proof. P2 Normal backlog priority with limited blast radius. merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. and removed rating: 🌊 off-meta tidepool PR readiness rating does not apply to this item. labels Jun 12, 2026
@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. merge-risk: 🚨 auth-provider 🚨 May break OAuth, tokens, provider routing, model choice, or credentials. and removed rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. labels Jun 12, 2026
@openclaw-barnacle openclaw-barnacle Bot added triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. channel: discord Channel integration: discord size: L and removed proof: supplied External PR includes structured after-fix real behavior proof. size: M labels Jun 12, 2026
@clawsweeper clawsweeper Bot added rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. and removed proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. labels Jun 12, 2026
@clawsweeper clawsweeper Bot removed the mantis: telegram-visible-proof Mantis should capture Telegram visible proof. label Jun 12, 2026
@openclaw-barnacle openclaw-barnacle Bot added the triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. label Jun 12, 2026
@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. mantis: telegram-visible-proof Mantis should capture Telegram visible proof. and removed rating: 🌊 off-meta tidepool PR readiness rating does not apply to this item. labels Jun 12, 2026
@openclaw-barnacle openclaw-barnacle Bot removed the triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. label Jun 12, 2026
@clawsweeper clawsweeper Bot added rating: 🌊 off-meta tidepool PR readiness rating does not apply to this item. and removed proof: sufficient ClawSweeper judged the real behavior proof convincing. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. mantis: telegram-visible-proof Mantis should capture Telegram visible proof. labels Jun 12, 2026
@openclaw-barnacle openclaw-barnacle Bot added the triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. label Jun 12, 2026
@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. mantis: telegram-visible-proof Mantis should capture Telegram visible proof. and removed rating: 🌊 off-meta tidepool PR readiness rating does not apply to this item. labels Jun 12, 2026
@openclaw-mantis

Copy link
Copy Markdown
Contributor

Mantis Telegram Desktop Proof

Summary: Mantis captured native Telegram Desktop before/after GIF evidence with Convex-leased Telegram credentials.

Main screenshot This PR screenshot
Baseline native Telegram Desktop screenshot Candidate native Telegram Desktop screenshot
Main This PR
Baseline native Telegram Desktop proof GIF Candidate native Telegram Desktop proof GIF

Motion-trimmed clips:

Raw QA files: https://artifacts.openclaw.ai/mantis/telegram-desktop/pr-92247/run-27412384879-1/index.json

@steipete

Copy link
Copy Markdown
Contributor

Land-ready verification for c665ce3675:

  • Focused model browse/auth/row suite: 116 tests passed.
  • Official provider transport suite: 187 tests passed across OpenAI Responses, OpenAI Chat Completions, ChatGPT Responses, Anthropic transport, and both official plugins.
  • Fresh live forced tool call passed with OpenAI Responses (gpt-5.4-mini).
  • Fresh live forced tool call passed with Anthropic Messages (claude-sonnet-4-6).
  • pnpm build passed.
  • AWS check:changed passed: run_ac95d2f9c585.
  • AWS Docker OpenAI Chat Completions tools E2E passed: run_c417429409c0.
  • Fresh autoreview reported no accepted/actionable findings.

Measured default models list latency improved from 6.15-6.71s to 1.42-1.73s in this checkout. Gateway-style browsing with a loaded metadata snapshot measured 4.265s cold and 0.382-0.406s warm.

Known proof gap: Windows timing and a live Telegram button-click timing capture were not rerun for this exact rewritten commit. The command/gateway paths and real official-provider tool calling were exercised directly.

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 merge-risk: 🚨 auth-provider 🚨 May break OAuth, tokens, provider routing, model choice, or credentials. merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. P2 Normal backlog priority with limited blast radius. proof: supplied External PR includes structured after-fix real behavior proof. rating: 🌊 off-meta tidepool PR readiness rating does not apply to this item. size: M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Performance] /models command slow in v2026.6.1 — catalog loading regression

2 participants