Skip to content

fix(memory): close local embedding providers on timeout#84048

Merged
clawsweeper[bot] merged 3 commits into
mainfrom
clawsweeper/automerge-openclaw-openclaw-83858
May 19, 2026
Merged

fix(memory): close local embedding providers on timeout#84048
clawsweeper[bot] merged 3 commits into
mainfrom
clawsweeper/automerge-openclaw-openclaw-83858

Conversation

@clawsweeper

@clawsweeper clawsweeper Bot commented May 19, 2026

Copy link
Copy Markdown
Contributor

Makes #83858 merge-ready for the ClawSweeper automerge loop.
The edit pass should inspect the live PR diff, review comments, and failing checks; rebase if needed; keep the contributor branch credited; and stop only when validation is green or an external blocker is proven.

ClawSweeper 🐠 replacement reef notes:

  • Repair fallback: GitHub rejected the repair branch push because it updates workflow files and the ClawSweeper app token does not have workflows permission

Inherited issue-closing references from the source PR:
Fixes #83792

Co-author credit kept:

fish notes: model gpt-5.5, reasoning high; reviewed against 70e7256.

@clawsweeper clawsweeper Bot added extensions: memory-core Extension: memory-core size: L clawsweeper:automerge Maintainer opted this PR into bounded ClawSweeper-reviewed automerge proof: supplied External PR includes structured after-fix real behavior proof. proof: sufficient ClawSweeper judged the real behavior proof convincing. P2 Normal backlog priority with limited blast radius. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. merge-risk: 🚨 availability 🚨 May cause crashes, hangs, restart loops, stalls, or process outages. status: 🚀 automerge armed This PR is in ClawSweeper's automerge lane. clawsweeper Tracked by ClawSweeper automation labels May 19, 2026
@clawsweeper

clawsweeper Bot commented May 19, 2026

Copy link
Copy Markdown
Contributor Author

Codex review: passed.

Workflow note: Future ClawSweeper reviews update this same comment in place.

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.

Summary
The branch adds a close lifecycle for local memory embedding providers, scoped memory search/index teardown for one agent, Active Memory timeout cleanup, focused tests, and a changelog entry.

Reproducibility: yes. The linked issue gives a concrete OpenClaw 2026.5.18 Telegram Active Memory timeout path with retained local GGUF mapping, and current-main source inspection confirms there is no timeout cleanup for that local embedding provider path.

PR rating
Overall: 🐚 platinum hermit
Proof: 🦞 diamond lobster
Patch quality: 🐚 platinum hermit
Summary: Strong live proof and focused tests support the patch, while the lifecycle scope and availability tradeoff make this a normal mergeable PR rather than exceptional.

Rank-up moves:

  • none
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.

PR egg
✨ Hatched: 💎 rare Velvet Proofling

       _..------.._          
    .-'  .-.  .-.  '-.       
   /    ( * )( * )    \      
  |        .--.        |     
  |   <\   ====   />   |     
   \    '.______.'    /      
    '-._   ____   _.-'       
        `-.____.-'           
       __/|_||_|\__          
      /__.'    '.__\         
       `-----------'         
 +===================+       

Rarity: 💎 rare.
Trait: watches the merge queue.
Share on X: post this hatch
Copy: My PR egg hatched a 💎 rare Velvet Proofling 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.
  • How to hatch it: reach status: 👀 ready for maintainer look or status: 🚀 automerge armed; that usually means sufficient real-behavior proof, no blocking P0/P1/P2 findings, no security attention needed, and clean correctness.
  • 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.

Real behavior proof
Sufficient (logs): Sufficient logs: the source PR body includes after-fix live VPS Telegram timeout logs showing the reply completed, GGUF/node-llama map count stayed zero, and RSS returned near baseline.

Risk before merge
Why this matters: - The cleanup intentionally evicts scoped memory-search resources after an Active Memory timeout, so local embedding users may trade retained RSS for a later cold start on the same agent.

  • The proof is strong for one Linux VPS Telegram timeout path, but it is not a long soak across repeated topics, non-Linux hosts, or every alternate memory provider.

