{
  "created_at": "2026-11-12T07:59:12Z",
  "result": {
    "engine": "memory_consolidation",
    "limits": "Reviews the consolidation record. It does not read the memory store or judge whether the merged text is correct or useful. The run is Ed25519-signed; pin the issuer key out of band.",
    "module": "cain_a75_engines/memoryconsolidation/engine.py",
    "profile": "offline_dreaming",
    "run": {
      "label": "Checks an offline memory consolidation: tenant isolation, source provenance, synthesis/merge declarations, verbatim corrections, deletion and conflicts, and claim honesty. It does not read the store or judge merged text.",
      "public_key_b64": "39bdENeAPWBfybe2LYmTvhOTBsoCWk0N2p+OGMmJt4Q=",
      "records": [
        {
          "checks": [
            {
              "detail": "derived from ['M1-pref', 'M2-corr', 'M4-note']",
              "id": "O1-merged.sources_exist",
              "ok": true
            },
            {
              "detail": "output 'tenant-a', sources ['tenant-a']",
              "id": "O1-merged.tenant_isolation",
              "ok": true
            },
            {
              "detail": "0.75 <= 0.9 + 0.1",
              "id": "O1-merged.confidence_bounded",
              "ok": true
            },
            {
              "detail": "a synthesised memory names its sources",
              "id": "O1-merged.synthesis_declared",
              "ok": true
            },
            {
              "detail": "derived from ['M2-corr']",
              "id": "O2-correction.sources_exist",
              "ok": true
            },
            {
              "detail": "output 'tenant-a', sources ['tenant-a']",
              "id": "O2-correction.tenant_isolation",
              "ok": true
            },
            {
              "detail": "0.9 <= 0.9 + 0.1",
              "id": "O2-correction.confidence_bounded",
              "ok": true
            },
            {
              "detail": "a single-source output keeps the source text",
              "id": "O2-correction.single_source_verbatim",
              "ok": true
            },
            {
              "detail": "a corrected source must be carried verbatim unless the output is a declared synthesis",
              "id": "O2-correction.carries_correction",
              "ok": true
            },
            {
              "detail": "corrected input is carried verbatim by some output",
              "id": "M2-corr.correction_preserved",
              "ok": true
            },
            {
              "detail": "removed id exists in the inputs",
              "id": "removed.M3-old.exists",
              "ok": true
            },
            {
              "detail": "a corrected memory is never removed",
              "id": "removed.M3-old.not_corrected",
              "ok": true
            },
            {
              "detail": "removed ids are not reused",
              "id": "removed.not_also_reused",
              "ok": true
            },
            {
              "detail": "a='M1-pref' b='M2-corr'",
              "id": "conflict.0.ids_exist",
              "ok": true
            },
            {
              "detail": "resolution 'prefer_newer'",
              "id": "conflict.0.resolved",
              "ok": true
            },
            {
              "detail": "all conflicts resolved",
              "id": "conflicts.none_unresolved",
              "ok": true
            },
            {
              "detail": "claimed True, computed True",
              "id": "claims.corrections_preserved",
              "ok": true
            },
            {
              "detail": "claimed True, computed True",
              "id": "claims.nothing_invented",
              "ok": true
            },
            {
              "detail": "claimed True, computed True",
              "id": "claims.tenant_isolated",
              "ok": true
            }
          ],
          "created_at": "2026-11-12T07:59:12Z",
          "engine": "a75-016/1.0.0",
          "extra": {
            "computed": {
              "corrections_preserved": true,
              "nothing_invented": true,
              "tenant_isolated": true
            },
            "outputs": {
              "O1-merged": {
                "sources": [
                  "M1-pref",
                  "M2-corr",
                  "M4-note"
                ],
                "tenant": "tenant-a"
              },
              "O2-correction": {
                "sources": [
                  "M2-corr"
                ],
                "tenant": "tenant-a"
              }
            },
            "sources": {}
          },
          "failed": [],
          "label": "Checks an offline memory consolidation: tenant isolation, source provenance, synthesis/merge declarations, verbatim corrections, deletion and conflicts, and claim honesty. It does not read the store or judge merged text.",
          "prev_record_hash": "bf2e5be41a1805536e7b9a6ba6b22474b0973b9d4008f963f75abe278d4a9301",
          "public_key_b64": "39bdENeAPWBfybe2LYmTvhOTBsoCWk0N2p+OGMmJt4Q=",
          "record_hash": "20976b0d618f1b0ae50353c0d68644aaa69450e74e79c7ec810a051d5684bcad",
          "schema": "cain42.a75.memoryconsolidation.record.v1",
          "signature_b64": "FLijeP/8mH9Hfj29T7Gurxqd1BcO6oPV9SGvwmRknC+rYHi7Af9/9t9vbggpFszZ2GNTcQanfXr/o+LNUsXpBg==",
          "sku": "CAIN-A75-016",
          "subject": {
            "claims": {
              "corrections_preserved": true,
              "nothing_invented": true,
              "tenant_isolated": true
            },
            "conflicts": [
              {
                "a": "M1-pref",
                "b": "M2-corr",
                "resolution": "prefer_newer"
              }
            ],
            "inputs": [
              {
                "confidence": 0.7,
                "corrected": false,
                "id": "M1-pref",
                "sha256": "ea8584f0db48deb27fe5d1b96b3c367380e56e9b38dcd402f3b3495d9ef99377",
                "tenant": "tenant-a",
                "text": "Customer prefers email on Tuesdays."
              },
              {
                "confidence": 0.9,
                "corrected": true,
                "id": "M2-corr",
                "sha256": "fe2f0c7acd2761952590ebdebd8c19c7b21b71d4a994e40fc36bc49ed42cb9bc",
                "tenant": "tenant-a",
                "text": "Correction: customer now prefers email on Thursdays."
              },
              {
                "confidence": 0.4,
                "corrected": false,
                "id": "M3-old",
                "sha256": "20fe506218cbe6176ce7586f90353f18377531cc80f05ec7b38065714ae279ea",
                "tenant": "tenant-a",
                "text": "Customer used phone support in March."
              },
              {
                "confidence": 0.6,
                "corrected": false,
                "id": "M4-note",
                "sha256": "99a78e5e6b2bcc2d109e4b4d4022ddae0cf3892837a4750a1026b00f8d69ded0",
                "tenant": "tenant-a",
                "text": "Ticket 4481 closed."
              }
            ],
            "max_confidence_gain": 0.1,
            "outputs": [
              {
                "confidence": 0.75,
                "derived_from": [
                  "M1-pref",
                  "M2-corr",
                  "M4-note"
                ],
                "id": "O1-merged",
                "sha256": "c54845e9204f2fae68fa2b5acbe9c35f08d861723d041deddda287669dcf513c",
                "synthesis": true,
                "tenant": "tenant-a",
                "text": "Customer prefers email on Thursdays. Ticket 4481 closed."
              },
              {
                "confidence": 0.9,
                "derived_from": [
                  "M2-corr"
                ],
                "id": "O2-correction",
                "sha256": "fe2f0c7acd2761952590ebdebd8c19c7b21b71d4a994e40fc36bc49ed42cb9bc",
                "tenant": "tenant-a",
                "text": "Correction: customer now prefers email on Thursdays."
              }
            ],
            "removed": [
              "M3-old"
            ],
            "schema": "cain42.a75.memory.consolidation.v1"
          },
          "subject_sha256": "b2230d83f9bfcff28a5f050cd5768968800468d0b854fa57b168baceac8c140c",
          "verdict": "SOUND"
        }
      ],
      "run_hash": "4e8cd3804e8cf0cc8e97ba3f3f2cb223cd77fd1592dbcccb08bd3b801d6575b4",
      "schema": "cain42.a75.memoryconsolidation.run.v1",
      "sku": "CAIN-A75-016",
      "verdict": "VERIFIED",
      "verdicts": [
        "SOUND"
      ]
    },
    "scenarios": [
      {
        "name": "offline_dreaming_consolidation",
        "outputs": 2,
        "run_hash": "4e8cd3804e8cf0cc8e97ba3f3f2cb223cd77fd1592dbcccb08bd3b801d6575b4",
        "verdict": "VERIFIED"
      },
      {
        "expected": "SOUND",
        "name": "honest_consolidation",
        "verdict": "SOUND"
      },
      {
        "expected": "UNSOUND",
        "name": "cross_tenant_output",
        "verdict": "UNSOUND"
      },
      {
        "expected": "UNSOUND",
        "name": "output_without_sources",
        "verdict": "UNSOUND"
      },
      {
        "expected": "UNSOUND",
        "name": "output_from_unknown_source",
        "verdict": "UNSOUND"
      },
      {
        "expected": "UNSOUND",
        "name": "corrected_memory_dropped",
        "verdict": "UNSOUND"
      },
      {
        "expected": "UNSOUND",
        "name": "corrected_memory_removed",
        "verdict": "UNSOUND"
      },
      {
        "expected": "UNSOUND",
        "name": "removed_unknown_id",
        "verdict": "UNSOUND"
      },
      {
        "expected": "UNSOUND",
        "name": "removed_but_reused",
        "verdict": "UNSOUND"
      },
      {
        "expected": "UNSOUND",
        "name": "unresolved_conflict",
        "verdict": "UNSOUND"
      },
      {
        "expected": "UNSOUND",
        "name": "confidence_inflated",
        "verdict": "UNSOUND"
      },
      {
        "expected": "UNSOUND",
        "name": "output_hash_mismatch",
        "verdict": "UNSOUND"
      },
      {
        "expected": "UNSOUND",
        "name": "input_hash_mismatch",
        "verdict": "UNSOUND"
      },
      {
        "expected": "UNSOUND",
        "name": "merge_not_declared",
        "verdict": "UNSOUND"
      },
      {
        "expected": "UNSOUND",
        "name": "single_source_rewritten",
        "verdict": "UNSOUND"
      },
      {
        "expected": "UNSOUND",
        "name": "duplicate_output",
        "verdict": "UNSOUND"
      },
      {
        "expected": "UNSOUND",
        "name": "duplicate_input",
        "verdict": "UNSOUND"
      },
      {
        "expected": "UNSOUND",
        "name": "claim_overstates",
        "verdict": "UNSOUND"
      },
      {
        "expected": "UNSOUND",
        "name": "unknown_claim",
        "verdict": "UNSOUND"
      },
      {
        "expected": "UNSOUND",
        "name": "wrong_schema",
        "verdict": "UNSOUND"
      },
      {
        "expected": "UNSOUND",
        "name": "garbage",
        "verdict": "UNSOUND"
      }
    ],
    "summary": "VERIFIED: tenant isolation, provenance, synthesis/merge, corrections, deletion and conflicts recomputed; 20/20 consolidation-failure cases as expected"
  },
  "schema": "cain42.agentic75.findings.v1",
  "sku": "CAIN-A75-016"
}
