## Dicklesworthstone/coding_agent_session_search — v0.6.26…v0.7.1

_429+ commits._

### Features
- **feat(watchdog): grant bounded preparing grace while process block IO advances (fr7wp / #413)** (f2f0aaf)
- **feat(index,doctor): persist post-index integrity attestation and un-ignore doctor candidate promotion gates (no0uw)** (4b31f99)
- **feat(search,storage,e2e): update pack planner, key management, and fleet rehearsal fixtures** (76bcde6)
- **feat(analytics): integrate MetricOutcome taxonomy across derived metrics and bakeoff calculations** (88929cd)
- **feat(models): `cass models build-hnsw` — HNSW-only publisher for a published FSVI (uaulb, gh#408)** (02375f7)
- **feat(lessons): expose live evidence source read status (98anf.1)** (ff08c15)
- **feat(index): one-shot `index --semantic` embeds only the delta when the watermark trails (tpndx, gh#394 remainder)** (1104b15)
- **feat(indexer): support one-shot semantic delta embedding on trailing watermarks (tpndx / #394)** (c54677e)
- **feat(search): add opt-in multilingual MiniLM lifecycle (#410)** (101821f)
- **feat(search): auto-spawn attested daemon on the rerank path** (2139e73)
- **feat(raw-mirror): reclaim crash-orphaned content blobs during prune** (c9927cd)
- **feat(cli): give selftest its own error kind and JSON contract** (5adce79)
- **feat(raw-mirror): store growing sources as 4MiB content chunks** (402515f)
- **feat(daemon): attest embeddings over protocol v2** (fbabc4e)
- **feat(schedule,indexer): keep the index fresh automatically + green the build** (81516c0)
- **feat(doctor): extend raw-mirror amplification reporting coverage** (d39594a)
- **feat(doctor): report raw-mirror sources that amplify stored bytes** (2ef5e52)
- **feat(storage): split legacy OMP analytics rebuild from lexical publish** (2add70a)
- **feat(indexer): optimize batch queue memory footprint** (4937c13)
- **feat(indexer): refine indexing queue batching and SQLite transaction locks** (e6f1d3e)
- **feat(storage,indexer): refine storage connection pooling and indexing status** (cd3248c)
- **feat(indexer,storage): enhance indexer worker status and expand lexical fail open tests** (9157eff)
- **feat(indexer): refine incremental index worker channels** (32e888c)
- **feat(search,storage): enhance model manager lifecycle, latency benchmarks, and storage query planning** (f6d1e0a)
- **feat(indexer): optimize background refresh and asset state tracking** (9ac266c)
- **feat(daemon,indexer,storage): enhance indexer responsiveness, search query planning, and daemon recovery** (ca088e9)

### Fixes
- **perf(models): reuse the open backfill handle for checkpoint fingerprinting (povuc item 4, PR#384/gh#383)** (b4022f4)
- **fix(index): bounded block-IO grace for preparing-phase stalls (fr7wp, gh#413 window)** (cd419c6)
- **fix(indexer): gate metadata refresh on noise-adjusted doc count and probe DB before lock (fixes #435, #436)** (02a3165)
- **fix(index): size worker stacks on every platform** (19a9df3)
- **fix(status,models): fresh-eyes review follow-ups for f6bad77f + 02375f70** (4fe8e7d)
- **fix(status): strict read-only, hard-bounded archive probe for the status lane (k2k20 ask #2)** (f6bad77)
- **fix(status): report a legacy Tantivy generation as engine-incompatible, not ready (b4uax, gh#382)** (b61af33)
- **fix(doctor): scale the archive-DB probe budget with archive size (ub29t issue 5, gh#374)** (5f28804)
- **perf(doctor): scale archive-DB probe timeout with database and WAL bundle size (ub29t / #374)** (91ddd68)
- **fix(workflows): validate unknown macro warnings** (46a70fa)
- **fix(connectors): preserve OMP profiles in remote mirrors** (1383fa5)
- **fix: fresh-eyes review of today's changes (heartbeat latency, listing default, HNSW revoke, reaper guard, publish cleanup)** (5772cce)
- **fix(index): coalesce nested watch roots per connector (txy4o)** (b9b57b3)
- **fix(pages): remove the staged candidate's fsqlite namespace identity records after publish (gz8xg)** (dae1c49)
- **fix(search): answer suffix/substring/complex wildcards in the SQLite-only lane (1t79z)** (046ab91)
- **fix(search): scope the SQLite FTS fallback to title/content query fields (k0lo1)** (1564f8b)
- **fix(cli): never replay a row-mapping callback on its own failure (negs9)** (49af1a9)
- **fix(pages): make hide_metadata cover workspace and snippet paths (019i2)** (dec5167)
- **fix(index): don't fail an incremental/watch-once run that had nothing to publish** (5dce0f6)
- **fix(status): share the stderr liveness heartbeat with `cass status` (k2k20 ask #1)** (662a270)
- **fix(doctor): bound the raw-mirror manifest listing by default (ub29t, gh#374 issue 4)** (b6c245e)
- **fix(search,doctor): human stale-index note + doctor liveness heartbeat (i6tyy, siekg)** (4408306)
- **fix(indexer): read macOS loadavg in-process and release initial batch reservation in test** (d1dc150)
- **fix(provenance): kind-first local/remote classification across query, indexer, storage, and UI** (d1c7078)
- **fix(windows): pin fsqlite read-only integrity repair (#429)** (35298ef)
- **fix(installer): unset RUSTUP_TOOLCHAIN in subshells to preserve rust-toolchain.toml precedence** (9ad674c)
- **fix(installer): use repository-pinned Rust toolchain for source builds** (27ed1a3)
- **fix(indexer): qualify anyhow macro on Windows** (a29f7eb)
- **fix(lints): keep diagnostic helpers warning-free** (ddd9283)
- **perf(indexer): use literal prefix cap in lexical query and handle legacy rebuild state** (f273ccc)
- **fix(search,storage): qualify FastEmbedder and keep tests compiling** (9b77e70)
- **fix(search,storage): import frankensearch core identity and cap rebuild streams** (f8d1cdb)
- **fix(windows): shut down bridges and size stacks for MSVC** (d9477c6)
- **fix(daemon): open spawn locks with O_NOFOLLOW and mode 0600** (876d816)
- **perf(index,storage): own canonical-replay packets and fail closed on stats drift** (ac49507)
- **fix(schedule): de-register stale jobs on re-install (e.g. --no-nightly)** (72b15eb)
- **perf(indexer): cache macOS phys_footprint and tighten lexical page budget** (1bfc929)
- **fix(index,storage): fail closed on mid-rebuild drift and cheapen resume probes** (7af85c8)
- **fix(schedule): fresh-eyes review fixes for the background-indexing wave** (f58d9f6)
- **fix(indexer): resume watch-once skip for analytics-only OMP work** (31f8e47)
- **fix(storage): rebuild daily stats from canonical message bytes** (722f3f3)
- **fix(search): skip empty conversations in browse-by-date** (c728035)
- **fix(restore): reinstate raw-mirror amplification + OMP analytics-split work swept back by 81516c01** (d29f882)
- **fix(tests): frankensearch source contract pins the registry, not a git revision (gh#416)** (b316b35)

### Backend
- **release: cass v0.7.1** (19336ea)
- **diagnostics(indexer): trace content-bounded page conversation limit decisions in lexical rebuild** (bc39bf9)
- **merge(origin/main): keep core identity imports and Windows/MSVC shutdown** (1d515cf)
- **docs,refactor(search): update search asset state and documentation** (77b0232)

### Tests
- **test(robot): stabilize budget contract goldens across hosts** (fb3bcfd)
- **test(index): add ignore-gated GH#413 shaped-corpus e2e receipt for cjugu** (b56e02c)
- **test(lessons): harden graph contract checks** (0c41210)
- **test(storage): add attributed migration tests and legacy FTS teardown refusal coverage** (8510419)
- **test(golden): refresh robot/robot-docs goldens for shipped additive surfaces** (d4088af)
- **test: de-flake the preflight-watchdog window and the daily_stats RSS measurement (3pp5m, pd5nw)** (b6997ec)
- **test(e2e): reap spawned cass process groups when the harness itself dies (1j6x8)** (66c97e6)
- **test(installer): assert RUSTUP_TOOLCHAIN environment override behavior in source installer test** (a482145)
- **test(schedule): e2e suite + governor kill-switch honored by pressure gates (coding_agent_session_search-ongq1)** (fdac571)
- **test(storage): prove GH-402 first-contact reopen after page reclaim** (fdf2862)
- **test(raw-mirror): prove partial-tail and sparse page-store chunk reuse** (56a5ad5)
- **test(storage): prove GH-402 reserved-empty readonly reopen** (c2357c1)
- **test(doctor): e2e coverage for raw-mirror amplification health** (10b1201)
- **test(search): add lexical fail open e2e coverage** (463b699)
- **test(tui): refine headless smoke tests and UI app state** (d7779b2)
- **test: repair integration regression coverage** (4053e79)

### Docs
- **docs(changelog): describe the v0.7.1 release candidate truthfully** (510f426)
- **docs(daemon): document per-archive attested sockets** (d337f12)

### Chore
- **chore(deps): bump fsqlite engine family to 0.3.13 (rev 2d8a68b9) — autoindex-vanish corruption-writer fixes** (39d85c9)
- **chore(beads): ul46p FAD side landed (68f5c3d8); cass half staged, blocked on FAD 0.2.2 crates.io publish** (6eef523)
- **chore(beads): gothf.11 audit - cfg_aliases half done in-lock; nix 0.28 blocked on portable-pty upstream** (3c75a93)
- **chore(beads): povuc receipt - item 4 fingerprint reuse landed; only upstream item 3 remains** (6fffe05)
- **chore(beads): restore 9msvx close lost to JSONL re-export (original close 7ad6422c)** (29984d2)
- **chore(beads): close fr7wp (preparing-phase block-IO grace landed cd419c6f)** (1bb0391)
- **chore(beads): close bo000 (obsolete - tree pins fsqlite =0.3.11 past the 0.2.1 target)** (2eecd0c)
- **chore(beads): close 3pfm5** (ae695be)
- **chore(beads): close 9msvx** (7ad6422)
- **chore(beads): file 3pfm5 (debug index worker stack overflow in fsqlite open)** (90adbd9)
- **chore(beads): cjugu final session state — fix verified, receipt committed ignore-gated (coding_agent_session_search-cjugu)** (489c4b3)
- **chore(beads): cjugu receipt progress — unit regression re-verified at HEAD, e2e receipt staged (coding_agent_session_search-cjugu)** (7ff7996)
- **chore(beads): close uaulb (cass models build-hnsw landed 02375f70)** (cea2c34)
- **chore(beads): k2k20 receipt for f6bad77f (status strict bounded probe)** (606bccf)
- **chore(beads): close pet06 (covered by 101821f3 multilingual MiniLM lifecycle)** (54dc08f)
- **chore(beads): close b4uax — legacy Tantivy generation reported as engine-incompatible with the exact rebuild contract** (3dcd14e)
- **chore(beads): close ub29t — doctor listing bound + size-scaled probe budget landed** (fb63693)
- **chore(beads): close OMP remote mirror provenance fix** (0d35a6d)
- **chore(beads): close gh350 watch-once bounding as implemented and verified (coding_agent_session_search-gh350-watch-once-corpus-wide-work-z154d)** (8121a8c)
- **chore(beads): close gh349 bounded migration path and golden-drift bead (coding_agent_session_search-gh349-migration-oom-bounded-path-7bpbo)** (74b11a3)
- **chore(beads): povuc — audit of PR#384 companion ideas vs head** (7910f7a)
- **chore(beads): close pd5nw — RSS growth measured on the settled minimum of two samples** (b6f82dc)
- **chore(beads): close 3pp5m — preflight watchdog test window widened** (acf7dbf)
- **chore(beads): close 7l2f6 — vmi1227854 probes healthy, no disk pressure** (7f8bcba)
- **chore(beads): close 1j6x8 — e2e runner reaps child groups when the harness dies** (9cd360d)
- **chore(beads): close txy4o — nested OMP watch roots coalesced** (7adb155)
- **chore(beads): close hhmmd — Codex heartbeat already routed via owning ScanContext (3d6ad64f)** (20dff11)
- **chore(beads): ztlan — audit note, owner decision needed on child-stdin strategy** (a578139)
- **chore(beads): close 98anf.1 — live lessons source read status exposed** (a3bd735)
- **chore(beads): close gz8xg — staged candidate ns identity records removed after publish** (00d0598)
- **chore(beads): close 1t79z — SQLite-only lane answers suffix/substring/complex wildcards** (3d83cea)
- **chore(beads): close k0lo1 — SQLite FTS fallback scoped to title/content** (68c035f)
- **chore(beads): close negs9 — callback failures no longer replayed by retry helpers** (f52e85e)
- **chore(beads): close 019i2 — hide_metadata now covers workspace + snippet paths** (2411a29)
- **chore(beads): u3vho — note postcondition regression fix for empty-archive incremental runs** (f388ec5)
- **chore(beads): close tpndx — one-shot semantic delta embed landed in 1104b15b** (f3367f3)
- **chore(beads): close icvbt — gh#386/#387 shipped in v0.6.25/v0.6.26** (664bebd)
- **chore(beads): close wp8i0 — begin-concurrent persist tests 13/13 on main** (43ce052)
- **chore(beads): close 482wm + 5liwn — named storage/persist tests pass 3/3 on main** (5d9eb5c)
- **chore(beads): fr7wp audit — #373 variants fixed upstream; scope remaining preparing-open window** (8d41b04)
- **chore(beads): k2k20 — asks #1/#3 covered at head, #2/#4 remain** (9379a0a)
- **chore(beads): ub29t issue-4 receipt; close zzw25 (already fixed via gh#396)** (7d03150)
- **chore(beads): record br 0.5.3 fsqlite write-corruption + legacy-id re-merge finding on uojcg.14.5** (26bbce8)
- **chore(beads): close i6tyy, siekg, 4m9wz, wjpwx, 13xwk with gate receipts; note u3vho/cjugu reporter-only remainder** (f8643ba)
- **chore(beads): sync issue tracker state for indexer responsiveness** (341d3c3)
- **chore(beads): update issues tracker state for provenance and audit beads** (bdaba23)
- **chore(beads): track pinned toolchain installer fix** (2f7979a)
- **chore(beads): track Windows Quill release proof** (6c674d8)
- **chore(beads): record GH426 upstream source-boundary blocker** (e447098)
- **chore(beads): track GH422 search refresh liveness** (1a66ef9)
- **chore(beads): record GH413 legacy retest boundary** (5673bd8)
- **build: stop pinning `jobs` in the repo cargo config** (644ea03)
- **chore(beads): track resumable ingest ledger** (23bc294)
- **chore(deps): pin fsqlite 0.3.11 and frankensearch 0.4.1** (e16d39a)
- **chore(beads): close rt75m — all 9 audited integration suites verified green at HEAD** (bbad14a)
- **chore(toolchain): pin nightly-2026-08-25** (0160e66)
- **refactor(doctor,storage): simplify mutation lock error classification to WouldBlock** (691f064)
- **chore(beads): file the full integration-audit red map** (a150962)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/Dicklesworthstone/coding_agent_session_search?utm_source=github-action)._