Skip to content

Releases: madeinoz67/go-rag

v0.3.3

Choose a tag to compare

@github-actions github-actions released this 07 Jul 05:41

Full Changelog: v0.3.2...v0.3.3

v0.3.2

Choose a tag to compare

@github-actions github-actions released this 03 Jul 15:41

v0.3.2 — Engine write-operation serialization + BL-010 polish

Continues the v0.3.x bridge alpha line. Two hardening changes that close the adversarial-review findings from BL-010 (v0.3.1) + a performance measurement.

New in v0.3.2

Engine write-operation serialization (spec 044):

  • Per-document lock (sync.Map[docID]*sync.Mutex): serializes same-docID operations so the reingestDocs suppression flag (FR-005) can't be consumed by the wrong DeleteDoc during a concurrent re-ingest. No more double DELETED + RE_INGESTED events on the WatchDocuments stream.
  • Non-blocking queue push: processFile's job-queue push is now a select/default + detached sender — processFile never blocks on a full queue. This eliminates the forward-progress stall that defeated the broad opMu approach, and strengthens Principle IV (the ACK path is unblocked even under sustained concurrent write load).

BL-010 polish (spec 043):

  • Caption chunks now carry ContentHash (the adversarial-review finding — caption chunks were missing it, defeating embed-skip for image docs).
  • The embedder's skip check now only dequeues when the vector is valid (no silent loss on malformed records).
  • The SKIPPED-path silent drop is closed: a re-ingest that hits an early return (SKIPPED/UNSUPPORTED/ERROR) now emits RE_INGESTED with all-REMOVED deltas instead of vanishing silently.
  • ACK budget verified: 13.7µs for a 50-chunk diff (730× under 10ms).
  • UNCHANGED-ratio measured: 85% on a 20-chunk doc with one section edited (SC-001 target ≥80% met).

Security / quality

  • 12-agent RedTeam ParallelAnalysis validated the per-document lock design before implementation.
  • go test -race ./... full repo green; make lint 0 issues.

Full Changelog: v0.3.1...v0.3.2

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 03 Jul 00:51

v0.3.1 — Chunk change deltas on re-ingest (BL-010)

First Phase 2 bridge item: the MuninnDB bridge (and any WatchDocuments consumer) now gets incremental chunk-delta updates on document re-ingest instead of full re-processing.

New in v0.3.1

RE_INGESTED event (spec 043 / BL-010):

  • A document re-ingest (via Reprocess, ReprocessAll, or the watcher's MODIFIED path) now emits a single RE_INGESTED event on the WatchDocuments stream, carrying a per-chunk delta: ADDED / REMOVED / UNCHANGED.
  • The delta is computed by content identity (a new per-chunk ContentHash sidecar = SHA-256 of the chunk's text), so a moved paragraph is UNCHANGED and repeated text collapses correctly (multiset diff).
  • RE_INGESTED replaces the INGESTED(new) + DELETED(old) pair a re-ingest previously surfaced (no double-counting).
  • The event carries an old→new chunk-ID map (prev_chunk_id on UNCHANGED/REMOVED deltas), so consumers can remap stored references (no orphaned bookmarks).

Embed-skip (US2):

  • UNCHANGED chunks whose embedding model hasn't changed skip the expensive Ollama embedding call — the old PrefixEmbedding is copied to the new chunk ID. A model change forces re-embedding (no stale vectors).
  • ACK budget verified: the diff computation is 13.7µs for a 50-chunk doc (730× under the <10ms budget).

v2 schema migration:

  • Backfills ContentHash on existing chunks (ExpectedVersion 1→2). No new storage prefix; the field rides in the existing PrefixChunk JSON value.

Bridge docs:

  • Upstream #560 (idempotent_id wiring) shipped by the MuninnDB maintainer; #556 (UPSERT) now unblocked at the prerequisite level.
  • Phase 2 scoping notes recorded (BL-010/011/013 assessed against the codebase).

Security / quality

  • 5-agent adversarial review of the implementation (concurrency, correctness, embed-skip safety, identity stability, event contract): no fatal flaws; all HIGH + MEDIUM findings fixed.
  • go test -race ./... full repo green; make lint 0 issues.

Full Changelog: v0.3.0...v0.3.1

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 02 Jul 02:04

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) on Chunk + QueryHit; pairs with the existing section_context breadcrumb 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):

  • DELETED event now published from Pipeline.DeleteDoc — covers watcher-detected removals and reprocess in one chokepoint.
  • DeleteDoc guarded 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.Close on Engine.Close — clean subscriber teardown on shutdown; the handler's !ok "engine shutdown" branch is now real.
  • stream.Send decoupled from ctx.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

v0.2.2

Choose a tag to compare

@github-actions github-actions released this 01 Jul 12:20

Full Changelog: v0.2.1...v0.2.2

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 01 Jul 04:31

Full Changelog: v0.2.0...v0.2.1

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 01 Jul 01:11

Full Changelog: v0.1.5...v0.2.0

v0.1.5

Choose a tag to compare

@github-actions github-actions released this 29 Jun 12:01

v0.1.5 — fixes go-rag upgrade asset naming

The self-upgrade feature shipped in v0.1.4 was broken: it looked for underscore-named release assets (go-rag_v...) while the release pipeline publishes hyphens (go-rag-v...), so go-rag upgrade failed against real releases with a missing-checksum error. This is the first release where go-rag upgrade works end-to-end (verified against the live release).

Changed

  • go-rag upgrade: asset/checksum URLs now use hyphens (go-rag-{ver}-{goos}-{goarch}.tar.gz), matching .github/workflows/release.yml.
  • Removed the redundant make release Makefile target — release.yml is the canonical release pipeline.

Upgrade

From any v0.1.5+ build: go-rag upgrade (or go-rag upgrade --check to preview). Atomic self-replace with SHA-256 verification and a retained .prev (--rollback to revert).

Full changelog: v0.1.4...v0.1.5

v0.1.4

Choose a tag to compare

@github-actions github-actions released this 29 Jun 11:43

⚠️ Known issue — fixed in v0.1.5: go-rag upgrade is broken in v0.1.4 (asset-naming mismatch with the release pipeline). Use v0.1.5+ for the self-upgrade feature.

Full Changelog: v0.1.3...v0.1.4

v0.1.3

Choose a tag to compare

@github-actions github-actions released this 29 Jun 06:46

Full Changelog: v0.1.2...v0.1.3