License Slot Release Receipt Lens / 牌照档期释放回执 Lens
This lens observes whether 牌照档期释放回执线 makes producer-license slot release executable before a future reader spends the capacity.
The passing implementation proves that a release is not just license_slots_free +1. It must preserve source slot, authority, proof, unresolved claims, release state after, and future reader effect.
Observable promise
A passing implementation must show:
- a source slot row;
- the slot state before release;
- the release claim;
- release authority;
- proof anchor or explicit absence;
- unresolved claims, scars, or explicit absence;
- selected review posture;
- release state after;
- future reader, route, forced main, correction, side slot, sponsor package, lawful filing, public table, or broadcast-reality effect;
- durable default when a hidden scar becomes clean free capacity.
The lens fails if the game records only free slot, slot released, contract complete, blackout cleaned, capacity available, or license_slots_free.
Entry oracle
entry_state_required:
trigger_kind: state_pressure
release_claim_visible: true
source_slot_row_visible: true
release_authority_visible: true
proof_anchor_visible_or_explicit_absence: true
unresolved_claims_or_scar_visible_or_explicit_absence: true
future_reader_consumes_release_state: 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: trueThe lens must fail if entry is driven by fixed turn number, day/week interval, chapter quota, raw slot count, dashboard state, lens health, or generic cleanup.
Ledger oracle
License Slot Release Ledger or equivalent must record:
docket_required:
source_slot:
slot_id: <stable slot id>
slot_kind: main_broadcast | side_broadcast | correction | legal_airing | sponsor_package | blackout_containment | recovery_slot | equivalent
capacity_state_before: occupied | completed_pending_release | folded_blackout | frozen | exempted | reserved_with_claim | borrowed_forward | split | recovery_only | explicit_absence
occupying_source_or_absence: <source or explicit_absence>
reader_scope_before: <scope or explicit_absence>
release_claim:
claim_text_or_summary: <summary>
release_authority: producer_license | schedule_contract | weekly_audit | blackout_quarantine | public_receipt | lawful_seal | sponsor_waiver | management_order | explicit_absence
proof_anchor_or_absence: premiere_receipt | audit_row | quarantine_order | lawful_seal | public_addendum | sponsor_unwind | archive_row | explicit_absence
release_requested_by: forced_main | side_contract | correction_slot | route_asset | sponsor | public_table | lawful_reader | management | broadcast_reality | equivalent
unresolved_claims_or_absence:
- <claimant or explicit_absence>
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: clean_free_with_receipt | scoped_free | released_with_scar | quarantined_blackout | recovery_only_slot | held_pending_reader | delegated_release | false_free | blocked | costlier
future_reader_or_route_effect: <effect>Rite oracle
License Slot Release Review or equivalent must expose:
certify_clean_releasenarrow_release_scoperelease_with_scarquarantine_blackout_releaseconvert_to_recovery_slothold_release_for_readertransfer_release_claimfalse_slot_release_default
Each branch must include relief_any, cost_any, and future_effect_any.
Default oracle
False Slot Release Default must record:
false_slot_release_default:
false_release_claim:
claim_text_or_summary: <summary>
consumed_as: forced_main_capacity | side_slot_capacity | correction_slot | route_asset_unlock | sponsor_package | lawful_filing | public_table | weekly_rollover | equivalent
release_actor: <actor>
hidden_or_invalid_release_inputs:
source_slot_row: missing | hidden | wrong_slot | explicit_absence | equivalent
release_authority: missing | expired | captured | unsupported | explicit_absence | equivalent
proof_anchor: missing | invalid | out_of_scope | false_receipt | explicit_absence | equivalent
unresolved_claim: blackout_scar | sponsor_claim | public_claim | lawful_hold | archive_claim | route_asset_claim | management_greenwash | explicit_absence | equivalent
capturing_reader: management | sponsor | public | lawful_reader | archive | route_asset | forced_main | broadcast_reality | equivalent
release_state_after: false_free | polluted | frozen | blocked | costlier | hostile | recovery_only | equivalent
future_reader_effect: forced_main_polluted | correction_invalid | route_costlier | side_slot_blocked | sponsor_capture | lawful_addendum_due | public_distrust | broadcast_reality_drift | recovery_only | equivalent
counter_deltas_min: 3The default fails if it is only a UI warning, raw counter correction, morale loss, or generic pressure tick.
No raw free-slot release
No branch may convert raw free-slot count, hidden blackout cleanup, absent proof, or unpriced reader claims into clean universal capacity.
Required evidence:
no_raw_free_slot_release:
source_slot_row_preserved: true
release_authority_visible: true
proof_anchor_visible_or_explicit_absence: true
unresolved_claims_visible_or_explicit_absence: true
raw_free_slot_count_not_sufficient: true
future_reader_effect_not_clean_universal: trueProgress metric
0: no release receipt surface.1: storyline, mechanism, ledger, rite, event, lens, and sibling binding exist.2: entry requires visible release claim, source slot, release authority, and future consumer.3: ledger records source slot, proof, unresolved claims, selected posture, and state after.4: review branches diverge by clean, scoped, scarred, quarantined, recovery, held, transferred, or default release.5: default records false release claim, hidden or invalid inputs, capturing reader, and future mutation.6: raw free-slot count cannot create clean universal capacity.
Replay evidence expectation
lens_id: storyteller.lens.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_raw_slot_count_trigger: true
offered:
card: storyteller.card.license_slot_release_ledger.v1
rite: storyteller.rite.license_slot_release_review.v1
branch_runs:
scoped_success:
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
release_state_after: <state>
future_reader_or_route_effect: <effect>
counter_deltas:
relief: []
cost: []
future: []
default:
selected_posture: false_slot_release_default
event_seen_or_armed: storyteller.event.false_slot_release_default.v1Non-goals
- Not a free-capacity lens.
- Not a replacement for schedule capacity or weekly audit lenses.
- Not a forced-main collision duplicate.
- Not valid if
license_slots_freechanges without source slot, authority, proof, claims, and future consumer.