{
  "tool_id": "art-91-ownership-50pct-aggregator",
  "kernel_id": "art-91-ownership-50pct-aggregator",
  "display_name": "Ownership 50%-Rule Aggregator",
  "tool_version": "1.0.0",
  "mandate_type": "compliance_mandate",
  "purpose": "Walks a synthetic ownership graph; computes direct + indirect + aggregate listed stakes per node; applies OFAC, EU, and BIS Affiliates Rule (in force 29 Sep 2025) 50%-thresholds to determine constructively-blocked entities. Pure graph math, synthetic entities only.",
  "control_description": "Walks a synthetic ownership graph; computes direct + indirect + aggregate listed stakes per node; applies OFAC, EU, and BIS Affiliates Rule (in force 29 Sep 2025) 50%-thresholds to determine constructively-blocked entities. Pure graph math, synthetic entities only.",
  "declared_inputs": [
    "art-90-sanctions-screening-fit-diagnostic"
  ],
  "declared_outputs": [
    "art-92-screening-list-coverage-checker",
    "cry-05-agent-action-audit-trail-aggregator"
  ],
  "kernel_digest": "sha256:f1505eeba83572c78e56a22d102dca7aae6db7cbefab4c87b98653969f191037",
  "trust_label": "deferred -- deterministic source published, zkVM proof not yet generated",
  "data_vintage": "2026-07-10",
  "last_validated": "2026-07-10",
  "conformance_fixtures_vendored": false,
  "compute_proof_ready": "ready",
  "wave": 19,
  "source_url": "https://ainumbers.co/chaingraph/art-91-ownership-50pct-aggregator.html",
  "generated_at": "2026-07-25T20:02:55.601Z"
}
