haiku.rag/haiku_rag_slim/haiku/rag
Yiorgis Gozadinos 11b1bfbc94
Give the capsule to one return, and the run its own copy of state
A request can carry several of this capability's returns — a model can call search
twice in one response — and the carrier was identified by message alone, so each of
them received the whole capsule. It is selected by message and part now, so exactly
one carries it however many share the request.

The chat TUI passed its persisted state into the run, so tool synchronisation mutated
it in place while the message history was promoted only on success. A cancelled or
failed run therefore kept the evidence the tools had recorded and discarded the
messages that justified it, and the next question derived its identity from the
shorter history: behind the recorded epoch, refused as non-append-only, the
conversation unusable until cleared. The run gets a copy, promoted with the messages
or not at all.

Five decorators had been left attached to a helper by an earlier extraction, which
pytest does not collect, so the resume case they carried was silently untested. The
wire test covers both resume shapes again, no prompt and deferred results.
2026-08-13 13:00:02 +03:00
..
capabilities Give the capsule to one return, and the run its own copy of state 2026-08-13 13:00:02 +03:00
chat Give the capsule to one return, and the run its own copy of state 2026-08-13 13:00:02 +03:00
chunkers Fail docling-serve requests over to another instance with per-instance breaking 2026-07-08 11:03:44 +03:00
client Stop loading page rasters on the title and update paths 2026-08-06 13:04:51 +03:00
config replace haiku.skills with native Pydantic AI capabilities 2026-07-24 15:26:17 +03:00
converters Reuse the local docling converter across documents 2026-08-13 11:39:01 +03:00
embeddings Pool HTTP clients for vLLM embedding and vLLM/Jina reranking 2026-07-09 10:32:44 +03:00
ingester Move ingester telemetry setup behind argument parsing 2026-08-13 11:37:36 +03:00
inspector Surface database-open errors in the TUIs 2026-07-25 11:27:29 +03:00
providers Emit a docling_serve.request span per instance attempt 2026-07-10 11:16:27 +03:00
reranking Keep cross-encoder rerank scores apart when they saturate 2026-08-07 14:07:53 +03:00
sandbox Point the limit comments at the right limits 2026-07-28 19:11:37 +03:00
store Name the search result each page image belongs to 2026-08-13 13:00:01 +03:00
tools Move the wire rewrite into the compaction capability 2026-08-13 13:00:02 +03:00
__init__.py Restructure into uv workspace to support minimal and full installations 2025-11-04 17:59:12 +02:00
app.py Accept images on CLI ask/analyze and MCP tools 2026-07-25 10:35:25 +03:00
circuit_breaker.py Move CircuitBreaker to a shared module 2026-07-08 11:03:30 +03:00
cli.py Stop eagerly importing Store from haiku.rag.store 2026-08-11 17:26:51 +01:00
context.py Remove unreachable code and fix two defects it surfaced 2026-07-26 18:45:48 +03:00
doctor.py Fix defects found reviewing the coverage work 2026-07-27 10:44:32 +03:00
logging.py Restructure into uv workspace to support minimal and full installations 2025-11-04 17:59:12 +02:00
mcp.py Cover MCP, ingester and converter error paths 2026-07-26 19:14:26 +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
utils.py Map thinking onto Pydantic AI's unified setting 2026-07-27 18:26:42 +03:00