Beyond add and search: update, forget, group memory, prospective intentions.
| Operation | Lab | Product |
|---|---|---|
| remember | f.remember(text, principal) | b.remember(f, text, token) |
| recall / search | f.recall / f.search | b.recall |
| update | f.update | AuthContext path |
| forget | f.forget → ForgetResult | same + assurance |
| integrity | f.verify_integrity() | + AnchorStore |
from stratam import MemoryFabric, Principal
f = MemoryFabric()
alice = Principal("alice", "team")
bob = Principal("bob", "team")
f.store_group_memory(
"gc-1",
"We should use React for the frontend.",
speaker=alice,
audience=("alice", "bob", "charlie"),
writer=alice,
)
print(f.recall_group_memory("gc-1", bob)) # speaker attribution preserved
# outsider / wrong audience → None
f.schedule_intention("fu-1", "lab-results-ready", "CALL_PATIENT", bob)
print(f.due("lab-results-ready", bob)) # one-shot
print(f.due("lab-results-ready", bob)) # []
# Without AnchorStore — bare bool (in-process chain + content hashes only) ok = fabric.verify_integrity() # True / False # With AnchorStore — IntegrityReport report = fabric.verify_integrity(anchor=store) # report.chain_ok, report.anchor_ok, report.mode, report.detail # forget returns channels_run + channels_skipped (honest multi-channel story)
Elevated Source classes: use attestation / registered channels on the product path. Details: Security model.
Inspect channels_run and channels_skipped on ForgetResult. Never market a single delete as full multi-copy sanitization or GDPR complete.