github Dicklesworthstone/coding_agent_session_search v0.10.0

latest release: v0.11.0
one month ago

cass v0.10.0

Long sessions become fully searchable, giant conversations index in bounded slices, a doctor repair for leaked archive pages, and robot output that says how it read your query.

Upgrade notes:

  • The first cass index after upgrading rebuilds the lexical index once from the database, on an archive of any size. The old index capped each conversation at 8 MiB of text in total, so messages past that point were stored but never searchable (on one owner archive, 39.6% of non-empty messages). The cap now applies per message. Expect that first run to take as long as a full rebuild.
  • The archive schema moves to v22 (forgotten_sources, for cass forget) in place on first open. Logical archives exported by v0.9.0 (schema v21) and v20 still restore (cass archive import --allow-compatible-schema).

Fixes reporters were waiting on:

  • #504: OpenCode 2.x sessions (session_v2 / session_message) are indexed, via franken-agent-detection 0.3.3 (6d75777).
  • #500: Claude Code prompts typed while the agent is mid-turn (queued_command attachments) are indexed as user messages (1171950). Sessions indexed before upgrading pick up their earlier queued prompts after cass index --full.
  • #502: cass index --watch-once sees commits that live only in a SQLite source's WAL (OpenClaw, Cursor, OpenCode, Goose, Devin, Shelley, Antigravity) (b420678).
  • #505: sources setup --tailscale no longer probes Mullvad exit nodes as SSH hosts (3a48d21).
  • #506: CASS_RAW_MIRROR=0 turns raw-mirror capture off, so a cass mirror prune sticks (e021334).
  • #507: cass pack says why it used lexical evidence (realized.fallback_reason) (ae2c0cc).
  • #495: cass status no longer reports a retired FTS shadow as a pending repair.
  • #496: cass status reports the cgroup memory limit the process actually runs under.

Also fixed:

  • A conversation over 16,384 messages or 32 MiB is persisted in bounded slices instead of one transaction, so a 1 GiB Codex rollout no longer outlives the index watchdog. A batch that mixes such a conversation with ordinary ones indexes all of them (9f1d16d).
  • Index runs on multi-million-message archives no longer spend 25+ minutes counting touched conversations at startup or get killed after ingest (95b8e91).
  • The one-time legacy analytics rebuild no longer reads the whole archive into memory (17.3 GB -> 1.1 GB on a 16 GB copy).
  • Codex rollouts above 100 MiB index again when CASS_CODEX_MAX_SOURCE_BYTES allows them.
  • Semantic search comes back after forget, dedup --apply and sources agents exclude (the v0.9.0 known issue).
  • A forgotten session stays forgotten when other sessions in its directory change, and a purge interrupted mid-rebuild is finished by the next plain cass index.
  • FrankenSQLite 0.4.6: a live B-tree page can no longer be freed and handed out again (page N is referenced multiple times).

Added:

  • cass doctor --repair-leaked-pages frees leaked archive pages (page N is never used) in place, with a verified backup, when they are the only damage.
  • Robot search echoes how the query was grouped (_meta.effective.query_structure), why the automatic wildcard retry did not run, and, for an empty --workspace search, a zero_result_diagnosis with likely candidates. cass pack --json echoes what its search ran, redacted like the rest of the pack.
  • The Pages viewer accepts a typed recovery key.

Contract change (pre-1.0 minor bump):

  • Every robot error kind is kebab-case: lexical_generation is now lexical-generation, and lexical-shard, failed-seed-bundle-file and retained-publish-backup moved with it. artifact_kind values in status, diag and doctor output keep their snake_case spelling.

Known open at release (details in CHANGELOG.md):

  • ann_shards::wal_tests (3 tests) are red, as at v0.9.0 (non-native graph sidecar fixtures).
  • metamorphic_introspect_schema::introspect_response_schemas_cover_runtime_json_shapes: at --max-tokens 1200, the pack envelope (now including _meta.effective) leaves no room for the fixture's evidence, so the pack comes back with none. Small --max-tokens budgets hold less evidence than in v0.9.0; the default budget (12,000) is unaffected.
  • gh457_hollow_generation failed once in a sharded run on a build host whose workspace held untracked agent-session files; on a clean tree at the release commit (2bfe708) it passes (61/61), so this is test isolation, not a regression.
  • The integration suite was run in part (72 of 287 targets plus the release gate's targets and goldens) because the build fleet was saturated; the rest is still running.
  • cass index --semantic holds a whole conversation's text in memory while embedding it; on a conversation of hundreds of MiB that is a large transient peak. No data is lost.

Assets: Linux x86_64 and arm64 (glibc 2.28 floor), macOS arm64, Windows x86_64. Install with install.sh / install.ps1 from this release, or download an archive and check it against SHA256SUMS.

Don't miss a new coding_agent_session_search release

NewReleases is sending notifications on new releases.