{
  "schema_version": "forecast-artifact.v1",
  "run": {
    "run_id": "2026-08-21T22-26-09.681935-07-00__m0.2.0__dae609dfa6b4c",
    "status": "research_preview",
    "generated_at": "2026-08-21T22:26:09.681935-07:00",
    "data_cutoff": "2026-08-21T22:26:09.681935-07:00",
    "election_date": "2026-11-03",
    "timezone": "America/Los_Angeles",
    "days_to_election": 74,
    "model_version": "0.2.0",
    "methodology_version": "0.2",
    "data_version": "ae609dfa6b4c",
    "simulation_count": 40000,
    "random_seed": 20260821,
    "validation_state": "research_preview"
  },
  "candidates": [
    {
      "candidate_id": "tina_kotek",
      "name": "Tina Kotek",
      "party": "Democratic",
      "role": "kotek",
      "is_aggregate": false
    },
    {
      "candidate_id": "christine_drazan",
      "name": "Christine Drazan",
      "party": "Republican",
      "role": "drazan",
      "is_aggregate": false
    },
    {
      "candidate_id": "other_candidates",
      "name": "Other candidates",
      "party": "Other",
      "role": "minor",
      "is_aggregate": true
    }
  ],
  "views": {
    "nowcast": {
      "label": "If voting ended today",
      "leader_candidate_id": "tina_kotek",
      "candidates": [
        {
          "candidate_id": "tina_kotek",
          "name": "Tina Kotek",
          "party": "Democratic",
          "is_aggregate": false,
          "win_probability": 0.665275,
          "vote_share": {
            "median": 50.3098,
            "mean": 50.303,
            "interval_50": {
              "lower": 48.1232,
              "upper": 52.4551
            },
            "interval_80": {
              "lower": 46.1009,
              "upper": 54.509
            }
          }
        },
        {
          "candidate_id": "christine_drazan",
          "name": "Christine Drazan",
          "party": "Republican",
          "is_aggregate": false,
          "win_probability": 0.334725,
          "vote_share": {
            "median": 47.5851,
            "mean": 47.5974,
            "interval_50": {
              "lower": 45.4573,
              "upper": 49.7703
            },
            "interval_80": {
              "lower": 43.3677,
              "upper": 51.8174
            }
          }
        },
        {
          "candidate_id": "other_candidates",
          "name": "Other candidates",
          "party": "Other",
          "is_aggregate": true,
          "win_probability": 0.0,
          "vote_share": {
            "median": 2.0795,
            "mean": 2.0996,
            "interval_50": {
              "lower": 1.4689,
              "upper": 2.6942
            },
            "interval_80": {
              "lower": 0.9634,
              "upper": 3.2532
            }
          }
        }
      ],
      "major_candidate_margin": {
        "median": 2.7205,
        "mean": 2.7056,
        "interval_50": {
          "lower": -1.574,
          "upper": 6.9635
        },
        "interval_80": {
          "lower": -5.6287,
          "upper": 11.0212
        }
      },
      "normalized_two_candidate_margin": {
        "median": 2.7794,
        "mean": 2.7638,
        "interval_50": {
          "lower": -1.6119,
          "upper": 7.1066
        },
        "interval_80": {
          "lower": -5.7405,
          "upper": 11.2741
        }
      },
      "margin_convention": "Positive values indicate a Kotek lead; negative values indicate a Drazan lead."
    },
    "election_forecast": {
      "label": "Election-day forecast",
      "leader_candidate_id": "tina_kotek",
      "candidates": [
        {
          "candidate_id": "tina_kotek",
          "name": "Tina Kotek",
          "party": "Democratic",
          "is_aggregate": false,
          "win_probability": 0.64655,
          "vote_share": {
            "median": 50.2069,
            "mean": 50.2408,
            "interval_50": {
              "lower": 47.8209,
              "upper": 52.6556
            },
            "interval_80": {
              "lower": 45.5928,
              "upper": 54.9321
            }
          }
        },
        {
          "candidate_id": "christine_drazan",
          "name": "Christine Drazan",
          "party": "Republican",
          "is_aggregate": false,
          "win_probability": 0.35345,
          "vote_share": {
            "median": 47.6174,
            "mean": 47.6066,
            "interval_50": {
              "lower": 45.2406,
              "upper": 50.0064
            },
            "interval_80": {
              "lower": 42.9252,
              "upper": 52.2616
            }
          }
        },
        {
          "candidate_id": "other_candidates",
          "name": "Other candidates",
          "party": "Other",
          "is_aggregate": true,
          "win_probability": 0.0,
          "vote_share": {
            "median": 2.088,
            "mean": 2.1527,
            "interval_50": {
              "lower": 1.3446,
              "upper": 2.8876
            },
            "interval_80": {
              "lower": 0.7632,
              "upper": 3.5912
            }
          }
        }
      ],
      "major_candidate_margin": {
        "median": 2.5813,
        "mean": 2.6342,
        "interval_50": {
          "lower": -2.111,
          "upper": 7.3671
        },
        "interval_80": {
          "lower": -6.5862,
          "upper": 11.9104
        }
      },
      "normalized_two_candidate_margin": {
        "median": 2.6427,
        "mean": 2.6915,
        "interval_50": {
          "lower": -2.1539,
          "upper": 7.5269
        },
        "interval_80": {
          "lower": -6.7394,
          "upper": 12.1787
        }
      },
      "margin_convention": "Positive values indicate a Kotek lead; negative values indicate a Drazan lead."
    }
  },
  "components": {
    "polls": {
      "available": true,
      "normalized_two_candidate_margin": {
        "median": -3.5994,
        "mean": -3.5926,
        "interval_50": {
          "lower": -14.505,
          "upper": 7.4415
        },
        "interval_80": {
          "lower": -24.4541,
          "upper": 17.1868
        }
      },
      "other_vote_share": {
        "median": 6.254,
        "mean": 7.0165,
        "interval_50": {
          "lower": 3.1158,
          "upper": 10.2178
        },
        "interval_80": {
          "lower": 1.2906,
          "upper": 13.941
        }
      },
      "candidate_vote_shares": [
        {
          "candidate_id": "tina_kotek",
          "vote_share": {
            "median": 44.7414,
            "mean": 44.8176,
            "interval_50": {
              "lower": 39.4707,
              "upper": 50.0802
            },
            "interval_80": {
              "lower": 34.7247,
              "upper": 54.9658
            }
          }
        },
        {
          "candidate_id": "christine_drazan",
          "vote_share": {
            "median": 48.1128,
            "mean": 48.1659,
            "interval_50": {
              "lower": 42.727,
              "upper": 53.4638
            },
            "interval_80": {
              "lower": 38.0399,
              "upper": 58.4591
            }
          }
        },
        {
          "candidate_id": "other_candidates",
          "vote_share": {
            "median": 6.254,
            "mean": 7.0165,
            "interval_50": {
              "lower": 3.1158,
              "upper": 10.2178
            },
            "interval_80": {
              "lower": 1.2906,
              "upper": 13.941
            }
          }
        }
      ],
      "accepted_count": 1,
      "distinct_pollsters": 1,
      "effective_poll_count": 1.0
    },
    "fundamentals": {
      "available": true,
      "normalized_two_candidate_margin": {
        "median": 3.1047,
        "mean": 3.0978,
        "interval_50": {
          "lower": 0.5572,
          "upper": 5.6725
        },
        "interval_80": {
          "lower": -1.7177,
          "upper": 7.8862
        }
      },
      "other_vote_share": {
        "median": 2.029,
        "mean": 2.0643,
        "interval_50": {
          "lower": 1.3856,
          "upper": 2.7036
        },
        "interval_80": {
          "lower": 0.8565,
          "upper": 3.2952
        }
      },
      "candidate_vote_shares": [
        {
          "candidate_id": "tina_kotek",
          "vote_share": {
            "median": 50.4834,
            "mean": 50.4848,
            "interval_50": {
              "lower": 49.2095,
              "upper": 51.7712
            },
            "interval_80": {
              "lower": 48.0404,
              "upper": 52.9306
            }
          }
        },
        {
          "candidate_id": "christine_drazan",
          "vote_share": {
            "median": 47.4338,
            "mean": 47.4509,
            "interval_50": {
              "lower": 46.1548,
              "upper": 48.7468
            },
            "interval_80": {
              "lower": 45.0393,
              "upper": 49.8862
            }
          }
        },
        {
          "candidate_id": "other_candidates",
          "vote_share": {
            "median": 2.029,
            "mean": 2.0643,
            "interval_50": {
              "lower": 1.3856,
              "upper": 2.7036
            },
            "interval_80": {
              "lower": 0.8565,
              "upper": 3.2952
            }
          }
        }
      ],
      "applied_features": [],
      "inactive_features": []
    },
    "combined": {
      "available": true,
      "normalized_two_candidate_margin": {
        "median": 2.6427,
        "mean": 2.6915,
        "interval_50": {
          "lower": -2.1539,
          "upper": 7.5269
        },
        "interval_80": {
          "lower": -6.7394,
          "upper": 12.1787
        }
      },
      "other_vote_share": {
        "median": 2.088,
        "mean": 2.1527,
        "interval_50": {
          "lower": 1.3446,
          "upper": 2.8876
        },
        "interval_80": {
          "lower": 0.7632,
          "upper": 3.5912
        }
      },
      "candidate_vote_shares": [
        {
          "candidate_id": "tina_kotek",
          "vote_share": {
            "median": 50.2069,
            "mean": 50.2408,
            "interval_50": {
              "lower": 47.8209,
              "upper": 52.6556
            },
            "interval_80": {
              "lower": 45.5928,
              "upper": 54.9321
            }
          }
        },
        {
          "candidate_id": "christine_drazan",
          "vote_share": {
            "median": 47.6174,
            "mean": 47.6066,
            "interval_50": {
              "lower": 45.2406,
              "upper": 50.0064
            },
            "interval_80": {
              "lower": 42.9252,
              "upper": 52.2616
            }
          }
        },
        {
          "candidate_id": "other_candidates",
          "vote_share": {
            "median": 2.088,
            "mean": 2.1527,
            "interval_50": {
              "lower": 1.3446,
              "upper": 2.8876
            },
            "interval_80": {
              "lower": 0.7632,
              "upper": 3.5912
            }
          }
        }
      ],
      "poll_influence": 0.050664,
      "future_movement_sd": 3.381587,
      "historical_error_calibration": {
        "available": true,
        "source": "data/calibration/gubernatorial_poll_error.json",
        "algorithm_version": "weighted-poll-baseline-0.1.0",
        "implementation_version": "production-poll-aggregation-backtest-0.2.0",
        "series": "robust_polling",
        "election_day_horizon": 1,
        "future_movement_horizon_days": 30,
        "election_day_error_sd": 5.8825,
        "horizon_total_error_sd": 6.7852,
        "future_movement_max_sd": 3.381587,
        "election_day_race_count": 43,
        "future_horizon_race_count": 37,
        "fallback_used": false,
        "scope_note": "Out-of-time production-aggregator polling error by days before Election Day. This calibrates the polls-only baseline and does not validate the full fundamentals model."
      },
      "error_distribution": "student_t",
      "error_degrees_of_freedom": 7
    }
  },
  "bridge": [
    {
      "stage_id": "actual_2022",
      "label": "2022 certified result",
      "description": "Kotek won the certified full ballot by 3.42 points; the bridge position is the corresponding 3.78-point normalized Kotek–Drazan margin.",
      "all_candidate_margin": 3.4168,
      "normalized_two_candidate_margin": {
        "median": 3.7754,
        "mean": 3.7754,
        "interval_50": {
          "lower": 3.7754,
          "upper": 3.7754
        },
        "interval_80": {
          "lower": 3.7754,
          "upper": 3.7754
        }
      },
      "candidate_vote_shares": {
        "betsy_johnson": 8.624736,
        "christine_drazan": 43.543162,
        "donice_smith": 0.412262,
        "r_leon_noble": 0.351634,
        "tina_kotek": 46.960007,
        "write_ins": 0.108199
      },
      "candidate_names": {
        "tina_kotek": "Tina Kotek",
        "christine_drazan": "Christine Drazan",
        "betsy_johnson": "Betsy Johnson",
        "donice_smith": "Donice Noelle Smith",
        "r_leon_noble": "R. Leon Noble",
        "write_ins": "Write-ins / miscellaneous"
      },
      "source_ids": [
        "or_sos_2022_general_abstract"
      ],
      "is_model_estimate": false
    },
    {
      "stage_id": "no_johnson_2022",
      "label": "2022 without Johnson",
      "description": "Counterfactual redistribution using a broad transfer prior informed by two indirect 2022 proxies and a separate Johnson-to-major rate. Production does not separately estimate 2022 Kotek/Drazan retention or crossover.",
      "normalized_two_candidate_margin": {
        "median": 3.1285,
        "mean": 3.1151,
        "interval_50": {
          "lower": 1.2211,
          "upper": 5.0282
        },
        "interval_80": {
          "lower": -0.5004,
          "upper": 6.7213
        }
      },
      "is_model_estimate": true
    },
    {
      "stage_id": "structural_2026",
      "label": "2026 structural prior",
      "description": "The rematch counterfactual updated for measured electorate and fundamentals effects.",
      "normalized_two_candidate_margin": {
        "median": 3.1047,
        "mean": 3.0978,
        "interval_50": {
          "lower": 0.5572,
          "upper": 5.6725
        },
        "interval_80": {
          "lower": -1.7177,
          "upper": 7.8862
        }
      },
      "subcomponents": {
        "electorate_shift": {
          "median": -0.0074,
          "mean": -0.0106,
          "interval_50": {
            "lower": -1.0253,
            "upper": 0.9891
          },
          "interval_80": {
            "lower": -1.9219,
            "upper": 1.8974
          }
        },
        "fundamental_adjustment": {
          "median": -0.0161,
          "mean": -0.0066,
          "interval_50": {
            "lower": -1.3718,
            "upper": 1.3565
          },
          "interval_80": {
            "lower": -2.5755,
            "upper": 2.5834
          }
        }
      },
      "is_model_estimate": true
    },
    {
      "stage_id": "current_polls",
      "label": "Current polls",
      "description": "Quality-, recency-, and correlation-adjusted estimate from reviewed polls.",
      "normalized_two_candidate_margin": {
        "median": -3.5994,
        "mean": -3.5926,
        "interval_50": {
          "lower": -14.505,
          "upper": 7.4415
        },
        "interval_80": {
          "lower": -24.4541,
          "upper": 17.1868
        }
      },
      "available": true,
      "is_model_estimate": true
    },
    {
      "stage_id": "november_forecast",
      "label": "November forecast",
      "description": "Combined structural and polling estimate with remaining movement and election-day error.",
      "normalized_two_candidate_margin": {
        "median": 2.6427,
        "mean": 2.6915,
        "interval_50": {
          "lower": -2.1539,
          "upper": 7.5269
        },
        "interval_80": {
          "lower": -6.7394,
          "upper": 12.1787
        }
      },
      "is_model_estimate": true
    }
  ],
  "bridge_diagnostics": {
    "schema_version": "bridge-analysis.v1",
    "algorithm_version": "county-transition-accounting.v1",
    "status": "diagnostic_only_not_forecast_input",
    "forecast_integration": "public_diagnostic_only",
    "identification_status": "individual_johnson_second_choice_not_directly_observed",
    "current_model_prior": {
      "johnson_to_kotek_mean": 0.48,
      "johnson_to_kotek_sd": 0.16,
      "johnson_to_kotek_min": 0.05,
      "johnson_to_kotek_max": 0.85,
      "johnson_to_major_rate_mean": 0.9,
      "johnson_to_major_rate_sd": 0.08,
      "johnson_to_major_rate_min": 0.55,
      "johnson_to_major_rate_max": 1.0,
      "johnson_to_major_rate_evidence_status": "unvalidated_judgmental_assumption",
      "johnson_to_major_rate_basis": "A judgmental participation assumption used to allow some 2022 Johnson-origin voters to choose neither major candidate in 2026. The available AP VoteCast and Clout evidence informs only the conditional Kotek-versus-Drazan destination proxy, not this participation rate.",
      "evidence_status": "indirect_proxy_evidence_not_second_choice",
      "basis": "A judgmental, deliberately broad approximation informed by AP VoteCast relative-favorability comparisons among 2022 Johnson voters and Clout Research's same-sample aggregate forced-choice ballot. Neither source directly identifies Johnson voters' second choices.",
      "source_ids": [
        "ap_votecast_2022_public_use",
        "clout_2022_sep_forced_choice"
      ]
    },
    "transfer_evidence": {
      "schema_version": "johnson-transfer-evidence.v1",
      "analysis_as_of": "2026-08-21",
      "status": "indirect_evidence_only_not_directly_identified",
      "estimand": "Among people who chose Betsy Johnson for Oregon governor in 2022 and who would choose either Tina Kotek or Christine Drazan in a counterfactual two-candidate contest, the share who would choose Kotek.",
      "direct_second_choice_observed": false,
      "records": [
        {
          "evidence_id": "ap_votecast_2022_johnson_favorability_proxy",
          "label": "AP VoteCast individual-level favorability proxy",
          "source_ids": [
            "ap_votecast_2022_public_use"
          ],
          "respondent_count": 225,
          "kotek_proxy_share_low": 0.490331,
          "kotek_proxy_share_high": 0.536883,
          "metric": "Tie-split relative-favorability proxy across poll-close and final-vote weights",
          "caveat": "Favorability is not vote choice; weighting choice, ties, proxy error, and the small effective sample dominate precision."
        },
        {
          "evidence_id": "clout_2022_same_sample_aggregate_forced_choice",
          "label": "Clout same-sample aggregate forced choice",
          "source_ids": [
            "clout_2022_sep_forced_choice"
          ],
          "respondent_count": 422,
          "kotek_proxy_share_low": 0.102941,
          "kotek_proxy_share_high": 0.735294,
          "conditional_point_under_exchangeability": 0.45045,
          "metric": "Johnson-specific identified range under no major-candidate switching",
          "caveat": "The Johnson split is not published; even the wide range requires a strong no-major-switch assumption, and the point allocation adds exchangeability."
        }
      ],
      "production_prior": {
        "distribution": "truncated_normal",
        "mean": 0.48,
        "sd": 0.16,
        "minimum": 0.05,
        "maximum": 0.85,
        "evidence_status": "judgmental_prior_informed_by_indirect_proxy_evidence",
        "basis": "AP VoteCast favorability comparisons center near an even split but range from 0.490 under poll-close weighting to 0.537 under final-vote weighting when equal valid ratings are split. Clout's nonidentified same-sample aggregate implies 0.450 only under an additional exchangeability assumption. The 0.48 center gives modest weight to that Drazan-leaning aggregate constraint, while the 0.16 standard deviation and truncation preserve substantial uncertainty for proxy error, unpublished transitions, weighting sensitivity, and 2022-to-2026 behavioral change.",
        "source_ids": [
          "ap_votecast_2022_public_use",
          "clout_2022_sep_forced_choice"
        ]
      },
      "guardrail": "Do not describe the production prior or either evidence record as an observed Johnson-voter transfer rate."
    },
    "observed_2022": {
      "certified_kotek_minus_drazan_two_candidate_margin": 3.775388,
      "top_five_counties_share_of_johnson_vote": 55.06231
    },
    "named_scenarios": [
      {
        "scenario_id": "equal_johnson_split_anchor",
        "label": "Equal Johnson split anchor",
        "evidence_status": "unobserved_arithmetic_anchor",
        "probability_weight": null,
        "synthetic_two_candidate_margin": 3.446906,
        "synthetic_major_winner": "tina_kotek"
      },
      {
        "scenario_id": "drazan_transfer_stress",
        "label": "Drazan-leaning Johnson transfer stress",
        "evidence_status": "unobserved_stress_test",
        "probability_weight": null,
        "synthetic_two_candidate_margin": -1.202903,
        "synthetic_major_winner": "christine_drazan"
      },
      {
        "scenario_id": "kotek_transfer_stress",
        "label": "Kotek-leaning Johnson transfer stress",
        "evidence_status": "unobserved_stress_test",
        "probability_weight": null,
        "synthetic_two_candidate_margin": 7.97252,
        "synthetic_major_winner": "tina_kotek"
      },
      {
        "scenario_id": "drazan_relative_retention_stress",
        "label": "Drazan relative-retention stress",
        "evidence_status": "unobserved_compound_stress_test",
        "probability_weight": null,
        "synthetic_two_candidate_margin": -2.844134,
        "synthetic_major_winner": "christine_drazan"
      },
      {
        "scenario_id": "kotek_relative_retention_stress",
        "label": "Kotek relative-retention stress",
        "evidence_status": "unobserved_compound_stress_test",
        "probability_weight": null,
        "synthetic_two_candidate_margin": 9.611775,
        "synthetic_major_winner": "tina_kotek"
      }
    ],
    "unweighted_margin_envelope": {
      "lower": -5.325423,
      "upper": 12.100601,
      "grid_cell_count": 420,
      "probability_interval": false
    },
    "ecological_inference_warning": "County aggregates do not identify any individual Johnson, Kotek, Drazan, minor-party, or write-in voter's 2026 destination.",
    "reason_no_probability": "No locally available evidence identifies defensible probability weights for the transfer and retention assumptions."
  },
  "polls": [
    {
      "poll_id": "2026-06-24-pos-kotek-drazan",
      "pollster": "Public Opinion Strategies",
      "sponsor": "Christine Drazan for Oregon",
      "partisan_sponsor": "R",
      "field_start": "2026-06-22",
      "field_end": "2026-06-24",
      "published_at": "2026-07-10T23:59:59.999999-07:00",
      "population": "RV",
      "sample_size": 600,
      "sample_size_disclosed": true,
      "mode": "Telephone",
      "raw": {
        "kotek": 44.0,
        "drazan": 48.0,
        "other": 2.0,
        "undecided": 6.0
      },
      "raw_two_candidate_margin": -4.347826,
      "adjusted_two_candidate_margin": -3.547826,
      "other_decided_share": 2.12766,
      "house_effect_adjustment": -0.0,
      "sponsorship_adjustment": 0.8,
      "quality_multiplier": 0.272531,
      "recency_multiplier": 0.237924,
      "sampling_sd": 4.078622,
      "review_status": "accepted_with_penalty",
      "review_note": "Campaign internal poll; apply partisan-sponsor penalty and correlated-error inflation. Original six-page topline verified. Frame, weighting, and voter-screen details are not disclosed. The published summary places 6% in lean/undecided and the remaining 2% in third-party/other or refusal; other therefore preserves that combined remainder.",
      "source_id": "pos_2026_oregon_statewide_topline",
      "question_text": "If the election for Governor were being held TODAY, for whom would you vote between... (ROTATE) Christine Drazan, Republican … and… Tina Kotek, Democrat?",
      "normalized_weight": 1.0
    }
  ],
  "poll_ledger": [
    {
      "poll_id": "2026-06-24-pos-kotek-drazan",
      "pollster": "Public Opinion Strategies",
      "sponsor": "Christine Drazan for Oregon",
      "partisan_sponsor": "R",
      "field_start": "2026-06-22",
      "field_end": "2026-06-24",
      "published_at": "2026-07-10T23:59:59.999999-07:00",
      "population": "RV",
      "sample_size": 600,
      "sample_size_disclosed": true,
      "mode": "Telephone",
      "raw": {
        "kotek": 44.0,
        "drazan": 48.0,
        "other": 2.0,
        "undecided": 6.0
      },
      "raw_two_candidate_margin": -4.347826,
      "adjusted_two_candidate_margin": -3.547826,
      "other_decided_share": 2.12766,
      "house_effect_adjustment": -0.0,
      "sponsorship_adjustment": 0.8,
      "quality_multiplier": 0.272531,
      "recency_multiplier": 0.237924,
      "sampling_sd": 4.078622,
      "review_status": "accepted_with_penalty",
      "review_note": "Campaign internal poll; apply partisan-sponsor penalty and correlated-error inflation. Original six-page topline verified. Frame, weighting, and voter-screen details are not disclosed. The published summary places 6% in lean/undecided and the remaining 2% in third-party/other or refusal; other therefore preserves that combined remainder.",
      "source_id": "pos_2026_oregon_statewide_topline",
      "question_text": "If the election for Governor were being held TODAY, for whom would you vote between... (ROTATE) Christine Drazan, Republican … and… Tina Kotek, Democrat?",
      "normalized_weight": 1.0,
      "model_use": {
        "included": true,
        "reason": "Included in the current polling average."
      }
    },
    {
      "poll_id": "2026-02-04-fm3-kotek-drazan",
      "pollster": "FM3 Research",
      "sponsor": "Undisclosed",
      "partisan_sponsor": null,
      "field_start": "2026-01-28",
      "field_end": "2026-02-04",
      "published_at": "2026-02-13",
      "population": "LV",
      "sample_size": null,
      "sample_size_disclosed": false,
      "mode": "Mixed telephone and online/text",
      "raw": {
        "kotek": 45.0,
        "drazan": 40.0,
        "other": 12.0,
        "undecided": 3.0
      },
      "raw_two_candidate_margin": 5.882353,
      "review_status": "accepted_with_penalty",
      "review_note": "Original questionnaire/topline verified. The release reports 1,065 likely voters overall but uses an A/B/C split; exact n for the Kotek–Drazan ballot test is not disclosed, so sample_size is intentionally blank. Sponsor, sample frame, weighting, and likely-voter screen are not disclosed. Pollster attribution is corroborated by contemporaneous reporting but is not printed in the PDF.",
      "source_id": "fm3_2026_oregon_mental_health_topline",
      "question_text": "Next, it’s a long way off, but if the election for Oregon Governor were held today, who would you vote for if the candidates were: (ROTATE) Tina Kotek, a Democrat; and Christine Drazan, a Republican? (IF UNDECIDED, ASK: Toward whom would you lean?)",
      "model_use": {
        "included": false,
        "reason": "older than 180 days"
      }
    }
  ],
  "poll_exclusions": [
    {
      "poll_id": "2026-02-04-fm3-kotek-drazan",
      "reason": "older than 180 days"
    }
  ],
  "poll_trend": [
    {
      "date": "2026-06-24",
      "poll_id": "2026-06-24-pos-kotek-drazan",
      "adjusted_two_candidate_margin": -3.547826,
      "other_decided_share": 2.12766,
      "weight": 1.0
    }
  ],
  "probability_history": [
    {
      "date": "2026-08-21T12:57:28.119941-07:00",
      "data_cutoff": "2026-08-21T12:57:28.119941-07:00",
      "run_id": "2026-08-21T12-57-28.119941-07-00__m0.1.0__d8d6cb9762618",
      "model_version": "0.1.0",
      "data_version": "8d6cb9762618",
      "margin": 0.8454,
      "low": -8.5055,
      "high": 10.1936,
      "candidate_win_probabilities": {
        "tina_kotek": 0.547625,
        "christine_drazan": 0.452375
      },
      "kotek_win_probability": 0.547625,
      "drazan_win_probability": 0.452375
    },
    {
      "date": "2026-08-21T14:55:17.354672-07:00",
      "data_cutoff": "2026-08-21T14:55:17.354672-07:00",
      "run_id": "2026-08-21T14-55-17.354672-07-00__m0.2.0__d4313959f5c2f",
      "model_version": "0.2.0",
      "data_version": "4313959f5c2f",
      "margin": 2.5813,
      "low": -6.5862,
      "high": 11.9104,
      "candidate_win_probabilities": {
        "tina_kotek": 0.64655,
        "christine_drazan": 0.35345
      },
      "kotek_win_probability": 0.64655,
      "drazan_win_probability": 0.35345
    },
    {
      "date": "2026-08-21T22:26:09.681935-07:00",
      "data_cutoff": "2026-08-21T22:26:09.681935-07:00",
      "run_id": "2026-08-21T22-26-09.681935-07-00__m0.2.0__dae609dfa6b4c",
      "model_version": "0.2.0",
      "data_version": "ae609dfa6b4c",
      "margin": 2.5813,
      "low": -6.5862,
      "high": 11.9104,
      "candidate_win_probabilities": {
        "tina_kotek": 0.64655,
        "christine_drazan": 0.35345
      },
      "kotek_win_probability": 0.64655,
      "drazan_win_probability": 0.35345
    }
  ],
  "evidence_ledger": [
    {
      "event_id": "2026-libertarian-cross-nomination-drazan-reported",
      "event_at": "2026-07-25",
      "published_at": "2026-08-07",
      "headline": "Christine Drazan reportedly receives the Libertarian cross-nomination",
      "category": "candidate_field",
      "candidates": [
        "christine_drazan"
      ],
      "mechanism": "ballot_label_and_coalition_signal",
      "status": "reported_not_certified",
      "source_ids": [
        "lpo_2026_convention_notice",
        "kepw_2026_brett_smith_interview"
      ],
      "summary": "The Libertarian Party confirms that its convention occurred on July 25, while Pacific Green candidate Brett Smith later gave a first-person account that delegates nominated Drazan. No official LPO outcome release or certified state ballot record was located as of August 21.",
      "model_treatment": {
        "type": "monitor_only",
        "effect": "No model input change until an official party outcome or Oregon certified ballot record confirms the cross-nomination."
      },
      "intervention": null
    },
    {
      "event_id": "2026-pacific-green-nomination-smith",
      "event_at": "2026-07-23",
      "published_at": "2026-07-23",
      "headline": "Brett Smith is slated for the ballot as the Pacific Green nominee",
      "category": "candidate_field",
      "candidates": [
        "brett_smith",
        "tina_kotek",
        "christine_drazan"
      ],
      "mechanism": "minor_party_vote",
      "status": "provisional",
      "source_ids": [
        "pacific_green_2026_nominations",
        "opb_2026_third_party_field"
      ],
      "summary": "The Pacific Green Party identifies Smith as its nominee, and OPB reported him as the lone minor-party candidate then headed to the ballot. Oregon's minor-party field was still open, so this is not treated as the final certified ballot.",
      "model_treatment": {
        "type": "monitor_only",
        "effect": "Track Smith in the provisional field while minor-party support remains aggregated as Other; do not assign a direct margin adjustment before certified ballot confirmation and measurable support."
      },
      "intervention": null
    },
    {
      "event_id": "2026-pos-internal-poll-release",
      "event_at": "2026-06-24",
      "published_at": "2026-07-10",
      "headline": "Drazan campaign releases Public Opinion Strategies topline showing Drazan 48%, Kotek 44%",
      "category": "qualifying_poll",
      "candidates": [
        "christine_drazan",
        "tina_kotek"
      ],
      "mechanism": "polling_evidence",
      "status": "confirmed",
      "source_ids": [
        "pos_2026_oregon_statewide_topline",
        "opb_2026_race_competitive"
      ],
      "summary": "The internal telephone survey interviewed 600 Oregon voters June 22–24. Its original topline is public, but sample-frame and weighting disclosures are incomplete and the campaign sponsored the poll.",
      "model_treatment": {
        "type": "poll_record",
        "poll_id": "2026-06-24-pos-kotek-drazan",
        "effect": "Accepted with a partisan-sponsor penalty and wider uncertainty; no separate news adjustment."
      },
      "intervention": null
    },
    {
      "event_id": "2026-republican-nomination-drazan",
      "event_at": "2026-05-19",
      "published_at": "2026-05-19",
      "headline": "Christine Drazan wins the Republican nomination, setting up a Kotek rematch",
      "category": "candidate_field",
      "candidates": [
        "christine_drazan",
        "tina_kotek"
      ],
      "mechanism": "candidate_viability",
      "status": "confirmed",
      "source_ids": [
        "opb_2026_drazan_primary"
      ],
      "summary": "Drazan emerged from the Republican primary as the party nominee; Kotek had also won renomination, establishing the principal 2026 matchup.",
      "model_treatment": {
        "type": "defined_input_update",
        "input": "major_candidate_field",
        "effect": "Set Christine Drazan as the Republican nominee; no discretionary margin adjustment."
      },
      "intervention": null
    }
  ],
  "context_signals": [
    {
      "signal_id": "kotek-campaign-expenditures-2026-08-21",
      "series_id": "kotek_campaign_expenditures",
      "category": "campaign_resources",
      "as_of": "2026-08-21",
      "released_at": "2026-08-21T22:05:00-07:00",
      "value": 1416805.34,
      "unit": "US dollars",
      "source_id": "oregon_money_watch_governor_2026",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": null,
      "notes": "Provisional daily aggregation sourced from Oregon Secretary of State data; spending is capacity and campaign activity, not vote intention.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "kotek-campaign-contributions-2026-08-21",
      "series_id": "kotek_campaign_contributions",
      "category": "campaign_resources",
      "as_of": "2026-08-21",
      "released_at": "2026-08-21T22:05:00-07:00",
      "value": 7547297.24,
      "unit": "US dollars",
      "source_id": "oregon_money_watch_governor_2026",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": null,
      "notes": "Provisional daily aggregation sourced from Oregon Secretary of State data; one of six linked campaign-resource measures and not an independent electoral effect.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "kotek-campaign-cash-2026-08-21",
      "series_id": "kotek_campaign_cash_on_hand",
      "category": "campaign_resources",
      "as_of": "2026-08-21",
      "released_at": "2026-08-21T22:05:00-07:00",
      "value": 8567628.18,
      "unit": "US dollars",
      "source_id": "oregon_money_watch_governor_2026",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": null,
      "notes": "Provisional daily aggregation sourced from Oregon Secretary of State data; committee definitions and independent spending still require separate review.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "drazan-campaign-expenditures-2026-08-21",
      "series_id": "drazan_campaign_expenditures",
      "category": "campaign_resources",
      "as_of": "2026-08-21",
      "released_at": "2026-08-21T22:05:00-07:00",
      "value": 3879719.19,
      "unit": "US dollars",
      "source_id": "oregon_money_watch_governor_2026",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": null,
      "notes": "Provisional daily aggregation sourced from Oregon Secretary of State data; spending is capacity and campaign activity, not vote intention.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "drazan-campaign-contributions-2026-08-21",
      "series_id": "drazan_campaign_contributions",
      "category": "campaign_resources",
      "as_of": "2026-08-21",
      "released_at": "2026-08-21T22:05:00-07:00",
      "value": 5741164.03,
      "unit": "US dollars",
      "source_id": "oregon_money_watch_governor_2026",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": null,
      "notes": "Provisional daily aggregation sourced from Oregon Secretary of State data; one of six linked campaign-resource measures and not an independent electoral effect.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "drazan-campaign-cash-2026-08-21",
      "series_id": "drazan_campaign_cash_on_hand",
      "category": "campaign_resources",
      "as_of": "2026-08-21",
      "released_at": "2026-08-21T22:05:00-07:00",
      "value": 2842377.56,
      "unit": "US dollars",
      "source_id": "oregon_money_watch_governor_2026",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": null,
      "notes": "Provisional daily aggregation sourced from Oregon Secretary of State data; committee definitions and independent spending still require separate review.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "us-unemployment-sa-2026-07",
      "series_id": "us_unemployment_rate_sa",
      "category": "economy",
      "as_of": "2026-07-31",
      "released_at": "2026-08-19T10:00:00-07:00",
      "value": 4.1,
      "unit": "percent",
      "source_id": "or_oed_july_2026_employment",
      "review_status": "verified",
      "model_status": "shadow_only",
      "related_sample_id": null,
      "notes": "Published alongside the Oregon series and retained to calculate a relative state-national condition only after calibration.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-unemployment-sa-2026-07",
      "series_id": "oregon_unemployment_rate_sa",
      "category": "economy",
      "as_of": "2026-07-31",
      "released_at": "2026-08-19T10:00:00-07:00",
      "value": 5.2,
      "unit": "percent",
      "source_id": "or_oed_july_2026_employment",
      "review_status": "verified",
      "model_status": "shadow_only",
      "related_sample_id": null,
      "notes": "Official seasonally adjusted Oregon series; revisions are preserved as new vintages.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-payroll-change-2026-07",
      "series_id": "oregon_nonfarm_payroll_monthly_change_sa",
      "category": "economy",
      "as_of": "2026-07-31",
      "released_at": "2026-08-19T10:00:00-07:00",
      "value": -4100.0,
      "unit": "jobs",
      "source_id": "or_oed_july_2026_employment",
      "review_status": "verified",
      "model_status": "shadow_only",
      "related_sample_id": null,
      "notes": "One-month change is preliminary and receives no direct vote-margin effect.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "us-trump-disapproval-rv-reuters-2026-08",
      "series_id": "trump_disapproval_registered_voters",
      "category": "national_environment",
      "as_of": "2026-08-17",
      "released_at": "2026-08-17T12:00:00-07:00",
      "value": 65.0,
      "unit": "percent disapprove",
      "source_id": "reuters_ipsos_august_2026",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "reuters_ipsos_2026_08",
      "notes": "National registered-voter result from the same probability-panel sample; national environment is directional context only.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "us-trump-approval-rv-reuters-2026-08",
      "series_id": "trump_approval_registered_voters",
      "category": "national_environment",
      "as_of": "2026-08-17",
      "released_at": "2026-08-17T12:00:00-07:00",
      "value": 35.0,
      "unit": "percent approve",
      "source_id": "reuters_ipsos_august_2026",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "reuters_ipsos_2026_08",
      "notes": "National registered-voter result from the same probability-panel sample as the disapproval and generic-ballot rows; it is not Oregon opinion.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "us-generic-ballot-rep-rv-reuters-2026-08",
      "series_id": "congressional_generic_ballot_rep_registered_voters",
      "category": "national_environment",
      "as_of": "2026-08-17",
      "released_at": "2026-08-17T12:00:00-07:00",
      "value": 36.0,
      "unit": "percent",
      "source_id": "reuters_ipsos_august_2026",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "reuters_ipsos_2026_08",
      "notes": "National registered-voter congressional preference from the same Reuters/Ipsos sample; paired with the Democratic row and not an Oregon ballot estimate.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "us-generic-ballot-dem-rv-reuters-2026-08",
      "series_id": "congressional_generic_ballot_dem_registered_voters",
      "category": "national_environment",
      "as_of": "2026-08-17",
      "released_at": "2026-08-17T12:00:00-07:00",
      "value": 41.0,
      "unit": "percent",
      "source_id": "reuters_ipsos_august_2026",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "reuters_ipsos_2026_08",
      "notes": "National registered-voter congressional preference from the same Reuters/Ipsos sample; paired with the Republican row and not an Oregon ballot estimate.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-registration-total-2026-08",
      "series_id": "registered_voters_total",
      "category": "registration",
      "as_of": "2026-08-04",
      "released_at": "2026-08-04T12:00:00-07:00",
      "value": 3076893.0,
      "unit": "registered voters",
      "source_id": "or_sos_registration_august_2026",
      "review_status": "verified",
      "model_status": "shadow_only",
      "related_sample_id": null,
      "notes": "Official statewide total; monitored for electorate composition and not treated as vote intention.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-registration-rep-2026-08",
      "series_id": "registered_voters_republican",
      "category": "registration",
      "as_of": "2026-08-04",
      "released_at": "2026-08-04T12:00:00-07:00",
      "value": 734821.0,
      "unit": "registered voters",
      "source_id": "or_sos_registration_august_2026",
      "review_status": "verified",
      "model_status": "shadow_only",
      "related_sample_id": null,
      "notes": "Party registration is descriptive and receives no forecast coefficient until a historical out-of-sample test passes.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-registration-nav-2026-08",
      "series_id": "registered_voters_nonaffiliated",
      "category": "registration",
      "as_of": "2026-08-04",
      "released_at": "2026-08-04T12:00:00-07:00",
      "value": 1142360.0,
      "unit": "registered voters",
      "source_id": "or_sos_registration_august_2026",
      "review_status": "verified",
      "model_status": "shadow_only",
      "related_sample_id": null,
      "notes": "Nonaffiliated registration is not an estimate of independent-candidate support or candidate preference.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-registration-dem-2026-08",
      "series_id": "registered_voters_democratic",
      "category": "registration",
      "as_of": "2026-08-04",
      "released_at": "2026-08-04T12:00:00-07:00",
      "value": 980829.0,
      "unit": "registered voters",
      "source_id": "or_sos_registration_august_2026",
      "review_status": "verified",
      "model_status": "shadow_only",
      "related_sample_id": null,
      "notes": "Party registration is descriptive and receives no forecast coefficient until a historical out-of-sample test passes.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-wrong-track-pos-2026-06",
      "series_id": "oregon_wrong_track",
      "category": "state_mood",
      "as_of": "2026-06-24",
      "released_at": "2026-07-10T12:00:00-07:00",
      "value": 59.0,
      "unit": "percent",
      "source_id": "pos_2026_oregon_statewide_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "pos_2026_06",
      "notes": "Paired with right direction in the same campaign-sponsored sample; not independent evidence.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-top-issue-taxes-pos-2026-06",
      "series_id": "most_important_issue_taxes",
      "category": "issue_environment",
      "as_of": "2026-06-24",
      "released_at": "2026-07-10T12:00:00-07:00",
      "value": 12.0,
      "unit": "percent",
      "source_id": "pos_2026_oregon_statewide_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "pos_2026_06",
      "notes": "Randomized single-choice issue question from the same POS sample; grouped with the other issue responses.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-top-issue-jobs-economy-pos-2026-06",
      "series_id": "most_important_issue_jobs_and_economy",
      "category": "issue_environment",
      "as_of": "2026-06-24",
      "released_at": "2026-07-10T12:00:00-07:00",
      "value": 11.0,
      "unit": "percent",
      "source_id": "pos_2026_oregon_statewide_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "pos_2026_06",
      "notes": "Randomized single-choice issue question from the same POS sample; grouped with the other issue responses.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-top-issue-housing-pos-2026-06",
      "series_id": "most_important_issue_affordable_housing",
      "category": "issue_environment",
      "as_of": "2026-06-24",
      "released_at": "2026-07-10T12:00:00-07:00",
      "value": 15.0,
      "unit": "percent",
      "source_id": "pos_2026_oregon_statewide_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "pos_2026_06",
      "notes": "Randomized single-choice issue question from the same POS sample; grouped with the other issue responses.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-top-issue-homelessness-pos-2026-06",
      "series_id": "most_important_issue_homelessness",
      "category": "issue_environment",
      "as_of": "2026-06-24",
      "released_at": "2026-07-10T12:00:00-07:00",
      "value": 16.0,
      "unit": "percent",
      "source_id": "pos_2026_oregon_statewide_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "pos_2026_06",
      "notes": "Randomized single-choice issue question from the same POS sample; grouped with the other issue responses.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-top-issue-cost-living-pos-2026-06",
      "series_id": "most_important_issue_cost_of_living",
      "category": "issue_environment",
      "as_of": "2026-06-24",
      "released_at": "2026-07-10T12:00:00-07:00",
      "value": 22.0,
      "unit": "percent",
      "source_id": "pos_2026_oregon_statewide_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "pos_2026_06",
      "notes": "Randomized single-choice issue question; one of five leading responses from the same POS sample and not a vote-direction measure.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-right-direction-pos-2026-06",
      "series_id": "oregon_right_direction",
      "category": "state_mood",
      "as_of": "2026-06-24",
      "released_at": "2026-07-10T12:00:00-07:00",
      "value": 34.0,
      "unit": "percent",
      "source_id": "pos_2026_oregon_statewide_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "pos_2026_06",
      "notes": "Campaign-sponsored 600-voter sample; all POS mood, approval, favorability, issue, interest, and ballot rows are one dependent evidence family.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-election-interest-high-pos-2026-06",
      "series_id": "november_election_interest_8_to_10",
      "category": "electorate_engagement",
      "as_of": "2026-06-24",
      "released_at": "2026-07-10T12:00:00-07:00",
      "value": 76.0,
      "unit": "percent",
      "source_id": "pos_2026_oregon_statewide_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "pos_2026_06",
      "notes": "Share rating interest from eight through ten on a ten-point scale in the campaign-sponsored sample; interest is not turnout.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-desire-change-pos-2026-06",
      "series_id": "oregon_next_governor_great_or_quite_a_bit_change",
      "category": "state_mood",
      "as_of": "2026-06-24",
      "released_at": "2026-07-10T12:00:00-07:00",
      "value": 66.0,
      "unit": "percent",
      "source_id": "pos_2026_oregon_statewide_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "pos_2026_06",
      "notes": "Respondents wanting a great deal or quite a bit of change in how the next governor leads; wording does not identify which candidate they prefer.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "kotek-unfavorability-pos-2026-06",
      "series_id": "kotek_unfavorability",
      "category": "candidate_image",
      "as_of": "2026-06-24",
      "released_at": "2026-07-10T12:00:00-07:00",
      "value": 56.0,
      "unit": "percent unfavorable",
      "source_id": "pos_2026_oregon_statewide_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "pos_2026_06",
      "notes": "Same campaign-sponsored sample as the paired favorability and ballot measures; not independent evidence.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "kotek-favorability-pos-2026-06",
      "series_id": "kotek_favorability",
      "category": "candidate_image",
      "as_of": "2026-06-24",
      "released_at": "2026-07-10T12:00:00-07:00",
      "value": 37.0,
      "unit": "percent favorable",
      "source_id": "pos_2026_oregon_statewide_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "pos_2026_06",
      "notes": "Same campaign-sponsored sample as the ballot test and Kotek approval; favorability is correlated evidence.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "kotek-disapproval-pos-2026-06",
      "series_id": "kotek_disapproval",
      "category": "approval",
      "as_of": "2026-06-24",
      "released_at": "2026-07-10T12:00:00-07:00",
      "value": 57.0,
      "unit": "percent disapprove",
      "source_id": "pos_2026_oregon_statewide_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "pos_2026_06",
      "notes": "Same 600-person campaign-sponsored sample as the modeled ballot test; it cannot be counted as independent evidence.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "kotek-approval-pos-2026-06",
      "series_id": "kotek_approval",
      "category": "approval",
      "as_of": "2026-06-24",
      "released_at": "2026-07-10T12:00:00-07:00",
      "value": 38.0,
      "unit": "percent approve",
      "source_id": "pos_2026_oregon_statewide_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "pos_2026_06",
      "notes": "Same 600-person campaign-sponsored sample as the modeled ballot test; it cannot be counted as independent evidence.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "drazan-unfavorability-pos-2026-06",
      "series_id": "drazan_unfavorability",
      "category": "candidate_image",
      "as_of": "2026-06-24",
      "released_at": "2026-07-10T12:00:00-07:00",
      "value": 26.0,
      "unit": "percent unfavorable",
      "source_id": "pos_2026_oregon_statewide_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "pos_2026_06",
      "notes": "Same campaign-sponsored sample and paired with Drazan favorability; not independent evidence.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "drazan-favorability-pos-2026-06",
      "series_id": "drazan_favorability",
      "category": "candidate_image",
      "as_of": "2026-06-24",
      "released_at": "2026-07-10T12:00:00-07:00",
      "value": 33.0,
      "unit": "percent favorable",
      "source_id": "pos_2026_oregon_statewide_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "pos_2026_06",
      "notes": "Same campaign-sponsored sample; 20 percent had heard of Drazan but had no opinion and 21 percent had never heard of her.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-primary-turnout-2026",
      "series_id": "primary_turnout_rate",
      "category": "turnout",
      "as_of": "2026-05-19",
      "released_at": "2026-06-25T09:00:00-07:00",
      "value": 41.87,
      "unit": "percent of registered voters",
      "source_id": "or_sos_2026_primary_certification",
      "review_status": "verified",
      "model_status": "shadow_only",
      "related_sample_id": null,
      "notes": "Certified statewide primary turnout; it is not converted into a general-election partisan adjustment.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "us-gdp-yoy-2025-q4",
      "series_id": "us_real_gdp_yoy",
      "category": "economy",
      "as_of": "2025-12-31",
      "released_at": "2026-05-20T09:00:00-07:00",
      "value": 2.0,
      "unit": "percent",
      "source_id": "or_oea_q2_2026_forecast",
      "review_status": "verified",
      "model_status": "shadow_only",
      "related_sample_id": null,
      "notes": "National comparison printed in the same Oregon forecast release.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-gdp-yoy-2025-q4",
      "series_id": "oregon_real_gdp_yoy",
      "category": "economy",
      "as_of": "2025-12-31",
      "released_at": "2026-05-20T09:00:00-07:00",
      "value": 0.6,
      "unit": "percent",
      "source_id": "or_oea_q2_2026_forecast",
      "review_status": "verified",
      "model_status": "shadow_only",
      "related_sample_id": null,
      "notes": "Release-vintage state growth measure from the June economic forecast.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-wrong-track-fm3-2026-02",
      "series_id": "oregon_wrong_track",
      "category": "state_mood",
      "as_of": "2026-02-04",
      "released_at": "2026-02-13T12:00:00-08:00",
      "value": 58.0,
      "unit": "percent",
      "source_id": "fm3_2026_oregon_mental_health_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "fm3_2026_01_02",
      "notes": "Paired with the right-direction measure from the same undisclosed-sponsor survey; not independent evidence.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-wildfire-serious-fm3-2026-02",
      "series_id": "wildfire_extremely_or_very_serious",
      "category": "issue_environment",
      "as_of": "2026-02-04",
      "released_at": "2026-02-13T12:00:00-08:00",
      "value": 63.0,
      "unit": "percent",
      "source_id": "fm3_2026_oregon_mental_health_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "fm3_2026_01_02",
      "notes": "Neutral pre-message randomized issue battery; grouped with all FM3 issue-severity rows and not mapped to a candidate.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-substance-use-serious-fm3-2026-02",
      "series_id": "substance_use_addiction_extremely_or_very_serious",
      "category": "issue_environment",
      "as_of": "2026-02-04",
      "released_at": "2026-02-13T12:00:00-08:00",
      "value": 81.0,
      "unit": "percent",
      "source_id": "fm3_2026_oregon_mental_health_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "fm3_2026_01_02",
      "notes": "Neutral pre-message randomized issue battery; grouped with all FM3 issue-severity rows and not mapped to a candidate.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-state-taxes-serious-fm3-2026-02",
      "series_id": "state_taxes_extremely_or_very_serious",
      "category": "issue_environment",
      "as_of": "2026-02-04",
      "released_at": "2026-02-13T12:00:00-08:00",
      "value": 58.0,
      "unit": "percent",
      "source_id": "fm3_2026_oregon_mental_health_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "fm3_2026_01_02",
      "notes": "Neutral pre-message randomized issue battery; grouped with all FM3 issue-severity rows and not mapped to a candidate.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-right-direction-fm3-2026-02",
      "series_id": "oregon_right_direction",
      "category": "state_mood",
      "as_of": "2026-02-04",
      "released_at": "2026-02-13T12:00:00-08:00",
      "value": 25.0,
      "unit": "percent",
      "source_id": "fm3_2026_oregon_mental_health_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "fm3_2026_01_02",
      "notes": "Asked January 28 through February 2 within a 1,065-likely-voter issue survey; sponsor, frame, weighting, and likely-voter screen are undisclosed.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-mental-health-services-serious-fm3-2026-02",
      "series_id": "mental_health_services_availability_extremely_or_very_serious",
      "category": "issue_environment",
      "as_of": "2026-02-04",
      "released_at": "2026-02-13T12:00:00-08:00",
      "value": 66.0,
      "unit": "percent",
      "source_id": "fm3_2026_oregon_mental_health_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "fm3_2026_01_02",
      "notes": "Neutral pre-message randomized issue battery; the survey's later persuasive message tests are intentionally excluded.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-legislature-unfavorability-fm3-2026-02",
      "series_id": "oregon_legislature_unfavorability",
      "category": "state_accountability",
      "as_of": "2026-02-04",
      "released_at": "2026-02-13T12:00:00-08:00",
      "value": 52.0,
      "unit": "percent unfavorable",
      "source_id": "fm3_2026_oregon_mental_health_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "fm3_2026_01_02",
      "notes": "Paired with legislature favorability in the same FM3 sample; not independent evidence.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-legislature-favorability-fm3-2026-02",
      "series_id": "oregon_legislature_favorability",
      "category": "state_accountability",
      "as_of": "2026-02-04",
      "released_at": "2026-02-13T12:00:00-08:00",
      "value": 35.0,
      "unit": "percent favorable",
      "source_id": "fm3_2026_oregon_mental_health_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "fm3_2026_01_02",
      "notes": "Same FM3 issue-survey respondents; legislature sentiment is context rather than a gubernatorial vote estimate.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-housing-serious-fm3-2026-02",
      "series_id": "housing_extremely_or_very_serious",
      "category": "issue_environment",
      "as_of": "2026-02-04",
      "released_at": "2026-02-13T12:00:00-08:00",
      "value": 82.0,
      "unit": "percent",
      "source_id": "fm3_2026_oregon_mental_health_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "fm3_2026_01_02",
      "notes": "Neutral pre-message randomized issue battery; grouped with all FM3 issue-severity rows and not mapped to a candidate.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-homelessness-serious-fm3-2026-02",
      "series_id": "homelessness_extremely_or_very_serious",
      "category": "issue_environment",
      "as_of": "2026-02-04",
      "released_at": "2026-02-13T12:00:00-08:00",
      "value": 87.0,
      "unit": "percent",
      "source_id": "fm3_2026_oregon_mental_health_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "fm3_2026_01_02",
      "notes": "Neutral pre-message randomized issue battery; grouped with all FM3 issue-severity rows and not mapped to a candidate.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "kotek-unfavorability-fm3-2026-02",
      "series_id": "kotek_unfavorability",
      "category": "candidate_image",
      "as_of": "2026-02-04",
      "released_at": "2026-02-13T12:00:00-08:00",
      "value": 54.0,
      "unit": "percent unfavorable",
      "source_id": "fm3_2026_oregon_mental_health_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "fm3_2026_01_02",
      "notes": "Paired with Kotek favorability in the same FM3 sample; not independent evidence.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "kotek-favorability-fm3-2026-02",
      "series_id": "kotek_favorability",
      "category": "candidate_image",
      "as_of": "2026-02-04",
      "released_at": "2026-02-13T12:00:00-08:00",
      "value": 41.0,
      "unit": "percent favorable",
      "source_id": "fm3_2026_oregon_mental_health_topline",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "fm3_2026_01_02",
      "notes": "Same respondents as the FM3 state-direction and ballot measures; house and sponsor effects are uncalibrated.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "trump-disapproval-or-dhm-2026-01",
      "series_id": "trump_disapproval_oregon",
      "category": "national_environment",
      "as_of": "2026-01-30",
      "released_at": "2026-01-30T12:00:00-08:00",
      "value": 55.0,
      "unit": "percent disapprove",
      "source_id": "dhm_obi_2026_presession_poll",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "dhm_obi_2026_01",
      "notes": "Oregon registered-voter reading from the OBI-sponsored DHM sample; it is a state political-climate observation and not a gubernatorial ballot test.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-right-direction-dhm-2026-01",
      "series_id": "oregon_right_direction",
      "category": "state_mood",
      "as_of": "2026-01-30",
      "released_at": "2026-01-30T12:00:00-08:00",
      "value": 26.0,
      "unit": "percent",
      "source_id": "dhm_obi_2026_presession_poll",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "dhm_obi_2026_01",
      "notes": "Same 600-person OBI-sponsored registered-voter sample as the DHM approval and economic rows; all belong to one state-accountability evidence family.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-legislature-disapproval-dhm-2026-01",
      "series_id": "oregon_legislature_disapproval",
      "category": "state_accountability",
      "as_of": "2026-01-30",
      "released_at": "2026-01-30T12:00:00-08:00",
      "value": 64.0,
      "unit": "percent disapprove",
      "source_id": "dhm_obi_2026_presession_poll",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "dhm_obi_2026_01",
      "notes": "Same respondents as the Kotek approval and state-direction measures; not independent evidence.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-legislative-ballot-rep-dhm-2026-01",
      "series_id": "oregon_legislative_generic_ballot_rep",
      "category": "national_environment",
      "as_of": "2026-01-30",
      "released_at": "2026-01-30T12:00:00-08:00",
      "value": 45.0,
      "unit": "percent",
      "source_id": "dhm_obi_2026_presession_poll",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "dhm_obi_2026_01",
      "notes": "State-legislative preference from the same DHM sample; it is not a gubernatorial vote estimate and is paired with the Democratic row.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-legislative-ballot-dem-dhm-2026-01",
      "series_id": "oregon_legislative_generic_ballot_dem",
      "category": "national_environment",
      "as_of": "2026-01-30",
      "released_at": "2026-01-30T12:00:00-08:00",
      "value": 42.0,
      "unit": "percent",
      "source_id": "dhm_obi_2026_presession_poll",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "dhm_obi_2026_01",
      "notes": "State-legislative preference from the same DHM sample; it is not a gubernatorial vote estimate and is paired with the Republican row.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-housing-affordability-worse-dhm-2026-01",
      "series_id": "housing_affordability_worsening_perception",
      "category": "issue_environment",
      "as_of": "2026-01-30",
      "released_at": "2026-01-30T12:00:00-08:00",
      "value": 77.0,
      "unit": "percent saying worse",
      "source_id": "dhm_obi_2026_presession_poll",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "dhm_obi_2026_01",
      "notes": "Issue-severity perception from the same OBI-sponsored sample; it establishes salience but not vote direction by itself.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-economy-worse-dhm-2026-01",
      "series_id": "oregon_economy_worsening_perception",
      "category": "economic_mood",
      "as_of": "2026-01-30",
      "released_at": "2026-01-30T12:00:00-08:00",
      "value": 68.0,
      "unit": "percent getting worse",
      "source_id": "dhm_obi_2026_presession_poll",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "dhm_obi_2026_01",
      "notes": "Subjective economic trend from the same DHM respondents; it can explain mood but receives no direct forecast coefficient.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-economy-poor-dhm-2026-01",
      "series_id": "oregon_economy_poor_perception",
      "category": "economic_mood",
      "as_of": "2026-01-30",
      "released_at": "2026-01-30T12:00:00-08:00",
      "value": 73.0,
      "unit": "percent poor",
      "source_id": "dhm_obi_2026_presession_poll",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "dhm_obi_2026_01",
      "notes": "Subjective economic perception from one sponsor-framed issue survey; it is not combined independently with approval or state-direction rows.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-economic-blame-trump-dhm-2026-01",
      "series_id": "oregon_worsening_economy_blame_trump",
      "category": "economic_attribution",
      "as_of": "2026-01-30",
      "released_at": "2026-01-30T12:00:00-08:00",
      "value": 29.0,
      "unit": "percent among economy-worse respondents",
      "source_id": "dhm_obi_2026_presession_poll",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "dhm_obi_2026_01",
      "notes": "Reduced-base attribution among respondents who said Oregon's economy was worsening; paired with Kotek and legislature blame rows.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-economic-blame-legislature-dhm-2026-01",
      "series_id": "oregon_worsening_economy_blame_legislature",
      "category": "economic_attribution",
      "as_of": "2026-01-30",
      "released_at": "2026-01-30T12:00:00-08:00",
      "value": 22.0,
      "unit": "percent among economy-worse respondents",
      "source_id": "dhm_obi_2026_presession_poll",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "dhm_obi_2026_01",
      "notes": "Reduced-base attribution among respondents who said Oregon's economy was worsening; paired with Kotek and Trump blame rows.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-economic-blame-kotek-dhm-2026-01",
      "series_id": "oregon_worsening_economy_blame_kotek",
      "category": "economic_attribution",
      "as_of": "2026-01-30",
      "released_at": "2026-01-30T12:00:00-08:00",
      "value": 43.0,
      "unit": "percent among economy-worse respondents",
      "source_id": "dhm_obi_2026_presession_poll",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "dhm_obi_2026_01",
      "notes": "Reduced-base attribution among respondents who said Oregon's economy was worsening; paired with Trump and legislature blame rows and not an all-voter percentage.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-cost-living-worse-dhm-2026-01",
      "series_id": "cost_of_living_worsening_perception",
      "category": "issue_environment",
      "as_of": "2026-01-30",
      "released_at": "2026-01-30T12:00:00-08:00",
      "value": 85.0,
      "unit": "percent saying worse",
      "source_id": "dhm_obi_2026_presession_poll",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "dhm_obi_2026_01",
      "notes": "Issue-severity perception from the same OBI-sponsored sample; it establishes salience but not which candidate voters trust.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "kotek-disapproval-dhm-2026-01",
      "series_id": "kotek_disapproval",
      "category": "approval",
      "as_of": "2026-01-30",
      "released_at": "2026-01-30T12:00:00-08:00",
      "value": 64.0,
      "unit": "percent disapprove",
      "source_id": "dhm_obi_2026_presession_poll",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "dhm_obi_2026_01",
      "notes": "Same respondents as the paired approval measure; the two rows are not independent observations.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "kotek-approval-dhm-2026-01",
      "series_id": "kotek_approval",
      "category": "approval",
      "as_of": "2026-01-30",
      "released_at": "2026-01-30T12:00:00-08:00",
      "value": 32.0,
      "unit": "percent approve",
      "source_id": "dhm_obi_2026_presession_poll",
      "review_status": "verified",
      "model_status": "commentary_only",
      "related_sample_id": "dhm_obi_2026_01",
      "notes": "Registered-voter issue survey sponsored by Oregon Business & Industry; questionnaire framing and house effects require historical calibration.",
      "forecast_effect": 0.0
    },
    {
      "signal_id": "or-2024-presidential-dem-two-party-margin",
      "series_id": "oregon_democratic_presidential_two_party_margin",
      "category": "partisan_baseline",
      "as_of": "2024-11-05",
      "released_at": "2025-01-17T12:00:00-08:00",
      "value": 14.87,
      "unit": "percentage points",
      "source_id": "fec_2024_presidential_results",
      "review_status": "verified",
      "model_status": "shadow_only",
      "related_sample_id": null,
      "notes": "Derived from certified Oregon votes for Harris and Trump: 100 × (1,240,600 − 919,480) / (1,240,600 + 919,480). It overlaps the structural partisan baseline and receives no separate effect.",
      "forecast_effect": 0.0
    }
  ],
  "context_assessments": {
    "schema_version": "context-assessments.v1",
    "race_id": "oregon-governor-2026",
    "status": "reviewed",
    "as_of": "2026-08-21",
    "model_status": "commentary_only",
    "forecast_effect": 0.0,
    "assessment_count": 10,
    "assessments": [
      {
        "id": "oregon-partisan-baseline",
        "family": "partisan_baseline",
        "direction": "candidate",
        "target_candidate_id": "tina_kotek",
        "confidence": "medium",
        "observed_evidence": {
          "summary": "Oregon's certified 2024 presidential vote produced a 14.87-point Democratic two-party margin. August 2026 registration also contains more Democrats than Republicans, while nonaffiliated voters are the largest registration group.",
          "evidence_source_ids": [
            "fec_2024_presidential_results",
            "or_sos_registration_august_2026",
            "love_carlin_singer_2024_governor_forecast"
          ],
          "current_signal_ids": [
            "or-2024-presidential-dem-two-party-margin",
            "or-registration-total-2026-08",
            "or-registration-dem-2026-08",
            "or-registration-rep-2026-08",
            "or-registration-nav-2026-08"
          ],
          "related_sample_ids": []
        },
        "analyst_inference": {
          "mechanism": "A durable Democratic-leaning electorate raises the starting floor for the Democratic nominee before campaign-specific evidence is considered.",
          "interpretation": "The statewide partisan baseline is a directional advantage for Tina Kotek.",
          "counterweight_or_caveat": "The 2022 governor race was much closer than the 2024 presidential vote, and party registration is neither turnout nor candidate preference.",
          "what_would_change_this": "A rolling historical model of Oregon county vote, registration, and turnout could strengthen or weaken the baseline; new registration alone should not."
        },
        "model_status": "commentary_only",
        "forecast_effect": 0.0,
        "dependency_group": "partisan_baseline",
        "overlaps_model_component": [
          "structural_prior",
          "electorate_bridge"
        ],
        "double_count_warning": "Do not add this as a separate point adjustment: the 2022 bridge and structural uncertainty already encode related partisan history.",
        "cadence": "monthly",
        "status": "active",
        "as_of": "2026-08-21"
      },
      {
        "id": "elected-incumbency",
        "family": "incumbency_and_approval",
        "direction": "candidate",
        "target_candidate_id": "tina_kotek",
        "confidence": "medium",
        "observed_evidence": {
          "summary": "Kotek is the elected sitting governor seeking reelection. Peer-reviewed gubernatorial forecasting research finds that incumbency and governor approval interact rather than operating as independent forces.",
          "evidence_source_ids": [
            "dhm_obi_2026_presession_poll",
            "pos_2026_oregon_statewide_topline",
            "love_carlin_singer_2024_governor_forecast",
            "ebeid_rodden_gubernatorial_midterm"
          ],
          "current_signal_ids": [
            "kotek-approval-dhm-2026-01",
            "kotek-disapproval-dhm-2026-01",
            "kotek-approval-pos-2026-06",
            "kotek-disapproval-pos-2026-06"
          ],
          "related_sample_ids": [
            "dhm_obi_2026_01",
            "pos_2026_06"
          ]
        },
        "analyst_inference": {
          "mechanism": "An elected incumbent normally has recognition, governing visibility, and an established coalition, but the value of those assets depends on how voters judge the incumbent's performance.",
          "interpretation": "Incumbent status gives Kotek a directional advantage, but it is materially weakened by her current approval readings.",
          "counterweight_or_caveat": "Historical incumbency estimates are not portable points, and the available Oregon approval readings come from only two sponsor-sensitive survey families.",
          "what_would_change_this": "A multi-poll Oregon approval average with house effects and repeated independent samples would show whether incumbency is functioning as an asset or a liability."
        },
        "model_status": "commentary_only",
        "forecast_effect": 0.0,
        "dependency_group": "incumbency_state_accountability",
        "overlaps_model_component": [
          "fundamentals_component"
        ],
        "double_count_warning": "Incumbency and approval must be evaluated together; do not count an incumbency bonus and then count the same approval evidence again as an independent force.",
        "cadence": "on_new_poll",
        "status": "active",
        "as_of": "2026-08-21"
      },
      {
        "id": "presidential-party-midterm-pressure",
        "family": "national_environment",
        "direction": "candidate",
        "target_candidate_id": "tina_kotek",
        "confidence": "medium",
        "observed_evidence": {
          "summary": "Donald Trump is the sitting Republican president and Drazan is the Republican nominee. The latest Reuters/Ipsos registered-voter sample reports 35% Trump approval, 65% disapproval, and a 41% to 36% Democratic congressional-ballot lead; an earlier Oregon DHM sample reports 55% Trump disapproval.",
          "evidence_source_ids": [
            "white_house_trump_administration_2026",
            "fec_2024_presidential_results",
            "pos_2026_oregon_statewide_topline",
            "reuters_ipsos_august_2026",
            "dhm_obi_2026_presession_poll",
            "ebeid_rodden_gubernatorial_midterm",
            "holbrook_provow_1987_national_factors",
            "sievert_mckee_2019_nationalization"
          ],
          "current_signal_ids": [
            "trump-disapproval-or-dhm-2026-01",
            "us-trump-approval-rv-reuters-2026-08",
            "us-trump-disapproval-rv-reuters-2026-08",
            "us-generic-ballot-dem-rv-reuters-2026-08",
            "us-generic-ballot-rep-rv-reuters-2026-08"
          ],
          "related_sample_ids": [
            "dhm_obi_2026_01",
            "reuters_ipsos_2026_08"
          ]
        },
        "analyst_inference": {
          "mechanism": "Gubernatorial elections have become more nationalized, and the president's party has often faced cross-level balancing or midterm pressure.",
          "interpretation": "The current presidential-party environment is a directional risk for Drazan and therefore a tailwind for Kotek.",
          "counterweight_or_caveat": "Studies disagree about whether a distinct gubernatorial midterm effect exists after presidential approval and economic conditions are considered; a national poll is not Oregon opinion.",
          "what_would_change_this": "Repeated Oregon measures of presidential approval, a sustained change in the national environment, or evidence that Drazan is separating her image from Trump would alter this assessment."
        },
        "model_status": "commentary_only",
        "forecast_effect": 0.0,
        "dependency_group": "national_environment",
        "overlaps_model_component": [
          "national_environment_points"
        ],
        "double_count_warning": "Trump approval, the generic ballot, national direction, and a historical midterm pattern are one national-environment family, not four independent effects.",
        "cadence": "on_new_poll",
        "status": "active",
        "as_of": "2026-08-21"
      },
      {
        "id": "state-accountability-pressure",
        "family": "state_accountability",
        "direction": "candidate",
        "target_candidate_id": "christine_drazan",
        "confidence": "medium",
        "observed_evidence": {
          "summary": "Across three 2026 survey families, Oregon right-direction readings range from 25% to 34%, Kotek's disapproval is 57% to 64% in the two approval polls, and 66% in the POS sample want a great deal or quite a bit of change from the next governor.",
          "evidence_source_ids": [
            "dhm_obi_2026_presession_poll",
            "pos_2026_oregon_statewide_topline",
            "fm3_2026_oregon_mental_health_topline"
          ],
          "current_signal_ids": [
            "or-right-direction-dhm-2026-01",
            "or-right-direction-pos-2026-06",
            "or-wrong-track-pos-2026-06",
            "or-desire-change-pos-2026-06",
            "or-right-direction-fm3-2026-02",
            "or-wrong-track-fm3-2026-02",
            "kotek-approval-dhm-2026-01",
            "kotek-disapproval-dhm-2026-01",
            "kotek-approval-pos-2026-06",
            "kotek-disapproval-pos-2026-06",
            "or-legislature-disapproval-dhm-2026-01",
            "or-legislature-favorability-fm3-2026-02",
            "or-legislature-unfavorability-fm3-2026-02"
          ],
          "related_sample_ids": [
            "dhm_obi_2026_01",
            "pos_2026_06",
            "fm3_2026_01_02"
          ]
        },
        "analyst_inference": {
          "mechanism": "A challenger can benefit when voters treat the governor race as a referendum on state direction and governing performance.",
          "interpretation": "Dissatisfaction with Oregon government is Drazan's clearest directional advantage.",
          "counterweight_or_caveat": "The surveys have different populations, sponsors, and disclosure quality, and their many answers are correlated within each sample. Desire for change does not automatically equal support for Drazan.",
          "what_would_change_this": "Independent repeated state-direction and Kotek-approval polls, especially with issue blame and candidate choice in the same questionnaire, would clarify how much dissatisfaction converts into votes."
        },
        "model_status": "commentary_only",
        "forecast_effect": 0.0,
        "dependency_group": "incumbency_state_accountability",
        "overlaps_model_component": [
          "fundamentals_component",
          "polling_component"
        ],
        "double_count_warning": "Kotek approval, legislature ratings, wrong-track sentiment, desire for change, and the gubernatorial ballot from the same respondents describe one accountability mechanism.",
        "cadence": "on_new_poll",
        "status": "active",
        "as_of": "2026-08-21"
      },
      {
        "id": "oregon-economic-accountability",
        "family": "economy",
        "direction": "candidate",
        "target_candidate_id": "christine_drazan",
        "confidence": "low",
        "observed_evidence": {
          "summary": "The July release reports 5.2% Oregon unemployment versus 4.1% nationally and a 4,100-job monthly payroll decline; the June forecast reports 0.6% Oregon real-GDP growth versus 2.0% nationally. In the DHM sample, 73% call the state economy poor, 68% say it is worsening, and 43% of that worsening subgroup blame Kotek.",
          "evidence_source_ids": [
            "or_oed_july_2026_employment",
            "or_oea_q2_2026_forecast",
            "dhm_obi_2026_presession_poll",
            "love_carlin_singer_2024_governor_forecast",
            "ebeid_rodden_gubernatorial_midterm",
            "holbrook_provow_1987_national_factors"
          ],
          "current_signal_ids": [
            "or-unemployment-sa-2026-07",
            "us-unemployment-sa-2026-07",
            "or-payroll-change-2026-07",
            "or-gdp-yoy-2025-q4",
            "us-gdp-yoy-2025-q4",
            "or-economy-poor-dhm-2026-01",
            "or-economy-worse-dhm-2026-01",
            "or-economic-blame-kotek-dhm-2026-01",
            "or-economic-blame-trump-dhm-2026-01",
            "or-economic-blame-legislature-dhm-2026-01"
          ],
          "related_sample_ids": [
            "dhm_obi_2026_01"
          ]
        },
        "analyst_inference": {
          "mechanism": "Weak relative state conditions can reinforce an accountability argument when voters attribute them to the incumbent governor.",
          "interpretation": "The current combination points directionally toward Drazan, but only weakly because attribution—not the raw indicator—is the electoral mechanism.",
          "counterweight_or_caveat": "Economic releases are revised, one-month payroll movement is noisy, blame is divided, and the strongest modern gubernatorial forecasting benchmark found little incremental value from raw economic variables after political fundamentals.",
          "what_would_change_this": "A sustained multi-release trend plus independent polling on whether Oregon voters credit or blame the governor, president, or legislature would make the direction more credible."
        },
        "model_status": "commentary_only",
        "forecast_effect": 0.0,
        "dependency_group": "economy",
        "overlaps_model_component": [
          "state_conditions_points",
          "state_accountability"
        ],
        "double_count_warning": "Official indicators, perceived economic conditions, and Kotek approval can all express the same accountability channel and must not be stacked as separate effects.",
        "cadence": "monthly",
        "status": "active",
        "as_of": "2026-08-21"
      },
      {
        "id": "issue-salience-without-ownership",
        "family": "issue_environment",
        "direction": "unclear",
        "target_candidate_id": null,
        "confidence": "medium",
        "observed_evidence": {
          "summary": "Cost of living, housing, homelessness, jobs, taxes, mental-health access, substance use, and wildfire all register as important or serious across the neutral pre-message portions of the three Oregon survey families.",
          "evidence_source_ids": [
            "dhm_obi_2026_presession_poll",
            "pos_2026_oregon_statewide_topline",
            "fm3_2026_oregon_mental_health_topline"
          ],
          "current_signal_ids": [
            "or-cost-living-worse-dhm-2026-01",
            "or-housing-affordability-worse-dhm-2026-01",
            "or-top-issue-cost-living-pos-2026-06",
            "or-top-issue-homelessness-pos-2026-06",
            "or-top-issue-housing-pos-2026-06",
            "or-top-issue-taxes-pos-2026-06",
            "or-top-issue-jobs-economy-pos-2026-06",
            "or-housing-serious-fm3-2026-02",
            "or-homelessness-serious-fm3-2026-02",
            "or-state-taxes-serious-fm3-2026-02",
            "or-mental-health-services-serious-fm3-2026-02",
            "or-substance-use-serious-fm3-2026-02",
            "or-wildfire-serious-fm3-2026-02"
          ],
          "related_sample_ids": [
            "dhm_obi_2026_01",
            "pos_2026_06",
            "fm3_2026_01_02"
          ]
        },
        "analyst_inference": {
          "mechanism": "Issue salience matters only when it combines with candidate ownership, credibility, and voter attribution.",
          "interpretation": "The issue agenda is clear, but its net candidate direction is not yet identified.",
          "counterweight_or_caveat": "A high issue-severity response is not evidence that one candidate benefits. FM3's later persuasive message tests are excluded from this assessment.",
          "what_would_change_this": "Independent head-to-head issue-trust questions and evidence that campaigns are changing which issues voters use to choose a governor would establish direction."
        },
        "model_status": "commentary_only",
        "forecast_effect": 0.0,
        "dependency_group": "issue_environment",
        "overlaps_model_component": [],
        "double_count_warning": "Multiple issue questions from one survey are a profile of the agenda, not independent electoral effects.",
        "cadence": "on_new_poll",
        "status": "active",
        "as_of": "2026-08-21"
      },
      {
        "id": "candidate-image-asymmetry",
        "family": "candidate_image",
        "direction": "mixed",
        "target_candidate_id": null,
        "confidence": "medium",
        "observed_evidence": {
          "summary": "Kotek is nearly universally known in the POS sample but has a negative favorability balance in both POS and FM3. Drazan's POS ratings are less negative, but 41% either have no opinion of her or have never heard of her.",
          "evidence_source_ids": [
            "pos_2026_oregon_statewide_topline",
            "fm3_2026_oregon_mental_health_topline"
          ],
          "current_signal_ids": [
            "kotek-favorability-pos-2026-06",
            "kotek-unfavorability-pos-2026-06",
            "drazan-favorability-pos-2026-06",
            "drazan-unfavorability-pos-2026-06",
            "kotek-favorability-fm3-2026-02",
            "kotek-unfavorability-fm3-2026-02"
          ],
          "related_sample_ids": [
            "pos_2026_06",
            "fm3_2026_01_02"
          ]
        },
        "analyst_inference": {
          "mechanism": "A well-known incumbent has less room for image gains, while a less-known challenger has both persuasion upside and exposure risk.",
          "interpretation": "Kotek's current image is a liability; Drazan's lower definition creates an unresolved upside-versus-risk scenario rather than a clean advantage.",
          "counterweight_or_caveat": "The only Drazan favorability reading is from her campaign's sample, and candidate image is strongly correlated with that sample's ballot result.",
          "what_would_change_this": "Repeated independent favorability and awareness measures after major advertising, debates, or verified candidate events would show which side of the asymmetry is winning."
        },
        "model_status": "commentary_only",
        "forecast_effect": 0.0,
        "dependency_group": "candidate_image",
        "overlaps_model_component": [
          "polling_component"
        ],
        "double_count_warning": "Do not count favorability and the ballot result from the same sample as independent evidence.",
        "cadence": "on_new_poll",
        "status": "active",
        "as_of": "2026-08-21"
      },
      {
        "id": "electorate-engagement",
        "family": "electorate_pipeline",
        "direction": "unclear",
        "target_candidate_id": null,
        "confidence": "low",
        "observed_evidence": {
          "summary": "Oregon's certified 2026 primary turnout was 41.87% of registered voters, while 76% of the POS sample rated their November-election interest between eight and ten on a ten-point scale.",
          "evidence_source_ids": [
            "or_sos_2026_primary_certification",
            "pos_2026_oregon_statewide_topline"
          ],
          "current_signal_ids": [
            "or-primary-turnout-2026",
            "or-election-interest-high-pos-2026-06"
          ],
          "related_sample_ids": [
            "pos_2026_06"
          ]
        },
        "analyst_inference": {
          "mechanism": "The composition of who votes can change a close race even when total engagement is high.",
          "interpretation": "The current turnout observations do not identify which candidate benefits.",
          "counterweight_or_caveat": "Primary participation and survey-reported interest are not general-election turnout, and statewide totals contain no partisan composition by themselves.",
          "what_would_change_this": "Party and county ballot returns compared at equal days before Election Day, plus validated turnout modeling, would make the electorate direction measurable."
        },
        "model_status": "commentary_only",
        "forecast_effect": 0.0,
        "dependency_group": "electorate_pipeline",
        "overlaps_model_component": [
          "electorate_bridge"
        ],
        "double_count_warning": "Registration, primary turnout, reported interest, and ballot returns are stages of one electorate pipeline and must not be stacked independently.",
        "cadence": "daily_after_ballots_mail",
        "status": "active",
        "as_of": "2026-08-21"
      },
      {
        "id": "provisional-candidate-field",
        "family": "candidate_field",
        "direction": "unclear",
        "target_candidate_id": null,
        "confidence": "low",
        "observed_evidence": {
          "summary": "Brett Smith has been reported as the Pacific Green nominee, while Drazan's reported Libertarian cross-nomination is not yet supported by an official party result or a certified final ballot record.",
          "evidence_source_ids": [
            "pacific_green_2026_nominations",
            "opb_2026_third_party_field",
            "lpo_2026_convention_notice",
            "kepw_2026_brett_smith_interview"
          ],
          "current_signal_ids": [],
          "related_sample_ids": []
        },
        "analyst_inference": {
          "mechanism": "The final candidate and cross-nomination field can affect residual vote share, ballot labels, and how completely the 2022 Johnson vote is reallocated.",
          "interpretation": "The direction is not identifiable before the ballot field and nomination records are authoritative.",
          "counterweight_or_caveat": "Candidate and first-person reports are not substitutes for certification; no vote transfer should be assumed from a ballot label.",
          "what_would_change_this": "The certified Oregon general-election candidate list and an official Libertarian Party nomination record would resolve the field."
        },
        "model_status": "commentary_only",
        "forecast_effect": 0.0,
        "dependency_group": "candidate_field",
        "overlaps_model_component": [
          "other_vote_share"
        ],
        "double_count_warning": "Do not count multiple stories about the same nomination as separate evidence or infer a mechanical partisan transfer.",
        "cadence": "on_ballot_update",
        "status": "monitoring",
        "as_of": "2026-08-21"
      },
      {
        "id": "campaign-resources-monitor",
        "family": "campaign_resources",
        "direction": "candidate",
        "target_candidate_id": "tina_kotek",
        "confidence": "low",
        "observed_evidence": {
          "summary": "The August 21 Oregon Money Watch snapshot reports $8.57 million cash on hand for Kotek and $2.84 million for Drazan, alongside $7.55 million versus $5.74 million in contributions and $1.42 million versus $3.88 million in expenditures.",
          "evidence_source_ids": [
            "or_sos_orestar_search",
            "oregon_money_watch_governor_2026"
          ],
          "current_signal_ids": [
            "kotek-campaign-contributions-2026-08-21",
            "drazan-campaign-contributions-2026-08-21",
            "kotek-campaign-expenditures-2026-08-21",
            "drazan-campaign-expenditures-2026-08-21",
            "kotek-campaign-cash-2026-08-21",
            "drazan-campaign-cash-2026-08-21"
          ],
          "related_sample_ids": []
        },
        "analyst_inference": {
          "mechanism": "Campaign resources can expand advertising, field, and response capacity, but fundraising is also endogenous to donor expectations about the race.",
          "interpretation": "Kotek currently has the clearer financial-capacity advantage, while Drazan's heavier spending shows that cash alone does not describe campaign intensity.",
          "counterweight_or_caveat": "The committed figures come from a secondary daily aggregation, not a completed committee-by-committee ORESTAR reconciliation; cash, receipts, spending, debt, donor breadth, and independent expenditures are not interchangeable.",
          "what_would_change_this": "A normalized ORESTAR review of both candidate committees and independent spending, or a sustained reversal in the cash and spending relationship, would change this assessment."
        },
        "model_status": "commentary_only",
        "forecast_effect": 0.0,
        "dependency_group": "campaign_resources",
        "overlaps_model_component": [],
        "double_count_warning": "Receipts, cash, spending, and advertising are one resource family and should not be added as separate forces.",
        "cadence": "weekly",
        "status": "active",
        "as_of": "2026-08-21"
      }
    ]
  },
  "accuracy": {
    "status": "research_preview",
    "probability_label": "research preview",
    "modeled_poll_count": 1,
    "distinct_pollsters": 1,
    "context_signal_count": 62,
    "context_signal_forecast_effect": 0.0,
    "context_assessment_count": 10,
    "context_assessment_forecast_effect": 0.0,
    "calibration_algorithm_version": "weighted-poll-baseline-0.1.0",
    "calibration_implementation_version": "production-poll-aggregation-backtest-0.2.0",
    "calibration_scope": "Out-of-time production-aggregator polling error by days before Election Day. This calibrates the polls-only baseline and does not validate the full fundamentals model.",
    "backtest_snapshots": [
      {
        "days_before_election": 30,
        "series": "robust_polling",
        "race_count": 37,
        "mae": 5.6841,
        "rmse": 6.697,
        "error_sd": 6.7852,
        "central_80_error": [
          -9.3201,
          7.5256
        ]
      },
      {
        "days_before_election": 1,
        "series": "robust_polling",
        "race_count": 43,
        "mae": 4.7062,
        "rmse": 5.8508,
        "error_sd": 5.8825,
        "central_80_error": [
          -6.3124,
          7.8068
        ]
      }
    ],
    "layers": [
      {
        "layer_id": "certified_baseline",
        "label": "Certified 2022 baseline",
        "status": "validated_input",
        "summary": "Every county total is checked against the certified state result."
      },
      {
        "layer_id": "poll_aggregation",
        "label": "Poll aggregation",
        "status": "historically_backtested",
        "summary": "Historical polling error is estimated at fixed pre-election cutoffs."
      },
      {
        "layer_id": "oregon_bridge",
        "label": "2022–2026 Oregon bridge",
        "status": "proxy_informed_prior",
        "summary": "The conditional Johnson-transfer prior is proxy-informed; the Johnson-to-major rate is an unvalidated judgmental assumption. Both use broad uncertainty, while separate major-bloc retention assumptions appear only in unweighted public stress tests."
      },
      {
        "layer_id": "fundamentals",
        "label": "Reviewed context observations",
        "status": "shadow_only",
        "summary": "62 verified observations are monitored with exactly zero forecast effect."
      },
      {
        "layer_id": "directional_context",
        "label": "Reviewed directional context",
        "status": "commentary_only",
        "summary": "10 reviewed assessment(s) explain direction and caveats with exactly zero forecast effect."
      },
      {
        "layer_id": "research_agent",
        "label": "LLM research assistant",
        "status": "shadow_only",
        "summary": "Source extraction and commentary drafts require human review; the assistant cannot edit model inputs, run the forecast, publish, or deploy."
      },
      {
        "layer_id": "combined_probability",
        "label": "Combined win probability",
        "status": "end_to_end_backtest_pending",
        "summary": "The full combined probability has not yet passed a multi-cycle out-of-sample backtest."
      }
    ]
  },
  "data_quality": {
    "grade": "D",
    "label": "preliminary",
    "score": 40,
    "poll_count": 1,
    "distinct_pollsters": 1,
    "fundamental_feature_count": 0,
    "uses_certified_2022_file": true,
    "candidate_field_status": "provisional",
    "warnings": [
      {
        "code": "sparse_polling",
        "severity": "warning",
        "message": "Only 1 reviewed poll(s) are included; uncertainty retains a sparse-poll penalty."
      },
      {
        "code": "limited_pollster_diversity",
        "severity": "warning",
        "message": "The polling estimate does not yet include enough distinct pollsters to assess house effects reliably."
      },
      {
        "code": "stale_polling",
        "severity": "warning",
        "message": "The newest qualifying poll ended 58 days before the cutoff."
      },
      {
        "code": "default_fundamentals",
        "severity": "warning",
        "message": "No dated fundamentals matched configured model features; research-preview default adjustments and uncertainty are in use."
      },
      {
        "code": "context_signals_shadow_only",
        "severity": "info",
        "message": "62 reviewed context observations are monitored but have exactly zero forecast effect until their features pass out-of-sample testing."
      },
      {
        "code": "context_assessments_commentary_only",
        "severity": "info",
        "message": "10 reviewed directional context assessment(s) are published as commentary with exactly zero forecast effect."
      },
      {
        "code": "provisional_candidate_field",
        "severity": "warning",
        "message": "The minor-candidate roster is provisional; 'Other candidates' remains aggregated until the certified ballot is available."
      },
      {
        "code": "johnson_transfer_not_directly_observed",
        "severity": "info",
        "message": "The 2022 Johnson-voter counterfactual is not directly observed. Its broad prior is informed by VoteCast relative-favorability and Clout aggregate forced-choice proxies; neither is a Johnson-voter second-choice result."
      },
      {
        "code": "cross_nomination_unverified",
        "severity": "warning",
        "message": "A Libertarian cross-nomination of Drazan has been reported but is not authoritatively certified; the model labels her Republican and applies no direct adjustment."
      },
      {
        "code": "polls_only_error_calibration",
        "severity": "info",
        "message": "Historical error calibration covers a weighted polls-only baseline, not the full combined model; probabilities remain a research preview."
      }
    ]
  },
  "sources": [
    {
      "source_id": "or_sos_2022_general_abstract",
      "title": "2022 November General Election Official Results — Abstract of Votes",
      "publisher": "Oregon Secretary of State, Elections Division",
      "canonical_url": "https://records.sos.state.or.us/ORSOSCMSearch/Search/SearchDetail.aspx?uri=13735454",
      "source_type": "certified_election_result",
      "authority_tier": 1,
      "retrieved_at": "2026-08-21T17:35:02Z",
      "as_of_date": "2022-12-15",
      "local_snapshot_path": null,
      "sha256": "8d04f156cc9df40109a0275ee76271fb383d7bf0d88726b5661f54985523667f",
      "notes": "Record EPD/25/128. The archive viewer embeds the 30-page certified PDF; SHA-256 is of that PDF as retrieved. The county table labels write-ins as 'Misc.' No repository snapshot is retained in this initial dataset.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "or_sos_historical_data",
      "title": "Election Results & History",
      "publisher": "Oregon Secretary of State, Elections Division",
      "canonical_url": "https://sos.oregon.gov/elections/pages/historical-data.aspx",
      "source_type": "official_source_index",
      "authority_tier": 1,
      "retrieved_at": "2026-08-21T17:31:00Z",
      "as_of_date": "2026-08-21",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Official index linking Oregon election history and precinct data.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "fm3_2026_oregon_mental_health_topline",
      "title": "Oregon Mental Health Survey — Questionnaire and Toplines (220-7837-WT)",
      "publisher": "FM3 Research attribution; commissioner undisclosed",
      "canonical_url": "https://static1.squarespace.com/static/69665fd94fa3306343a6fa9b/t/698f7e369f300a1c91a1696e/1771011638201/220-7837-WT%2BOregon%2BMental%2BHealth%2BSurvey%2B%282%29.pdf",
      "source_type": "poll_questionnaire_topline",
      "authority_tier": 2,
      "retrieved_at": "2026-08-21T17:38:00Z",
      "as_of_date": "2026-02-04",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Original 11-page release. It identifies 1,065 likely November 2026 voters and mixed telephone/online-text collection, but not the exact A-split ballot-test n, sponsor, sample frame, weighting, or likely-voter screen. FM3 attribution is from contemporaneous public reporting rather than text printed in the PDF.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "pos_2026_oregon_statewide_topline",
      "title": "Oregon Statewide Survey Topline — Project 260275",
      "publisher": "Public Opinion Strategies / Christine Drazan for Oregon; hosted by OPB",
      "canonical_url": "https://www.opb.org/pdf/Oregon%20Statewide%20Survey%20Topline_1783692333016.pdf",
      "source_type": "poll_questionnaire_topline",
      "authority_tier": 2,
      "retrieved_at": "2026-08-21T17:37:00Z",
      "as_of_date": "2026-06-24",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Original six-page campaign-released topline. Public Opinion Strategies attribution and campaign sponsorship are corroborated by OPB's July 10 report. The release gives N=600 voters and ±4.0% sampling margin but omits frame and weighting details.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "opb_2026_drazan_primary",
      "title": "Christine Drazan takes Republican nomination",
      "publisher": "Oregon Public Broadcasting",
      "canonical_url": "https://www.opb.org/article/2026/05/19/christine-drazan-has-lead-in-first-batch-of-ballots-counted/",
      "source_type": "news_report",
      "authority_tier": 2,
      "retrieved_at": "2026-08-21T17:43:00Z",
      "as_of_date": "2026-05-19",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Used to establish the Republican nominee event; final certified primary totals should replace this source in the ballot-field input when acquired.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "opb_2026_race_competitive",
      "title": "Early signs suggest Oregon governor’s race is competitive",
      "publisher": "Oregon Public Broadcasting",
      "canonical_url": "https://www.opb.org/article/2026/07/10/oregon-governor-race-competitive-early-signs-show/",
      "source_type": "news_report_and_poll_corroboration",
      "authority_tier": 2,
      "retrieved_at": "2026-08-21T17:37:00Z",
      "as_of_date": "2026-07-10",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Corroborates Public Opinion Strategies, Drazan-campaign sponsorship, release date, and the reported disposition of the final 2%.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "pacific_green_2026_nominations",
      "title": "Pacific Green Party of Oregon — 2026 nominating convention updates",
      "publisher": "Pacific Green Party of Oregon",
      "canonical_url": "https://www.pacificgreens.org/",
      "source_type": "party_nomination_announcement",
      "authority_tier": 2,
      "retrieved_at": "2026-08-21T17:44:00Z",
      "as_of_date": "2026-07-20",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Party site identifies Brett Smith as its governor nominee. The page is mutable; certified ballot data must supersede it.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "opb_2026_third_party_field",
      "title": "Could a third-party candidate shake up the Oregon governor’s race?",
      "publisher": "Oregon Public Broadcasting",
      "canonical_url": "https://www.opb.org/article/2026/07/23/oregon-governor-race-third-party-candidate-brett-smith/",
      "source_type": "news_report",
      "authority_tier": 2,
      "retrieved_at": "2026-08-21T17:45:00Z",
      "as_of_date": "2026-07-23",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Reports Smith as the only minor-party nominee then slated for the ballot and explicitly warns that the ballot field was not yet final.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "lpo_2026_convention_notice",
      "title": "2026 LPO Nominating Convention — Official Notice",
      "publisher": "Libertarian Party of Oregon",
      "canonical_url": "https://lporegon.org/lpo-news/",
      "source_type": "party_convention_notice",
      "authority_tier": 2,
      "retrieved_at": "2026-08-21T17:46:00Z",
      "as_of_date": "2026-07-25",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Confirms the July 25 convention but, as retrieved, does not publish its gubernatorial nomination result.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "kepw_2026_brett_smith_interview",
      "title": "Meet the candidate: Brett Smith for Oregon governor",
      "publisher": "KEPW / Whole Community News",
      "canonical_url": "https://kepw-wholecommunity.news/2026/08/07/meet-the-candidate-brett-smith-for-oregon-governor/",
      "source_type": "candidate_interview",
      "authority_tier": 3,
      "retrieved_at": "2026-08-21T17:46:00Z",
      "as_of_date": "2026-08-07",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Contains Brett Smith's first-person account that Christine Drazan received the Libertarian nomination. This is not a substitute for party documentation or certified ballot data.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "or_sos_registration_august_2026",
      "title": "Voter Registration — August 2026",
      "publisher": "Oregon Secretary of State, Elections Division",
      "canonical_url": "https://sos.oregon.gov/elections/Documents/Registration/2026-August.pdf",
      "source_type": "official_registration_report",
      "authority_tier": 1,
      "retrieved_at": "2026-08-21T21:04:41Z",
      "as_of_date": "2026-08-04",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Official statewide and county registration tables. Registration is tracked as a shadow signal and is not treated as vote intention.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "or_sos_2026_primary_certification",
      "title": "Secretary Read Certifies May Election Results, Confirms Historic Turnout",
      "publisher": "Oregon Secretary of State",
      "canonical_url": "https://apps.oregon.gov/oregon-newsroom/OR/SOS/Posts/Post/secretary-read-certifies-may-2026-election-results-confirms-historic-turnout",
      "source_type": "official_election_certification_release",
      "authority_tier": 1,
      "retrieved_at": "2026-08-21T21:04:41Z",
      "as_of_date": "2026-06-25",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Official certification release reporting a 41.87% statewide primary turnout rate.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "dhm_obi_2026_presession_poll",
      "title": "Oregon Business & Industry Pre-Session Survey",
      "publisher": "DHM Research / Oregon Business & Industry; hosted by OPB",
      "canonical_url": "https://www.opb.org/pdf/OBI%20Pre-Session%20Polling%5B1%5D_1769813023180.pdf",
      "source_type": "issue_and_approval_poll_report",
      "authority_tier": 2,
      "retrieved_at": "2026-08-21T21:04:41Z",
      "as_of_date": "2026-01-30",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Mixed phone and text-to-web survey of 600 registered Oregon voters. Approval is commentary-only until a historical approval model is calibrated.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "or_oed_july_2026_employment",
      "title": "Oregon's Nonfarm Payroll Employment Drops by 4,100 in July",
      "publisher": "Oregon Employment Department",
      "canonical_url": "https://www.oregon.gov/employ/Documents/2026-08-19-employment-ore.pdf",
      "source_type": "official_economic_release",
      "authority_tier": 1,
      "retrieved_at": "2026-08-21T21:04:41Z",
      "as_of_date": "2026-07-31",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Official release-vintage labor-force and payroll tables. Economic observations remain shadow-only pending historical calibration.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "or_oea_q2_2026_forecast",
      "title": "Oregon Economic and Revenue Forecast — June 2026",
      "publisher": "Oregon Office of Economic Analysis",
      "canonical_url": "https://www.oregon.gov/das/oea/Documents/OEA-Forecast-0626.pdf",
      "source_type": "official_economic_forecast",
      "authority_tier": 1,
      "retrieved_at": "2026-08-21T21:04:41Z",
      "as_of_date": "2026-05-20",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Release-vintage Oregon and U.S. economic comparisons. The forecast engine does not apply narrative economic judgments.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "or_sos_orestar_search",
      "title": "Search for Campaign Finance Information",
      "publisher": "Oregon Secretary of State, Elections Division",
      "canonical_url": "https://sos.oregon.gov/elections/campaign-finance/Pages/search-campaign-finance.aspx",
      "source_type": "official_campaign_finance_index",
      "authority_tier": 1,
      "retrieved_at": "2026-08-21T21:04:41Z",
      "as_of_date": "2026-08-21",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Canonical discovery source for campaign finance. No fundraising-to-vote coefficient is applied without an out-of-sample historical test.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "ap_votecast_2022_public_use",
      "title": "AP VoteCast 2022 — Methodology and Public Use Files",
      "publisher": "The Associated Press and NORC at the University of Chicago",
      "canonical_url": "https://apnorc.org/projects/ap-votecast-2022/",
      "source_type": "near_exit_survey_public_use_microdata",
      "authority_tier": 2,
      "retrieved_at": "2026-08-21T21:20:00Z",
      "as_of_date": "2022-11-08",
      "local_snapshot_path": null,
      "sha256": "b6fc0e0b6520fb128e1b45bbbc8cf919e4df267690a1cc6fd5201b6b1a7391fa",
      "notes": "SHA-256 is for the official public-use ZIP. Repository artifacts retain only aggregate audit statistics, variable names, and formulas—not respondent rows. Oregon has no second-choice question; relative Kotek/Drazan favorability among named Johnson voters is used only as a noisy proxy.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "clout_2022_sep_forced_choice",
      "title": "Oregon Statewide Survey — September 23–26, 2022 Topline",
      "publisher": "Clout Research",
      "canonical_url": "https://web.archive.org/web/20220929213608id_/http://cloutpolitical.com/wp-content/uploads/sites/31/2022/09/OR-Statewide-Survey-Topline-Report-9-26-2022.pdf",
      "source_type": "poll_questionnaire_topline",
      "authority_tier": 2,
      "retrieved_at": "2026-08-21T21:20:00Z",
      "as_of_date": "2022-09-26",
      "local_snapshot_path": null,
      "sha256": "33124b5608cd313724763002eaf0b300422f8195112d40d783929793c7bc3e54",
      "notes": "Same sample received a three-way ballot and a later forced Kotek–Drazan choice, but no respondent-level transition table or microdata was published. Aggregate changes cannot identify Johnson voters' second choices without strong assumptions.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "fec_2024_presidential_results",
      "title": "Official 2024 Presidential General Election Results",
      "publisher": "Federal Election Commission",
      "canonical_url": "https://www.fec.gov/resources/cms-content/documents/2024presgeresults.pdf",
      "source_type": "certified_election_result",
      "authority_tier": 1,
      "retrieved_at": "2026-08-22T04:43:30Z",
      "as_of_date": "2024-11-05",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Official compilation from state election offices. Oregon's certified presidential vote is retained as a descriptive partisan-baseline observation; it receives no separate forecast effect because the structural prior may already encode related history.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "white_house_trump_administration_2026",
      "title": "President Donald J. Trump",
      "publisher": "The White House",
      "canonical_url": "https://www.whitehouse.gov/administration/donald-j-trump/",
      "source_type": "official_officeholder_record",
      "authority_tier": 1,
      "retrieved_at": "2026-08-22T04:43:30Z",
      "as_of_date": "2026-08-21",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Official administration page establishing Donald J. Trump as the sitting president. Party identification is established by the FEC's certified 2024 result.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "reuters_ipsos_august_2026",
      "title": "Reuters/Ipsos August 2026 Poll — Topline and Methodology",
      "publisher": "Reuters / Ipsos",
      "canonical_url": "https://www.ipsos.com/sites/default/files/ct/news/documents/2026-08/Reuters%20Ipsos%20August%202026%20Poll%20Topline%20Full.pdf",
      "source_type": "national_issue_and_approval_poll_topline",
      "authority_tier": 2,
      "retrieved_at": "2026-08-22T04:43:30Z",
      "as_of_date": "2026-08-17",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Probability-based KnowledgePanel survey of 1,166 U.S. adults, including 876 registered voters, fielded August 14–17. National political-environment observations are commentary-only and are not treated as Oregon vote intention.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "love_carlin_singer_2024_governor_forecast",
      "title": "LASSOing the Governor’s Mansion: A Machine-Learning Approach to Forecasting Gubernatorial Elections",
      "publisher": "PS: Political Science & Politics / Cambridge University Press",
      "canonical_url": "https://www.cambridge.org/core/journals/ps-political-science-and-politics/article/lassoing-the-governors-mansion-a-machine-learning-approach-to-forecasting-gubernatorial-elections/761EEFC6D3D8F63602A4CC12EB5E9974",
      "source_type": "peer_reviewed_forecast_research",
      "authority_tier": 2,
      "retrieved_at": "2026-08-22T04:43:30Z",
      "as_of_date": "2024-10-15",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Open-access peer-reviewed model trained on 346 pre-pandemic gubernatorial elections. It supports researching partisan baseline, incumbency, governor approval, state presidential approval, and president–governor party alignment, but its coefficients are not imported into this forecast without independent rolling-origin validation.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "ebeid_rodden_gubernatorial_midterm",
      "title": "When and Where Do Economic Conditions Affect Elections? Evidence from the U.S. States",
      "publisher": "Michael Ebeid and Jonathan Rodden; Stanford/MIT working paper",
      "canonical_url": "https://web.mit.edu/jrodden/www/materials/farmstatesjuly03.pdf",
      "source_type": "historical_election_research",
      "authority_tier": 2,
      "retrieved_at": "2026-08-22T04:43:30Z",
      "as_of_date": "2003-07-18",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Observational study of competitive gubernatorial elections in 47 states from 1950–1998. It supports only a qualitative presidential-party midterm-pressure direction here; its historical point estimates are not portable forecast adjustments.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "holbrook_provow_1987_national_factors",
      "title": "National Factors in Gubernatorial Elections",
      "publisher": "American Politics Quarterly / SAGE",
      "canonical_url": "https://journals.sagepub.com/doi/10.1177/1532673X8701500403",
      "source_type": "peer_reviewed_historical_election_research",
      "authority_tier": 2,
      "retrieved_at": "2026-08-22T04:43:30Z",
      "as_of_date": "1987-10-01",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Finds effects from national economic conditions, presidential popularity, and incumbency but not a distinct congressional-style midterm effect. Retained as an explicit counterweight to stronger midterm-effect claims.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "sievert_mckee_2019_nationalization",
      "title": "Nationalization in U.S. Senate and Gubernatorial Elections",
      "publisher": "American Politics Research / SAGE",
      "canonical_url": "https://journals.sagepub.com/doi/10.1177/1532673X18792694",
      "source_type": "peer_reviewed_historical_election_research",
      "authority_tier": 2,
      "retrieved_at": "2026-08-22T04:43:30Z",
      "as_of_date": "2019-01-01",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Documents increasing nationalization of gubernatorial elections with regional variation. It supports monitoring the national environment but not converting a national poll directly into Oregon points.",
      "supersedes": null,
      "superseded_by": null
    },
    {
      "source_id": "oregon_money_watch_governor_2026",
      "title": "2026 Oregon Governor Campaign Finance — Graph View",
      "publisher": "Oregon Money Watch",
      "canonical_url": "https://ormoneywatch.com/executive-offices/governor/graph-view/",
      "source_type": "campaign_finance_secondary_aggregation",
      "authority_tier": 3,
      "retrieved_at": "2026-08-22T05:05:00Z",
      "as_of_date": "2026-08-21",
      "local_snapshot_path": null,
      "sha256": null,
      "notes": "Daily campaign-finance aggregation that states its data are uploaded from the Oregon Secretary of State. Used as a provisional commentary-only capacity snapshot; figures are not a substitute for a committee-by-committee ORESTAR reconciliation and receive no forecast effect.",
      "supersedes": null,
      "superseded_by": null
    }
  ],
  "reproducibility": {
    "input_hashes": {
      "results_2022": "6ca6f2e5db8eb6a43bf74efc29446d0d070753ab4feaf7a6d9e3545280e9b00a",
      "polls": "58e917d832f02c68541f1c346ff1badb633a07b273f03423529b1f4cfe59fc0b",
      "fundamentals": "b0afecce5f4aec7b46b190419e24ac7c3228dca3efe546f6574b6df3fd8398f8",
      "events": "2fd3dcd56dd0ab742564418bec7c47d1157562c587fef2868327af7313424e65",
      "sources": "d3e1ac86e955c1731ad22046628712dece65ad61153bc35a7d70fc4ec3a67c8e",
      "calibration": "58fefd8ee202ebf7ee406146ce2c054e7fe86f3ff6572cac7fd957a83bdffb3f",
      "bridge_analysis": "408525a520a526bff2d7a3cd34d98259050fd2c11f528f9d1295a5f32a8b1121",
      "johnson_transfer_evidence": "c2481e03c58b8c2a22793377ce3be6dbc4c48393769b8460e0f65886b2ecb905",
      "context_signals": "72fbecfeee69a5e0d97ecfc1d88e027486a6d6f0f2d45ef07d528fdda6e3b1ce",
      "context_assessments": "f43f3260d64cdd6008f66dd0074eb6945f2f198fd698af62dae5e9bfa53e193f",
      "config": "9fa045609b8f194cfac1138ebddefd648d74b07e3ac1bee42d59eda2385dc2f8"
    },
    "source_manifest_sha256": "d3e1ac86e955c1731ad22046628712dece65ad61153bc35a7d70fc4ec3a67c8e",
    "code_revision": "11c12325b26b1397b1d062f29dade10df943e172",
    "configuration": {
      "schema_version": "model-config.v1",
      "model_version": "0.2.0",
      "methodology_version": "0.2",
      "validation_state": "research_preview",
      "election": {
        "name": "2026 Oregon gubernatorial election",
        "date": "2026-11-03",
        "timezone": "America/Los_Angeles",
        "forecast_freeze_time": "20:00:00"
      },
      "simulation": {
        "count": 40000,
        "seed": 20260821
      },
      "display": {
        "probability_decimals": 0,
        "vote_share_decimals": 1,
        "margin_decimals": 1
      },
      "candidates": [
        {
          "candidate_id": "tina_kotek",
          "name": "Tina Kotek",
          "party": "Democratic",
          "role": "kotek"
        },
        {
          "candidate_id": "christine_drazan",
          "name": "Christine Drazan",
          "party": "Republican",
          "role": "drazan"
        },
        {
          "candidate_id": "other_candidates",
          "name": "Other candidates",
          "party": "Other",
          "role": "minor",
          "minor_share_weight": 1.0,
          "is_aggregate": true
        }
      ],
      "candidate_field_status": "provisional",
      "prior": {
        "fallback_2022_shares": {
          "tina_kotek": 46.96,
          "christine_drazan": 43.54,
          "betsy_johnson": 8.62,
          "other_2022": 0.88
        },
        "historical_candidate_roles": {
          "kotek": [
            "tina_kotek",
            "kotek"
          ],
          "drazan": [
            "christine_drazan",
            "drazan"
          ],
          "johnson": [
            "betsy_johnson",
            "johnson"
          ]
        },
        "johnson_redistribution": {
          "to_kotek_mean": 0.48,
          "to_kotek_sd": 0.16,
          "to_kotek_min": 0.05,
          "to_kotek_max": 0.85,
          "evidence_status": "indirect_proxy_evidence_not_second_choice",
          "evidence_source_ids": [
            "ap_votecast_2022_public_use",
            "clout_2022_sep_forced_choice"
          ],
          "basis": "A judgmental, deliberately broad approximation informed by AP VoteCast relative-favorability comparisons among 2022 Johnson voters and Clout Research's same-sample aggregate forced-choice ballot. Neither source directly identifies Johnson voters' second choices.",
          "johnson_to_major_rate_mean": 0.9,
          "johnson_to_major_rate_sd": 0.08,
          "johnson_to_major_rate_min": 0.55,
          "johnson_to_major_rate_max": 1.0,
          "johnson_to_major_rate_evidence_status": "unvalidated_judgmental_assumption",
          "johnson_to_major_rate_basis": "A judgmental participation assumption used to allow some 2022 Johnson-origin voters to choose neither major candidate in 2026. The available AP VoteCast and Clout evidence informs only the conditional Kotek-versus-Drazan destination proxy, not this participation rate.",
          "ecological_margin_error_sd": 1.5
        },
        "electorate_shift": {
          "default_mean": 0.0,
          "default_sd": 1.5
        },
        "fundamental_adjustment": {
          "default_mean": 0.0,
          "default_sd": 1.75,
          "unmodeled_error_sd": 1.0
        },
        "other_vote_share": {
          "mean": 2.0,
          "sd": 1.0,
          "minimum": 0.1,
          "maximum": 20.0
        }
      },
      "fundamentals": {
        "feature_definitions": [
          {
            "series_id": "electorate_partisan_shift_points",
            "model_status": "disabled_pending_backtest",
            "stage": "electorate",
            "center": 0.0,
            "coefficient": 1.0,
            "uncertainty_sd": 0.75,
            "max_abs_effect": 6.0
          },
          {
            "series_id": "registration_shift_points",
            "model_status": "disabled_pending_backtest",
            "stage": "electorate",
            "center": 0.0,
            "coefficient": 0.35,
            "uncertainty_sd": 0.6,
            "max_abs_effect": 3.0
          },
          {
            "series_id": "incumbency_net_points",
            "model_status": "disabled_pending_backtest",
            "stage": "fundamentals",
            "center": 0.0,
            "coefficient": 1.0,
            "uncertainty_sd": 0.75,
            "max_abs_effect": 5.0
          },
          {
            "series_id": "approval_net_points",
            "model_status": "disabled_pending_backtest",
            "stage": "fundamentals",
            "center": 0.0,
            "coefficient": 0.12,
            "uncertainty_sd": 0.75,
            "max_abs_effect": 4.0
          },
          {
            "series_id": "national_environment_points",
            "model_status": "disabled_pending_backtest",
            "stage": "fundamentals",
            "center": 0.0,
            "coefficient": 0.35,
            "uncertainty_sd": 0.8,
            "max_abs_effect": 5.0
          },
          {
            "series_id": "campaign_strength_points",
            "model_status": "disabled_pending_backtest",
            "stage": "fundamentals",
            "center": 0.0,
            "coefficient": 0.35,
            "uncertainty_sd": 0.75,
            "max_abs_effect": 3.0
          },
          {
            "series_id": "state_conditions_points",
            "model_status": "disabled_pending_backtest",
            "stage": "fundamentals",
            "center": 0.0,
            "coefficient": 0.25,
            "uncertainty_sd": 0.7,
            "max_abs_effect": 3.0
          }
        ]
      },
      "poll_model": {
        "recency_half_life_days": 28.0,
        "maximum_poll_age_days": 180,
        "sample_size_cap": 1500,
        "missing_sample_size_default": 250,
        "default_pollster_quality": 0.75,
        "pollster_quality": {},
        "pollster_house_effect_margin_points": {},
        "population_multipliers": {
          "LV": 1.0,
          "RV": 0.85,
          "A": 0.65
        },
        "mode_multipliers": {
          "phone": 0.95,
          "telephone": 0.95,
          "text-to-web": 0.85,
          "online": 0.85,
          "online panel": 0.85,
          "mixed": 1.0,
          "default": 0.8
        },
        "accepted_with_penalty_multiplier": 0.6,
        "partisan_sponsor_multiplier": 0.75,
        "partisan_sponsor_bias_points": 0.8,
        "within_pollster_correlation": 0.5,
        "maximum_pollster_precision_share": 0.5,
        "correlated_error_floor_sd": 1.8,
        "sparse_poll_extra_sd": 1.25,
        "minimum_sampling_sd": 2.0,
        "other_share_error_floor_sd": 1.5
      },
      "forecast": {
        "nowcast_residual_error_sd": 5.52,
        "election_day_residual_error_sd": 5.52,
        "error_distribution": "student_t",
        "error_degrees_of_freedom": 7,
        "future_movement_max_sd": 4.47,
        "future_movement_horizon_days": 30,
        "other_share_future_error_sd": 0.75,
        "minor_share_concentration": 60.0,
        "historical_error_calibration": {
          "enabled": true,
          "series": "robust_polling",
          "election_day_horizon": "1",
          "future_movement_horizon": "30"
        }
      },
      "data_quality": {
        "fresh_poll_days": 35,
        "minimum_recent_polls": 3,
        "minimum_distinct_pollsters": 2
      }
    },
    "random_seed": 20260821,
    "simulation_count": 40000,
    "artifact_hash_method": "SHA-256 of canonical JSON before reproducibility.artifact_sha256 is added",
    "artifact_sha256": "5959d5dd7302f4beac512eff4b0dd5ccae7bfeb605ec27e88f092f84df26fca4"
  },
  "movements": [],
  "net_change_label": null
}
