from memabra.memory_store import InMemoryMemoryStore, MemoryRecord, MemorySource from memabra.schemas import SchemaRegistry def test_memory_store_verify_and_revoke_round_trip(): store = InMemoryMemoryStore() record = MemoryRecord( id="mem-pref-1", memory_type="semantic", fact_status="assumed", content="User prefers plain text on Telegram.", summary="Telegram plain-text preference", source=MemorySource(kind="user", ref="session-1"), confidence=0.9, ) store.upsert(record) store.verify("mem-pref-1", status="confirmed", check_method="user-confirmed") store.mark_used("mem-pref-1") store.revoke("mem-pref-1", reason="User changed preference") updated = store.get("mem-pref-1") assert updated is not None assert updated.verification.status == "confirmed" assert updated.last_used_at is not None assert updated.fact_status == "revoked" SchemaRegistry().validate_memory_record(updated.to_dict())