Skip to content

fix(agent): use static catalog for PI model fast path#85696

Draft
leno23 wants to merge 1 commit into
openclaw:mainfrom
leno23:leno23/fix-moonshot-static-model-fastpath
Draft

fix(agent): use static catalog for PI model fast path#85696
leno23 wants to merge 1 commit into
openclaw:mainfrom
leno23:leno23/fix-moonshot-static-model-fastpath

Conversation

@leno23

@leno23 leno23 commented May 23, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Closes [Bug]: Native Moonshot Discord runs spend ~30s in model-resolution before dispatch #84783.
  • Lets the embedded agent runner use bundled static catalog rows during its skip-agent-discovery model-resolution fast path.
  • Resolves static catalog rows before provider dynamic hooks on that fast path, avoiding Moonshot runtime/provider discovery before dispatch while preserving the existing dynamic fallback when no static row exists.
  • Refreshes the branch onto current upstream/main after the PI runner rename to embedded-agent-runner.

Test Plan

  • node scripts/run-vitest.mjs src/agents/embedded-agent-runner.e2e.test.ts src/agents/embedded-agent-runner/model.test.ts
    • Result after pnpm install: passed 2 Vitest shards; model.test.ts 100 passed; embedded-agent-runner.e2e.test.ts 13 passed.
  • node_modules/.bin/oxfmt --check src/agents/embedded-agent-runner/run.ts src/agents/embedded-agent-runner/model.ts src/agents/embedded-agent-runner.e2e.test.ts src/agents/embedded-agent-runner/model.test.ts
    • Result: all matched files use the correct format.
  • git diff --check -- src/agents/embedded-agent-runner/run.ts src/agents/embedded-agent-runner/model.ts src/agents/embedded-agent-runner.e2e.test.ts src/agents/embedded-agent-runner/model.test.ts
    • Result: no whitespace errors.
  • Earlier on this branch before the upstream/main refresh: pnpm build.

Real behavior proof

Behavior addressed: Native Moonshot embedded agent runs can resolve moonshot/kimi-k2.6 from the bundled static manifest catalog before generating OpenClaw models.json or loading provider dynamic hooks, removing the reported model-resolution stall before dispatch.

Real environment tested: Local macOS OpenClaw worktree refreshed onto current upstream/main, using the real src/agents/embedded-agent-runner/model.ts runtime entrypoint with isolated temporary OpenClaw home/config directories, an isolated temporary agent directory, and the bundled Moonshot manifest catalog.

Exact steps or command run after this patch: /usr/bin/time -l env OPENCLAW_HOME=<temp> OPENCLAW_CONFIG_DIR=<temp>/.openclaw OPENCLAW_CONFIG_PATH=<temp>/.openclaw/openclaw.json node --import tsx -e "import fs from 'node:fs/promises'; import os from 'node:os'; import path from 'node:path'; import { resolveModelAsync } from './src/agents/embedded-agent-runner/model.ts'; const root = await fs.mkdtemp(path.join(os.tmpdir(), 'openclaw-moonshot-fastpath-')); const agentDir = path.join(root, 'agent'); await fs.mkdir(agentDir, { recursive: true }); const started = Date.now(); const result = await resolveModelAsync('moonshot', 'kimi-k2.6', agentDir, { agents: { defaults: { workspace: root } } }, { allowBundledStaticCatalogFallback: true, skipAgentDiscovery: true, workspaceDir: root }); let modelsJsonExists = true; try { await fs.access(path.join(agentDir, 'models.json')); } catch { modelsJsonExists = false; } console.log(JSON.stringify({ resolved: Boolean(result.model), provider: result.model?.provider, id: result.model?.id, api: result.model?.api, baseUrl: result.model?.baseUrl, modelsJsonExists, elapsedMs: Date.now() - started }, null, 2));".

Evidence after fix: Copied terminal output from the refreshed runtime command:

{
  "resolved": true,
  "provider": "moonshot",
  "id": "kimi-k2.6",
  "api": "openai-completions",
  "baseUrl": "https://api.moonshot.ai/v1",
  "modelsJsonExists": false,
  "elapsedMs": 21974
}

The same run also reported 23.08 real seconds and 355696640 maximum resident set size from /usr/bin/time -l.

Observed result after fix: The command exited 0, resolved the Moonshot model from static catalog metadata, did not create models.json, and used the renamed skipAgentDiscovery fast path on current upstream/main.

What was not tested: No live Moonshot API call or Discord/TUI end-to-end dispatch was run; the proof isolates the model-resolution path that the issue trace identified, with targeted embedded-runner tests and the earlier full local build.

