Conversation
|
Codex review: needs changes before merge. Reviewed June 13, 2026, 9:23 PM ET / 01:23 UTC. Summary PR surface: Source +494, Tests +1473. Total +1967 across 34 files. Reproducibility: yes. Source inspection of current main shows 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. Rank-up moves:
Risk before merge
Maintainer options:
Copy recommended automerge instructionNext step before merge
Security Review findings
Review detailsBest possible solution: Resolve the stale runtime entry, then land the shared-resolver fix with explicit maintainer acceptance that oversized overrides are ceilings, not forced session windows. Do we have a high-confidence way to reproduce the issue? Yes. Source inspection of current main shows Is this the best way to solve the issue? Mostly yes. The shared resolver is the right owner for status and persistence, but the branch is not merge-ready until the stale runtime entry/dependency failure is resolved. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against b3dc27403498. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source +494, Tests +1473. Total +1967 across 34 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
|
|
ClawSweeper status: this ClawSweeper-authored replacement PR is blocked on real behavior proof. Reviewed head: Maintainer decision needed:
|
|
ClawSweeper 🐠 automerge status ClawSweeper took another look; no safe branch change was available on this pass. Executor outcome: source PR branch changed while the repair worker was preparing its push; requeue against the latest head. Worker actions:
ClawSweeper left the PR as-is: no push, no rebase, no replacement PR, no merge, and no fresh ClawSweeper pass. fish notes: reasoning high. Automerge progress:
|
0ef2869 to
349b05b
Compare
349b05b to
1235135
Compare
|
Land-ready proof for SHA
Known gap: no live calls to other providers or native cross-OS app flows. Those paths have focused unit/catalog coverage plus Linux remote type/lint/build proof. |
…t window resolution When a session entry has model="openrouter/anthropic/claude-sonnet-4" but entry.modelProvider is empty, buildStatusMessage() previously set contextLookupProvider = undefined, causing resolveContextTokensForModel() to skip the provider-qualified cache key lookup. Now extract the embedded provider (first slash segment) and pass it to the resolution chain so the correct context window is found. Combined with PR openclaw#92424's resolveFreshModel() fix and PR openclaw#92709's slash-guard removal in resolveContextTokensForModel(), this gives comprehensive coverage for proxy model context window resolution. Refs: openclaw#39857, openclaw#90889, openclaw#92424, openclaw#92709
Summary
Verification
node scripts/run-vitest.mjs src/agents/command/session-store.test.ts src/agents/context.lookup.test.ts src/agents/context.test.ts src/agents/embedded-agent-runner/model.static-catalog.test.ts src/auto-reply/reply/directive-handling.model.test.ts src/auto-reply/reply/model-selection.test.ts src/auto-reply/status.test.ts src/commands/status.scan-overview.test.ts src/commands/status.scan.config-shared.test.ts src/commands/status.summary.runtime.test.ts src/commands/status.summary.test.ts src/commands/status.test.ts src/config/io.best-effort.test.ts src/gateway/server-reload-handlers.test.ts(441 assertions)pnpm tsgopnpm check:test-typesnode scripts/run-oxlint.mjs $(git diff --name-only origin/main...HEAD -- '*.ts')run_27f365e25fd2, leasecbx_66c09737cd1a(golden-crayfish), exit 0Real behavior proof
Behavior addressed: Oversized context overrides and stale model metadata could survive model switches/reloads and make persisted or displayed session context exceed the selected model's known window.
Real environment tested: macOS with official OpenAI Responses and Anthropic Messages APIs; isolated local OpenClaw agent/session/status flow; AWS Linux Crabbox/Testbox.
Exact steps or command run after this patch: Forced one official tool call plus follow-up text with OpenAI
gpt-5.5and Anthropicclaude-sonnet-4-6; ranOPENCLAW_LIVE_TEST=1 node scripts/test-live.mjs --no-quiet src/agents/models.profiles.live.test.ts; ran an isolated OpenClaw turn with a 64,000-token configured ceiling and inspected persisted session metadata plus status; ran the AWS changed gate and build listed above.Evidence after fix: Both official-provider forced tool calls returned the requested
noopcall and follow-up text; all 37 live profile tests passed for both models, including prompt, file-read, and image probes; persisted and status context both resolved to 64,000; AWS changed gate and build completed successfully.Observed result after fix: Effective context never exceeds the selected model's known window, model switches carry current metadata, and official OpenAI/Anthropic tool calling remains functional.
What was not tested: Live APIs for other providers and native cross-OS application flows. Their metadata paths are covered by focused unit/catalog tests, TypeScript checks, lint, and the Linux remote build.
Dependency proof
extensions/anthropic/register.runtime.tsandextensions/anthropic-vertex/provider-catalog.ts.codex-rs/codex-api/src/endpoint/models.rsonb89ce9a2bc.Fixes #39857.
Related source PR: #39859.
Co-authored-by: Kros Dai [email protected]