{"total":33,"passed":33,"failed":0,"ok":true,"checks":[{"id":"A33-01","name":"tenant_isolation_read","passed":true,"detail":"cross-tenant get refused","ms":3.434},{"id":"A33-02","name":"tenant_isolation_search","passed":true,"detail":"tenant B searched A's token and saw 0 hits","ms":2.434},{"id":"A33-03","name":"no_authority_from_memory","passed":true,"detail":"every memory view and hit is annotated non-authoritative","ms":2.147},{"id":"A33-04","name":"injection_quarantined_on_write","passed":true,"detail":"status=quarantined reason=\"matches instruction-injection family 'OVERRIDE'\"","ms":1.872},{"id":"A33-05","name":"quarantined_not_returned_by_default","passed":true,"detail":"default search returned 0 quarantined hits","ms":2.274},{"id":"A33-06","name":"quarantine_visible_when_explicitly_asked","passed":true,"detail":"explicit search listed 1 hit(s), text withheld","ms":2.657},{"id":"A33-07","name":"quarantine_release_requires_named_human","passed":true,"detail":"blank reviewer and missing reviewer secret refused","ms":3.213},{"id":"A33-08","name":"quarantine_release_is_audited","passed":true,"detail":"audit actions=['release', 'write']","ms":11.34},{"id":"A33-09","name":"released_memory_becomes_searchable","passed":true,"detail":"after release, search returned 1","ms":7.975},{"id":"A33-10","name":"content_hash_is_stable","passed":true,"detail":"56d3e1e3397f5466...","ms":4.669},{"id":"A33-11","name":"tombstone_survives_forget","passed":true,"detail":"row survives with status=deleted","ms":7.594},{"id":"A33-12","name":"deleted_text_is_erased","passed":true,"detail":"stored text/terms cleared and view hides text","ms":9.216},{"id":"A33-13","name":"deleted_memory_not_searchable","passed":true,"detail":"search returned 0","ms":6.625},{"id":"A33-14","name":"deleted_memory_not_reinstated_by_search","passed":true,"detail":"hits=[]","ms":7.585},{"id":"A33-15","name":"ttl_expires_memory","passed":true,"detail":"expired memory excluded from search, still addressable by id","ms":6.871},{"id":"A33-16","name":"chain_valid_after_writes","passed":true,"detail":"entries=5 head=b2f80a6e521753de...","ms":18.78},{"id":"A33-17","name":"chain_detects_edited_entry","passed":true,"detail":"edited seq=28 -> entry_hash does not match its contents","ms":18.227},{"id":"A33-18","name":"chain_detects_truncation","passed":true,"detail":"deleted tail still walks, but fails against the recorded head","ms":33.878},{"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":69.127},{"id":"A33-20","name":"provenance_declared_when_source_given","passed":true,"detail":"declared/source_attached","ms":4.685},{"id":"A33-21","name":"unattributed_memory_is_unverified","passed":true,"detail":"unattributed/unverified","ms":3.932},{"id":"A33-22","name":"contradiction_is_flagged","passed":true,"detail":"flags=[{'memory_id': 'mem_c8591bdc5aba4c1e', 'similarity': 1.0, 'resolution': 'unresolved', 'note': 'lexical overlap with opposite negation polarity; review, not a verdict'}]","ms":14.49},{"id":"A33-23","name":"contradiction_is_not_resolved","passed":true,"detail":"new memory kept active; every flag marked unresolved","ms":14.991},{"id":"A33-24","name":"contradiction_does_not_delete_prior","passed":true,"detail":"prior memory untouched","ms":21.459},{"id":"A33-25","name":"recall_is_deterministic","passed":true,"detail":"identical order across 2 runs (5 hits)","ms":62.605},{"id":"A33-26","name":"recall_reports_bm25","passed":true,"detail":"ranking=Okapi BM25 (k1=1.5, b=0.75) scores_desc=True","ms":19.113},{"id":"A33-27","name":"tag_filter_is_conjunctive","passed":true,"detail":"both tags -> 1, superset -> 0","ms":4.094},{"id":"A33-28","name":"empty_query_rejected","passed":true,"detail":"blank queries refused","ms":0.037},{"id":"A33-29","name":"empty_text_rejected","passed":true,"detail":"blank memories refused","ms":0.012},{"id":"A33-30","name":"duplicate_text_gets_distinct_ids","passed":true,"detail":"same content hash, distinct identities (no silent dedupe)","ms":10.758},{"id":"A33-31","name":"timestamps_non_decreasing","passed":true,"detail":"1794191827.069 <= 1794191827.073","ms":9.776},{"id":"A33-32","name":"audit_covers_every_memory","passed":true,"detail":"4 memories, 4 write entries","ms":71.36},{"id":"A33-33","name":"spaces_index_consistent","passed":true,"detail":"spaces={'s1': {'space': 's1', 'active': 2}, 's2': {'space': 's2', 'quarantined': 1}}","ms":56.897}],"duration_ms":514.66,"checked_at":"2026-11-09T02:37:07Z","scope":"Run against a throwaway database in this process, not the hosted tenant store."}