{
  "tool_id": "art-454-globe-jurisdictional-etr",
  "tool_version": "1.0.0",
  "display_name": "GloBE Jurisdictional ETR Calculator",
  "mcp_name": "compute_globe_jurisdictional_etr",
  "mandate_type": "compliance_control",
  "wave": 32,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-454-globe-jurisdictional-etr.html",
  "description": "Computes a jurisdiction's OECD Pillar Two (GloBE) effective tax rate from caller-declared constituent-entity financial data: sums entity-level GloBE income/loss to a jurisdictional net (Art 3.1), sums entity-level adjusted covered taxes (Art 4), and divides to get the ETR. If the jurisdictional net is a GloBE loss, no ETR is computed and the jurisdiction is flagged rather than divided by a non-positive base. Top-up tax percentage = max(0, minimum_rate - ETR); minimum_rate defaults to the Art 5.1 15% rate but is taken as a versioned policy-parameter input, not hardcoded. Election flags (de minimis, stock-based comp, aggregate deferred-tax adjustment) are caller-declared policy parameters -- this kernel echoes which elections were declared, it does not decide them; election judgment and DTA characterization stay with the filer. First node in the GloBE annual cycle, feeding the substance-based income exclusion / top-up node (art-455) and, downstream, the safe-harbour tests (art-456) and GIR composer (art-457). Pure arithmetic aggregation only. NaN-safe. Zero network, zero PII.",
  "input_schema_ref": "chaingraph/art-454-globe-jurisdictional-etr.html#manifest",
  "consumes": [],
  "feeds": [
    "art-455-globe-sbie-topup"
  ],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [
    {
      "system": "sha256-source",
      "image_id": "sha256:b6c161f165c164256e1d59d3de2d7b967aa272e972f8ad8d17648dbb1066ab78",
      "valid_from": "2026-07-10"
    },
    {
      "system": "risc0",
      "image_id": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
      "valid_from": "2026-07-24"
    }
  ],
  "export_capability": [
    "json"
  ],
  "compute_proof_ready": "ready",
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "HnfXdHBO6+bHG1eQv6fOrgMdenO6mIaIva5YmtU0mMsFj1HkZ1nYuNgVnoo8RbKUIS5ert7ansI37KjSGlX+5yH6CbbCu77EnN4qj7jduJUpm+oshVfs9pJ2VbKmCyiXG5XY0VQtfnOSIBVkXLLhQgXezXC9nOWGuwEK3I1sR3UsytqpC6R7AZt6zicjCpFNo9DW7/2ulCetzosy2Kq0ChcPc41/IJbZVvKfZ+NplJMkR6QnN9zhZ8UOAo9ROvoGG6bXFaXv7yiRQDR5QbEME7a51IXwAgXPNQgWfd6OfBMeeW0w9oRhGdMLLfQNAMEw/4rHISRgPhv3U8+R7orHrA==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:b6c161f165c164256e1d59d3de2d7b967aa272e972f8ad8d17648dbb1066ab78",
      "output": {
        "adjusted_covered_taxes": 100000,
        "declared_elections": {
          "aggregate_deferred_tax_adjustment": false,
          "de_minimis_election": false,
          "stock_based_comp_election": false
        },
        "entities": [
          {
            "covered_taxes": 60000,
            "entity_name": "Ruritania OpCo 1",
            "net_income_or_loss": 600000
          },
          {
            "covered_taxes": 30000,
            "entity_name": "Ruritania OpCo 2",
            "net_income_or_loss": 300000
          },
          {
            "covered_taxes": 10000,
            "entity_name": "Ruritania HoldCo",
            "net_income_or_loss": 100000
          }
        ],
        "entity_count": 3,
        "etr": 0.1,
        "jurisdiction_name": "Ruritania",
        "jurisdictional_globe_income": 1000000,
        "minimum_rate": 0.15,
        "net_globe_income_or_loss": 1000000,
        "no_etr_computed": false,
        "top_up_tax_amount": 50000,
        "top_up_tax_percentage": 0.05
      }
    }
  }
}
