{
  "tool_id": "art-125-provenance-ingredient-tree-resolver",
  "kernel_id": "art-125-provenance-ingredient-tree-resolver",
  "display_name": "Provenance Ingredient Tree Resolver",
  "tool_version": "1.0.0",
  "mandate_type": "compliance_mandate",
  "purpose": "Walk the c2pa.ingredient parent-of tree; confirm each ingredient hashed_uri binding and nested manifest hash chains back to the active manifest; flag broken provenance edges and redacted-but-referenced ingredients. Emits tree depth and intact/broken verdict.",
  "control_description": "Walk the c2pa.ingredient parent-of tree; confirm each ingredient hashed_uri binding and nested manifest hash chains back to the active manifest; flag broken provenance edges and redacted-but-referenced ingredients. Emits tree depth and intact/broken verdict.",
  "declared_inputs": [
    "art-124-content-credential-signature-verifier"
  ],
  "declared_outputs": [],
  "kernel_digest": "sha256:fc2d7c4e7890d168908baf4d7dfe70b306bba732b69fb61b4cbd97c54b53b46b",
  "trust_label": "deferred -- deterministic source published, zkVM proof not yet generated",
  "data_vintage": "2026-07-10",
  "last_validated": "2026-07-10",
  "conformance_fixtures_vendored": true,
  "compute_proof_ready": "ready",
  "wave": 23,
  "source_url": "https://ainumbers.co/chaingraph/art-125-provenance-ingredient-tree-resolver.html",
  "generated_at": "2026-07-25T20:02:55.601Z"
}
