Weekly Broadcast Cycle Ledger / 七日播出周期账本

Weekly Broadcast Cycle Ledger records the weekly loop at the moment it wants to become next-cycle state.

The card exists because a broadcast week is not clean simply because seven days elapsed. The ledger must preserve which forced main slot was served, how license capacity changed, which side/prep/embedded/premiere rows tried to travel, which blackouts remain, and what future reader consumes the audit.

Required Fields

weekly_broadcast_cycle_ledger:
  card_id: storyteller.card.weekly_broadcast_cycle_ledger.v1
  source_cycle:
    cycle_id: <stable cycle id>
    cycle_window: day_1_to_day_7 | named_week | chapter_cycle | equivalent
    audit_reader: company | algorithm | sponsor | public | lawful_reader | archive | resistance | broadcast_reality | equivalent
    cycle_state_before: open | audit_due | contested | scarred | blackout_pending | legacy_pending | overflow_pending | equivalent
  license:
    license_slots_before:
      available: <number or explicit_absence>
      occupied: <number or explicit_absence>
      frozen: <number or explicit_absence>
      blackout: <number or explicit_absence>
      temporary_exemption: <number or explicit_absence>
    forced_main_slot:
      slot_id: <slot id>
      schedule_contract: <contract id or explicit_absence>
      service_state: served | partial | folded | overflow | blacked_out | explicit_absence | equivalent
      route_key_or_reader: <route reader or explicit_absence>
    side_slots:
      - slot_id: <slot id>
        accepted_state: accepted | embedded | declined | folded | blacked_out | explicit_absence | equivalent
        license_cost: <slot cost or explicit_absence>
        future_effect: <effect or explicit_absence>
  cycle_rows:
    prep_rows:
      - prep_receipt_id: <receipt id or explicit_absence>
        scoped_to_cycle: true
        can_travel_next_cycle: true | false
    embedded_slots:
      - host_slot: <slot id or explicit_absence>
        embedded_slot: <slot id or explicit_absence>
        shared_risk_state: shared | isolated | false_shared | explicit_absence | equivalent
    premiere_results:
      - airing_id: <airing id>
        route_tag_after: clean | scarred | split | folded | blackout | reverse_aired | equivalent
        on_screen_readback_id: <readback row or explicit_absence>
  audit:
    selected_posture: certify_clean_rollover | carry_scarred_success | quarantine_blackout_slot | convert_legacy_card | force_main_overflow | split_cycle_memory | cycle_blackout_default
    blackout_rows:
      - blackout_id: <row id or explicit_absence>
        license_slot_effect: occupies | quarantined | frozen | cleared_with_cost | polluted | equivalent
    legacy_choice_or_absence: legacy_card | legacy_debt | rumor | route_asset | explicit_absence | equivalent
    cycle_state_after: clean_rollover | scarred_success | quarantined_blackout | legacy_converted | forced_main_overflow | split_memory | false_cycle_closure | recovery_only | equivalent
    license_state_after: <license table or state summary>
    future_reader_or_route_effect: next_cycle_seed | forced_main_seed | route_asset | blocked | costlier | hostile | public_addendum | lawful_only | archive_debt | recovery_only | equivalent
    counter_deltas:
      relief: []
      cost: []
      future: []

Valid Entry Examples

Use this ledger when:

  • Day 7 audit wants to release license slots after a forced main slot and several side slots;
  • a blacked-out slot is still occupying capacity but the next cycle wants to start;
  • a success produces legacy that should enter the next cycle as a card, rumor, route asset, or debt;
  • an embedded side slot claims shared completion with its host;
  • a premiere result cites prep rows outside their cycle;
  • company, sponsor, public, lawful, archive, resistance, or broadcast-reality readers disagree about whether the week closed cleanly.

Invalid entries include a weekly recap, a raw day count, a dashboard green flag, or a single all_airings_resolved boolean.

Failure Shape

The card fails if it stores only cycle_complete, week_closed, license_released, blackout_count, or legacy_selected. The source cycle, forced main slot, license state, row-level claims, selected posture, cycle state after, and future reader effect must be visible.

Branch Memory

branch_memory_required:
  ledger_id: storyteller.card.weekly_broadcast_cycle_ledger.v1
  cycle_id: <cycle>
  cycle_window: <window>
  forced_main_slot: <slot>
  license_slots_before: <state>
  selected_posture: <posture>
  cycle_state_after: <state>
  license_state_after: <state>
  future_reader_or_route_effect: <effect>
  counter_deltas:
    relief: []
    cost: []
    future: []

Non-Goals

  • Not a score screen.
  • Not a generic weekly save file.
  • Not a replacement for slot readback.
  • Not valid unless future play consumes the audit state.