[
  {
    "gate_id": "contribution_vs_impact_gate",
    "status": "pass",
    "reason": "Detected study type is mixed.",
    "missing_evidence": [],
    "related_observations": [],
    "consequence": "Claim type is at least machine-labelable from the text."
  },
  {
    "gate_id": "fiscal_truth_gate",
    "status": "fail",
    "reason": "Fiscal revenue is detected, but no cost-side or net-fiscal treatment was detected.",
    "missing_evidence": [
      "missing_public_cost_side"
    ],
    "related_observations": [
      "missing_public_cost_side"
    ],
    "consequence": "Do not release fiscal benefit language as net benefit."
  },
  {
    "gate_id": "visitor_spending_gate",
    "status": "pass",
    "reason": "Visitor/local or new-money language was detected.",
    "missing_evidence": [],
    "related_observations": [],
    "consequence": "The split is addressed; a reviewer should still check the arithmetic."
  },
  {
    "gate_id": "survey_adequacy_gate",
    "status": "warn",
    "reason": "Survey coverage appears weak: 7 of 39 responses were detected.",
    "missing_evidence": [],
    "related_observations": [
      "weak_survey_coverage"
    ],
    "consequence": "Carry the response weakness beside every survey-derived result."
  },
  {
    "gate_id": "model_vintage_gate",
    "status": "fail",
    "reason": "RIMS II is named, but no model or data year was detected.",
    "missing_evidence": [
      "missing_model_year"
    ],
    "related_observations": [
      "missing_model_year"
    ],
    "consequence": "Do not release year-sensitive claims without vintage disclosure."
  },
  {
    "gate_id": "geography_fit_gate",
    "status": "pass",
    "reason": "Detected study geography: national.",
    "missing_evidence": [],
    "related_observations": [],
    "consequence": "A geography is present for reviewer checks."
  },
  {
    "gate_id": "tax_gross_vs_net_gate",
    "status": "fail",
    "reason": "Tax claims are detected, but gross-vs-net treatment was not detected.",
    "missing_evidence": [
      "missing_tax_retention_or_netting"
    ],
    "related_observations": [
      "missing_tax_retention_or_netting"
    ],
    "consequence": "Tax claims should not be used as fiscal benefit until retention is shown."
  },
  {
    "gate_id": "benefit_cost_gate",
    "status": "pass",
    "reason": "Benefit-cost language includes cost, discount, and counterfactual cues.",
    "missing_evidence": [],
    "related_observations": [],
    "consequence": "The ratio is reviewable from the text cues."
  },
  {
    "gate_id": "source_confidence_gate",
    "status": "pass",
    "reason": "Claims and source/method cues were detected.",
    "missing_evidence": [],
    "related_observations": [],
    "consequence": "Weigh every finding here against how much of the written standard could be checked mechanically on this document: 23 checks: 3 measured, 0 not matched, 20 need a reader."
  }
]