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.