Skip to content

[Bug]: searchMemoryCorpusSupplements uses Promise.all causing single supplement failure to discard all results #77897

@SimbaKingjoe

Description

@SimbaKingjoe

Summary

searchMemoryCorpusSupplements in extensions/memory-core/src/tools.shared.ts uses Promise.all to collect results from registered corpus supplements (e.g. memory-wiki). Promise.all fails fast — if any single supplement's search() rejects, all supplement results are discarded.

Steps to reproduce

  1. Register two corpus supplements (e.g. memory-wiki + a misbehaving one)
  2. Call memory_search(corpus="all")
  3. If one supplement throws, observe that results from the OTHER supplement are also lost

Expected behavior

A failure in one supplement should not affect results from other supplements. The surviving results should still be returned.

Actual behavior

Promise.all rejects immediately when the first supplement fails, discarding all other in-flight results.

OpenClaw version

main branch

Operating system

N/A

Model

N/A

Provider / routing chain

N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions