Repository navigation
·
13 commits
to main
since this release
Search overhaul for AI memory-recovery, plus a build on Rust 1.96 / edition 2024.
(Spans 0.8.3–0.8.7; the crate is published to crates.io at the same version.)
Highlights
- Anti-recursion tag, actually wired. Every stream now opens with a
metarecord stamping<smc-cc-cli>; search excludes its own prior output by default (the guard previously existed but was never emitted). Survives token-budget truncation. - Match-centered snippets. Snippets are a window centered on the hit (not a fixed prefix that often missed the match). New
--snippet-len; matches reportmatch_offsetandmsg_chars. - Honest truncation. The
summaryis always emitted (even when the budget cuts output short) and now carriestotal_matched,truncated, andcapped. --sort {document|recency|oldest|relevance}. Cap is applied after sorting, so--sort recency --max Nreturns the N most recent matches. Results are now deterministic (the racy early-exit was removed; search is exhaustive).--group-by {session|thread}. Collapse many hits about one conversation into a singlegrouprecord (count, timestamp range, sample snippets).threadwalks theparentUuidchain to its root.- BM25 relevance (
--score,--sort relevance). Standard BM25 (k1=1.2, b=0.75) over corpus stats gathered during the scan; opt-in, pure Rust, no new dependencies. uuidemitted per match (stable handle).
Notes
- Requires Rust 1.85+ (edition 2024).
- Binary asset below is macOS arm64 (
aarch64-apple-darwin). Other platforms:cargo install smc-cli-cc.
Full per-version detail is in the v0.8.3–v0.8.7 commit messages.