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: true

The 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_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

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: 3

The 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: true

Progress 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.v1

Non-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_free changes without source slot, authority, proof, claims, and future consumer.