mirror of
https://github.com/samvallad33/vestige.git
synced 2026-07-12 22:42:10 +02:00
The background consolidation cycle's auto_dedup_consolidation pass silently concat-merged near-duplicate memories (cosine >= 0.85) into [MERGED] blocks and hard-deleted the originals, with no opt-out and while ignoring `dedup protect` pins — so a pinned memory could be absorbed/deleted unattended. - Gate the pass behind VESTIGE_AUTO_CONSOLIDATE_MERGE (default on; set 0/false/off/no to disable), parsed like the sibling VESTIGE_BACKFILL_AUTOFIRE, at the function top so every consolidation caller is covered consistently. - Exclude protected (pinned) nodes from merge clusters at both loops, so a protected node is never an anchor nor a member — never absorbed, never deleted. protected_node_ids() is fetched once before the reader-lock window (lock-safe). - Tests: default-unchanged regression, flag-off suppression, full protection matrix, liveness, and an explicit #142 regression guard. - Docs: CONFIGURATION.md env-var row + CHANGELOG entry. Default behavior is unchanged. TOCTOU: the protected set is snapshotted once per pass (consistent with the function's existing point-in-time idiom). Out of scope (follow-up): a reversible audit trail for merges that still happen when enabled, and the [MERGED] concat-bloat itself. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| adr | ||
| blog | ||
| fixtures/sanhedrin-test-integrity-deltas | ||
| integrations | ||
| launch | ||
| plans | ||
| prd | ||
| AGENT-MEMORY-PROTOCOL.md | ||
| claude-desktop-config.json | ||
| CLAUDE-SETUP.md | ||
| COGNITIVE_SANDWICH.md | ||
| COMPOSED_GRAPH.md | ||
| CONFIGURATION.md | ||
| CONNECTORS.md | ||
| FAQ.md | ||
| GETTING-STARTED.md | ||
| INSTALL-INTEL-MAC.md | ||
| MEMORY_CINEMA.md | ||
| MERGE_SUPERSEDE.md | ||
| ROADMAP.md | ||
| SANHEDRIN_RECEIPTS.md | ||
| SANHEDRIN_TEST_INTEGRITY_DELTAS.md | ||
| SCIENCE.md | ||
| STORAGE.md | ||
| VESTIGE_STATE_AND_PLAN.md | ||