haiku.rag/haiku_rag_slim/haiku/rag/tools
Yiorgis Gozadinos 2000098e16
Say which commands cover a set, and what a shared id does
Three groups, not two: `search`, `ask`, `analyze` and `chat` cover the set,
`settings`, `init-config` and `download-models` open no database, and every
other command works on one — or on a configured set of one, which is
unambiguous and keeps its name. A database named in `lancedb.databases` keeps
that name whether or not it is the only one covered; only `lancedb.uri` places
one without naming it.

Document ids repeat between copies of a database, where the sandbox refuses a
duplicate but the chat filter's `id IN (...)` matches the document in every
copy. `build_document_id_filter` claimed ids never widen a selection.

Document the facade: `covers_multiple`, `source_names`, `source`,
`reader_for`, `clients_for`, the lifetime of a borrowed client, and
`sources=None` against `sources=[]`.

Drop the vision callout from the README, which the features list already
covers.
2026-08-26 13:03:58 +03:00
..
__init__.py Select documents to filter by id, not by displayed name 2026-08-24 15:27:59 +03:00
context.py Simplify tools/ — remove AG-UI state machinery, keep core toolsets 2026-02-20 16:36:48 +02:00
document.py Report tool failures with ToolFailed 2026-07-27 18:26:42 +03:00
filters.py Say which commands cover a set, and what a shared id does 2026-08-26 13:03:58 +03:00
search.py Move the wire rewrite into the compaction capability 2026-08-13 13:00:02 +03:00