{
  "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. Ownership percentage is the only relation the inputs carry: there is no control edge and no control flag, so control without ownership is excluded from scope. OFAC FAQs 398 and 400 treat an entity that a blocked person controls without owning 50 percent or more as not itself blocked while still counselling caution, and that branch is not evaluated here. The EU criterion is ownership or control, and the eu_50 threshold expresses its ownership prong only; the EU control prong is excluded on the same ground. 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. Ownership percentage is the only relation the inputs carry: there is no control edge and no control flag, so control without ownership is excluded from scope. OFAC FAQs 398 and 400 treat an entity that a blocked person controls without owning 50 percent or more as not itself blocked while still counselling caution, and that branch is not evaluated here. The EU criterion is ownership or control, and the eu_50 threshold expresses its ownership prong only; the EU control prong is excluded on the same ground. 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": "independently verified: zkVM execution proof (risc0/groth16-bn254)",
  "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-08-22T20:16:21.194Z"
}
