v0.3.0
v0.3.0 — Bridge Phase 1 complete
Completes Phase 1 of the go-rag × MuninnDB bridge: every chunk-retrieval and metadata primitive the bridge consumer needs is now on all four transports (gRPC / REST / MCP / CLI). With BL-005 and BL-006 landing here, all six Phase-1 items (BL-001…BL-006) are shipped.
New in v0.3.0
Chunk metadata — the last two Phase-1 items:
section_depth— the governing heading's level (1–6) onChunk+QueryHit; pairs with the existingsection_contextbreadcrumb so a consumer can reconstruct markdown markers without re-scanning the text (BL-005 / spec 041).extraction_quality+extraction_method— a per-page coverage-confidence signal (native / mixed / image + a 0–1 score) so consumers can gate promotion of sparse or image-only PDF extraction. Honest about the OCR limit: go-rag is pure-Go and does not OCR, so a scanned PDF with a text layer reads as native (BL-006 / spec 042).
WatchDocuments hardening (spec 040 follow-ups):
DELETEDevent now published fromPipeline.DeleteDoc— covers watcher-detected removals and reprocess in one chokepoint.DeleteDocguarded by the pipeline mutex — closes a resurrection TOCTOU (a racing embed write-back could re-create a deleted record) found by the adversarial concurrency audit.Bus.CloseonEngine.Close— clean subscriber teardown on shutdown; the handler's!ok"engine shutdown" branch is now real.stream.Senddecoupled fromctx.Done+ gRPC keepalive enforcement — a stalled-but-connected client can no longer wedge a handler or leak a subscriber.
Upstream
- MuninnDB
#560(idempotent_id wiring) shipped upstream;#556(UPSERT) is now unblocked at the prerequisite level — the proto comment is posted, awaiting maintainer response.
Full Changelog: v0.2.2...v0.3.0