haiku.rag/tests/cassettes
Yiorgis Gozadinos fdb5710491
Ask and analyze across several databases
Chunk 2 gave search a configured set to fan out over. ask and analyze
covered one database still: the RAG capability had no way to be told which
databases a question spanned, and the analysis sandbox mounted one
document tree.

The selection travels as sources on EvidenceState, beside the filter it
scopes with, so both capabilities read it the same way. clients_covering
is the one rule that turns a selection into clients, used by search, the
sandbox mount and the cite fallback, so a question scoped to some
databases cannot search, mount or cite another. Citations carry the
database they came from, and format_for_agent names it, so the model can
attribute evidence while it answers rather than only afterwards.

The sandbox keeps one flat /documents/{id}/ namespace and resolves each id
to the client holding it, which rests on ids being UUID4. A database
copied from another breaks that, so an id held twice is refused rather
than resolved to whichever arrived last.

On the CLI, search, ask and analyze cover the configured set and label
each result with its database. Every other command works on one, named
with --database NAME (a name reaches a database behind a URI, which --db
cannot) or --db PATH, and refuses a set it cannot choose from instead of
silently reading the default database. Cold databases open together, so a
first query costs the slowest open rather than their sum.
2026-08-24 10:03:46 +03:00
..
test_chunk Fix defects found reviewing the coverage work 2026-07-27 10:44:32 +03:00
test_chunker Store docling-serve chunk bodies via raw_text 2026-06-23 16:35:21 +03:00
test_client Close the source adapter one-shot ingestion builds 2026-08-19 13:14:21 +03:00
test_client_analyze replace haiku.skills with native Pydantic AI capabilities 2026-07-24 15:26:17 +03:00
test_context_enhancement replace haiku.skills with native Pydantic AI capabilities 2026-07-24 15:26:17 +03:00
test_converters Re-record remaining docling-serve cassettes against 1.25.0 2026-06-23 16:44:58 +03:00
test_database_autocreate
test_document_tools Reach and enforce 100% coverage 2026-07-26 20:11:02 +03:00
test_duplicate_ingestion Re-check URI under the write lock to prevent duplicate ingestion 2026-07-08 11:26:45 +03:00
test_embedder Add Cohere multimodal embedder 2026-06-23 15:23:10 +03:00
test_filter Rename document_meta identity column document_id to id 2026-07-08 16:32:55 +03:00
test_multi_db_ask Ask and analyze across several databases 2026-08-24 10:03:46 +03:00
test_picture_in_context auto-append /v1 to per-model Ollama base_url, fix flaky tests 2026-05-04 13:12:37 +03:00
test_read_only
test_rebuild Refresh source-backed documents in place on a FULL rebuild 2026-08-19 13:06:39 +03:00
test_reranker
test_revision_round_trip Pass fetched FetchResult to ingester metadata providers 2026-06-16 16:37:26 +03:00
test_s3_source cover s3 uri override, unsupported extension, watcher error path 2026-05-11 11:29:56 +03:00
test_sandbox Recover from worker death and deny metadata writes 2026-07-28 19:11:19 +03:00
test_search
test_search_tools Report tool failures with ToolFailed 2026-07-27 18:26:42 +03:00
test_versioning Put multi-table writes behind one transaction boundary 2026-08-19 14:05:40 +03:00