Search operators
One grammar, three places: the search screen,turnlog search, and the MCP search
tool. Operators combine with each other and with free text, and any operator works alone.
Anything Turnlog does not recognise as an operator stays a search term, so file.ts:12
and https://… never break a query.
Matching
Exact where a name is a literal, fragment where you would not want to type the whole
thing.
branch:main never matches main-experiment; project:turnlog does match
turnlog.landing, which is usually what you want — narrow with the refine chip if not.
Values with spaces
Quote them:tag:"needs review". The quotes are syntax, not part of the value.
Dates
before: and after: take either an ISO prefix or plain words:
after: is inclusive, before: exclusive. A value that is not a date stays a search
term rather than silently matching everything.
The two that are not filters
is:error also switches on the recurring-failure band above the results — the same
failure grouped across runs. Only error queries pay for that scan.
like:<session-id> builds its terms from the target session’s own rarest words and
excludes that session’s resume chain. Combine it with text to narrow:
like:d987e733 auth.
Combining
Everything AND-s:Deep search
With the opt-in trigram index built, the inside words toggle changes matching from whole words to substrings —eWebSock finds useWebSocket. Terms shorter than three
characters cannot be served by a trigram index and are dropped; a query made only of them
returns nothing rather than silently searching for something else.