chore(cli): drop dead classifiers and single-use wrappers left by fallback removal#112191
Merged
Merged
Conversation
…lback removal Follow-up to c5254f1 (#112074): delete the legacy string-match timeout classifier (the CLI path only sees typed GatewayTransportError from callGateway's wrapper timer), the duplicate JSON/blank-message validation in the private gateway command, the now-pointless getGatewayDispatchConfig wrapper, the single-use embedded-loader alias, and the cross-os release guard for the EMBEDDED FALLBACK marker no build can emit anymore.
steipete
marked this pull request as ready for review
July 21, 2026 07:13
Contributor
|
ClawSweeper status: review started. I am starting a fresh review of this pull request: chore(cli): drop dead classifiers and single-use wrappers left by fallback removal This is item 1/1 in the current shard. Shard 0/1. This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking. Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted. |
Contributor
Author
|
Merged via squash.
|
vincentkoc
added a commit
that referenced
this pull request
Jul 21, 2026
* origin/main: (24 commits) fix(agents): keep compaction on live session model (#95713) fix(plugin-sdk): guard provider catalog live URL parsing against malformed responses (#109986) chore(cli): drop dead classifiers and single-use wrappers left by fallback removal (#112191) feat(ui): expand the lobster pet's random universe (#112073) chore(ci): audit dependency fingerprint exports (#112190) fix(ui): preserve graphemes in provider icons (#109509) fix(ui): align settings search with navigation rows (#112172) fix(agents): allow configless gateway rebind to activate standalone owner (#111841) fix(secrets): register secret targets for installed-origin plugins (#104347) improve(ui): show real machine identity in the place picker (#112162) fix: webChat scrollback history is too limited — older assistant replies and tool outputs disappear when scrolling… (#104250) test(ui): run DOM-free suites in Node (#112031) feat(nodes): make computer.act eligibility capability-based for desktop nodes (#112107) fix(apps): harden mobile gateway and watch state fix(ci): restore Z.AI API Platform validation (#112171) fix(ui): prevent Logs controls from overlapping (#112170) fix #95291: message tool fails to deliver files/images on Feishu (400 volc-dcdn / write ECONNRESET) while same Lark SDK upload succeeds standalone (#95514) refactor(cli)!: remove automatic gateway→embedded fallback from openclaw agent (#112074) refactor: move provider transports into packages/ai behind a typed host port (#111669) fix(anthropic): complete transcript reverse-scan windows across short reads (#109431) ...
github-actions Bot
pushed a commit
to Desicool/openclaw
that referenced
this pull request
Jul 22, 2026
…lback removal (openclaw#112191) Follow-up to 2357629 (openclaw#112074): delete the legacy string-match timeout classifier (the CLI path only sees typed GatewayTransportError from callGateway's wrapper timer), the duplicate JSON/blank-message validation in the private gateway command, the now-pointless getGatewayDispatchConfig wrapper, the single-use embedded-loader alias, and the cross-os release guard for the EMBEDDED FALLBACK marker no build can emit anymore.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What Problem This Solves
#112074 removed the automatic gateway→embedded fallback but left one-hop residue: a legacy string-match timeout classifier, duplicated validation in a private single-caller function, two single-use wrapper indirections, and a cross-os release-check guard for a stderr marker (
EMBEDDED FALLBACK:) that no build can emit anymore.Why This Change Was Made
Each deletion is evidence-backed, not speculative:
isGatewayAgentTimeoutError's string branch matched"gateway request timeout for agent", which in prod is thrown only bysrc/gateway/server-in-process-dispatch.ts(server/plugin internal callers) and the low-level gateway client. The CLI path always goes throughcallGateway, whose typed wrapper timer is armed at call setup — before the inner client timer can start (post connect+hello) — so this classifier only ever sees typedGatewayTransportErrors. A comment records the invariant.agentViaGatewayCommandis private with one caller (agentCliCommand), which already runsprotectJsonStdoutand blank-message validation viaresolveAgentMessageOpts; the repeats were dead.getGatewayDispatchConfigcollapsed to a bare wrapper over the synchronousreadGatewayDispatchConfigafter itsskipShellEnvFallbackoption lost its only user; deleted, with the credential retry callingreadGatewayDispatchConfigWithShellEnvFallback()directly.agentTurnUsedEmbeddedFallbackin the cross-os release checks guarded the validated artifact against a marker string removed in refactor(cli)!: remove automatic gateway→embedded fallback from openclaw agent #112074; the guard, its two throw sites, its retry-matcher phrase, and its tests are dead negative proof.User Impact
None at runtime — pure internal cleanup. Net +13 / −88. Release validation loses only a guaranteed-pass check.
Evidence
tbx_01ky1qjty6e7rfsd08yhjtqz79:pnpm test src/commands/agent-via-gateway.test.ts(71/71),test/scripts/openclaw-cross-os-release-checks.test.ts(108/108),pnpm check:changedexit 0.isGatewayAgentTimeoutError,agentTurnUsedEmbeddedFallback,loadEmbeddedAgentCommand, or the removed marker phrase.