Risk/Notes

  • The current refresh had to install lockfile dependencies once because the previous local node_modules snapshot was missing the new rastermill package; after pnpm install, the focused tests passed.
  • This PR intentionally changes only the model-resolution fast path for explicit model refs with allowBundledStaticCatalogFallback and skipAgentDiscovery; live provider dispatch still depends on operator credentials.

@openclaw-barnacle openclaw-barnacle Bot added agents Agent runtime and tooling size: S proof: supplied External PR includes structured after-fix real behavior proof. labels May 23, 2026
@clawsweeper

clawsweeper Bot commented May 23, 2026

Copy link
Copy Markdown
Contributor

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

Summary
The PR makes embedded-agent skip-discovery resolution try bundled static catalog models before provider dynamic hooks and adds focused runner and model normalization tests.

PR surface: Source +10, Tests +46. Total +56 across 4 files.

Reproducibility: yes. at source level: the linked issue isolates roughly 34 seconds in model resolution and the branch probe exercises the same runtime entrypoint. A full current-main Discord reproduction and same-environment before/after timing proof are not available.

Review metrics: none identified.

Merge readiness
Overall: 🧂 unranked krab
Proof: 🦪 silver shellfish
Patch quality: 🧂 unranked krab
Result: blocked until stronger real behavior proof is added.

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

Rank-up moves:

  • Rebase and preserve provider-owned dynamic/auth routing before static fallback.
  • [P1] Add same-environment before/after native Moonshot dispatch timing proof.
  • [P1] Add an OpenAI OAuth/Codex regression proving the OAuth transport remains selected.

Proof guidance:

  • [P1] Needs stronger real behavior proof before merge: The terminal probe shows static Moonshot resolution without models.json, but it lacks a before comparison, still takes about 23 seconds, and does not demonstrate the reported dispatch-latency improvement in a real agent run. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.

Risk before merge

  • [P1] Existing OpenAI OAuth/Codex setups can resolve the bundled API-key transport before the dynamic hook selects the OAuth-aware transport.
  • [P1] The provider-wide precedence change can replace runtime-preferred API, base URL, authentication bootstrap, or compatibility metadata beyond the reported Moonshot case.
  • [P1] The branch is dirty against current main and a rebase must preserve the newer plugin-harness transport boundary and dynamic-first coverage.

Maintainer options:

  1. Narrow the fast path before merge (recommended)
    Rebase onto current main and make static-first resolution an explicit provider or harness capability while retaining dynamic-first behavior for auth-sensitive providers.
  2. Pause for provider-boundary design
    Keep the PR in draft until the relevant owners decide which providers may safely opt into static-first model resolution.

Next step before merge

  • [P1] The author can rebase, but the permanent capability boundary for static-first provider resolution requires maintainer and provider-owner judgment before implementation.

Security
Cleared: The patch changes authentication routing semantics but adds no dependency, workflow-permission, secret-exposure, downloaded-code, or supply-chain concern.

Review findings

  • [P1] Preserve provider dynamic resolution before static fallback — src/agents/embedded-agent-runner/model.ts:1495
Review details

Best possible solution:

Keep provider dynamic and auth routing authoritative, then introduce an explicit provider capability or Moonshot-owned fast path that skips expensive discovery only when static metadata is contractually sufficient.

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

Yes at source level: the linked issue isolates roughly 34 seconds in model resolution and the branch probe exercises the same runtime entrypoint. A full current-main Discord reproduction and same-environment before/after timing proof are not available.

Is this the best way to solve the issue?

No. Avoiding broad agent discovery is appropriate, but changing every eligible provider to static-first resolution is broader than the Moonshot bug and violates provider ownership of auth and transport decisions.

Full review comments:

  • [P1] Preserve provider dynamic resolution before static fallback — src/agents/embedded-agent-runner/model.ts:1495
    This static-first branch returns a bundled row before resolveDynamicAttempt() receives the auth profile and provider context. OpenAI OAuth/Codex resolution depends on that hook to select openai-chatgpt-responses; the static row instead selects the API-key transport, so existing authenticated embedded runs can fail or use the wrong path. Keep dynamic routing first, or restrict static-first behavior to an explicit provider capability that cannot require dynamic auth or transport selection.
    Confidence: 0.96

Overall correctness: patch is incorrect
Overall confidence: 0.95

AGENTS.md: found and applied where relevant.

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

Label changes

