Files
trufflepig/docs
Joshua MoonandClaude Opus 5.5 ae95adebe4 feat(store): add query-only read path
Store::open_read opens index.sqlite3 read-only (query_only, no DDL,
2 s busy timeout capped by the query deadline, 2 MiB page cache) and
answers index_warming for a missing index or generation 0. A SQLite
progress handler interrupts statements once the request's
QueryDeadline (src/daemon/deadline.rs, 20 s) expires; classify()
relabels the interrupt as timed_out. reading_from() lets a worktree
read its own bytes through a parent member's index and save results
in its own cache. Store::index refuses on a reader.

Result sets move to <cache>/results.sqlite3 (ResultSetStore,
Store::result_sets), so saving results never queues behind a
publication; the old table is dropped at the next publish.

Search/show/refs/map/more/ctx in dispatch, workspace retrieval,
MemberSnapshot::open and navigation::read use open_read. The
workspace member loop takes a QueryDeadline and records members
reached after it as timed_out ("MEMBER timed out").

source::reextract_definition extracts one file in memory and returns
the same-name/kind definition nearest a line with its current
revision, for stale-read and worktree-diff fallbacks.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 08:57:21 -04:00
..
2026-09-28 18:23:03 -04:00