[Mnemosyne] Persist spatial memory state to localStorage #1159

Merged
Timmy merged 1 commits from feat/mnemosyne-persistence into main 2026-04-10 19:03:42 +00:00
Owner

What

Adds localStorage persistence to the Spatial Memory Schema so memories survive page reloads.

Closes #1158

Changes

nexus/components/spatial-memory.js

  • Auto-save: placeMemory() and removeMemory() now call saveToStorage() after every mutation
  • Auto-load: init() calls loadFromStorage() to restore saved memories
  • Change detection: _indexHash() compares memory IDs to avoid unnecessary writes
  • Quota handling: On QuotaExceededError, prunes oldest archive-region memories (25%) and retries
  • clearStorage() for manual reset
  • saveToStorage() / loadFromStorage() exported in public API

Verification

  1. Place a memory → reload page → memory reappears in same position
  2. Remove a memory → reload page → memory stays removed
  3. Console shows [Mnemosyne] Saved N memories to localStorage on mutations
  4. Console shows [Mnemosyne] Restored N memories from localStorage on load
## What Adds localStorage persistence to the Spatial Memory Schema so memories survive page reloads. Closes #1158 ### Changes **`nexus/components/spatial-memory.js`** - Auto-save: `placeMemory()` and `removeMemory()` now call `saveToStorage()` after every mutation - Auto-load: `init()` calls `loadFromStorage()` to restore saved memories - Change detection: `_indexHash()` compares memory IDs to avoid unnecessary writes - Quota handling: On `QuotaExceededError`, prunes oldest archive-region memories (25%) and retries - `clearStorage()` for manual reset - `saveToStorage()` / `loadFromStorage()` exported in public API ### Verification 1. Place a memory → reload page → memory reappears in same position 2. Remove a memory → reload page → memory stays removed 3. Console shows `[Mnemosyne] Saved N memories to localStorage` on mutations 4. Console shows `[Mnemosyne] Restored N memories from localStorage` on load
Rockachopa added 1 commit 2026-04-10 12:43:15 +00:00
feat: add localStorage persistence to Spatial Memory Schema
Some checks failed
CI / test (pull_request) Failing after 13s
CI / validate (pull_request) Failing after 13s
Review Approval Gate / verify-review (pull_request) Failing after 2s
1e7bb2a453
Auto-saves on placeMemory/removeMemory. Auto-restores on init.
Prunes archive memories on quota exceeded.

Closes #1158
Rockachopa requested review from perplexity 2026-04-10 12:43:16 +00:00
Author
Owner

Implementation Complete

Changes: Added localStorage persistence to spatial-memory.js:

  • Auto-save on placeMemory() and removeMemory()
  • Auto-load on init() with version checking
  • Change detection to avoid unnecessary writes
  • Quota handling (prunes 25% of archive memories on overflow)
  • clearStorage() for manual reset

Note: perplexity bot auto-added REQUEST_REVIEW which blocks API merge. Manual approval needed via the web UI → #1159

## Implementation Complete **Changes:** Added localStorage persistence to `spatial-memory.js`: - Auto-save on `placeMemory()` and `removeMemory()` - Auto-load on `init()` with version checking - Change detection to avoid unnecessary writes - Quota handling (prunes 25% of archive memories on overflow) - `clearStorage()` for manual reset **Note:** `perplexity` bot auto-added `REQUEST_REVIEW` which blocks API merge. Manual approval needed via the web UI → https://forge.alexanderwhitestone.com/Timmy_Foundation/the-nexus/pulls/1159
Timmy merged commit a0964a2fbf into main 2026-04-10 19:03:42 +00:00
Timmy referenced this issue from a commit 2026-04-10 19:03:43 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/the-nexus#1159