Yiorgis Gozadinos
995d081aa1
Visualize the exact context the model saw via Citation.doc_item_refs
...
visualize_chunk re-expanded chunks from scratch to recover their refs,
which could not faithfully reproduce the original merge, scores, and
clip — so a visualization could highlight different pages than the
citation covered. Carry the cited items on Citation.doc_item_refs and
resolve bounding boxes from them directly; re-expansion remains only as
the fallback for callers with no stored context (CLI, inspector). Chat,
inspector, the app endpoint, and the frontend pass the refs through.
2026-07-09 11:51:37 +03:00
Yiorgis Gozadinos
6d86237dd6
Draw matched content stronger than expanded context in visualizations
2026-07-09 11:05:41 +03:00
Yiorgis Gozadinos
494f774473
Visualize all constituent chunks of a merged citation
2026-07-09 11:05:41 +03:00
Yiorgis Gozadinos
0bcf34363a
Carry merged chunk ids on SearchResult and Citation
2026-07-09 11:05:41 +03:00
Yiorgis Gozadinos
b14152a45b
Keep picture and table hits section-bounded during context expansion
2026-07-09 11:05:40 +03:00
Yiorgis Gozadinos
c02bcd5dc9
Pool HTTP clients for vLLM embedding and vLLM/Jina reranking
2026-07-09 10:32:44 +03:00
Yiorgis Gozadinos
43a580afb3
Dedupe picture chunks and skip small pictures at chunking
2026-07-09 10:24:32 +03:00
Yiorgis Gozadinos
0c8ff570d6
vb
2026-07-08 17:04:18 +03:00
Yiorgis Gozadinos
a1cf405cae
Rename document_meta identity column document_id to id
2026-07-08 16:32:55 +03:00
Yiorgis Gozadinos
23bbca5998
Re-check URI under the write lock to prevent duplicate ingestion
2026-07-08 11:26:45 +03:00
Yiorgis Gozadinos
3c7699f156
Fail docling-serve requests over to another instance with per-instance breaking
...
When a docling-serve instance crashes or returns 5xx, DoclingServeClient now
retries the request on a different instance (up to max_attempts) and trips a
per-instance circuit breaker so subsequent jobs skip a dead instance until its
cooldown elapses. Reuses the shared CircuitBreaker; adds max_attempts and a
nested circuit_breaker to providers.docling_serve.
Co-Authored-By: bryan davis <bryan@monkeytronics.org>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 11:03:44 +03:00
Yiorgis Gozadinos
c2c8c24951
Allow updating a document's uri via update_document
2026-07-08 10:32:14 +03:00
Yiorgis Gozadinos
9a9bea86d3
vb
2026-07-03 13:35:10 +03:00
Yiorgis Gozadinos
d2593304c5
Attach figure bytes when a result matches its caption
2026-07-03 13:22:02 +03:00
Yiorgis Gozadinos
38079ff89a
Hoist reranker empty-input guard into base; stop factory tests loading models
2026-06-29 14:20:23 +03:00
Yiorgis Gozadinos
9a85632cf3
vb
2026-06-29 12:36:36 +03:00
Yiorgis Gozadinos
5fc4056dcd
Require haiku.skills>=0.18.0
2026-06-29 11:44:51 +03:00
Yiorgis Gozadinos
3cb229d2e0
Add t2_finqa pre-built evaluation database reference config and docs
2026-06-29 10:52:23 +03:00
Yiorgis Gozadinos
4d03b1e669
Add nemotron-vl multimodal eval database and reference configs
2026-06-29 10:14:53 +03:00
Yiorgis Gozadinos
b2abdfaffb
vb
2026-06-28 10:57:26 +03:00
Yiorgis Gozadinos
4f8cc4eb30
Show a progress spinner while doctor runs
2026-06-28 10:44:30 +03:00
Yiorgis Gozadinos
b707a70d19
Update docs
2026-06-28 10:24:12 +03:00
Yiorgis Gozadinos
c7c3f75508
vb
2026-06-27 09:59:21 +03:00
Yiorgis Gozadinos
b94e13083f
Hard-cap context expansion at max_context_chars
...
A single oversized document_items row (e.g. a spreadsheet converted to one
table) expanded far past search.max_context_chars and could overflow the
model context window. _expand_outward only used the budget as a soft
accumulation threshold and expand_with_items never capped the joined result.
Add _clip_to_budget to clip each expanded result to max_context_chars,
returning a window centered on the matched chunk (via _evidence_anchors) so
the retrieved evidence survives the cut.
2026-06-27 09:46:36 +03:00
Yiorgis Gozadinos
cd1a73b389
vb
2026-06-26 17:13:03 +03:00
Yiorgis Gozadinos
f1e1a16f9b
Add doctor --duplicates-out YAML export; summarize terminal report
2026-06-26 16:52:22 +03:00
Yiorgis Gozadinos
044ac62e49
Drop boilerplate handling; make duplicate report readable
2026-06-26 16:52:22 +03:00
Yiorgis Gozadinos
961913dde4
Ignore boilerplate chunks in duplicate-document detection
2026-06-26 16:52:21 +03:00
Yiorgis Gozadinos
43f2130b66
Add near-duplicate document detection to doctor
2026-06-26 16:52:21 +03:00
Yiorgis Gozadinos
5463a07d32
chore(deps): patch Dependabot security alerts
2026-06-26 10:55:26 +03:00
Yiorgis Gozadinos
4707db780f
Renew job leases from the worker pool; lease-based reaping
2026-06-25 13:26:09 +03:00
Yiorgis Gozadinos
fd73f57649
Add last_heartbeat_at lease column to the ingester queue
2026-06-25 13:25:37 +03:00
Yiorgis Gozadinos
ba6b318ece
Make ingester worker ids globally unique
2026-06-25 13:25:37 +03:00
Yiorgis Gozadinos
b61134b747
Log FTS index build failures at WARNING
2026-06-25 13:00:29 +03:00
Yiorgis Gozadinos
2fd025951c
Treat empty env vars as unset in config expansion
2026-06-25 12:41:04 +03:00
Yiorgis Gozadinos
197d58a602
vb
2026-06-24 18:41:05 +03:00
Yiorgis Gozadinos
b343f3687d
Depend on fastmcp directly for the MCP server
2026-06-24 18:35:00 +03:00
Yiorgis Gozadinos
ab1775dbc6
vb
2026-06-24 16:45:19 +03:00
Yiorgis Gozadinos
9f4dda9254
Reuse one MarkdownDocSerializer per document in item extraction
2026-06-24 12:02:13 +03:00
Yiorgis Gozadinos
2b2b475279
Collapse docling compression to a single function
2026-06-24 10:43:27 +03:00
Yiorgis Gozadinos
62d2326933
Use single-threaded zstd compressor
2026-06-24 10:08:25 +03:00
Yiorgis Gozadinos
65f1339aa0
vb
2026-06-23 16:59:00 +03:00
Yiorgis Gozadinos
3cc3c98986
Store docling-serve chunk bodies via raw_text
2026-06-23 16:35:21 +03:00
Yiorgis Gozadinos
68715c9657
Request page images explicitly from docling-serve
2026-06-23 16:15:02 +03:00
Yiorgis Gozadinos
b098be790b
Document multimodal embedder flag and Voyage/Cohere providers
2026-06-23 15:23:10 +03:00
Yiorgis Gozadinos
3586ac30a7
Add Cohere multimodal embedder
2026-06-23 15:23:10 +03:00
Yiorgis Gozadinos
a1ec310bf4
Add VoyageAI multimodal embedder
2026-06-23 15:23:10 +03:00
Yiorgis Gozadinos
0ea251219c
Add explicit multimodal embedding flag, decoupled from provider name
2026-06-23 15:23:10 +03:00
Yiorgis Gozadinos
eb855f827a
Refine doctor's content and coverage checks
2026-06-23 11:31:20 +03:00
Yiorgis Gozadinos
cc1d8d1e4c
Add provider connectivity probes to haiku-rag doctor
2026-06-23 10:34:27 +03:00
Yiorgis Gozadinos
c2cb3cedf3
Add haiku-rag doctor database health check
2026-06-23 10:03:27 +03:00
Yiorgis Gozadinos
0fcf91fcf7
vb
2026-06-22 15:18:35 +03:00
Yiorgis Gozadinos
baf8decb27
Show progress for run-batch drains
2026-06-22 12:51:38 +03:00
Yiorgis Gozadinos
f0826abb52
Document run-batch dry-run manifests
2026-06-22 11:43:57 +03:00
Yiorgis Gozadinos
6f2ab0963c
cl for #449
2026-06-22 11:33:11 +03:00
Yiorgis Gozadinos
5c4b37df89
vb
2026-06-19 11:12:45 +03:00
Yiorgis Gozadinos
b67f330031
Move textual-image to base dependencies
2026-06-19 10:37:10 +03:00
Yiorgis Gozadinos
2c55bca8bc
cl for #448
2026-06-19 10:17:18 +03:00
Yiorgis Gozadinos
99011755fb
vb
2026-06-16 16:48:36 +03:00
Yiorgis Gozadinos
1e65d36766
Pass fetched FetchResult to ingester metadata providers
2026-06-16 16:37:26 +03:00
Yiorgis Gozadinos
3f5141abd0
Merge pull request #446 from ggozad/chore/docling-update
...
Bump docling deps and relax opencv floor
2026-06-16 16:32:31 +03:00
Yiorgis Gozadinos
06a3f365c4
Bump docling deps and relax opencv floor
2026-06-16 16:16:32 +03:00
Yiorgis Gozadinos
6add2780e8
Make ingester job retry idempotent against a live sibling
2026-06-16 16:05:05 +03:00
Yiorgis Gozadinos
79a4f49387
Stop re-enqueuing permanently-failed ingester documents
2026-06-16 16:03:51 +03:00
Yiorgis Gozadinos
515f42dd5a
Add custom ingester sources via entry points
2026-06-16 10:54:24 +03:00
Yiorgis Gozadinos
7e20b47e98
Widen SQLite ingester queue pool to serve concurrent connections
2026-06-16 09:25:01 +03:00
Yiorgis Gozadinos
f94c419c31
cl
2026-06-15 10:21:09 +03:00
Yiorgis Gozadinos
fac62cb347
Follow HTTP redirects in the WebDAV source
2026-06-15 09:59:13 +03:00
Yiorgis Gozadinos
cc73a8629a
Wire metadata providers into ingester ingestion
2026-06-15 08:41:26 +03:00
Yiorgis Gozadinos
70c9c2778f
Serialize all in-process pdfium access under a shared lock
2026-06-14 10:50:42 +03:00
Yiorgis Gozadinos
5d5d87d44c
Throttle background auto-vacuum to at most once per 5 minutes
2026-06-12 10:17:18 +03:00
Yiorgis Gozadinos
3366a6d383
Split meta document attributes into a document_meta table
2026-06-12 10:17:17 +03:00
Yiorgis Gozadinos
8ac670714d
Tidy PDF attachment extension fix
2026-06-12 09:44:11 +03:00
Yiorgis Gozadinos
88696cc6f1
vb
2026-06-11 09:50:33 +03:00
Yiorgis Gozadinos
ceae56562f
Expand ${VAR} environment references in YAML config
2026-06-11 09:39:54 +03:00
Yiorgis Gozadinos
90e9a6bc17
changelog entry + bare-prefix redirect for ingester root_path
2026-06-11 09:30:22 +03:00
Yiorgis Gozadinos
bdad908a60
vb
2026-06-09 15:39:14 +03:00
Yiorgis Gozadinos
54524a4ea3
Gate ingester control-plane access logs to DEBUG
2026-06-09 12:46:17 +03:00
Yiorgis Gozadinos
4c186b01c7
Add Database and Configuration panels to the ingester dashboard
2026-06-09 12:28:13 +03:00
Yiorgis Gozadinos
a7ed405d75
Add HaikuRAG.import_documents for batch document import
2026-06-09 10:23:37 +03:00
Yiorgis Gozadinos
bd548837e5
Make the ingester worker circuit breaker per-source
2026-06-09 09:41:54 +03:00
Yiorgis Gozadinos
46b8fa3fef
vb
2026-06-08 12:24:04 +03:00
Yiorgis Gozadinos
295570797c
Disable Logfire scrubbing in evaluations
2026-06-08 11:51:13 +03:00
Yiorgis Gozadinos
e9bd56467c
Add T²-RAGBench leaderboard submission exporter
2026-06-08 11:51:02 +03:00
Yiorgis Gozadinos
a3a73f1331
Add --filter-ids to run QA on a case-id subset
2026-06-08 09:36:01 +03:00
Yiorgis Gozadinos
d386d7f900
Bump haiku.skills to 0.17.2
2026-06-06 14:52:05 +03:00
Yiorgis Gozadinos
cd77bd9889
Bound analysis execute_code calls to avoid request-limit nulls
2026-06-06 14:52:05 +03:00
Yiorgis Gozadinos
d5b0aafa2b
Add T²-RAGBench TAT-DQA subset; generalize subset layout
2026-06-06 14:52:05 +03:00
Yiorgis Gozadinos
c2a48b55c0
Add deterministic Number-Match QA scoring for T²-RAGBench
2026-06-06 14:52:04 +03:00
Yiorgis Gozadinos
9f1bd9940a
Add T²-RAGBench FinQA evaluation dataset
2026-06-06 14:52:04 +03:00
Yiorgis Gozadinos
e59ee56002
Serialize shared-connection access across skill tools and the sandbox
2026-06-05 17:22:11 +03:00
Yiorgis Gozadinos
b47583258e
Run analysis sandbox VFS reads on the calling loop via the skill connection
2026-06-05 16:20:11 +03:00
Yiorgis Gozadinos
916b84bff4
vb
2026-06-05 12:09:57 +03:00
Yiorgis Gozadinos
7906688bf1
Fix analysis sandbox "Already borrowed" crash on VFS reads
2026-06-05 11:50:19 +03:00
Yiorgis Gozadinos
414be551fb
Open read CLI verbs read-only
2026-06-05 10:48:49 +03:00
Yiorgis Gozadinos
0e3d53791f
Add rebuild --set-embedder to reconcile embedder identity
2026-06-05 10:42:15 +03:00
Yiorgis Gozadinos
b6bbea3d64
Stop writing the schema version on database open
2026-06-05 10:32:30 +03:00
Yiorgis Gozadinos
e70f271ac7
vb
2026-06-04 14:13:55 +03:00
Yiorgis Gozadinos
5cc32f111e
Mask the dburi password in queue init/migrate output
2026-06-03 14:42:32 +03:00
Yiorgis Gozadinos
44089e5b1f
Support a dburi for the ingester queue (SQLite + Postgres)
...
Migrate the ingester queue storage from raw aiosqlite to SQLAlchemy Core
async. The backend is chosen by ingester.queue.dburi: a SQLAlchemy async
URL points the queue at a database server, and SQLite remains the default
when unset. The Postgres path claims jobs with FOR UPDATE SKIP LOCKED so
multiple ingester processes can share one queue; SQLite caps the pool to a
single connection to keep the select-then-update claim atomic.
2026-06-03 14:34:09 +03:00