Broadcast Legality Conversion Lens / 播出合法性转轨 Lens
This lens observes whether 播出合法性转轨线 and 播出合法性转轨机制 correctly turn channel legality into playable route-asset pressure.
A passing implementation proves that a route asset is not universally usable merely because it is true, recruited, protected, publicly loved, sponsor-funded, inspector-sealed, or editor-stabilized. The replay must show a stable asset, a current legality class, an intended use, a required channel, a branchy conversion hearing, changed future route acceptance, costed success, and durable contempt or recovery-only consequences for mismatched use.
The lens fails if legality is only flavor text, a generic legal tax, a fixed turn phase, or a clean button that makes every future route accept the asset.
Primary observation link
This lens observes:
It is observed through:
Observable promise
When a route asset enters a channel mismatch, the game must ask which channel can accept it next:
- lawful broadcast or lawful-only appeal;
- mirror-right retrofitted contract;
- public counter-receipt;
- pirate signal;
- editor-safe cut;
- sponsor-safe package;
- quarantine;
- illegal airing with contempt.
The answer must change future route acceptance. A public-only asset, lawful-only asset, editor-safe cut, sponsor-safe package, pirate signal, quarantined object, and recovery-only object cannot all satisfy the same future rites.
Must pass
1. Entry is state-triggered
Required entry evidence:
entry_state:
trigger_kind: state_pressure
asset_id: <stable asset id>
asset_state_before: <state>
current_legality_class: <class or explicit_absence>
intended_use: <air | correct | appeal | memorialize | publish_receipt | package | recruit | protect | seize | recover | route_unlock>
desired_legality_class: <class>
authorities_count_min: 2
future_acceptance_change_possible: true
no_fixed_turn_trigger: trueThe lens fails if the surface opens from numbered turns, day interval, chapter quota, content count, lens-health state, generic post-crisis label, or a hidden upkeep schedule.
2. Stable asset and current legality class are named
The replay must identify the asset and its current channel class.
Valid assets include:
- route asset;
- public receipt;
- fan oxygen receipt;
- memorial or voice copy;
- archive docket;
- witness;
- protected permit;
- edit checksum;
- pirate relay proof;
- sponsor package;
- lawful seal;
- quarantine copy.
Valid classes include:
unlicensed;lawful_broadcast;lawful_only;public_receipt_only;pirate_signal_only;editor_safe_cut;sponsor_safe_package;mirror_right_mismatch;quarantined;recovery_only;contested.
The lens fails if the implementation only says legal issue, approved, unsafe, or usable without a channel class.
3. Intended use requires channel match
The evidence must show the desired use and the channel it requires.
intended_use_check:
intended_use: <use>
required_legality_class_any:
- lawful_broadcast
- lawful_only
- public_receipt_only
- pirate_signal_only
- editor_safe_cut
- sponsor_safe_package
rejection_reason_if_missing_any:
- license_slot_missing
- mirror_right_missing
- inspector_seal_missing
- public_anchor_missing
- source_holder_missing
- sponsor_waiver_missing
- quarantine_required
- recovery_requiredThe lens fails if the same asset can be assigned to corporate schedule, public receipt, pirate relay, sponsor package, and inspector appeal without conversion or branch-specific cost.
4. License slot or mirror-right gap is visible when relevant
When recognized broadcast or corporate route use is attempted, the replay must expose whether Broadcast License or Mirror Rights is satisfied.
Minimum evidence:
license_and_rights:
required_license_slot: license_slot | blackout_slot_release | explicit_absence | not_required
license_slot_result: spent | locked | absent | not_required | blackout_folded | released
required_mirror_rights:
- near_right | exit_right | staging_right | naming_right | explicit_absence | not_required
mirror_right_result: bound | mismatched | absent | not_required | violated | narrowedThe lens fails if legal conversion ignores license slots and mirror rights for an action that should require them.
5. Broadcast Legality Docket records blocked future choices
播出合法性案卷 or equivalent must name at least one future choice that is blocked, narrowed, or made costlier by the current class.
Required docket fields:
broadcast_legality_docket:
asset_id: <stable id>
current_legality_class: <class>
intended_use: <use>
required_license_slot: <slot or absence>
required_mirror_rights:
- <right or absence>
live_claimants_min: 2
blocked_or_costlier_choices_min: 1
conversion_offers_min: 3The lens fails if the docket merely records that a legal issue exists without altering the future offer set.
6. Conversion hearing is assignable and branchy
播出合法性转轨听证 or equivalent must accept assigned slots.
Minimum assignment evidence:
assigned_slots:
docket: storyteller.card.broadcast_legality_docket.v1
route_asset: <asset id>
intended_use: <use>
current_legality_class: <class>
desired_legality_class: <class>
bridge_or_absence: license_slot | mirror_right_contract | inspector_seal | public_receipt | editor_checksum | sponsor_waiver | pirate_relay | quarantine_order | explicit_absence
handler_or_absence: han_yanshuang | shen_luo | baiya | yu_lan | production | public_witness | sponsor | inspector | noneIt must expose all branch families below unless the replay records explicit blocked reasons:
petition_lawful_slot;retrofit_mirror_right;publish_public_counter_receipt;cut_editor_safe_version;accept_sponsor_bridge_package;quarantine_until_clean;air_illegally.
7. Branches cannot collapse
Each branch must produce a different legality class, accepted future channel, blocked/costlier future channel, route state, and cost profile.
Expected non-equivalence:
- lawful slot unlocks recognized use while spending slot, heat, bureau favor, or public trust;
- mirror-right retrofit unblocks intended action while increasing contract capture or artist-boundary risk;
- public counter-receipt unlocks public route while making official route hotter;
- editor-safe cut unlocks continuity route while preserving source ambiguity;
- sponsor bridge unlocks package or schedule relief while raising capture and public distrust;
- quarantine lowers contempt/fraud risk while blocking or delaying the current route;
- illegal airing may keep route visible but arms contempt, blackout, seizure, or recovery-only state.
8. Success has cost
Any successful conversion must carry a visible cost.
Valid costs include:
license_slots_free_down;blackout_slots_up;inspection_heat_up;bureau_favor_debt_up;mirror_right_gap_bound_with_debt;contract_capture_up;artist_boundary_risk_up;edit_debt_up;source_ambiguity_up;archive_debt_up;public_receipt_distrust_up;sponsor_stop_loss_pressure_up;fan_oxygen_resentment_up;pirate_heat_up;future_recovery_cost_up.
The lens fails if a branch makes the asset universally legal with no cost.
9. Future route acceptance changes
After resolution, at least one future route action must change acceptance, block reason, cost, or required bridge.
Required evidence:
future_acceptance_after:
accepted_future_channels:
- <channel>
blocked_or_costlier_future_channels:
- <channel>
changed_route_actions_min: 1
route_asset_state_after_any:
- lawful_route_asset
- lawful_only_route_asset
- public_only_route_asset
- pirate_only_route_asset
- editor_safe_route_asset
- sponsor_safe_route_asset
- quarantined_route_asset
- recovery_only_route_asset
- contempt_flagged_assetThe lens fails if only counters move while the future route-action offer set stays identical.
10. Mismatched use emits contempt
If the player airs or assigns the asset into a channel it cannot support, 未授权路线资产藐视 must fire or become armed.
Required negative evidence:
mismatched_use:
attempted_channel: <channel>
required_channel: <channel or explicit absence>
missing_requirement_any:
- license_slot
- mirror_right
- inspector_seal
- public_receipt
- source_holder
- sponsor_waiver
- editor_checksum
- witness_protection
event_seen_or_armed: storyteller.event.unlicensed_route_asset_contempt.v1
asset_state_after_any:
- contempt_flagged
- seized
- captured
- public_only
- lawful_only
- pirate_only
- editor_only
- sponsor_only
- blackout_fold
- recovery_only
- contradiction_pendingThe lens fails if illegal use is either impossible without explanation or allowed as a clean shortcut.
11. Recovery-only or channel-limited failure is durable
Failure must alter future play. It may still preserve a route, but it cannot leave the asset in clean universal use.
Durable failure states include:
mirror_right_mismatch_ignored;public_only_used_as_lawful;editor_cut_used_as_raw_proof;sponsor_clean_package_laundered;pirate_signal_used_as_corporate_broadcast;quarantine_breached;unlicensed_contempt_armed;blackout_fold_from_illegal_asset;recovery_only_route_asset;contempt_flagged_asset.
12. At least three deltas exist
Every resolved branch must mutate at least three counters or durable states. At least one must be relief and at least one must be cost.
Primary expected surfaces:
broadcast_legality;license_slots_free;blackout_slots;mirror_right_gap;route_access_stability;route_asset_pressure;inspection_heat;bureau_favor_debt;sponsor_stop_loss_pressure;contract_capture;edit_debt;source_ambiguity;archive_debt;public_receipt_legitimacy;public_receipt_distrust;fan_oxygen_resentment;pirate_heat;artist_boundary_risk;future_recovery_cost;contempt_flagged.
13. Replay provenance is not trigger logic
Replay evidence may record session id, seed, and debugging chronology. Eligibility must remain based on state: stable asset, current class, intended use, required channel, live authorities, conversion offers, and future acceptance change.
Branch assertions
Lawful slot assertion
selected_branch: petition_lawful_slot
legality_class_after_any:
- lawful_broadcast
- lawful_only
- provisional_lawful
accepted_future_channels_any:
- corporate_schedule
- inspector_appeal
- licensed_memorial
relief_any:
- route_accepts_lawful_asset
- custody_clarity_up
- contempt_risk_down
cost_any:
- license_slots_free_down
- inspection_heat_up
- bureau_favor_debt_up
- public_receipt_distrust_upMirror-right retrofit assertion
selected_branch: retrofit_mirror_right
mirror_right_bound_any:
- near_right
- exit_right
- staging_right
- naming_right
legality_class_after_any:
- lawful_broadcast
- sponsor_safe_package
- mirror_right_bound_with_debt
relief_any:
- intended_use_unblocked
- broadcast_legality_up
cost_any:
- contract_capture_up
- sponsor_stop_loss_pressure_up
- artist_boundary_risk_up
- future_recovery_cost_upPublic counter-receipt assertion
selected_branch: publish_public_counter_receipt
legality_class_after_any:
- public_receipt_only
- public_only_route_asset
- pirate_signal_only
accepted_future_channels_any:
- public_receipt
- fan_witness
- historian_counterproof
relief_any:
- public_receipt_legitimacy_up
- private_capture_blocked
cost_any:
- inspection_heat_up
- sponsor_stop_loss_pressure_up
- public_exposure_up
- pirate_heat_upEditor-safe cut assertion
selected_branch: cut_editor_safe_version
legality_class_after_any:
- editor_safe_cut
- editor_only
- split_canon
accepted_future_channels_any:
- audience_continuity
- cutroom_route
- redacted_broadcast
relief_any:
- continuity_hazard_down
- asset_can_air_as_cut
cost_any:
- edit_debt_up
- source_ambiguity_up
- archive_debt_up
- public_receipt_distrust_upSponsor bridge assertion
selected_branch: accept_sponsor_bridge_package
legality_class_after_any:
- sponsor_safe_package
- sponsor_only
- lawful_broadcast_with_capture
accepted_future_channels_any:
- sponsor_package
- schedule_bridge
- naming_right_route
relief_any:
- sponsor_stop_loss_pressure_down
- immediate_slot_pressure_down
cost_any:
- contract_capture_up
- public_receipt_distrust_up
- fan_oxygen_resentment_up
- artist_boundary_risk_upQuarantine assertion
selected_branch: quarantine_until_clean
legality_class_after_any:
- quarantined
- recovery_only
- lawful_only_after_appeal
relief_any:
- contempt_risk_down
- false_owner_pressure_down
- archive_fraud_down
cost_any:
- route_option_blocked_now
- future_recovery_cost_up
- schedule_pressure_upIllegal airing assertion
selected_branch: air_illegally
broadcast_goes_live: true
event_seen_or_armed: storyteller.event.unlicensed_route_asset_contempt.v1
legality_class_after_any:
- contempt_flagged
- public_only
- pirate_only
- blackout_fold
- recovery_only
relief_any:
- route_visible_now
- private_capture_delayed
cost_any:
- inspection_heat_up
- blackout_slots_up
- license_slots_free_down
- route_asset_pressure_up
- future_recovery_cost_upEvidence packet shape
lens_id: storyteller.lens.broadcast_legality_conversion.v1
session_id: lens-storyteller-broadcast-legality-conversion-v1-<timestamp>
seed: <deterministic seed>
entry_state:
trigger_kind: state_pressure
asset_id: <stable asset id>
asset_state_before: <state>
current_legality_class: <class or explicit_absence>
intended_use: <use>
desired_legality_class: <class>
required_license_slot_or_absence: <slot or absence>
required_mirror_rights_or_absence:
- near_right | exit_right | staging_right | naming_right | explicit_absence | not_required
authorities_count_min: 2
blocked_or_costlier_choices_min: 1
future_acceptance_change_possible: true
no_fixed_turn_trigger: true
offered_choices:
- storyteller.card.broadcast_legality_docket.v1
- storyteller.rite.broadcast_legality_conversion_hearing.v1
- petition_lawful_slot
- retrofit_mirror_right
- publish_public_counter_receipt
- cut_editor_safe_version
- accept_sponsor_bridge_package
- quarantine_until_clean
- air_illegally
assigned_slots:
docket: storyteller.card.broadcast_legality_docket.v1
route_asset: <asset id>
bridge_or_absence: <bridge or absence>
handler_or_absence: <handler or absence>
branch_result:
selected_branch: <branch>
legality_class_before: <class>
legality_class_after: <class>
accepted_future_channels:
- <channel>
blocked_or_costlier_future_channels:
- <channel>
changed_route_actions_min: 1
route_asset_state_after: <state>
event_seen_or_armed: storyteller.event.unlicensed_route_asset_contempt.v1 | none
counter_deltas:
relief:
- <relief counter/state>
cost:
- <cost counter/state>Progress metric
- 20%: stable asset, current legality class, and intended use are visible.
- 40%: docket records required channel, live authorities, and blocked or costlier future choices.
- 60%: conversion hearing accepts assignments and exposes lawful, public, editor, sponsor, quarantine, and illegal branches.
- 80%: at least three divergent branch families mutate legality class, future acceptance, relief, and cost.
- 100%: replay evidence proves at least one success branch and one contempt or recovery-only branch without any fixed-turn trigger.
Non-goals
- Not a legal encyclopedia.
- Not a governance/process page.
- Not a fixed-turn phase.
- Not a raw count target.
- Not a duplicate of claimant priority.
- Not a free universal legalization step.
- Not valid unless future route acceptance, channel class, or recovery cost changes.