Skip to content

v0.3.2

Choose a tag to compare

@github-actions github-actions released this 03 Jul 15:41
· 131 commits to main since this release

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