{
  "tool_id": "art-758-hdhp-ppo-break-even",
  "tool_version": "1.0.0",
  "display_name": "HDHP vs. PPO Break-Even",
  "mcp_name": "estimate_hdhp_ppo_breakeven",
  "mandate_type": "compliance_control",
  "wave": 134,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-758-hdhp-ppo-break-even.html",
  "description": "Annual-cost comparator for an HDHP+HSA against a PPO, ported from ApexLogics #105 (AL-112). For two plan profiles (monthly premium, deductible, out-of-pocket maximum, coinsurance percent), an HSA profile (employer and additional personal contribution), a marginal tax rate, a coverage class and an expected annual medical spend, the node finds the break-even medical spend, the first $50 grid point in [0, 20000] at which the HDHP annual total (premium + plan OOP minus the HSA tax shield) is less than or equal to the PPO annual total, and reports the two totals at the expected spend, the strict winner and savings, a fixed seven-step comparison table (plus the expected spend), the capped HSA contribution and its tax shield, and a three-way recommendation (PPO_ALL_LEVELS / PPO_LIKELY / HDHP_BETTER). The 2026 HSA contribution limits ($4,400 self-only / $8,750 family, IRS Rev. Proc. 2025-19 §2.01(1)) are the only constants in the compute; the age-55+ catch-up is stated in the source page's hint text but not applied by its engine, and the port preserves that exactly. The node reads no clock (explicit as_of input echoes the Apex page's wall-clock export timestamp). Invalid-domain inputs are refused with a named reason. Plan-cost model only: no FSA/HRA interactions, no out-of-network or balance-billing, no premium tax credits, no state-specific HSA deduction rules, no investment growth on HSA balances; totals are the source page's own unrounded dollar arithmetic.",
  "input_schema_ref": "chaingraph/art-758-hdhp-ppo-break-even.html#manifest",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [{"system":"sha256-source","image_id":"sha256:e95524058ed93d9c2f4c6b7b81d6f58c8094280895ca7b0a2cd51340e51e21fd","valid_from":"2026-10-19"},{"system":"risc0","image_id":"sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6","valid_from":"2026-09-12"}],
  "export_capability": ["json"],
  "standards_basis": "not_applicable",
  "cited_clause_digest": [],
  "compute_proof_ready": "ready",
  "cycle_preflight": "FAST - 11,223,555 user_cycles max across all 18 fixture vectors, measured exec-only 2026-10-22 (DEFERRED-EXEC-MEASURE-3).",
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "GuwMvornM+JU9gsFZlg0n2XFdEOpBqrsFkhPXksIMGEPO0cPmFWuER6XVo/ozvQTUz7VfVT9b3GVCGE3Vl8QLAP2YLaKitRUCXNNkSKWzB/3ir26vPd6v/jT0lKHQytlJc4Y+XZvbHaa4s5K0y2e9Sa7Uc3+TvmpieYPPeYf3Y4uCIXTXwNeWssZkm8AHxFh5yLLBAxQLnnWHpoxaS7Niwr4w4hUPxobgjlOiPNn0UaufgWQ1S18jgNh/x3MO6KnLbsYM1LCjJZ8IdE07IrY4P20B36583krJYRHzdz3pDIYMgzfR3XEiTD+RGbh9rp0/+zPWi9tp8so7ZByC9uTCA==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:e95524058ed93d9c2f4c6b7b81d6f58c8094280895ca7b0a2cd51340e51e21fd",
      "output": {
        "as_of": "2026-10-13",
        "break_even_spend": 0,
        "comparison_table": [
          {
            "hdhp_saves": 2404.4,
            "hdhp_total": 2155.6,
            "ppo_total": 4560,
            "spend": 0
          },
          {
            "hdhp_saves": 1604.4,
            "hdhp_total": 3655.6,
            "ppo_total": 5260,
            "spend": 1500
          },
          {
            "hdhp_saves": 1204.3999999999996,
            "hdhp_total": 4155.6,
            "ppo_total": 5360,
            "spend": 2000
          },
          {
            "hdhp_saves": 564.3999999999996,
            "hdhp_total": 4995.6,
            "ppo_total": 5560,
            "spend": 3000
          },
          {
            "hdhp_saves": 564.3999999999996,
            "hdhp_total": 5395.6,
            "ppo_total": 5960,
            "spend": 5000
          },
          {
            "hdhp_saves": 564.3999999999996,
            "hdhp_total": 6395.6,
            "ppo_total": 6960,
            "spend": 10000
          },
          {
            "hdhp_saves": 564.3999999999996,
            "hdhp_total": 7395.6,
            "ppo_total": 7960,
            "spend": 15000
          },
          {
            "hdhp_saves": 564.3999999999996,
            "hdhp_total": 8395.6,
            "ppo_total": 8960,
            "spend": 20000
          }
        ],
        "coverage": "individual",
        "domain_errors": [],
        "hdhp_total_at_expected": 4155.6,
        "hsa_tax_shield": 440,
        "hsa_total_applied": 2000,
        "ppo_total_at_expected": 5360,
        "recommendation": "HDHP_BETTER",
        "refusal_reason": null,
        "refusals": [],
        "savings": 1204.3999999999996,
        "scope_note": "Plan-cost model only: premium + in-network cost sharing to the OOP maximum, minus the HSA tax shield on contributions up to the coverage limit. No FSA/HRA interactions, no out-of-network or balance-billing, no prescription-tier carve-outs, no premium tax credits, no state-specific HSA deduction rules, and no investment growth on HSA balances. The HSA catch-up contribution for age 55+ is not applied (the source page does not apply it). Totals are the source page's own dollar arithmetic, unrounded; display rounds to cents.",
        "winner": "HDHP"
      }
    }
  }
}
