-
-
Notifications
You must be signed in to change notification settings - Fork 79.1k
Bug: memory_search hybrid mode not returning FTS matches #48300
Copy link
Copy link
Closed
BingqingLyu/openclaw
#856Closed
Copy link
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.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.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.ClawSweeper marked this issue as an existing queue_fix_pr work candidate.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.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: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.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.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.ClawSweeper marked this issue as an existing queue_fix_pr work candidate.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.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: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Summary
When using
memory_searchwith hybrid mode enabled, FTS (full-text search) matches are not being returned in results, even when they exist in the SQLite FTS index.Steps to Reproduce
memory/persona.mdcontaining "Clyde")openclaw memory index --forceto ensure index is freshmemory_searchwith the keyword queryExpected Behavior
memory_search("Clyde")should return the chunk frompersona.mdthat contains "Clyde"Actual Behavior
memory_search("Clyde")returns empty results[]Proof that FTS index is correct
Direct SQLite query works:
This returns the correct chunk from
persona.md.Configuration
Environment
Analysis
The FTS index (
chunks_fts) contains the data and responds correctly to MATCH queries. The vector embeddings also exist. The bug appears to be in the hybrid merge layer that combines FTS and vector results before returning to the caller.Semantic queries work (e.g.,
memory_search("persona voice")returnspersona.md), but exact keyword queries fail.