diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c006ac384f..be6e851c5fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,7 @@ Docs: https://docs.openclaw.ai ### Fixes +- CLI/memory: skip eager context-window warmup for `openclaw memory` commands so memory search does not race unrelated model metadata discovery. Fixes #73123. Thanks @oalansilva. - Cron/providers: preflight local Ollama and OpenAI-compatible provider endpoints before isolated cron agent turns, record unreachable local providers as skipped runs, and cache dead-endpoint probes so many jobs do not hammer the same stopped local server. Fixes #58584. Thanks @jpeghead. - Gateway/config: let config reload continue in degraded mode when invalidity is scoped to plugin entries, so incompatible plugin configs can be skipped and the Gateway restart can still pick up the rest of the config after rollbacks. Fixes #73131. Thanks @Adam-Researchh. - Doctor/channels: suppress disabled bundled-plugin blocker warnings when a trusted external plugin owns the configured channel, so Lark/Feishu installs no longer get Feishu repair noise after switching to `openclaw-lark`. Fixes #56794. Thanks @wuji-tech-dev. diff --git a/src/agents/context.eager-warmup.test.ts b/src/agents/context.eager-warmup.test.ts index 49d362edac6..5cadb0cf263 100644 --- a/src/agents/context.eager-warmup.test.ts +++ b/src/agents/context.eager-warmup.test.ts @@ -19,6 +19,7 @@ describe("agents/context eager warmup", () => { it.each([ ["models", ["node", "openclaw", "models", "set", "openai/gpt-5.4"]], ["agent", ["node", "openclaw", "agent", "--message", "ok"]], + ["memory", ["node", "openclaw", "memory", "search", "--json"]], ])("does not eager-load config for %s commands on import", async (_label, argv) => { process.argv = argv; await importFreshModule(import.meta.url, `./context.js?scope=${_label}`); diff --git a/src/agents/context.lookup.test.ts b/src/agents/context.lookup.test.ts index ee3fa1f69fa..7bf65e39e2b 100644 --- a/src/agents/context.lookup.test.ts +++ b/src/agents/context.lookup.test.ts @@ -222,6 +222,9 @@ describe("lookupContextTokens", () => { expect(shouldEagerWarmContextWindowCache(["node", "openclaw", "logs", "--limit", "5"])).toBe( false, ); + expect( + shouldEagerWarmContextWindowCache(["node", "openclaw", "memory", "search", "--json"]), + ).toBe(false); expect(shouldEagerWarmContextWindowCache(["node", "openclaw", "status", "--json"])).toBe(false); expect(shouldEagerWarmContextWindowCache(["node", "openclaw", "sessions", "--json"])).toBe( false, diff --git a/src/agents/context.ts b/src/agents/context.ts index 09c3b1d2c1d..84358d7b39b 100644 --- a/src/agents/context.ts +++ b/src/agents/context.ts @@ -151,6 +151,7 @@ const SKIP_EAGER_WARMUP_PRIMARY_COMMANDS = new Set([ "health", "hooks", "logs", + "memory", "models", "pairing", "plugins",