Broadcast Schedule Capacity Lens / 播出档期容量 Lens
This page revises the older “schedule is HP” lens into a state-driven executable contract. It preserves the same bound test handle while removing fixed sequence evidence and adding explicit observes / observed_through links.
The lens observes whether Broadcast Schedule and Blackout Incidents behave as finite producer-license capacity. A schedule slot is not flavor, not a passive timer, and not generic stress. It is a board object that can be free, scoped, occupied, folded, scarred, or escalated into 播出容量责任级联线.
Primary observation link
This lens observes:
- Broadcast Schedule;
- Blackout Incidents;
- Broadcast Reality;
- Broadcast Slot Contracts;
- Schedule Preemption Claims;
- 播出容量责任级联机制;
- 播出容量责任级联线.
It is observed through:
Observable promise
The producer license must expose finite schedule capacity. Accepting, binding, or occupying a broadcast contract must reduce available capacity. Completing, releasing, folding, or breaching a contract must mutate the slot state. A blackout incident must remain a capacity scar unless a recovery branch explicitly pays for release.
The lens fails if the game silently creates extra slots, deletes blackout pressure, hides slot authority, hides the reader scope, or treats schedule pressure as a generic morale/stress number.
State-triggered entry oracle
entry_state_required:
trigger_kind: state_pressure
producer_license_present_or_explicit_absence: true
schedule_capacity_surface_present: true
schedule_slots_total_visible: true
schedule_slots_free_visible: true
schedule_slots_occupied_visible: true
at_least_one_capacity_claim_or_contract_present: true
future_reader_or_route_possible: true
no_fixed_turn_trigger: true
no_fixed_day_or_week_trigger: true
no_raw_count_trigger: true
no_dashboard_or_lens_health_trigger: trueEntry must fail if it depends on a fixed sequence position, arbitrary calendar interval, chapter quota, raw content count, dashboard state, lens-health state, or generic escalation without a named schedule capacity surface.
Required slot object
A schedule slot or equivalent row must record:
schedule_slot_row:
slot_id: <stable id>
slot_kind: main_broadcast | correction | rehearsal | legal_airing | public_contrition | sponsor_package | emergency_patch | counterbroadcast | blackout_containment | equivalent
capacity_state: free | optioned | occupied | bound_with_scope | preempted | split | folded_blackout | breached | released_with_scar | recovery_only | blocked
occupying_source_or_absence: <contract claim route event blackout or explicit_absence>
reader_scope_or_absence: public | lawful | sponsor | archive | editor | fan_public | route_asset | management | blackout | split | explicit_absence
authority_or_absence: producer_license | schedule_contract | mirror_right | archive_receipt | fan_mandate | sponsor_letter | inspector_stamp | pirate_packet | explicit_absence
future_reader_or_route: <reader route slot or explicit_absence>The lens fails if capacity is only expressed as timer, deadline, stress, busy, or available without row identity, source, reader scope, authority, and future reader.
Required transitions
Accept or bind a contract
A contract or claim that occupies a slot must reduce free capacity and create an occupied row.
transition_accept_or_bind:
capacity_state_before: free | optioned | scoped_free
capacity_state_after: occupied | bound_with_scope | split | preempted
schedule_slots_free_delta: -1
schedule_slots_occupied_delta: +1
occupying_source_visible: true
reader_scope_visible: trueComplete or release a slot
Completing a slot may free it only if no unresolved blackout, liability, reader scope, or future claimant remains.
transition_complete_or_release:
source_row_visible: true
unresolved_claims_or_scar_absent: true
capacity_state_after_any: [free, scoped_free, released_with_scar]
future_reader_or_route_updated: trueFold into blackout
A failed or unsafe slot may become a blackout incident. It must not disappear.
transition_blackout_fold:
source_slot_id: <slot id>
event_or_incident: blackout_incident
occupied_or_scarred_capacity_remains: true
capacity_state_after_any: [folded_blackout, recovery_only, blocked]
schedule_slots_occupied_or_scarred_delta_min: 1
future_route_effect_any: [blackout_pressure_up, recovery_only, blocked, ending_costlier]Capacity exhaustion
When no free or scoped-free slot can lawfully satisfy a new forced or urgent claim, the run must show a crisis, preemption, liability ledger, breach/default, blackout fold, or explicit refusal.
transition_capacity_exhaustion:
schedule_slots_free: 0
incoming_capacity_claim_present: true
allowed_outcome_any:
- preemption_hearing
- slot_contract_breach_default
- off_slot_encounter_default
- broadcast_capacity_liability_ledger
- capacity_liability_default
- blackout_fold
- explicit_refusal_with_scar
forbidden_outcome: silent_extra_slotEscalation to capacity liability
When a row is claimed by more than one reader, or when occupied capacity is borrowed, folded, sponsor-converted, public-converted, lawful-converted, or management-greenwashed, the surface should hand off to 播出容量责任账本 or 容量责任默认.
This is the difference between the system lens and the new storyline lens:
- this lens proves schedule capacity exists and mutates like finite HP;
- Broadcast Capacity Liability Cascade Lens proves occupied or borrowed capacity carries cross-surface liability.
Oracle assertions
A binding check should fail unless all assertions below are true.
- Primary links exist —
observesandobserved_throughpoint to concrete wiki pages. - Capacity surface is visible — total/free/occupied or equivalent state is inspectable.
- Accepted contract occupies capacity — accepted or bound rows reduce availability.
- Reader scope is visible — every occupied row knows who can read it.
- Authority is visible — producer license, contract, receipt, mandate, stamp, packet, or explicit absence is recorded.
- Release is conditional — completion frees capacity only when unresolved claims and scars are absent or explicitly converted.
- Blackout remains a scar — folded slots do not release clean capacity.
- Exhaustion does not create free capacity — zero free slots must produce preemption, breach, liability, blackout, or refusal.
- Future reader consumes state — downstream route, audit, correction, preemption, contract review, blackout recovery, or capacity liability reads the result.
- No fixed trigger — the proof does not depend on fixed turn, day, week, raw count, dashboard, or lens-health triggers.
Replay evidence expectation
lens_id: storyteller.broadcast_schedule.capacity_001
session_id: lens-broadcast-schedule-capacity-v2-<timestamp>
seed: <deterministic-seed>
entry_state:
trigger_kind: state_pressure
producer_license_present_or_explicit_absence: true
schedule_capacity_surface_present: true
schedule_slots_total_visible: true
schedule_slots_free_visible: true
schedule_slots_occupied_visible: true
no_fixed_turn_trigger: true
slot_rows_before:
- slot_id: <slot>
capacity_state: <state>
occupying_source_or_absence: <source_or_absence>
reader_scope_or_absence: <scope_or_absence>
transitions:
accept_or_bind:
capacity_state_after: occupied | bound_with_scope | split | preempted
schedule_slots_free_delta: -1
schedule_slots_occupied_delta: +1
complete_or_release:
unresolved_claims_or_scar_absent: true
capacity_state_after: free | scoped_free | released_with_scar
blackout_fold:
source_slot_id: <slot>
occupied_or_scarred_capacity_remains: true
future_route_effect: <effect>
exhaustion:
schedule_slots_free: 0
incoming_capacity_claim_present: true
outcome: preemption_hearing | breach_default | off_slot_default | capacity_liability_ledger | capacity_liability_default | blackout_fold | explicit_refusal_with_scar
assertions:
- primary_links_exist
- finite_schedule_slots_visible
- accepting_or_binding_contract_occupies_slot
- occupying_source_and_reader_scope_visible
- completing_releasing_or_folding_slot_mutates_capacity_state
- blackout_incident_keeps_capacity_scar
- no_free_extra_slot_when_capacity_exhausted
- capacity_claim_collision_routes_to_liability_ledger_or_default
- replay_evidence_records_seed_session_state_assignments_events_deltas_and_future_reader
- no_fixed_turn_day_week_raw_count_dashboard_or_lens_health_triggerProgress metric
broadcastScheduleCapacityProgress = 0..8:
0: capacity surface absent.1: total/free/occupied or equivalent capacity state visible.2: at least one contract or claim can occupy a row.3: occupied row records source, reader scope, authority, and future reader.4: acceptance/binding decreases free capacity and increases occupied/scarred capacity.5: completion/release mutates the same row and does not erase unresolved scars.6: blackout fold keeps capacity scar and future route effect.7: capacity exhaustion produces preemption, breach/default, liability, blackout, or refusal instead of silent extra capacity.8: capacity claim collision hands off to liability ledger/default with seed/session evidence.
Non-goals
- Not a timer check.
- Not a chapter pacing rule.
- Not a raw count target.
- Not a generic economy or stress meter.
- Not a management governance page.
- Not valid if schedule capacity can be overfilled, released from blackout, or reused without visible row state and future reader.