License Slot Release Receipt / 牌照档期释放回执线
License Slot Release Receipt is the storyline for the moment a producer-license slot is declared free after completion, quarantine, exemption expiry, blackout cleanup, or scoped release.
The current corpus already proves that accepting a contract occupies capacity and that a forced main arriving at zero free slots creates crisis. Weekly Broadcast Cycle Audit also blocks a week from closing as clean while blackout or legacy rows are hidden. This storyline fills the release seam between them: a slot must not become clean capacity just because a contract resolved, a calendar tick passed, or a blackout was moved off-screen.
Playable question
When a previously occupied, blacked-out, frozen, reserved, or exempted license slot is about to become free, does the producer certify a clean release, narrow the release scope, release with scar, quarantine a blackout release, convert the slot to recovery-only, hold release for an excluded reader, transfer the release claim, or let a false slot release default harden?
The answer must name:
- the source slot row;
- the source contract, blackout, freeze, exemption, or explicit absence;
- the release claim;
- the release authority;
- the proof anchor or explicit absence;
- unresolved claims or explicit absence;
- the reader scope of the released capacity;
- the selected posture;
- the release state after;
- the future reader, route, forced main, correction, or schedule offer that consumes the slot.
Gap diagnosis
Nearby surfaces already cover the pressure around slot use:
- Schedule Contract says success releases a slot and failure folds it into blackout.
- Broadcast License records the old replay event shape where a premiere can emit
event.broadcast_license_slot_released. - Broadcast Schedule Capacity Lens requires completion or release to mutate capacity only when unresolved claims are absent or converted.
- Forced Main Slot Collision covers the crisis when no free slot can accept a forced main.
- Weekly Broadcast Cycle Audit covers cycle closure and warns against releasing license slots without blackout, freeze, exemption, or quarantine state.
The uncovered seam is the release receipt itself. A run can have a correct cycle audit and still let a later schedule offer, route reader, correction slot, or forced main consume license_slots_free +1 without seeing which row was released and what scar travelled.
State-triggered entry
Open this storyline only when a visible slot-release claim is about to be consumed:
entry_state_required:
trigger_kind: state_pressure
release_claim_visible: true
source_slot_row_visible: true
release_authority_visible: true
source_contract_blackout_freeze_or_exemption_visible_or_explicit_absence: true
unresolved_claims_or_scar_visible_or_explicit_absence: true
future_reader_consumes_release_state: true
player_can_certify_narrow_scar_quarantine_convert_hold_transfer_or_default: true
no_fixed_turn_trigger: true
no_fixed_day_or_week_trigger: true
no_raw_slot_count_trigger: true
no_dashboard_or_lens_health_trigger: trueA premiere, audit, countdown, cleanup rite, or forced-main intake may explain why the receipt is happening. It cannot be the canonical trigger. The trigger is visible release pressure plus a future consumer.
Bound content pack
- 牌照档期释放回执机制 defines the release row, proof, scars, states, and default conditions.
- 牌照档期释放账本 records source slot, release claim, authority, proof, unresolved claims, selected posture, state after, and future reader.
- 牌照档期释放复核 resolves clean, narrowed, scarred, quarantined, recovery-only, held, transferred, or defaulted release.
- 虚假档期释放默认 fires or arms when a hidden scar is converted into clean free capacity.
- License Slot Release Receipt Lens observes the implementation contract.
Storyline spine
Beat 1 - A release claim reaches the board
A broadcast completed, a blackout was quarantined, an exemption expired, a freeze lifted, a correction slot was retired, or an audit claims that capacity is free. Create or refresh License Slot Release Ledger before the next consumer can spend the capacity.
Beat 2 - The source slot is made answerable
The ledger names the source slot row, what occupied it, who has authority to release it, what proof supports the release, and which reader still has a claim.
Valid source states include occupied, completed_pending_release, folded_blackout, frozen, exempted, reserved_with_claim, borrowed_forward, split, recovery_only, or explicit absence.
Beat 3 - Review prices release
Run License Slot Release Review. The player decides whether the slot is clean, scoped, scarred, quarantined, recovery-only, held, transferred, or falsely released.
Beat 4 - Future play consumes the release state
The next forced main, voluntary side slot, correction bid, route asset, lawful filing, sponsor package, public table, or weekly cycle must consume release_state_after, not a bare free-slot count.
Beat 5 - False release becomes durable
If hidden blackout, unresolved reader, missing proof, sponsor capture, management smoothing, or raw count release makes capacity look clean, False Slot Release Default records the false release and mutates future play.
Branch map
| Branch | Immediate relief | Cost/scar | Future state |
|---|---|---|---|
| Certify clean release | slot becomes spendable | proof receipt and reader scope remain visible | clean_free_with_receipt |
| Narrow release scope | a named reader may spend the slot | other readers require addendum or later review | scoped_free, split-required |
| Release with scar | capacity returns without pretending clean | blackout, public, lawful, sponsor, or route scar | released_with_scar, costlier |
| Quarantine blackout release | clean license is protected from one bad row | capacity stays frozen, recovery price rises | quarantined_blackout, blocked, recovery-only |
| Convert to recovery slot | failed capacity becomes usable for recovery | clean routes narrow or block | recovery_only_slot, scarred_reuse |
| Hold release for reader | excluded reader is protected before reuse | forced main, sponsor, or correction pressure rises | held_pending_reader, addendum_required |
| Transfer release claim | another holder carries release authority | proxy debt, collateral, or capture risk rises | delegated_release, contestable_free |
| False slot release default | immediate capacity may appear free | hidden scar hardens and future consumer is polluted | false_free, hostile_reader, recovery_only |
No branch may turn hidden blackout, unresolved liability, or absent proof into universal free capacity.
Integration notes
- With weekly-broadcast-cycle-audit, cycle audit may authorize release, but this receipt proves which slot actually became spendable.
- With forced-main-slot-collision, a forced main may consume a released slot only if the receipt shows clean, scoped, scarred, or recovery-only state.
- With broadcast-capacity-liability-cascade, contested release claims can hand off to a liability ledger instead of inventing capacity.
- With on-screen-slot-readback, a completed final-air result still needs release receipt if future capacity spends the row.
- With producer-license-and-pressure, releasing producer authority is a scarred branch, not a raw pressure decrement.
Missability and recovery
This storyline is missed when implementation:
- increments
license_slots_freewithout source slot and release authority; - deletes a blackout row during cleanup;
- treats a completed contract as clean release while proof, reader scope, or future consumer is hidden;
- lets a sponsor, management desk, or dashboard declare capacity free without release receipt;
- lets a forced main, correction slot, route asset, or side contract consume a released row without seeing release state after;
- uses a fixed day, turn, or audit green flag as the release trigger.
Recovery requires visible scar: reopen the release ledger, narrow the release scope, quarantine the blackout row, convert to recovery-only, hold release for the excluded reader, transfer release through a docket, or mark the consuming route costlier/blocked.
Replay evidence expectation
storyline_id: storyteller.storyline.license_slot_release_receipt.v1
session_id: lens-license-slot-release-receipt-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
trigger_kind: state_pressure
release_claim_visible: true
source_slot_row_visible: true
release_authority_visible: true
future_reader_consumes_release_state: true
no_fixed_turn_trigger: true
offered:
card: storyteller.card.license_slot_release_ledger.v1
rite: storyteller.rite.license_slot_release_review.v1
branch_result:
selected_posture: certify_clean_release | narrow_release_scope | release_with_scar | quarantine_blackout_release | convert_to_recovery_slot | hold_release_for_reader | transfer_release_claim | false_slot_release_default
release_state_after: <state>
future_reader_or_route_effect: <effect>
event_seen_or_armed: storyteller.event.false_slot_release_default.v1 | none
counter_deltas:
relief: []
cost: []
future: []Non-goals
- Not a replacement for weekly cycle audit.
- Not a forced-main collision duplicate.
- Not a broad producer-license pressure meter.
- Not valid if release is just
license_slots_free +1.