Broadcast Capacity Liability Cascade Lens / 播出容量责任级联 Lens

This lens observes whether 播出容量责任级联线 and 播出容量责任级联机制 correctly turn occupied or borrowed broadcast capacity into durable, replayable liability.

The local surfaces are already strong: Broadcast Slot Contract Binding scopes slot authority, Schedule Preemption Claims records displaced claims, Sponsor Makegood Inventory prices replacement inventory, Recovery Inventory Triage prevents recovery double-spend, Management Compression Desk blocks false clean metrics, and Broadcast Insolvency Ledger remembers unpaid obligations. This lens tests the seam between them: a capacity row that was locally spent cannot quietly reappear as clean free capacity elsewhere.

This lens observes:

It is observed through:

Observable promise

A valid implementation proves that schedule capacity is not just free or occupied. It is a liability-bearing row with source, authority, claimants, harmed reader, default actor, state after, and future route effect.

The lens fails if capacity is a timer, generic stress, money pool, hidden upkeep, clean sponsor makegood, clean public oxygen, clean legal proof, clean recovery inventory, clean management efficiency, or clean blackout recovery.

Entry oracle

entry_state_required:
  trigger_kind: state_pressure
  finite_capacity_surface_present: true
  capacity_state_any:
    - reserved
    - occupied
    - borrowed_forward
    - pledged
    - converted
    - folded
    - defaulted
    - explicit_absence
  liability_claims_min: 2
  source_surface_any:
    - broadcast_slot_contract
    - schedule_preemption
    - sponsor_makegood
    - recovery_inventory
    - management_compression
    - broadcast_insolvency
    - correction_slot
    - fan_oxygen
    - blackout_incident
  future_reader_present: true
  default_actor_present_or_derivable: true
  player_can_clear_reserve_split_borrow_convert_pawn_fold_refuse_or_default: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

The lens fails if entry depends on a fixed sequence position, calendar interval, chapter quota, raw slot count, raw card count, dashboard state, lens-health state, or generic high pressure.

Required observable content

Capacity liability ledger

播出容量责任账本 or equivalent must record:

ledger:
  capacity_row:
    row_id: <stable id>
    capacity_surface: live_slot | correction_slot | sponsor_makegood_frame | public_contrition_minute | fan_oxygen_refund_window | lawful_proof_window | edit_checksum_lane | recovery_inventory_row | route_asset_bridge | blackout_fold | equivalent
    current_capacity_state: free | reserved | occupied | borrowed_forward | pledged | converted | folded | defaulted | explicit_absence
    occupying_source: slot_contract | schedule_preemption | sponsor_makegood | recovery_inventory | public_oxygen | lawful_proof | management_compression | insolvency | blackout | equivalent
    authority_or_absence: <contract receipt seal fan mandate sponsor clause proof anchor or explicit_absence>
    primary_claimant: <reader or claimant>
    competing_claimants_min: 1
    excluded_or_harmed_reader: <reader or explicit_absence>
    default_actor: sponsor | schedule_board | fan_public | archive | inspector | management_table | blackout_system | route_claimant | editor | pirate | equivalent
    future_reader_or_route: <reader route slot or route asset id>
    liability_state: clean_free | scoped_free | reserved_with_claim | overbooked | borrowed_forward | sponsor_captured | public_only | lawful_only | oxygen_liability | recovery_only | blackout_folded | contradiction_pending | default_ready

The lens fails if the ledger records only busy, capacity low, timer, or slot used without authority, claimants, default actor, harmed reader, and future reader.

Assignable review

播出容量责任复核 or equivalent must require:

assignment:
  ledger: storyteller.card.broadcast_capacity_liability_ledger.v1
  selected_capacity_row: <row id>
  current_capacity_state: <state>
  authority_or_absence: <authority or explicit_absence>
  primary_claimant: <claimant>
  competing_or_excluded_claimant: <claimant or explicit_absence>
  harmed_reader_or_absence: <reader or explicit_absence>
  handler_or_absence: <handler or explicit_absence>
  proof_or_receipt_or_absence: <proof receipt checksum seal witness fan mandate sponsor clause or explicit_absence>
  selected_branch: clear_scope | reserve | split | borrow_forward | convert_public | convert_sponsor | convert_lawful | pawn_route_asset | fold_blackout | refuse | default_selects
  future_reader_or_route: <reader route slot or route asset id>

