haiku.rag/docs/configuration
Yiorgis Gozadinos d9ac221ca0
Refuse a chunk id that names a chunk in two databases
A chunk id is unique within a database and says nothing across them, so a
database copied from another holds the same ids. `qualified_id` keys the
two in-memory identity sites on the database and the id together:
`merge_results` was dropping the second database's result when a query
repeated, and the arrival map that breaks fused score ties was ranking one
of the pair as the other.

Everything serialized records the id alone, so there ambiguity is refused
rather than qualified. `resolve_citations` raises `AmbiguousCitationError`
for a cited id held by two of the databases searched, where it used to
resolve to whichever result came last; `_register_citations` raises for one
already cited from another database in an earlier question. `_cite` turns
both into a `ModelRetry` asking for other evidence. The direct-id fallback
asks every database the question covers instead of taking the first that
answers, so an id no search returned is refused on the same terms.
`all_found` collects them and `first_found` reads its first, which document
reads keep doing on purpose.

Also drop a duplicated 0.77.0 heading from the changelog.
2026-08-25 17:38:25 +03:00
..
index.md Document searching several databases 2026-08-24 10:03:46 +03:00
processing.md Dedupe picture chunks and skip small pictures at chunking 2026-07-09 10:24:32 +03:00
prompts.md Make the documented configuration match the code 2026-08-19 15:52:50 +03:00
providers.md Add per-endpoint api_key to model and embedding config 2026-08-23 23:54:40 +03:00
qa.md Make the documented configuration match the code 2026-08-19 15:52:50 +03:00
storage.md Refuse a chunk id that names a chunk in two databases 2026-08-25 17:38:25 +03:00