memory.search
Recall saved facts, decisions, and preferences from earlier sessions that the current conversation never carried, using keyword or meaning-based search.
Instructions
Recall saved KNOWLEDGE from the owner's memory pool — facts, decisions, preferences, product/domain notes the owner or you saved with memory.write. Its job is CROSS-SESSION recall: knowledge from earlier sessions that the current conversation never carried. A truncated entry's full text comes back when you call again with its memory_id. To recall what is saved about a person or a thing, pass about too: it finds notes by their claim, in whatever words or language they were saved. READ match BEFORE USING THE RESULTS — it says how well they actually matched: exact = every word you searched for is present, treat the top result as the answer; relaxed = every meaningful word is present, filler words were dropped, still reliable; loose = NO entry contained all your terms and these merely share some, so treat them as candidates to weigh, never as the answer, and tell the user the match was approximate; semantic = NO entry shared any of your words, so these were found by MEANING alone — check the entry is really about what was asked before relying on it, and say you found it by meaning rather than by wording; claim = each note's claim names what you passed in about, either way round. top_margin (0-1) is how far the first result outscores the second: near 1 the leader clearly wins, near 0 they are interchangeable and you must not silently pick one — say they are equally close, or ask. An entry marked by_you is one you saved: only those can you correct (memory.write with replaces) or remove (memory.forget). When entries disagree, the owner's own (origin_actor user_self) beats an agent's whatever the dates; an entry under rejected is one the owner marked wrong, so never state it as true; between agents' entries the newest wins, and you ask the user when the difference matters; a removed note counts for nothing, however often it was saved; and a save met again in old chat (recall.search) is only history: its memory_now says where that note stands now. Do NOT call it to re-fetch something already said in THIS conversation — this pool holds saved knowledge, not the transcript. Only the last few turns are in front of you; earlier ones are NOT lost — recall.search brings them back. It holds no run history, mail, calendar or contacts; those have their own tools.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| about | No | One name, or two for how two are related, written as a save's `claim` writes them ("owner" for the user). With `query` too, its words answer when no claim names them. | |
| query | No | What to recall — free text, matched over each memory's summary and full body. Omit to get the most recent memories. | |
| since | No | Only memories at/after this epoch-ms. | |
| until | No | Only memories at/before this epoch-ms. | |
| cursor | No | Next page — pass the `next_cursor` from a previous result. | |
| memory_id | No | Fetch ONE memory in full. Pass the `memory_id` of an entry that came back `truncated`. Ignores `query`. |