Label changes:

  • add merge-risk: 🚨 auth-provider: Static-first resolution can bypass OAuth-aware provider hooks and select the wrong transport or authentication bootstrap.
  • add rating: 🧂 unranked krab: Overall readiness is 🧂 unranked krab; proof is 🦪 silver shellfish and patch quality is 🧂 unranked krab.
  • add status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs stronger real behavior proof before merge: The terminal probe shows static Moonshot resolution without models.json, but it lacks a before comparison, still takes about 23 seconds, and does not demonstrate the reported dispatch-latency improvement in a real agent run. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
  • remove proof: sufficient: Current real behavior proof status is insufficient, not sufficient.
  • remove rating: 🦪 silver shellfish: Current PR rating is rating: 🧂 unranked krab, so this older rating label is no longer current.
  • remove status: ⏳ waiting on author: Current PR status label is status: 📣 needs proof.

Label justifications:

  • P1: The PR targets a real 10–30 second agent dispatch delay but can break authentication and transport selection in an existing core workflow.
  • merge-risk: 🚨 compatibility: The patch changes model-resolution precedence across providers and can replace runtime-preferred model metadata for existing configurations.
  • merge-risk: 🚨 auth-provider: Static-first resolution can bypass OAuth-aware provider hooks and select the wrong transport or authentication bootstrap.
  • rating: 🧂 unranked krab: Overall readiness is 🧂 unranked krab; proof is 🦪 silver shellfish and patch quality is 🧂 unranked krab.
  • status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs stronger real behavior proof before merge: The terminal probe shows static Moonshot resolution without models.json, but it lacks a before comparison, still takes about 23 seconds, and does not demonstrate the reported dispatch-latency improvement in a real agent run. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
Evidence reviewed

PR surface:

Source +10, Tests +46. Total +56 across 4 files.

View PR surface stats
Area Files Added Removed Net
Source 2 41 31 +10
Tests 2 51 5 +46
Docs 0 0 0 0
Config 0 0 0 0
Generated 0 0 0 0
Other 0 0 0 0
Total 4 92 36 +56

Acceptance criteria:

  • [P1] node scripts/run-vitest.mjs src/agents/embedded-agent-runner/model.test.ts src/agents/embedded-agent-runner.e2e.test.ts.
  • [P1] Run a same-environment before/after native Moonshot embedded-agent dispatch timing proof without generated models.json.
  • [P1] Run an OpenAI OAuth/Codex embedded-agent proof confirming openai-chatgpt-responses remains selected.

What I checked:

