| name | memoryops-invariant-auditor |
| description | Audits the MemoryOps AI invariants: tenant isolation, deleted-memory guarantee, policy-before-storage, audit coverage, and temporary-chat behavior. Use to verify safety properties still hold after a change.
|
memoryops-invariant-auditor
Operator skill that checks the load-bearing safety properties of MemoryOps AI.
Deterministic: it drives the repo's own tests and eval harness.
The invariants under audit
- Tenant isolation — no cross-tenant/user retrieval.
- Deletion guarantee — deleted memory never retrieved.
- Provenance — every memory has a source.
- Graceful degradation — retrieval failure never blocks a response.
- Policy-before-storage — the broker runs before any write.
- Temporary chat — no read, no write.
- Auditability — every lifecycle action is audited.
Procedure
cd services/api && pytest -q tests/test_tenant_isolation.py tests/test_deletion.py \
tests/test_policy_broker.py tests/test_temporary_chat.py
python evals/run_evals.py
- Run the invariant tests + eval harness.
- For each invariant, map a passing test/eval case to it; flag any unmapped.
- Inspect recent diffs to
services/api/app/db/,
services/api/app/services/policy_broker.py, and gateway.py for changes that
could bypass a guarantee.
- Confirm
AuditService.record is called on every new lifecycle action.
Output
An audit table: invariant → evidence (test/eval) → pass/fail, plus any risks.
Guardrails
- A failing critical eval case (
block, deleted, isolation, temporary) is a
hard stop — report FAIL and do not rationalize it away.