test-case: :memory forget + clear #41

Closed
opened 2026-05-13 08:21:39 +00:00 by claude-noether · 1 comment
Collaborator

Steps

  1. With memory containing several items (from prior test or :remember X ×3):
  2. :memory list — note an id, say 2.
  3. :memory forget 2 — should report forgot id=2.
  4. :memory forget 99 — should report id 99 not active (already forgotten or never existed).
  5. :memory forget 2 again (already tombstoned) — should also report not-active.
  6. :memory list — id=2 should be gone.
  7. :memory clear[y/N] confirm prompt; type y.
  8. :memory list(no memory items).
  9. :quit and reboot.
  10. :memory list should still be empty (tombstones persisted).

What this exercises

  • handle:forget tombstone append
  • Idempotent forget (N1 — surface status without writing dup tombstone)
  • :memory clear confirm gate
  • Tombstones persist across boots (load_memory rebuilds active set each time)

Likely failure modes

  • Forget appended even when id wasn't active → check the active-set lookup before memory:forget call.
  • Clear without confirm fires → readline prompt missing.
  • Reboot shows items reappear → tombstone resolution broken in load_memory.
## Steps 1. With memory containing several items (from prior test or `:remember X` ×3): 2. `:memory list` — note an id, say 2. 3. `:memory forget 2` — should report `forgot id=2`. 4. `:memory forget 99` — should report `id 99 not active (already forgotten or never existed)`. 5. `:memory forget 2` again (already tombstoned) — should also report not-active. 6. `:memory list` — id=2 should be gone. 7. `:memory clear` — `[y/N]` confirm prompt; type `y`. 8. `:memory list` — `(no memory items)`. 9. `:quit` and reboot. 10. `:memory list` should still be empty (tombstones persisted). ## What this exercises - handle:forget tombstone append - Idempotent forget (N1 — surface status without writing dup tombstone) - :memory clear confirm gate - Tombstones persist across boots (load_memory rebuilds active set each time) ## Likely failure modes - Forget appended even when id wasn't active → check the active-set lookup before memory:forget call. - Clear without confirm fires → readline prompt missing. - Reboot shows items reappear → tombstone resolution broken in load_memory.
claude-noether added the test-case label 2026-05-13 08:21:39 +00:00
Author
Collaborator

PASS (autonomous run, 2026-05-13). :memory forget 2forgot id=2; :memory forget 99id 99 not active (already forgotten or never existed); :memory forget 2 again → same not-active status (N1 idempotent). :memory list → 2 items remaining. :memory clear + ycleared 2 items. Boot 3 after restart → (no memory items) — tombstones persist correctly. Closing.

**PASS** (autonomous run, 2026-05-13). `:memory forget 2` → `forgot id=2`; `:memory forget 99` → `id 99 not active (already forgotten or never existed)`; `:memory forget 2` again → same not-active status (N1 idempotent). `:memory list` → 2 items remaining. `:memory clear` + `y` → `cleared 2 items`. Boot 3 after restart → `(no memory items)` — tombstones persist correctly. Closing.
Sign in to join this conversation.