Parent: #240
Split out from: #248 (see scope-update comment carried over from #259)
Context
burn search <query> was added to the CLI scope in the #259-driven scope update on #248 but never landed. Neither the SDK verb nor the CLI presenter exists today:
- No
search / search_* symbol in crates/relayburn-sdk/src/lib.rs.
- No
Search variant in crates/relayburn-cli/src/cli.rs::Command.
Scope
SDK (relayburn-sdk)
- New verb (e.g.
relayburn_sdk::search) backed by an FTS5 virtual table over the content.sqlite body store.
- Inputs: query string, optional
session_id, optional limit, optional snippet flag.
- Output: ranked hits with session id, turn id, and (when
snippet) a highlighted excerpt.
CLI (relayburn-cli)
- New
burn search <query> [--session <id>] [--limit N] [--snippet] subcommand.
- Thin presenter over the SDK verb. Honors
--json for machine output and the global --ledger-path override.
Acceptance
Parent: #240
Split out from: #248 (see scope-update comment carried over from #259)
Context
burn search <query>was added to the CLI scope in the #259-driven scope update on #248 but never landed. Neither the SDK verb nor the CLI presenter exists today:search/search_*symbol incrates/relayburn-sdk/src/lib.rs.Searchvariant incrates/relayburn-cli/src/cli.rs::Command.Scope
SDK (
relayburn-sdk)relayburn_sdk::search) backed by an FTS5 virtual table over thecontent.sqlitebody store.session_id, optionallimit, optionalsnippetflag.snippet) a highlighted excerpt.CLI (
relayburn-cli)burn search <query> [--session <id>] [--limit N] [--snippet]subcommand.--jsonfor machine output and the global--ledger-pathoverride.Acceptance
content.sqliteschema (and rebuilt byburn state rebuild --content-only).relayburn_sdk::searchreturns ranked hits against the cli-golden fixture ledger.burn search <query>golden-output test passes (human +--jsonmodes).--snippetreturns highlighted excerpts;--limitcaps result count;--session <id>scopes to one session.