The lens fails if sponsor money, legal authority, producer rank, edit patch, archive seal, or management KPI resolves capacity without naming the selected row, excluded reader, proof boundary, and future route.

Capacity liability default

容量责任默认 or equivalent must fire or arm when:

  • required capacity row is hidden;
  • absent capacity is filed as available;
  • one row is double-booked by incompatible readers;
  • borrowed-forward capacity lacks maturity or future claimant;
  • blackout fold releases capacity without scar;
  • fan oxygen or public receipt capacity is converted to sponsor makegood without public liability;
  • sponsor stop-loss captures capacity without harmed reader;
  • management marks overbooking as efficiency;
  • future reader is missing;
  • proof, receipt, seal, checksum, mandate, or explicit absence is missing.

Required default payload:

default_event:
  event: storyteller.event.capacity_liability_default.v1
  capacity_row_or_absence: <row id or explicit_absence>
  capacity_surface: <surface>
  failed_requirement: <requirement>
  capture_or_default_actor: <actor>
  primary_claimant: <claimant or explicit_absence>
  hidden_or_excluded_claimant: <claimant or explicit_absence>
  harmed_reader: <reader or explicit_absence>
  false_clean_claim: capacity_free | sponsor_settled | public_receipt_clean | schedule_saved | blackout_cleared | recovery_clean | lawful_proof_clean | metric_clean | route_safe | equivalent
  state_after: sponsor_only | public_only | lawful_only | oxygen_liability | route_asset_captured | blackout_folded | defaulted | blocked | recovery_only | contradiction_pending
  future_reader_or_route: <reader route slot or route asset id>
  future_route_effect: blocked | costlier | hostile | sponsor_only | public_only | lawful_only | public_audit_required | checksum_required | blackout_pressure_up | recovery_only | contradiction_pending
  counter_deltas_min: 3

The default fails if it changes only flavor, mood, generic reputation, or budget.

Branch divergence oracle

A satisfying implementation must prove at least seven branch families, including one default branch.

Branch familyRequired reliefRequired costRequired future effect
Clear scoped capacityselected reader receives bounded authorityexcluded reader or addendum pressureprotected, costlier, split-required
Reserve protected rowfuture reader/body/proof protectedcurrent sponsor, audience, or management pressureprotected, recovery-only, lawful-only, public-only
Split capacitytwo readers receive partial termsambiguity, handler burden, inspection heatsplit-required or contradiction-pending
Borrow forwardcurrent broadcast survivesfuture maturity claim and exhausted rowcostlier, default-ready, recovery-only
Public or oxygen conversionpublic receipt or fan oxygen improvessponsor retaliation, refund audit, inspection heatpublic-only or public-audit-required
Sponsor conversionsponsor stop-loss narrowscontract capture, public distrust, fan resentmentsponsor-only, captured, costlier
Lawful conversionproof/custody clarifiespublic delay, sponsor pressure, edit debtlawful-only or checksum-required
Pawn route assetimmediate default narrowsroute capture, release cost, future hostilityblocked, captured, costlier
Blackout foldunsafe false clean broadcast blockedblackout pressure, schedule scar, ending scarblackout-pressure-up, recovery-only
Refuse/defaultfalse clean capacity blocked or institution files firstdefault actor authority and harmed reader scarblocked, hostile, sponsor-only, public-only, lawful-only, recovery-only

No branch may create universal clean capacity across sponsor, public, lawful, editor, fan oxygen, recovery, management, schedule, and route-asset readers.

Special assertions

Borrow-forward assertion

borrow_forward_required:
  selected_branch: borrow_forward
  capacity_state_after: borrowed_forward
  maturity_trigger_present: true
  future_claimant_present: true
  future_route_effect_any: [costlier, default_ready, recovery_only, contradiction_pending]

Blackout-fold assertion

blackout_fold_required:
  selected_branch: fold_blackout
  false_clean_broadcast_blocked: true
  blackout_scar_persists: true
  future_route_effect_any: [blackout_pressure_up, recovery_only, ending_costlier, blocked]

Management greenwash assertion

management_greenwash_required:
  attempted_clean_metric_any: [schedule_saved, capacity_free, slot_efficiency, recovery_clean, sponsor_settled]
  overbooked_or_borrowed_row_present: true
  event_seen_or_armed: storyteller.event.capacity_liability_default.v1
  future_route_effect_any: [metric_clean_lie, producer_license_pressure, blocked, costlier, contradiction_pending]

