Repository navigation
v2.14.1
Aggregates everything shipped since the last published release (v2.12.1): four merged PRs across agent memory, compaction, and frontend dependencies. The headline fix resolves a production regression where saving a memory stalled the chat turn and surfaced "Unknown error".
Features
memory: dense-index fail-loud health and one-click repair; conflict-aware recall — #120
- The LadybugDB dense/graph index now reports its health explicitly instead of failing silently, with a one-click repair to re-project from SQLite.
- Recall is conflict-aware: when two memories contradict on the same attribute, the newer one wins.
compaction: spawned agents self-compact — #119
- Spawned sub-agents now compact their own context at the configured threshold, reaching parity with in-process agents.
Bug fixes
memory: conflict gate no longer stalls the chat turn — #121
- Root cause: the conflict-resolution gate re-embedded the entire memory slot on every save (a single batch padded to the longest fact, cost O(N × max_len) ≈ 150s of CPU) and ran on the main asyncio event loop. The synchronous embed froze the loop for its full duration, hanging the live chat turn's SSE stream and surfacing "Unknown error" (the memory was still persisted).
- Change: the gate now embeds only the new fact and scores candidates against their already-stored LadybugDB vectors, running off the loop via
asyncio.to_thread. Candidates outside the dense-query window are embedded individually so a same-slot conflict is never silently missed. - Impact (measured on production):
memory_rememberdropped from 133,460 ms to 2,477 ms;/api/healthfrom 71 s to 0.004 s; duplicate supersede still correct.
Dependencies
frontend: bump the npm-minor group, 10 packages — #111
- vue 3.5.35 → 3.5.38, vite 8.0.16 → 8.1.0, dompurify 3.4.7 → 3.4.11, marked 18.0.4 → 18.0.5, @playwright/test 1.60.0 → 1.61.1, @codemirror/view 6.43.0 → 6.43.3, @codemirror/state 6.6.0 → 6.7.0, @tanstack/vue-virtual, @tailwindcss/vite.
Pull requests since v2.12.1
| PR | Title | Author | Merged |
|---|---|---|---|
| #121 | fix(memory): conflict gate reuses stored vectors + runs off the event loop | @omnigentx | 2026-07-02 |
| #120 | feat(memory): dense-index fail-loud health + one-click repair; conflict-aware recall | @omnigentx | 2026-07-01 |
| #111 | build(deps): bump the npm-minor group (10 updates) | @dependabot | 2026-07-01 |
| #119 | feat(compaction): spawned agents self-compact (parity with in-process) | @omnigentx | 2026-06-30 |
Full changelog: v2.12.1...v2.14.1