Skip to content

Commit fa882ed

Browse files
committed
doc: roadmap — mark Iteration 21 (ingest unification) shipped
1 parent 2ff0bb4 commit fa882ed

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

docs/ROADMAP.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,20 @@ This is the prioritized forward plan. The per-iteration security audits
3232
macOS-version warnings are cosmetic.
3333

3434
### Shipped this cycle
35+
-**Iteration 21 — Unify single & batch ingest into one lifecycle (data-integrity, 2026-06-16).**
36+
`ingest_batch` had silently diverged from single ingest — it skipped near-dedup,
37+
fact-contradiction resolution, relationship extraction, the `on_post_ingest` hook, and
38+
deferred plugin side-effects, so batching N memories was materially weaker than N single
39+
ingests. Both now share `prepare_ingest``near_dedup_check`/`reinforce_existing` → store →
40+
`finalize_ingest`; plugin pre-ingest runs before the dedup hash (fixed batch's reversed
41+
order); batch near-dedup covers stored + intra-batch siblings; contradiction context is
42+
queried fresh per memory (memory N sees memory N-1's facts). Also made
43+
`store_memories_batch` atomic (all-or-nothing) — a failed INSERT used to commit a partial
44+
set, leaving the index/event-bus/sync/finalize processing ghost memories. Codex-reviewed
45+
design + adversarial Rust review (caught the ghost-memory bug). New `test_ingest_parity.rs`;
46+
full workspace green. This also closes the Iteration 17 "batch per-item privacy" follow-up's
47+
sibling gaps. Distribution: Dockerfile defaulted to MCP-stdio entrypoint for Glama/MCP
48+
registry; awesome-mcp-servers PR rebased clean (#8145, supersedes conflicted #7989).
3549
- ✅ Frecency ranking in `retrieval.rs` (P2) — access frequency + recency boost, tested.
3650
- ✅ CI restored to green; sync + fact/preference/contradiction integration tests revived.
3751
- ✅ Privacy enforcement relocated to the context boundary (above).

0 commit comments

Comments
 (0)