Likely related people:

  • lanzhi-lee: Authored the current-main refactor that owns this dynamic-resolution and static-fallback decision surface. (role: recent model-resolution contributor; confidence: high; commits: 9a6c71a47d95; files: src/agents/embedded-agent-runner/model.ts, src/agents/embedded-agent-runner/run.ts)
  • steipete: The PR discussion repeatedly routes embedded-agent and provider-resolution compatibility questions to this account, making it a likely product-boundary reviewer. (role: adjacent owner; confidence: medium; files: src/agents/embedded-agent-runner/model.ts, src/agents/embedded-agent-runner/run.ts)
  • vincentkoc: The PR timeline routes review of the refreshed model-resolution branch to this account, indicating relevant adjacent review context. (role: adjacent reviewer; confidence: medium; files: src/agents/embedded-agent-runner/model.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.

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

Copy link
Copy Markdown

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: e0b6fb0a9c

ℹ️ 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".

Comment thread src/agents/pi-embedded-runner/model.ts Outdated
Comment on lines +1218 to +1220
const staticCatalogRuntimeHooks = options?.skipPiDiscovery
? STATIC_PROVIDER_RUNTIME_HOOKS
: runtimeHooks;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Preserve provider model normalization on static fast path

When skipPiDiscovery is enabled, this path forces STATIC_PROVIDER_RUNTIME_HOOKS for static-catalog resolutions, so normalizeResolvedModel(...) no longer runs provider normalizeResolvedModel hooks for those models. That regresses providers that rely on normalization to attach runtime compat metadata (for example Mistral’s hook in extensions/mistral/index.ts applies applyMistralModelCompat, which sets compat.supportsReasoningEffort/reasoningEffortMap for mistral-medium-3-5 and mistral-small-latest); without that metadata, downstream OpenAI-compat detection falls back to supportsReasoningEffort: false, so embedded-runner fast-path requests can silently drop reasoning effort behavior for static-resolved models.

Useful? React with 👍 / 👎.

@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. 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. labels May 23, 2026
@clawsweeper

clawsweeper Bot commented May 23, 2026

Copy link
Copy Markdown
Contributor

ClawSweeper PR egg

✨ Hatched: 🥚 common Gilded Crabkin

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: 🥚 common.
Trait: sleeps inside passing CI.
Image traits: location green-check meadow; accessory proof snapshot camera; palette coral, mint, and warm cream; mood determined; pose leaning over a miniature review desk; shell brushed metal shell; lighting warm desk-lamp glow; background tiny artifact crates.
Share on X: post this hatch
Copy: My PR egg hatched a 🥚 common Gilded Crabkin 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.

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. and removed rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. labels May 23, 2026
@leno23 leno23 force-pushed the leno23/fix-moonshot-static-model-fastpath branch from e0b6fb0 to 1c07f47 Compare May 23, 2026 12:02
@openclaw-barnacle openclaw-barnacle Bot removed the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 23, 2026
@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. 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 23, 2026
@leno23 leno23 force-pushed the leno23/fix-moonshot-static-model-fastpath branch from 1c07f47 to 407c0f5 Compare May 23, 2026 13:20
@openclaw-barnacle openclaw-barnacle Bot removed the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 23, 2026
@clawsweeper clawsweeper Bot added the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 23, 2026
@leno23 leno23 force-pushed the leno23/fix-moonshot-static-model-fastpath branch from 407c0f5 to 312a123 Compare May 23, 2026 14:43
@openclaw-barnacle openclaw-barnacle Bot removed the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 26, 2026
@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. labels May 26, 2026
@leno23 leno23 marked this pull request as draft May 26, 2026 15:48
@leno23 leno23 force-pushed the leno23/fix-moonshot-static-model-fastpath branch from ec5cd86 to a3ccbdd Compare May 26, 2026 16:06
@openclaw-barnacle openclaw-barnacle Bot removed the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 26, 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. and removed rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. labels May 26, 2026
@openclaw-barnacle openclaw-barnacle Bot added size: S and removed channel: zalo Channel integration: zalo app: web-ui App: web-ui gateway Gateway runtime extensions: diagnostics-otel Extension: diagnostics-otel cli CLI command changes scripts Repository scripts commands Command implementations extensions: codex extensions: deepinfra size: L labels May 30, 2026
@leno23 leno23 marked this pull request as ready for review May 30, 2026 09:22
@clawsweeper clawsweeper Bot added the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 30, 2026
@leno23 leno23 force-pushed the leno23/fix-moonshot-static-model-fastpath branch from 8436fc3 to 29c9ce4 Compare May 31, 2026 08:14
@openclaw-barnacle openclaw-barnacle Bot removed the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 31, 2026
@clawsweeper clawsweeper Bot added the proof: sufficient ClawSweeper judged the real behavior proof convincing. label May 31, 2026
@leno23 leno23 marked this pull request as draft June 2, 2026 13:25
@clawsweeper clawsweeper Bot added 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. and removed 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. labels Jun 2, 2026
@leno23 leno23 marked this pull request as ready for review June 5, 2026 09:49

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

Copy link
Copy Markdown

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: 29c9ce435a

ℹ️ 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".

Comment on lines +1495 to +1496
: options?.skipAgentDiscovery
? (resolveStaticCatalogAttempt() ?? (await resolveDynamicAttempt()))

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Keep OAuth-aware OpenAI resolution before static rows

When skipAgentDiscovery is combined with allowBundledStaticCatalogFallback (the embedded runner now passes both), this resolves any bundled static OpenAI row before resolveDynamicAttempt() can call the provider's resolveDynamicModel with the selected auth profile. OpenAI's dynamic hook uses that auth mode to route OAuth/token profiles for models like gpt-5.4/gpt-5.5 to the Codex transport (openai-chatgpt-responses), while the static catalog row normalizes as the API-key openai-responses transport; for users running the embedded runner with an OpenAI/Codex OAuth profile, this skips the Codex auth bootstrap and attempts the wrong transport. Keep the dynamic attempt ahead of static rows for auth-sensitive providers, or pass equivalent auth-routing context into the static path.

Useful? React with 👍 / 👎.

@clawsweeper clawsweeper Bot added rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. and removed rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. labels Jun 5, 2026
@leno23 leno23 marked this pull request as draft June 12, 2026 13:18
@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. and removed proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. labels Jun 12, 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 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. P1 High-priority user-facing bug, regression, or broken workflow. proof: supplied External PR includes structured after-fix real behavior proof. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. size: S status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Native Moonshot Discord runs spend ~30s in model-resolution before dispatch

2 participants