-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
AM embedded run aborts memory_search tool calls; classifies as timeout despite model completion #74586
Copy link
Copy link
Open
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.ClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.Good issue quality with a plausible reproduction path needing some confirmation.
Description
Metadata
Metadata
Assignees
Labels
P1High-priority user-facing bug, regression, or broken workflow.High-priority user-facing bug, regression, or broken workflow.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.ClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.Good issue quality with a plausible reproduction path needing some confirmation.
Type
Fields
Priority
None yet
AM embedded run aborts memory_search tool calls; classifies as timeout despite model completion
Version
OpenClaw
2026.4.26(commitbe8c246), running on.npm-global/lib/node_modules/openclaw/openclaw.mjspergovernance/UPGRADE-SOP-NATIVE.md.Plugin
active-memory(stock plugin,dist/extensions/active-memory/index.js).Summary
Active Memory's embedded recall sub-agent has four correlated findings that together break AM functionality on a healthy gateway:
status=timeoutwithsummaryChars=0across 5 sequential trigger runs spanning 2 different models and 2 different timeout budgets. Pass 5 enabledpersistTranscripts: true; the persisted transcript shows everymemory_searchcall from inside the embedded run returned"Aborted"(isError: true). Passes 1-4 produce the same status-line pattern but did not capture transcripts.memory_searchcall from a non-embedded session works correctly (1.656s, returns hits/empty cleanly, no abort) — isolating the bug to embedded-runner / AM tool bridge / abort propagation, not memory-core globally.status=timeouteven when the assistant returns a normalNONEresponse in ~18s, well under the configured 60s budget.prompt-errorevents leak into the next run's context as injectedcustom:openclaw:prompt-errorevents.Reproduction
Trent (the AM-eligible agent on this deployment) is on
openai-codex/gpt-5.5session. AM config tested across 5 runs:Pass 5's persisted transcript at
~/.openclaw/plugins/active-memory/transcripts/agents/trent/active-memory/active-memory-mokgeyo1-780d30df.jsonlshows:Disambiguation test
From a non-embedded session on the same host/runtime:
memory_searchinvoked directly completed in 1656ms, returned 0 hits, no abort. The same memory tool path is reachable outside the AM embedded run; only the AM embedded path aborts.Conclusion
The bug is in the embedded runner's tool dispatch / abort propagation path, NOT in memory-core or the recall model. Specifically:
System config (relevant excerpts)
{ "plugins.entries.active-memory": { "enabled": true, "config": { "enabled": true, "agents": ["trent"], "allowedChatTypes": ["direct"], "queryMode": "recent", "promptStyle": "balanced", "timeoutMs": 60000, "maxSummaryChars": 220, "persistTranscripts": true, "logging": true, "model": "ollama-cloud/minimax-m2.5", "modelFallback": "ollama-cloud/minimax-m2.5" } } }tools.allow=[],tools.alsoAllow=[]. Providerollama-cloudconfigured withminimax-m2.5allowlisted. Direct memory tool path on this host is responsive (per disambiguation test above) — failure scope is the AM embedded run.Source pointers
dist/extensions/active-memory/index.js— aroundgetModelRefcandidates list (function definition at line 858, candidates array at lines 865-870 in this build) — chain-resolution model selection. (Related but separate doc/UX bug — see related filing.)dist/extensions/active-memory/index.js— around therunEmbeddedPiAgentinvocation (in this build, transcript path wiring runs roughly lines 893-955).AbortedtoolResult appears to be coming from the embedded runner's abort controller. We did not narrow further — likely needs source-side investigation around the AM tool bridge / sub-agent setup path.Suggested remediation areas (not authoritative — investigation needed)
NONE),status=okis the correct classification.prompt-errorevents from the next-run context. Cross-run state leakage of error metadata is unexpected.Impact
AM is functionally unusable on this deployment until the embedded-runner abort-propagation issue is fixed. All cloud-recall-model tuning and budget tuning are dead-end paths because the model never gets useful tool results regardless of model speed. Documented in 5 sequential test passes with controlled variable changes.
Reporter
islandpreneur007, with diagnostic support from Trent.