Maintainer options:

  1. Accept Scoped Timeout Cleanup (recommended)
    Accept the cold-start tradeoff because it releases retained local embedding mappings on the proven timeout path.
  2. Pause For Broader Cache Policy
    Pause only if maintainers want reference-counted or configurable cache eviction before changing timeout cleanup behavior.

Next step before merge
No repair lane is needed because the patch review found no actionable code defect; merge remains gated by normal exact-head checks and maintainer automerge policy.

Security
Cleared: The diff changes memory lifecycle code, tests, and type declarations without adding dependencies, workflow permissions, install hooks, secret handling, or downloaded code execution.

Review details

Best possible solution:

Land the scoped timeout cleanup once required exact-head checks pass, keeping the lifecycle tests and accepting the local-embedding cold-start tradeoff as the bounded fix for retained mappings.

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

Yes. The linked issue gives a concrete OpenClaw 2026.5.18 Telegram Active Memory timeout path with retained local GGUF mapping, and current-main source inspection confirms there is no timeout cleanup for that local embedding provider path.

Is this the best way to solve the issue?

Yes. The PR fixes the implicated owner boundary by adding a provider close lifecycle and wiring Active Memory timeout cleanup through memory-core rather than adding a new config knob or broad cache policy.

Label justifications:

  • P2: This is a normal-priority bug fix for retained local embedding memory after Active Memory timeouts with limited affected surface.
  • merge-risk: 🚨 availability: Merging can intentionally close warm local memory-search resources after timeouts, causing later cold starts or same-agent memory-search disruption.

What I checked:

  • Current main lacks local provider close: On current main, createLocalEmbeddingProvider caches llama/model/context objects and returns embed methods without any provider close lifecycle, matching the retained-resource failure mode. (packages/memory-host-sdk/src/host/embeddings.ts:33, aef93881af5f)
  • Current main timeout path does not release memory search resources: The Active Memory timeout branches record the timeout and return without closing the agent's memory search/index manager on current main. (extensions/active-memory/index.ts:2737, aef93881af5f)
  • PR adds provider abort/dispose lifecycle: The PR head adds closed-state checks, AbortController wiring for resolve/load/context creation, and a close method that aborts initialization and disposes context, model, and llama runtime resources. (packages/memory-host-sdk/src/host/embeddings.ts:57, 8e2e369b5cfd)
  • PR wires timeout cleanup through Active Memory and memory-core: The PR schedules scoped cleanup after Active Memory timeouts and routes closeMemorySearchManager through QMD and builtin index-manager teardown for the affected agent. (extensions/active-memory/index.ts:995, 8e2e369b5cfd)
  • Dependency contract checked: node-llama-cpp 3.18.1 type declarations expose loadSignal on LlamaModelOptions, createSignal on LlamaEmbeddingContextOptions, dispose methods on Llama/LlamaModel/LlamaEmbeddingContext, and signal/directory on ResolveModelFileOptions.
  • Linked issue has a concrete live repro: The linked issue documents OpenClaw 2026.5.18 on a Linux VPS with Telegram Active Memory, local memorySearch provider, a timeout path, and a retained 314 MB embedding GGUF mapping while the gateway was idle.

Likely related people:

  • steipete: GitHub path history shows repeated recent work on Active Memory routing, memory-host embeddings, and memory-core lifecycle surfaces, including timed-out embedding request handling. (role: recent area contributor; confidence: high; commits: a6225060f1dc, 30e2654ac2c8, a38c2c233a44; files: packages/memory-host-sdk/src/host/embeddings.ts, extensions/active-memory/index.ts, extensions/memory-core/src/memory/manager.ts)
  • Takhoffman: Recent current-main history shows work on Active Memory custom recall tools, which is adjacent to the timeout and recall-resource path changed here. (role: active-memory feature contributor; confidence: medium; commits: 2f2602508511; files: extensions/active-memory/index.ts)
  • giodl73-repo: Recent current-main history shows work in memory-core manager behavior around stale session catch-up and indexing, adjacent to the index manager lifecycle touched by this PR. (role: memory-core recent contributor; confidence: medium; commits: 8af2af24a53c; files: extensions/memory-core/src/memory/manager.ts)

Codex review notes: model gpt-5.5, reasoning high; reviewed against aef93881af5f.

