Forecast Variance Reconciliation / 预测偏差复核

Forecast Variance Reconciliation is the assignable review for a Forecast Variance Addendum.

The rite starts only after an actual check surface exists. It is not a forecast-writing action and not a score audit.

Entry

entry_state:
  trigger_kind: state_pressure
  source_forecast_row_present: true
  actual_check_surface_present: true
  variance_between_forecast_and_actual_visible: true
  future_reader_consumes_variance_state: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_forecast_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

Assignment

assignment_required:
  addendum: storyteller.card.forecast_variance_addendum.v1
  source_forecast_row: <row>
  actual_check_surface: <surface>
  variance_kind: within_range | above_range | below_range | wrong_reader | delayed_surface | hidden_harmed_reader | reserve_exhausted
  owner_or_beneficiary_or_absence: <actor or explicit_absence>
  harmed_reader_or_absence: <reader or explicit_absence>
  reserve_or_dissent_or_absence: <reserve dissent or explicit_absence>
  selected_posture: accept_within_range_addendum | publish_variance_notice | consume_hedge_reserve | assign_owner_clawback | reopen_forecast_review | split_reader_interpretation | unreconciled_forecast_variance_default
  cost_or_scar: <cost scar or explicit default>
  future_reader_or_route: <reader or route>

The rite fails if a famous handler, sponsor payment, legal seal, public apology, or confidence score reconciles the variance without row, check surface, harmed reader, selected posture, and future effect.

Branches

Accept within-range addendum

selected_posture: accept_within_range_addendum
variance_state_after: reconciled
relief_any: [forecast_accuracy_legible, future_reader_protected]
cost_any: [owner_liability_visible, addendum_burden_up]
future_effect_any: [accepted_with_addendum, public_notice_required]

The forecast remains usable only with the addendum. It cannot become universal clean accuracy.

Publish variance notice

selected_posture: publish_variance_notice
variance_state_after: noticed_publicly
relief_any: [harmed_reader_notice, false_accuracy_pressure_down]
cost_any: [public_anxiety_up, sponsor_stop_loss_pressure_up, inspection_heat_up]
future_effect_any: [public_notice_required, costlier]

The harmed reader can answer the difference between forecast and actual result.

Consume hedge reserve

selected_posture: consume_hedge_reserve
variance_state_after: reserve_consumed
relief_any: [forecast_miss_severity_down, future_reader_protected]
cost_any: [reserve_capacity_spent, sponsor_collateral_spent, future_recovery_cost_up]
future_effect_any: [reserve_spent, accepted_with_addendum, costlier]

The reserve can soften the variance, but it cannot erase the harmed reader or make future use free.

Assign owner clawback

selected_posture: assign_owner_clawback
variance_state_after: clawback_assigned
relief_any: [false_accuracy_pressure_down, harmed_reader_notice]
cost_any: [owner_liability_up, producer_license_pressure_up, faction_commitment_due]
future_effect_any: [clawback_due, recheck_required, costlier]

The owner or beneficiary of clean accuracy carries a visible clawback obligation.

Reopen forecast review

selected_posture: reopen_forecast_review
variance_state_after: review_reopened
relief_any: [wrong_reader_blocked, comparison_corrected]
cost_any: [handler_burden_up, lawful_recheck_pressure_up, route_delay_up]
future_effect_any: [recheck_required, split_required, recovery_only]

Use this when the actual check surface or reader was not the one the original forecast claimed.

Split reader interpretation

selected_posture: split_reader_interpretation
variance_state_after: split_interpretation
relief_any: [universal_false_accuracy_blocked, future_reader_protected]
cost_any: [source_ambiguity_up, future_reconciliation_cost_up, public_receipt_distrust_up]
future_effect_any: [split_required, public_notice_required, lawful_recheck_required]

Public, lawful, sponsor, archive, route-asset, and broadcast readers can inherit different interpretations, but no reader gets clean universality.

Unreconciled forecast variance default

selected_posture: unreconciled_forecast_variance_default
variance_state_after: unreconciled_false_accuracy
event_seen_or_armed: storyteller.event.unreconciled_forecast_variance_default.v1
relief_any: [short_management_silence]
cost_any: [false_accuracy_pressure_up, harmed_reader_hostility_up, producer_license_pressure_up]
future_effect_any: [blocked, costlier, recovery_only, contradiction_pending]

This branch fires or arms when the implementation files the checked result as clean accuracy without an addendum.

Non-goals

Not a forecast commitment review, generic probability audit, or replay-debug report. The rite exists only to reconcile a checked variance into future play.