Counter contract

Every resolved or defaulted branch must mutate at least three surfaces:

counter_deltas_required:
  relief: at_least_one
  cost: at_least_one
  future_reader_or_route_effect: at_least_one

Relevant surfaces:

  • schedule_pressure
  • blackout_pressure
  • sponsor_stop_loss_pressure
  • fan_oxygen_liability
  • public_receipt_legitimacy
  • public_receipt_distrust
  • archive_proof_window_integrity
  • edit_debt
  • management_pressure
  • producer_license_pressure
  • contract_capture
  • route_asset_integrity
  • recovery_inventory_pressure
  • future_capacity_maturity
  • inspection_heat

Replay evidence expectation

lens_id: storyteller.lens.broadcast_capacity_liability_cascade.v1
session_id: lens-broadcast-capacity-liability-cascade-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
  trigger_kind: state_pressure
  finite_capacity_surface_present: true
  liability_claims_min: 2
  default_actor_present_or_derivable: true
  future_reader_present: true
  no_fixed_turn_trigger: true
offered:
  card: storyteller.card.broadcast_capacity_liability_ledger.v1
  rite: storyteller.rite.broadcast_capacity_liability_review.v1
ledger:
  capacity_row:
    row_id: <row>
    capacity_surface: <surface>
    current_capacity_state: <state>
    authority_or_absence: <authority_or_absence>
    primary_claimant: <claimant>
    competing_claimants: []
    excluded_or_harmed_reader: <reader>
    default_actor: <actor>
    future_reader_or_route: <reader_or_route>
branch_runs:
  resolved_branch:
    selected_branch: clear_scope | reserve | split | borrow_forward | convert_public | convert_sponsor | convert_lawful | pawn_route_asset | fold_blackout | refuse
    capacity_state_after: <state>
    primary_claimant_state_after: <state>
    excluded_reader_state_after: <different_state>
    future_route_effect: <effect>
    counter_deltas:
      relief: []
      cost: []
      future: []
  default_branch:
    event_seen_or_armed: storyteller.event.capacity_liability_default.v1
    failed_requirement: <requirement>
    default_actor: <actor>
    hidden_or_excluded_claimant: <claimant>
    harmed_reader: <reader>
    false_clean_claim: <claim>
    future_route_effect: <effect>
assertions:
  - primary_links_exist
  - entry_is_state_triggered_by_capacity_claim_collision
  - finite_capacity_row_records_state_authority_claimants_default_actor_and_future_reader
  - ledger_names_primary_competing_excluded_or_harmed_reader
  - review_requires_selected_row_branch_authority_proof_handler_and_future_reader
  - branches_diverge_by_capacity_state_reader_scope_cost_and_future_effect
  - local_relief_cannot_make_capacity_universally_free
  - borrow_forward_requires_maturity_and_future_claimant
  - blackout_fold_keeps_scar
  - default_records_hidden_claimant_false_clean_claim_default_actor_and_future_route_effect
  - replay_evidence_records_seed_session_entry_branch_default_deltas_and_future_reader
  - no_fixed_turn_trigger

Progress metric

broadcastCapacityLiabilityCascadeProgress = 0..10:

  • 0: no capacity row or explicit absence.
  • 1: finite capacity surface and current state are visible.
  • 2: at least two liability claims are visible.
  • 3: authority or explicit absence, harmed reader, default actor, and future reader are visible.
  • 4: Broadcast Capacity Liability Ledger enters play.
  • 5: Broadcast Capacity Liability Review exposes assignable row, branch, proof, handler, and future reader slots.
  • 6: at least four non-default branch families resolve with different capacity and reader states.
  • 7: borrow-forward or blackout-fold branch proves maturity/scar preservation.
  • 8: public/oxygen and sponsor/lawful conversion prove different future route effects.
  • 9: Capacity Liability Default records hidden claimant, false-clean claim, default actor, and future route scar.
  • 10: a downstream route, audit, makegood, oxygen refund, management review, insolvency hearing, correction, or blackout recovery consumes the capacity state.

Non-goals

  • Not a generic schedule lens.
  • Not a timer check.
  • Not raw count expansion.
  • Not a management governance page.
  • Not a duplicate of slot contract, preemption, makegood, recovery inventory, management compression, or insolvency.
  • Not valid unless a concrete capacity row changes future playable state.