@openclaw-barnacle openclaw-barnacle Bot removed the proof: supplied External PR includes structured after-fix real behavior proof. label May 19, 2026
@clawsweeper

clawsweeper Bot commented May 19, 2026

Copy link
Copy Markdown
Contributor Author

🦞🧹
ClawSweeper automerge is enabled.

  • Head: 8e2e369b5cfd
  • Label: clawsweeper:automerge
  • Action: exact-head review queued (workflow sweep.yml, event repository_dispatch).
  • Flow: review this head, repair/rebase only if needed, then re-review the exact repaired head before merge.

Draft PRs stay fix-only until GitHub marks them ready for review. Pause with /clawsweeper stop.

Automerge progress:

  • 2026-05-19 08:43:27 UTC review queued 70e725614006 (after no-op repair)
  • 2026-05-19 09:11:49 UTC review queued 8e2e369b5cfd (after repair)
  • 2026-05-19 09:18:55 UTC review passed 8e2e369b5cfd (structured ClawSweeper verdict: pass (sha=8e2e369b5cfd8081876b2b2b5d86b2c1cc603...)
  • 2026-05-19 09:19:13 UTC merged 8e2e369b5cfd (merged by ClawSweeper automerge)
  • 2026-05-19 09:19:18 UTC review queued 8e2e369b5cfd (queued)

@hxy91819

Copy link
Copy Markdown
Member

/clawsweeper automerge with thanks to brokemac79

@clawsweeper

clawsweeper Bot commented May 19, 2026

Copy link
Copy Markdown
Contributor Author

🦞👀
ClawSweeper is here and listening for maintainer commands.

Supported commands: /review, /clawsweeper status, /clawsweeper re-review, /clawsweeper implement, @clawsweeper fix, /clawsweeper build, /clawsweeper fix ci, /clawsweeper address review, /clawsweeper rebase, /clawsweeper autofix, /clawsweeper automerge, /clawsweeper approve, /autoclose <reason>, /clawsweeper explain, /clawsweeper stop.

I only act for maintainers, or for trusted ClawSweeper feedback on a ClawSweeper PR or PR opted into clawsweeper:autofix or clawsweeper:automerge.

@hxy91819

Copy link
Copy Markdown
Member

/clawsweeper automerge

@clawsweeper
clawsweeper Bot force-pushed the clawsweeper/automerge-openclaw-openclaw-83858 branch from 70e7256 to 8e2e369 Compare May 19, 2026 09:11
@clawsweeper
clawsweeper Bot merged commit 1c1c75d into main May 19, 2026
98 checks passed
@clawsweeper
clawsweeper Bot deleted the clawsweeper/automerge-openclaw-openclaw-83858 branch May 19, 2026 09:19
markfietje pushed a commit to markfietje/openclaw that referenced this pull request May 20, 2026
Summary:
- The branch adds a close lifecycle for local memory embedding providers, scoped memory search/index teardown for one agent, Active Memory timeout cleanup, focused tests, and a changelog entry.
- Reproducibility: yes. The linked issue gives a concrete OpenClaw 2026.5.18 Telegram Active Memory timeout pa ... current-main source inspection confirms there is no timeout cleanup for that local embedding provider path.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(memory): close local embedding providers on timeout

Validation:
- ClawSweeper review passed for head 8e2e369b5cfd8081876b2b2b5d86b2c1cc6036bf.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8e2e369b5cfd8081876b2b2b5d86b2c1cc6036bf
Review: openclaw/openclaw#84048 (comment)

Co-authored-by: brokemac79 <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <[email protected]>
markfietje pushed a commit to markfietje/openclaw that referenced this pull request May 20, 2026
Summary:
- The branch adds a close lifecycle for local memory embedding providers, scoped memory search/index teardown for one agent, Active Memory timeout cleanup, focused tests, and a changelog entry.
- Reproducibility: yes. The linked issue gives a concrete OpenClaw 2026.5.18 Telegram Active Memory timeout pa ... current-main source inspection confirms there is no timeout cleanup for that local embedding provider path.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(memory): close local embedding providers on timeout

Validation:
- ClawSweeper review passed for head 8e2e369b5cfd8081876b2b2b5d86b2c1cc6036bf.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8e2e369b5cfd8081876b2b2b5d86b2c1cc6036bf
Review: openclaw/openclaw#84048 (comment)

Co-authored-by: brokemac79 <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <[email protected]>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 24, 2026
Summary:
- The branch adds a close lifecycle for local memory embedding providers, scoped memory search/index teardown for one agent, Active Memory timeout cleanup, focused tests, and a changelog entry.
- Reproducibility: yes. The linked issue gives a concrete OpenClaw 2026.5.18 Telegram Active Memory timeout pa ... current-main source inspection confirms there is no timeout cleanup for that local embedding provider path.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(memory): close local embedding providers on timeout

Validation:
- ClawSweeper review passed for head 8e2e369.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8e2e369
Review: openclaw#84048 (comment)

Co-authored-by: brokemac79 <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <[email protected]>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 24, 2026
Summary:
- The branch adds a close lifecycle for local memory embedding providers, scoped memory search/index teardown for one agent, Active Memory timeout cleanup, focused tests, and a changelog entry.
- Reproducibility: yes. The linked issue gives a concrete OpenClaw 2026.5.18 Telegram Active Memory timeout pa ... current-main source inspection confirms there is no timeout cleanup for that local embedding provider path.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(memory): close local embedding providers on timeout

Validation:
- ClawSweeper review passed for head 8e2e369.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8e2e369
Review: openclaw#84048 (comment)

Co-authored-by: brokemac79 <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <[email protected]>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 24, 2026
Summary:
- The branch adds a close lifecycle for local memory embedding providers, scoped memory search/index teardown for one agent, Active Memory timeout cleanup, focused tests, and a changelog entry.
- Reproducibility: yes. The linked issue gives a concrete OpenClaw 2026.5.18 Telegram Active Memory timeout pa ... current-main source inspection confirms there is no timeout cleanup for that local embedding provider path.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(memory): close local embedding providers on timeout

Validation:
- ClawSweeper review passed for head 8e2e369.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8e2e369
Review: openclaw#84048 (comment)

Co-authored-by: brokemac79 <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <[email protected]>
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request May 24, 2026
Summary:
- The branch adds a close lifecycle for local memory embedding providers, scoped memory search/index teardown for one agent, Active Memory timeout cleanup, focused tests, and a changelog entry.
- Reproducibility: yes. The linked issue gives a concrete OpenClaw 2026.5.18 Telegram Active Memory timeout pa ... current-main source inspection confirms there is no timeout cleanup for that local embedding provider path.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(memory): close local embedding providers on timeout

Validation:
- ClawSweeper review passed for head 8e2e369.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8e2e369
Review: openclaw#84048 (comment)

Co-authored-by: brokemac79 <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <[email protected]>
galiniliev pushed a commit to galiniliev/openclaw that referenced this pull request May 25, 2026
Summary:
- The branch adds a close lifecycle for local memory embedding providers, scoped memory search/index teardown for one agent, Active Memory timeout cleanup, focused tests, and a changelog entry.
- Reproducibility: yes. The linked issue gives a concrete OpenClaw 2026.5.18 Telegram Active Memory timeout pa ... current-main source inspection confirms there is no timeout cleanup for that local embedding provider path.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(memory): close local embedding providers on timeout

Validation:
- ClawSweeper review passed for head 8e2e369.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8e2e369
Review: openclaw#84048 (comment)

Co-authored-by: brokemac79 <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <[email protected]>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 26, 2026
Summary:
- The branch adds a close lifecycle for local memory embedding providers, scoped memory search/index teardown for one agent, Active Memory timeout cleanup, focused tests, and a changelog entry.
- Reproducibility: yes. The linked issue gives a concrete OpenClaw 2026.5.18 Telegram Active Memory timeout pa ... current-main source inspection confirms there is no timeout cleanup for that local embedding provider path.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(memory): close local embedding providers on timeout

Validation:
- ClawSweeper review passed for head 8e2e369.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8e2e369
Review: openclaw#84048 (comment)

Co-authored-by: brokemac79 <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <[email protected]>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 26, 2026
Summary:
- The branch adds a close lifecycle for local memory embedding providers, scoped memory search/index teardown for one agent, Active Memory timeout cleanup, focused tests, and a changelog entry.
- Reproducibility: yes. The linked issue gives a concrete OpenClaw 2026.5.18 Telegram Active Memory timeout pa ... current-main source inspection confirms there is no timeout cleanup for that local embedding provider path.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(memory): close local embedding providers on timeout

Validation:
- ClawSweeper review passed for head 8e2e369.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8e2e369
Review: openclaw#84048 (comment)

Co-authored-by: brokemac79 <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <[email protected]>
SebTardif pushed a commit to SebTardif/openclaw that referenced this pull request May 26, 2026
Summary:
- The branch adds a close lifecycle for local memory embedding providers, scoped memory search/index teardown for one agent, Active Memory timeout cleanup, focused tests, and a changelog entry.
- Reproducibility: yes. The linked issue gives a concrete OpenClaw 2026.5.18 Telegram Active Memory timeout pa ... current-main source inspection confirms there is no timeout cleanup for that local embedding provider path.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(memory): close local embedding providers on timeout

Validation:
- ClawSweeper review passed for head 8e2e369.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8e2e369
Review: openclaw#84048 (comment)

Co-authored-by: brokemac79 <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <[email protected]>
jameslcowan pushed a commit to jameslcowan/openclaw that referenced this pull request Jun 2, 2026
Summary:
- The branch adds a close lifecycle for local memory embedding providers, scoped memory search/index teardown for one agent, Active Memory timeout cleanup, focused tests, and a changelog entry.
- Reproducibility: yes. The linked issue gives a concrete OpenClaw 2026.5.18 Telegram Active Memory timeout pa ... current-main source inspection confirms there is no timeout cleanup for that local embedding provider path.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(memory): close local embedding providers on timeout

Validation:
- ClawSweeper review passed for head 8e2e369.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8e2e369
Review: openclaw#84048 (comment)

Co-authored-by: brokemac79 <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <[email protected]>
SYU8384 pushed a commit to SYU8384/openclaw that referenced this pull request Jun 3, 2026
Summary:
- The branch adds a close lifecycle for local memory embedding providers, scoped memory search/index teardown for one agent, Active Memory timeout cleanup, focused tests, and a changelog entry.
- Reproducibility: yes. The linked issue gives a concrete OpenClaw 2026.5.18 Telegram Active Memory timeout pa ... current-main source inspection confirms there is no timeout cleanup for that local embedding provider path.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(memory): close local embedding providers on timeout

Validation:
- ClawSweeper review passed for head 8e2e369.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8e2e369
Review: openclaw#84048 (comment)

Co-authored-by: brokemac79 <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <[email protected]>
sablehead pushed a commit to sablehead/openclaw that referenced this pull request Jun 10, 2026
Summary:
- The branch adds a close lifecycle for local memory embedding providers, scoped memory search/index teardown for one agent, Active Memory timeout cleanup, focused tests, and a changelog entry.
- Reproducibility: yes. The linked issue gives a concrete OpenClaw 2026.5.18 Telegram Active Memory timeout pa ... current-main source inspection confirms there is no timeout cleanup for that local embedding provider path.

Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(memory): close local embedding providers on timeout

Validation:
- ClawSweeper review passed for head 8e2e369.
- Required merge gates passed before the squash merge.

Prepared head SHA: 8e2e369
Review: openclaw#84048 (comment)

Co-authored-by: brokemac79 <[email protected]>
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
Approved-by: hxy91819
Co-authored-by: hxy91819 <[email protected]>
ZengWen-DT added a commit to ZengWen-DT/openclaw that referenced this pull request Jun 24, 2026
…ctive-memory recall timeout

Active-memory recall-timeout cleanup called closeActiveMemorySearchManager,
which retired the agent-scoped shared QMD manager used by chat memory_search
and startup timers/watchers. A request-scoped recall timeout then left chat
memory_search returning "memory search manager is closed" (and entering its 60s
cooldown) even while QMD and CLI search stayed healthy.

The cleanup's legitimate job (openclaw#84048) is to release the disposable local builtin
index/embedding providers a hung recall can leave open, not to retire the shared
manager. Add a narrow releaseMemoryIndexManagers path, exposed through the
memory-host-search SDK facade as releaseActiveMemoryIndexManagers, that releases
only those local index managers and leaves the shared QMD manager alive, and
point active-memory's timeout cleanup at it. closeMemorySearchManager keeps its
full-close contract for callers that intentionally retire an agent's manager.
The recall's in-flight QMD query is already cancelled via the embedded run abort
signal.

Fixes openclaw#96455
ZengWen-DT added a commit to ZengWen-DT/openclaw that referenced this pull request Jun 24, 2026
…ctive-memory recall timeout

Active-memory recall-timeout cleanup called closeActiveMemorySearchManager,
which retired the agent-scoped shared QMD manager used by chat memory_search
and startup timers/watchers. A request-scoped recall timeout then left chat
memory_search returning "memory search manager is closed" (and entering its 60s
cooldown) even while QMD and CLI search stayed healthy.

The cleanup's legitimate job (openclaw#84048) is to release the disposable local builtin
index/embedding providers a hung recall can leave open, not to retire the shared
manager. Add a request-scoped scope: "index-managers" mode to
closeActiveMemorySearchManager (routing to a narrow releaseMemoryIndexManagers
path in memory-core) that releases only those local index managers and keeps the
shared QMD manager alive, and point active-memory's timeout cleanup at it. The
default full-close behavior is unchanged for callers that intentionally retire an
agent's manager, so the shipped SDK export surface does not grow. The recall's
in-flight QMD query is already cancelled via the embedded run abort signal.

Fixes openclaw#96455
ZengWen-DT added a commit to ZengWen-DT/openclaw that referenced this pull request Jun 24, 2026
…ctive-memory recall timeout

Active-memory recall-timeout cleanup called closeActiveMemorySearchManager,
which retired the agent-scoped shared QMD manager used by chat memory_search
and startup timers/watchers. A request-scoped recall timeout then left chat
memory_search returning "memory search manager is closed" (and entering its 60s
cooldown) even while QMD and CLI search stayed healthy.

The cleanup's legitimate job (openclaw#84048) is to release the disposable local builtin
index/embedding providers a hung recall can leave open, not to retire the shared
manager. Add a request-scoped scope: "index-managers" mode to
closeActiveMemorySearchManager (routing to a narrow releaseMemoryIndexManagers
path in memory-core) that releases only those local index managers and keeps the
shared QMD manager alive, and point active-memory's timeout cleanup at it. The
default full-close behavior is unchanged for callers that intentionally retire an
agent's manager, so the shipped SDK export surface does not grow. The recall's
in-flight QMD query is already cancelled via the embedded run abort signal.

Fixes openclaw#96455
ZengWen-DT added a commit to ZengWen-DT/openclaw that referenced this pull request Jun 25, 2026
…ctive-memory recall timeout

Active-memory recall-timeout cleanup called closeActiveMemorySearchManager,
which retired the agent-scoped shared QMD manager used by chat memory_search
and startup timers/watchers. A request-scoped recall timeout then left chat
memory_search returning "memory search manager is closed" (and entering its 60s
cooldown) even while QMD and CLI search stayed healthy.

The cleanup's legitimate job (openclaw#84048) is to release the disposable local builtin
index/embedding providers a hung recall can leave open, not to retire the shared
manager. Add a request-scoped scope: "index-managers" mode to
closeActiveMemorySearchManager (routing to a narrow releaseMemoryIndexManagers
path in memory-core) that releases only those local index managers and keeps the
shared QMD manager alive, and point active-memory's timeout cleanup at it. The
default full-close behavior is unchanged for callers that intentionally retire an
agent's manager, so the shipped SDK export surface does not grow. The recall's
in-flight QMD query is already cancelled via the embedded run abort signal.

Fixes openclaw#96455
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clawsweeper:automerge Maintainer opted this PR into bounded ClawSweeper-reviewed automerge clawsweeper Tracked by ClawSweeper automation extensions: memory-core Extension: memory-core merge-risk: 🚨 availability 🚨 May cause crashes, hangs, restart loops, stalls, or process outages. P2 Normal backlog priority with limited blast radius. proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. size: L status: 🚀 automerge armed This PR is in ClawSweeper's automerge lane.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Active Memory Telegram preflight retains local embedding model mapping after timeout

2 participants