Skip to content

feat: add scoped durable memory management - #51

Open
AetherAI3 wants to merge 1 commit into
feat/turbovec-codecfrom
codex/pr15-memory-management
Open

feat: add scoped durable memory management#51
AetherAI3 wants to merge 1 commit into
feat/turbovec-codecfrom
codex/pr15-memory-management

Conversation

@AetherAI3

Copy link
Copy Markdown
Owner

Summary

  • add public vector-free MemoryRecord / MemoryPage DTOs and session-scoped page/get/replace/delete/clear methods
  • enforce optimistic versions, immutable provenance, UUID memory IDs, and strict namespace isolation (including removing separate-mode global recall fallback)
  • serialize pool access through one re-entrant lock, durably fsync successful mutations, and zero reclaimed mmap rows for float32/q4/q8 pools
  • preserve legacy retrieval metadata by returning detached search snapshots

Security and durability

  • foreign memory IDs resolve as scoped not-found errors
  • caller tags and metadata patches cannot spoof source, versions, timestamps, or private chain coordinates
  • clear is atomic on expected_count; replace/delete use compare-and-swap expected_version
  • durable mutations flush vector data and atomically replace/fsync the sidecar before returning

Validation

  • py -3.11 -m pytest -q: 563 passed, 5 skipped
  • focused memory/storage suite: 40 passed, 3 skipped
  • compileall and git diff --check: passed

All tests use isolated pytest directories; no live pool data was touched.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant