{"total":33,"passed":33,"failed":0,"ok":true,"checks":[{"id":"A33-01","name":"tenant_isolation_read","passed":true,"detail":"cross-tenant get refused","ms":47.944},{"id":"A33-02","name":"tenant_isolation_search","passed":true,"detail":"tenant B searched A's token and saw 0 hits","ms":88.497},{"id":"A33-03","name":"no_authority_from_memory","passed":true,"detail":"every memory view and hit is annotated non-authoritative","ms":53.021},{"id":"A33-04","name":"injection_quarantined_on_write","passed":true,"detail":"status=quarantined reason=\"matches instruction-injection family 'OVERRIDE'\"","ms":3.678},{"id":"A33-05","name":"quarantined_not_returned_by_default","passed":true,"detail":"default search returned 0 quarantined hits","ms":3.776},{"id":"A33-06","name":"quarantine_visible_when_explicitly_asked","passed":true,"detail":"explicit search listed 1 hit(s), text withheld","ms":25.211},{"id":"A33-07","name":"quarantine_release_requires_named_human","passed":true,"detail":"blank reviewer and missing reviewer secret refused","ms":19.591},{"id":"A33-08","name":"quarantine_release_is_audited","passed":true,"detail":"audit actions=['release', 'write']","ms":5.711},{"id":"A33-09","name":"released_memory_becomes_searchable","passed":true,"detail":"after release, search returned 1","ms":5.674},{"id":"A33-10","name":"content_hash_is_stable","passed":true,"detail":"56d3e1e3397f5466...","ms":3.062},{"id":"A33-11","name":"tombstone_survives_forget","passed":true,"detail":"row survives with status=deleted","ms":4.522},{"id":"A33-12","name":"deleted_text_is_erased","passed":true,"detail":"stored text/terms cleared and view hides text","ms":4.616},{"id":"A33-13","name":"deleted_memory_not_searchable","passed":true,"detail":"search returned 0","ms":8.207},{"id":"A33-14","name":"deleted_memory_not_reinstated_by_search","passed":true,"detail":"hits=[]","ms":4.026},{"id":"A33-15","name":"ttl_expires_memory","passed":true,"detail":"expired memory excluded from search, still addressable by id","ms":3.201},{"id":"A33-16","name":"chain_valid_after_writes","passed":true,"detail":"entries=5 head=ff2afa973ea62649...","ms":9.706},{"id":"A33-17","name":"chain_detects_edited_entry","passed":true,"detail":"edited seq=28 -> entry_hash does not match its contents","ms":9.394},{"id":"A33-18","name":"chain_detects_truncation","passed":true,"detail":"deleted tail still walks, but fails against the recorded head","ms":11.314},{"id":"A33-19","name":"write_log_is_append_only","passed":true,"detail":"prior seqs preserved as a prefix ([35, 36, 37] -> [35, 36, 37, 38])","ms":20.876},{"id":"A33-20","name":"provenance_declared_when_source_given","passed":true,"detail":"declared/source_attached","ms":1.778},{"id":"A33-21","name":"unattributed_memory_is_unverified","passed":true,"detail":"unattributed/unverified","ms":1.701},{"id":"A33-22","name":"contradiction_is_flagged","passed":true,"detail":"flags=[{'memory_id': 'mem_c27b0cbdb513421d', 'similarity': 1.0, 'resolution': 'unresolved', 'note': 'lexical overlap with opposite negation polarity; review, not a verdict'}]","ms":3.895},{"id":"A33-23","name":"contradiction_is_not_resolved","passed":true,"detail":"new memory kept active; every flag marked unresolved","ms":3.893},{"id":"A33-24","name":"contradiction_does_not_delete_prior","passed":true,"detail":"prior memory untouched","ms":9.974},{"id":"A33-25","name":"recall_is_deterministic","passed":true,"detail":"identical order across 2 runs (5 hits)","ms":14.592},{"id":"A33-26","name":"recall_reports_bm25","passed":true,"detail":"ranking=Okapi BM25 (k1=1.5, b=0.75) scores_desc=True","ms":8.661},{"id":"A33-27","name":"tag_filter_is_conjunctive","passed":true,"detail":"both tags -> 1, superset -> 0","ms":2.87},{"id":"A33-28","name":"empty_query_rejected","passed":true,"detail":"blank queries refused","ms":0.027},{"id":"A33-29","name":"empty_text_rejected","passed":true,"detail":"blank memories refused","ms":0.011},{"id":"A33-30","name":"duplicate_text_gets_distinct_ids","passed":true,"detail":"same content hash, distinct identities (no silent dedupe)","ms":3.661},{"id":"A33-31","name":"timestamps_non_decreasing","passed":true,"detail":"1793847535.137 <= 1793847535.139","ms":3.406},{"id":"A33-32","name":"audit_covers_every_memory","passed":true,"detail":"4 memories, 4 write entries","ms":14.177},{"id":"A33-33","name":"spaces_index_consistent","passed":true,"detail":"spaces={'s1': {'space': 's1', 'active': 2}, 's2': {'space': 's2', 'quarantined': 1}}","ms":31.543}],"duration_ms":432.79,"checked_at":"2026-11-05T02:58:55Z","scope":"Run against a throwaway database in this process, not the hosted tenant store."}