Search your own conversation history, including compacted older segments and the active conversation window. Use this when the user asks what you discussed before, when you need to verify a past exchange, when you need messages from a specific time range, or when the answer may be in the transcript rather than in curated memory files. Provide `query` for keyword search, `start_time` and/or `end_time` for an inclusive RFC3339 time range, or combine them to narrow keyword matches to a window. Returns matching messages with role, timestamp, source, and a short excerpt.

Only the visible chat text is searched — your private thinking and tool-call/tool-result payloads are never matched or returned, so this behaves like searching the actual conversation. `query` matches on individual words, not the phrase as a whole: a message matches if it contains *any* of the query terms, and messages containing more of the terms (or the exact phrase) rank higher — so natural-language queries like "cache bug overnight" work and you don't need to reduce them to a single keyword. Keyword results are ranked by relevance blended with recency (recent matches surface above older ones of similar relevance); time-range-only queries are returned oldest-first. `searched_messages` reports the total number of stored messages examined for the query (the full corpus), not the number returned. Excerpts are clipped — when the answer is non-trivial, follow up with another `search_history` for adjacent terms/time windows or `search`/`read` against memory to get the full picture.
