{
  "report_rows": [
    {
      "kpi": "Adj. EPS (Q2 2026)",
      "prediction": "BEAT",
      "answer": "pred ~$1.35 vs. cons $1.315",
      "confidence": "MEDIUM"
    },
    {
      "kpi": "Plumbing Net Sales (Q2 2026)",
      "prediction": "IN-LINE",
      "answer": "pred ~$1,415M vs. cons $1,404M",
      "confidence": "MEDIUM"
    },
    {
      "kpi": "Plumbing Op. Margin (Q2 2026)",
      "prediction": "IN-LINE",
      "answer": "pred ~20.0% vs. cons 20.2%",
      "confidence": "MEDIUM"
    }
  ],
  "guide_rows": [
    {
      "kpi": "FY 2026 Adj. EPS (FY2026)",
      "prediction": "UNCHANGED",
      "answer": "guide mid ~$4.275 vs. cons $4.275",
      "confidence": "MEDIUM"
    },
    {
      "kpi": "FY 2026 Net Sales (FY2026)",
      "prediction": "UNCHANGED",
      "answer": "guide up low-single-digits vs. cons $7.762B",
      "confidence": "MEDIUM"
    },
    {
      "kpi": "H2 Margin Cadence",
      "prediction": "UNCHANGED",
      "answer": "expansion reaffirmed; commodity caveat maintained",
      "confidence": "MEDIUM"
    }
  ],
  "day1_residual_pct": -2.5,
  "day1_confidence": "MEDIUM",
  "day5_residual_pct": -3.5,
  "day5_path": "FADE",
  "day5_rationale": "FADE \u2014 implicit H2 estimate cuts as sell-side models update; short covering bid already exhausted",
  "day5_confidence": "MEDIUM"
}