Search RAW conversation trajectory: prior user/assistant messages, tool inputs, tool errors.

USE ONLY WHEN MEMORY SEARCH RETURNS NOTHING USEFUL.

memory is your curated notebook — small, fast, semantically organized. ALWAYS try `memory` first.
history is the unindexed firehose of your past sessions: bigger, noisier, slower, and tool result
cap will likely truncate `around` output forcing a follow-up Grep/Read. Reach for it as a last
resort, e.g.:
  - memory had no entry, but you suspect this came up in a prior session
  - you need verbatim recall of something the memory summary glossed over
  - debugging "did I already try X" across the project

Two operations:
  - search: FTS BM25 over text/tool kinds (returns snippets + message_ids)
  - around: given a search hit's message_id, pull ±N surrounding messages from the raw store

Default scope is current project; pass scope="global" to search every project on this machine.
