Prep Action Budget Overdraft

Prep Action Budget Overdraft begins when a day of daily preparation actions is about to be read as if the player still has clean time, staff, and rehearsal capacity after the day budget was frozen, borrowed, or overdrawn.

The existing preparation mechanism says how actions create useful outputs. Prep Action Receipt Carryover says how a prepared output travels later. This packet owns the missing surface between those two: whether the day had enough prep budget to create the output in the first place.

Playable Question

When a schedule slot, live-floor desk, rehearsal chain, sponsor desk, route asset, or public recap consumes a prep result, does production certify remaining budget, freeze a contaminated action, borrow against tomorrow, convert the work into rehearsal debt, split the budget by slot, publish an overdraft scar, or let an unbudgeted prep claim become default pressure?

Every answer must name:

  • the source prep-day row;
  • the base action budget for the day;
  • the actions already spent this day;
  • any frozen action source or explicit absence;
  • any borrowed action source or explicit absence;
  • the requested future slot or reader;
  • the prep output being claimed;
  • the harmed reader or explicit absence;
  • the selected budget posture;
  • the future reader or route effect.

State-Triggered Entry

Open this storyline only when a future reader is about to consume a prep output whose day budget is contested:

entry_state:
  trigger_kind: state_pressure
  source_prep_day_row_present: true
  base_action_budget_visible: true
  consumed_actions_visible: true
  frozen_or_borrowed_actions_visible: true
  requested_future_slot_visible: true
  harmed_reader_or_explicit_absence_visible: true
  future_reader_consumes_prep_budget_state: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_action_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

Do not open this storyline from a raw day count, a dashboard warning, a lens-health warning, or generic schedule tension. The trigger is a concrete future reader trying to consume prep work after the daily budget has been pressured.

Bound Content Pack

Storyline Spine

Beat 1 - A prep result arrives with too little day behind it

A call-sheet desk, live-floor crew, rehearsal ledger, sponsor makegood surface, route-asset holder, or public recap cites a prep result from the current day. The result might be useful, but it was created after an audit freeze, power shed, crew overload, slot preemption, borrowed generator claim, or earlier action spend.

The citation is not enough. The future reader must know whether the result came from remaining budget, borrowed time, frozen work, or an overdraft scar.

Beat 2 - The docket separates budget from output

Create or refresh Prep Action Budget Docket.

prep_action_budget_docket:
  source_prep_day_row: preparation_day_1 | preparation_day_2 | weekly_cycle_day | live_floor_day | equivalent
  base_action_budget: 2 | 3 | expanded_by_license | reduced_by_crisis | explicit_absence
  actions_spent_this_day: 0 | 1 | 2 | 3 | over_budget | explicit_absence
  frozen_action_source_or_absence: audit_freeze | power_shed | blackout_pollution | crew_overload | sponsor_hold | explicit_absence
  borrowed_action_source_or_absence: next_day_prep | night_shift | generator_debt | route_asset_favor | crew_overtime | explicit_absence
  requested_future_slot: main_slot | side_slot | rehearsal_slot | live_floor_cover | sponsor_makegood | route_asset_move | public_recap | equivalent
  prep_output_claimed: meeting_result | dispatch_result | evidence_pull | rehearsal_mark | construction_progress | edit_patch | silence_hold | blackout_contact | withdrawal_talk
  harmed_reader_or_absence: exhausted_crew | displaced_slot | public_reader | sponsor_reader | route_asset_holder | lawful_reader | fan_reader | explicit_absence
  budget_state_after: certified_remaining_budget | frozen_action | borrowed_against_tomorrow | rehearsal_debt | split_by_slot | overdraft_scar | unbudgeted_default
  future_reader_or_route_effect: accepted_with_budget | freeze_required | next_day_reduced | debt_check_required | split_required | costlier | recovery_only

The docket fails if it stores only prep ready, actions spent, or slot filled without the source day, budget, contested action state, claimed output, harmed reader, after-state, and future effect.

Beat 3 - The readback chooses the budget posture

Resolve Prep Action Budget Readback with one of these branch families:

BranchReliefCostFuture effect
certify_remaining_budgetConfirms the output was created inside the day budget.Other outputs still need their own day row.accepted_with_budget
freeze_contaminated_actionMarks one action as frozen until its source is cleared.The slot cannot consume that output yet.freeze_required
borrow_next_day_actionLets the output stand by borrowing tomorrow’s budget.Tomorrow opens with reduced prep capacity.next_day_reduced
convert_to_rehearsal_debtLets rehearsal or coverage stand as debt.Future rehearsal, crew, or slot checks become costlier.debt_check_required
split_budget_by_slotAssigns separate prep budget to main, side, and route.Unnamed slots cannot inherit clean readiness.split_required
publish_overdraft_scarPublicly names who spent beyond the budget.Sponsor, public, or lawful readers can surcharge later.costlier
unbudgeted_prep_defaultNo one read the budget before future consumption.The prep output becomes a false-clean readiness claim.recovery_only

Beat 4 - Future readers consume the after-state

Future readers must consume the after-state rather than the raw prep result:

Default

If a future reader consumes a prep output without budget readback, arm Unbudgeted Prep Default.

unbudgeted_prep_default:
  false_prep_budget_claim: true
  hidden_or_invalid_budget_state: over_budget | frozen_action_hidden | borrowed_action_hidden | missing_source_day | absent_budget_row
  capturing_reader: live_floor | call_sheet | rehearsal_chain | sponsor_counterdesk | route_asset_holder | public_recap | lawful_reader | equivalent
  harmed_or_omitted_reader: exhausted_crew | displaced_slot | public_reader | sponsor_reader | route_asset_holder | lawful_reader | fan_reader | explicit_absence
  budget_state_after: unbudgeted_default | overdraft_scar | rehearsal_debt | next_day_reduced | recovery_only
  future_reader_effect: freeze_required | next_day_reduced | debt_check_required | sponsor_surcharge | public_counter | route_costlier | recovery_only
  counter_deltas_min: 3
  durable_mutation: true

Non-Goals

  • Do not use this packet to define every daily prep action. That remains Daily Preparation Actions.
  • Do not use this packet to carry the output across unrelated future systems. That remains Prep Action Receipt Carryover.
  • Do not turn prep budget into a raw timer. It opens only when a future reader tries to consume contested prep work.