{
  "tool_id": "art-391-compute-canton-traffic-cost",
  "note": "golden_hash filled by golden-parity.test.mjs --update. Vector 1: standard-rate traffic, no preapproval. Vector 2: CIP-0119 free-period preapproval (age within 90 days) short-circuits cost to zero. Vector 3: zero-envelope/zero-price edge (finite gate, dual compliance flags).",
  "vectors": [
    {
      "name": "standard_rate_no_preapproval",
      "description": "2.5 MB envelope at the CIP-0084 $60/MB rate, CC/USD 12.5 -- usd_traffic_cost 150, cc_burned 12.",
      "policy_parameters": {
        "protocol_version": "3.5.5",
        "envelope_mb": 2.5,
        "rate_usd_per_mb": 60,
        "cc_usd_price": 12.5,
        "is_transfer_preapproval": false,
        "preapproval_age_days": 0
      },
      "output_payload": {
        "protocol_version": "3.5.5",
        "envelope_mb": 2.5,
        "rate_usd_per_mb": 60,
        "cc_usd_price": 12.5,
        "is_transfer_preapproval": false,
        "preapproval_age_days": 0,
        "free_period_applies": false,
        "free_period_days": 90,
        "effective_rate_usd_per_mb": 60,
        "usd_traffic_cost": 150,
        "cc_burned": 12,
        "rate_source": "CIP-0084 (Tokenomics Committee authority): $60/MB, calibrated so a typical Canton Coin transfer costs approximately $1. Supersedes the earlier post-CIP-0042 ~$25/MB rate -- the rate moves under committee authority and is caller-supplied here, never hard-coded.",
        "free_period_source": "CIP-0119 (live since June 2026): transfer preapprovals get a free 90-day base duration before standard traffic cost applies.",
        "disambiguation": "Computes synchronizer traffic economics for a single message/envelope. For settlement/counterparty structure validation on Canton, see diagnose_canton_readiness (art-503), validate_canton_dvp_atomicity (art-507), and validate_canton_party_allowlist (art-509) -- those validate structure, this computes traffic cost."
      },
      "compliance_flags": [],
      "golden_hash": "89bedfa9af97124bf232d58106de679de587ffb2eabaed266ba1d1884e2cbec7"
    },
    {
      "name": "cip0119_free_period_preapproval",
      "description": "1 MB transfer-preapproval envelope, 45 days old (within the CIP-0119 90-day free window) -- cost and burn both short-circuit to zero.",
      "policy_parameters": {
        "protocol_version": "3.5.5",
        "envelope_mb": 1,
        "rate_usd_per_mb": 60,
        "cc_usd_price": 10,
        "is_transfer_preapproval": true,
        "preapproval_age_days": 45
      },
      "output_payload": {
        "protocol_version": "3.5.5",
        "envelope_mb": 1,
        "rate_usd_per_mb": 60,
        "cc_usd_price": 10,
        "is_transfer_preapproval": true,
        "preapproval_age_days": 45,
        "free_period_applies": true,
        "free_period_days": 90,
        "effective_rate_usd_per_mb": 0,
        "usd_traffic_cost": 0,
        "cc_burned": 0,
        "rate_source": "CIP-0084 (Tokenomics Committee authority): $60/MB, calibrated so a typical Canton Coin transfer costs approximately $1. Supersedes the earlier post-CIP-0042 ~$25/MB rate -- the rate moves under committee authority and is caller-supplied here, never hard-coded.",
        "free_period_source": "CIP-0119 (live since June 2026): transfer preapprovals get a free 90-day base duration before standard traffic cost applies.",
        "disambiguation": "Computes synchronizer traffic economics for a single message/envelope. For settlement/counterparty structure validation on Canton, see diagnose_canton_readiness (art-503), validate_canton_dvp_atomicity (art-507), and validate_canton_party_allowlist (art-509) -- those validate structure, this computes traffic cost."
      },
      "compliance_flags": [
        "CANTON_CIP0119_FREE_PERIOD_APPLIES"
      ],
      "golden_hash": "e30915bdd8e03449ee78b081dcb26d4fa5fd353613d4ca652e9568add1dd7d25"
    },
    {
      "name": "zero_envelope_zero_price_edge",
      "description": "Zero envelope size and zero CC/USD price -- both non-positive-envelope and zero-price compliance flags fire, cc_burned short-circuits to 0 instead of dividing by zero.",
      "policy_parameters": {
        "protocol_version": "3.5.5",
        "envelope_mb": 0,
        "rate_usd_per_mb": 60,
        "cc_usd_price": 0,
        "is_transfer_preapproval": false,
        "preapproval_age_days": 0
      },
      "output_payload": {
        "protocol_version": "3.5.5",
        "envelope_mb": 0,
        "rate_usd_per_mb": 60,
        "cc_usd_price": 0,
        "is_transfer_preapproval": false,
        "preapproval_age_days": 0,
        "free_period_applies": false,
        "free_period_days": 90,
        "effective_rate_usd_per_mb": 60,
        "usd_traffic_cost": 0,
        "cc_burned": 0,
        "rate_source": "CIP-0084 (Tokenomics Committee authority): $60/MB, calibrated so a typical Canton Coin transfer costs approximately $1. Supersedes the earlier post-CIP-0042 ~$25/MB rate -- the rate moves under committee authority and is caller-supplied here, never hard-coded.",
        "free_period_source": "CIP-0119 (live since June 2026): transfer preapprovals get a free 90-day base duration before standard traffic cost applies.",
        "disambiguation": "Computes synchronizer traffic economics for a single message/envelope. For settlement/counterparty structure validation on Canton, see diagnose_canton_readiness (art-503), validate_canton_dvp_atomicity (art-507), and validate_canton_party_allowlist (art-509) -- those validate structure, this computes traffic cost."
      },
      "compliance_flags": [
        "CANTON_NON_POSITIVE_ENVELOPE",
        "CANTON_ZERO_CC_PRICE"
      ],
      "golden_hash": "b1a0cf2083aadc624e27005d60403029a2e0439393b568c9583b83dcc2f480c9"
    }
  ]
}
