haiku.rag/haiku_rag_slim/haiku/rag
Yiorgis Gozadinos 5de04b0108
ARM ONLY, NEVER MERGE: retrieval score first, RRF rank second
Merge-and-sort discards rank, so where raw scores tie exactly it falls back
to lancedb.databases declaration order. Rank and score are independent
discriminators, not the same information at different resolution: a
single-branch rank-0 candidate and a rank-2 candidate with two both-branch
candidates above it can carry the same score.

So keep score primary, which is what buys merge-and-sort its recall, and
resolve score ties by within-database position instead of by YAML order.
That prefers the candidate nothing in its own collection beat, which is
signal.

Measures whether merge-and-sort's order sensitivity at n=4 (1.49pp against
the tie-break's 0.56pp) is reducible without moving to continuous scores.

Claude-Session: https://claude.ai/code/session_01WhudUtZm6qqiuv8Y1sbwSc
2026-08-31 19:10:19 +03:00
..
capabilities Finish the comment pass, and escape document fields everywhere Rich renders 2026-08-28 15:34:47 +03:00
chat Finish the comment pass, and escape document fields everywhere Rich renders 2026-08-28 15:34:47 +03:00
chunkers Delete comments that restate the line below them 2026-08-20 15:22:33 +03:00
client ARM ONLY, NEVER MERGE: retrieval score first, RRF rank second 2026-08-31 19:10:19 +03:00
config Honor configured vector metric during search 2026-08-31 21:38:00 +08:00
converters Add per-endpoint api_key to model and embedding config 2026-08-23 23:54:40 +03:00
embeddings Accept a /v1 suffix on the vLLM reranker base_url 2026-08-28 15:46:42 +03:00
ingester State what the code does, not what it replaced 2026-08-28 15:13:52 +03:00
inspector Finish the comment pass, and escape document fields everywhere Rich renders 2026-08-28 15:34:47 +03:00
providers Wire providers.docling_serve.timeout through to the client 2026-08-19 13:30:45 +03:00
reranking Accept a /v1 suffix on the vLLM reranker base_url 2026-08-28 15:46:42 +03:00
sandbox Finish the comment pass, and escape document fields everywhere Rich renders 2026-08-28 15:34:47 +03:00
sources Resolve file:// URIs to paths through url2pathname 2026-08-21 10:22:26 +03:00
store Update lancedb to 0.37.1 2026-08-31 18:54:48 +03:00
tools Finish the comment pass, and escape document fields everywhere Rich renders 2026-08-28 15:34:47 +03:00
__init__.py Restructure into uv workspace to support minimal and full installations 2025-11-04 17:59:12 +02:00
app.py Add --full-citations to ask and analyze 2026-08-31 16:31:09 +03:00
circuit_breaker.py Move CircuitBreaker to a shared module 2026-07-08 11:03:30 +03:00
cli.py Add --full-citations to ask and analyze 2026-08-31 16:31:09 +03:00
context.py Ask and analyze across several databases 2026-08-24 10:03:46 +03:00
doctor.py Repair an FTS index that covers no rows on write 2026-08-31 18:54:48 +03:00
logging.py Delete comments that restate the line below them 2026-08-20 15:22:33 +03:00
mcp.py State what the code does, not what it replaced 2026-08-28 15:13:52 +03:00
s3.py swap aioboto3 for obstore in the S3 client path 2026-05-11 11:29:42 +03:00
telemetry.py Route eval scripts through the shared telemetry configure 2026-07-10 11:38:33 +03:00
uri.py Resolve file:// URIs to paths through url2pathname 2026-08-21 10:22:26 +03:00
utils.py Add --full-citations to ask and analyze 2026-08-31 16:31:09 +03:00