{
  "tool_id": "art-597-c2pa-aiml-assertion-decoder",
  "note": "golden_hash filled by `node golden-parity.test.mjs --update`. Assertion-array shape mirrors art-123/art-361's input contract (assertions[] with {label,...}).",
  "vectors": [
    {
      "name": "full-action-history-created-edited-published",
      "policy_parameters": {
        "assertions": [
          {
            "label": "c2pa.actions.v2",
            "actions": [
              {
                "action": "c2pa.created",
                "digitalSourceType": "http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture",
                "when": "2026-08-01T10:00:00Z",
                "softwareAgent": "Pixel Camera App 3.2"
              },
              {
                "action": "c2pa.edited",
                "digitalSourceType": "http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture",
                "when": "2026-08-01T11:00:00Z",
                "softwareAgent": "Adobe Photoshop 26.0"
              },
              {
                "action": "c2pa.published",
                "digitalSourceType": "http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture",
                "when": "2026-08-01T12:00:00Z",
                "softwareAgent": "Adobe Photoshop 26.0"
              }
            ]
          }
        ]
      },
      "output_payload": {
        "actions": [
          {
            "action": "c2pa.created",
            "digital_source_type": "http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture",
            "when": "2026-08-01T10:00:00Z",
            "software_agent": "Pixel Camera App 3.2"
          },
          {
            "action": "c2pa.edited",
            "digital_source_type": "http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture",
            "when": "2026-08-01T11:00:00Z",
            "software_agent": "Adobe Photoshop 26.0"
          },
          {
            "action": "c2pa.published",
            "digital_source_type": "http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture",
            "when": "2026-08-01T12:00:00Z",
            "software_agent": "Adobe Photoshop 26.0"
          }
        ],
        "digital_source_type_summary": [
          "http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture"
        ],
        "training_mining_opt_out": "not_asserted",
        "unrecognized_source_types": [],
        "note": "Reports assertions as declared by the manifest generator only -- never adjudicated. Absence of an AI/ML assertion means nothing: it is never evidence of human authorship, and its presence is never proof of AI generation. Assertions only, not a trust-chain or signature claim."
      },
      "golden_hash": "cf6422607362c94fb9a196ea2cc3d5480c764f7c3ddc096c9d1ff065c0f3e3b5"
    },
    {
      "name": "trained-algorithmic-media-plus-opt-out-true",
      "policy_parameters": {
        "assertions": [
          {
            "label": "c2pa.actions",
            "actions": [
              {
                "action": "c2pa.created",
                "digitalSourceType": "http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia",
                "when": "2026-08-05T09:00:00Z",
                "softwareAgent": "GenModel X"
              }
            ]
          },
          {
            "label": "c2pa.ai_training",
            "training_mining_opt_out": true
          }
        ]
      },
      "output_payload": {
        "actions": [
          {
            "action": "c2pa.created",
            "digital_source_type": "http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia",
            "when": "2026-08-05T09:00:00Z",
            "software_agent": "GenModel X"
          }
        ],
        "digital_source_type_summary": [
          "http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia"
        ],
        "training_mining_opt_out": true,
        "unrecognized_source_types": [],
        "note": "Reports assertions as declared by the manifest generator only -- never adjudicated. Absence of an AI/ML assertion means nothing: it is never evidence of human authorship, and its presence is never proof of AI generation. Assertions only, not a trust-chain or signature claim."
      },
      "golden_hash": "dd1942ec81045654949fb192460f12d99c2a9818f85e689b1c1d4cf721cbfedd"
    },
    {
      "name": "generative-training-opt-out-false-explicit",
      "policy_parameters": {
        "assertions": [
          {
            "label": "c2pa.ai_generative_training",
            "training_mining_opt_out": false
          }
        ]
      },
      "output_payload": {
        "actions": [],
        "digital_source_type_summary": [],
        "training_mining_opt_out": false,
        "unrecognized_source_types": [],
        "note": "Reports assertions as declared by the manifest generator only -- never adjudicated. Absence of an AI/ML assertion means nothing: it is never evidence of human authorship, and its presence is never proof of AI generation. Assertions only, not a trust-chain or signature claim."
      },
      "golden_hash": "6bce7b302dcb5ddf802eed76a4304f92ab00811e7d69a08faa35e35ce91f8b42"
    },
    {
      "name": "unrecognized-digital-source-type-code-surfaced-not-dropped",
      "policy_parameters": {
        "assertions": [
          {
            "label": "c2pa.actions.v2",
            "actions": [
              {
                "action": "c2pa.created",
                "digitalSourceType": "http://cv.iptc.org/newscodes/digitalsourcetype/someFutureCodeNotYetKnown",
                "when": "2026-08-06T09:00:00Z"
              }
            ]
          }
        ]
      },
      "output_payload": {
        "actions": [
          {
            "action": "c2pa.created",
            "digital_source_type": "http://cv.iptc.org/newscodes/digitalsourcetype/someFutureCodeNotYetKnown",
            "when": "2026-08-06T09:00:00Z",
            "software_agent": null
          }
        ],
        "digital_source_type_summary": [
          "http://cv.iptc.org/newscodes/digitalsourcetype/someFutureCodeNotYetKnown"
        ],
        "training_mining_opt_out": "not_asserted",
        "unrecognized_source_types": [
          "http://cv.iptc.org/newscodes/digitalsourcetype/someFutureCodeNotYetKnown"
        ],
        "note": "Reports assertions as declared by the manifest generator only -- never adjudicated. Absence of an AI/ML assertion means nothing: it is never evidence of human authorship, and its presence is never proof of AI generation. Assertions only, not a trust-chain or signature claim."
      },
      "golden_hash": "2d71fa7430ef44e5f2df0a6dc6bacd91256a529ac28e7d08d89700b86a94e6fc"
    },
    {
      "name": "no-assertions-absence-means-nothing",
      "policy_parameters": {},
      "output_payload": {
        "actions": [],
        "digital_source_type_summary": [],
        "training_mining_opt_out": "not_asserted",
        "unrecognized_source_types": [],
        "note": "Reports assertions as declared by the manifest generator only -- never adjudicated. Absence of an AI/ML assertion means nothing: it is never evidence of human authorship, and its presence is never proof of AI generation. Assertions only, not a trust-chain or signature claim."
      },
      "golden_hash": "eab575ba8b0954ecb1b31463d8b10882744a76a937200e67296e5ce43945dd56"
    },
    {
      "name": "ai-training-assertion-present-but-boolean-missing-never-inferred",
      "policy_parameters": {
        "assertions": [
          {
            "label": "c2pa.ai_training"
          }
        ]
      },
      "output_payload": {
        "actions": [],
        "digital_source_type_summary": [],
        "training_mining_opt_out": "not_asserted",
        "unrecognized_source_types": [],
        "note": "Reports assertions as declared by the manifest generator only -- never adjudicated. Absence of an AI/ML assertion means nothing: it is never evidence of human authorship, and its presence is never proof of AI generation. Assertions only, not a trust-chain or signature claim."
      },
      "golden_hash": "7f3c054ff0a6010783408df4d5c74e3fd57508b6670429bcfe94d5872b174384"
    }
  ]
}
