Iris Vale Voice Probate Residue Lens / Iris Vale 声权验讫残留 Lens

This lens observes whether Iris Vale 声权验讫残留线 and 纪念声权验讫残留机制 correctly make downstream use of Iris’s memorial voice probate row playable.

A pass proves that a later consumer cannot treat Iris Vale 纪念声权验讫线 as a clean, universal voice permission. The implementation must preserve source row, boundary, excluded readers, future consumer, claimed use, proof/carrier, branch cost, future route effect, and breach default.

This lens observes:

It is observed through:

Observable promise

Iris’s first probate row is a scoped result, not consent. A valid implementation shows a later actor trying to cite, reuse, package, repair, relay, reopen, or suppress that row, then forces a branch that either respects the boundary or creates durable breach fallout.

The lens fails if probated means every reader accepts Iris’s voice everywhere.

Must pass

1. Entry requires prior probate row and future consumer

Required evidence:

entry_state:
  trigger_kind: state_pressure
  bound_character: char.iris_vale
  performer_state: deceased_route_asset
  source_probate_row_present: true
  source_probate_result_any:
    - custodian_chain
    - public_vigil_probate
    - sponsor_packaged_legacy
    - editor_masked_checksum
    - pirate_echo_probate
    - quarantine_or_suppression
    - false_probate_recovery
    - equivalent
  source_probate_has_boundary: true
  source_probate_has_cost_or_scar: true
  future_voice_consumer_present: true
  claimed_future_use_can_change_route_or_pressure: true
  at_least_two_residue_readers_live: true
  boundary_fit_unresolved_or_contested: true
  player_can_enforce_convert_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 is caused by fixed turn, day/week, chapter quota, raw content count, raw probate count, dashboard state, lens health, or generic production trouble.

2. Source probate row is preserved, not retried

The implementation must preserve the first probate result:

source_probate:
  source_probate_row_id: <stable row id>
  source_docket: storyteller.card.iris_vale_memorial_voice_probate_docket.v1
  source_branch: custodian_chain | public_vigil_probate | sponsor_packaged_legacy | editor_masked_checksum | pirate_echo_probate | quarantine_or_suppression | false_probate_recovery | equivalent
  accepted_boundary: lawful_only | public_only | sponsor_gated | checksum_required | pirate_scarred | quarantined | recovery_only | split_reader | equivalent
  source_cost_or_scar: <scar>
  excluded_or_delayed_readers: []

The lens fails if the residue hearing overwrites the source row, silently retries probate, deletes the first cost, or stores only voice cleared.

3. Ledger records boundary, excluded readers, future consumer, and claimed use

Iris 声权验讫残留账本 or equivalent must record:

ledger_required:
  source_probate_row_id: <stable row id>
  accepted_boundary: <boundary>
  excluded_or_delayed_readers: []
  performer_state: deceased_route_asset
  custodian_or_absence: mara_fen | explicit_absence | other
  custodian_state_after_source: protected | hostile_witness | missing | suppressed | explicit_absence | equivalent
  voice_state_after_source: probated | copied | masked | pirated | quarantined | suppressed | scarred | recovery_only | equivalent
  future_consumer: archive | inspector | sponsor | fan_public | cutroom | pirate_relay | broadcast_reality | route_asset | lawful_reader | equivalent
  claimed_use: memorial_clip | route_unlock | sponsor_legacy | public_vigil | cutroom_patch | lawful_citation | pirate_relay | quarantine_reopen | equivalent
  boundary_fit: inside_scope | adjacent_needs_annex | overreach | contradicts_source | unknown
  proof_or_absence: source_row | chain_key | public_receipt | sponsor_clause | checksum | relay_trace | quarantine_seal | explicit_absence
  carrier_or_absence: producer | mara_fen | archive_clerk | fan_delegate | editor | sponsor_runner | pirate_child | explicit_absence

The lens fails if the later use can proceed without comparing claim against boundary.

4. Hearing assignments are explicit

Iris 声权验讫残留听证 or equivalent must require:

hearing_assignment:
  ledger: storyteller.card.iris_voice_probate_residue_ledger.v1
  source_probate_row_id: <id>
  source_branch: <branch>
  accepted_boundary: <boundary>
  future_consumer: <reader>
  claimed_use: <use>
  boundary_fit: inside_scope | adjacent_needs_annex | overreach | contradicts_source | unknown
  custodian_or_absence: mara_fen | explicit_absence | other
  affected_reader_or_absence: <reader or explicit_absence>
  proof_or_absence: <proof or explicit_absence>
  carrier_or_absence: <carrier or explicit_absence>
  selected_branch: enforce_original_boundary | lawful_annex_conversion | public_acknowledgement_annex | sponsor_repackage_with_discoverability | checksum_repair | pirate_trace_quarantine | burn_or_suppress_copy | boundary_breach_default
  accepted_cost_or_absence: <cost or explicit_absence>
  future_reader_effect: <effect>

The lens fails if the player can resolve the residue without source row, boundary, consumer, claim, proof/carrier, cost, and future effect.

5. Branch families diverge by reader, cost, and future route

At least five branch families must be playable or explicitly blocked by state, including default:

  • enforce original boundary;
  • lawful annex conversion;
  • public acknowledgement annex;
  • sponsor repackage with discoverability;
  • checksum repair;
  • pirate trace quarantine;
  • burn or suppress copy;
  • boundary breach default.

Each resolved family must differ by:

branch_non_equivalence:
  selected_branch: <branch>
  future_consumer: <reader>
  affected_reader_or_absence: <reader or explicit_absence>
  residue_state_after: <state>
  bound_readers: []
  excluded_or_delayed_readers: []
  relief_profile: <relief>
  cost_profile: <cost>
  future_reader_effect: <effect>

The lens fails if counters move but future reader acceptance, route access, proof burden, or excluded-reader state remain identical.

6. Branch-specific assertions

Enforce original boundary

selected_branch: enforce_original_boundary
relief_any: [false_clean_down, source_row_integrity_up, custody_clarity_up]
cost_any: [route_scope_narrowed, sponsor_pressure_up, fan_disappointment_up, cutroom_delay_up]
future_effect_any: [exact_boundary_citation_required, route_narrowed, excluded_reader_still_excluded]
forbidden: [boundary_as_universal_permission]

Lawful annex conversion

selected_branch: lawful_annex_conversion
relief_any: [archive_signature_legitimacy_up, inspection_risk_down, lawful_reader_acceptance_up]
cost_any: [archive_debt_up, public_delay_up, fan_grief_up, sponsor_objection_up]
future_effect_any: [lawful_annex_required, public_acknowledgement_still_pending, sponsor_surcharge_possible]
forbidden: [lawful_annex_as_public_consent]

Public acknowledgement annex

selected_branch: public_acknowledgement_annex
relief_any: [fan_oxygen_up, public_receipt_legitimacy_up, memorial_integrity_up]
cost_any: [witness_exposure_up, sponsor_stop_loss_pressure_up, lawful_surcharge_up, public_confusion_up]
future_effect_any: [public_only_use, lawful_bridge_required, sponsor_unwind_possible]
forbidden: [public_acknowledgement_as_lawful_proof]
selected_branch: sponsor_repackage_with_discoverability
relief_any: [slot_pressure_down, sponsor_stop_loss_pressure_down, immediate_route_access_up]
cost_any: [contract_capture_up, public_receipt_distrust_up, future_unwind_cost_up]
future_effect_any: [sponsor_gated_use, discoverability_required, public_or_lawful_repair_required]
forbidden: [sponsor_money_as_clean_closure]

Checksum repair

selected_branch: checksum_repair
relief_any: [continuity_legibility_up, cutroom_confidence_up, source_row_trace_up]
cost_any: [edit_debt_up, source_ambiguity_up, archive_distrust_up]
future_effect_any: [checksum_required_forever, annotation_required, raw_custody_still_absent]
forbidden: [checksum_as_raw_custody]

Pirate trace quarantine

selected_branch: pirate_trace_quarantine
relief_any: [suppressed_grief_visible, false_private_capture_down, unsafe_echo_contained]
cost_any: [pirate_exposure_up, echo_infringement_risk_up, lawful_hostility_up, fan_oxygen_resentment_up]
future_effect_any: [pirate_scarred_use, quarantine_required, legal_recovery_costlier]
forbidden: [pirate_echo_as_clean_distribution]

Burn or suppress copy

selected_branch: burn_or_suppress_copy
relief_any: [duplicate_risk_down, false_ownership_down, voice_integrity_protected]
cost_any: [route_asset_pressure_up, fan_oxygen_resentment_up, sponsor_value_down, recovery_options_down]
future_effect_any: [substitute_proof_required, recovery_only, route_costlier]
forbidden: [suppression_as_no_cost]

Boundary breach default

selected_branch: boundary_breach_default
event_seen_or_armed: storyteller.event.iris_voice_boundary_breach.v1
state_after_any: [source_row_hidden, excluded_reader_deleted, wrong_reader_bound, public_row_sold_as_lawful, lawful_row_sold_as_public_consent, sponsor_discoverability_deleted, checksum_overclaimed, quarantine_reopened_without_chain, false_probate_recovery_overclaimed]
future_effect_any: [blocked, costlier, lawful_only, public_only, sponsor_only, checksum_required, quarantine_only, split_pending, recovery_only]

7. Excluded readers remain visible

Passing evidence must show bound and excluded readers after resolution:

reader_result:
  bound_readers: []
  excluded_or_delayed_readers: []
  reader_that_will_surcharge_or_reject: <reader or explicit_absence>
  future_reader_effect: <effect>

The lens fails if a branch silently synchronizes archive, sponsor, fan public, cutroom, pirate relay, broadcast reality, and route asset acceptance.

8. Sponsor, checksum, pirate, quarantine, and burn branches do not clean the voice

The following are mandatory:

sponsor_repackage_required:
  discoverability_after: source_row_visible | side_letter_visible | sponsor_surcharge | public_or_lawful_repair_required | equivalent
  hidden_debt_deleted: false
checksum_required:
  raw_custody_created: false
  annotation_or_checksum_required: true
pirate_required:
  clean_distribution_created: false
  pirate_scar_or_quarantine_visible: true
quarantine_required:
  silent_deletion_created: false
  recovery_or_reopen_condition_visible: true
burn_required:
  route_availability_changed: true
  substitute_proof_or_recovery_only_visible: true

9. Boundary breach default is durable

Iris 声权边界违约 must fire, arm, or log when:

  • source probate row is hidden;
  • accepted boundary is erased;
  • excluded readers are deleted;
  • public row is sold as lawful proof;
  • lawful row is treated as public consent;
  • sponsor repackage deletes discoverability;
  • checksum repair is claimed as raw custody;
  • pirate echo is cleaned;
  • quarantine is reopened without chain;
  • false-probate recovery is treated as restored permission;
  • no future reader effect changes after reuse.

The event must mutate future play through blocked, costlier, lawful-only, public-only, sponsor-only, checksum-required, quarantine-only, split-pending, or recovery-only states.

10. No universal voice permission

The lens fails if any branch makes Iris’s voice accepted for free by every reader or route. At least one reader must remain bound by cost, surcharge, exclusion, bridge requirement, annotation, quarantine, substitute proof, or recovery-only status.

Progress metric

irisValeVoiceProbateResidueProgress = 0..9:

  • 0: no source Iris probate row exists.
  • 1: source probate row exists and Iris remains a deceased route asset.
  • 2: accepted boundary, cost/scar, and excluded readers are visible.
  • 3: a future consumer and claimed use are visible.
  • 4: Iris Voice Probate Residue Ledger enters play.
  • 5: Iris Voice Probate Residue Hearing exposes source, boundary, consumer, claim, proof/carrier, branch, cost, and future-effect slots.
  • 6: at least two successful branches produce different reader/cost/future-route outcomes.
  • 7: at least five branch families are playable or explicitly blocked by state.
  • 8: Iris Voice Boundary Breach creates a durable route or reader scar.
  • 9: downstream archive, fan oxygen, sponsor, cutroom, pirate relay, broadcast reality, route asset, rebuttal, or recall content consumes the residue result without a fixed trigger.

Replay evidence shape

lens_id: storyteller.lens.character.iris_vale_voice_probate_residue.v1
session_id: lens-iris-vale-voice-probate-residue-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
  trigger_kind: state_pressure
  bound_character: char.iris_vale
  performer_state: deceased_route_asset
  source_probate_row_present: true
  source_probate_has_boundary: true
  source_probate_has_cost_or_scar: true
  future_voice_consumer_present: true
  at_least_two_residue_readers_live: true
  no_fixed_turn_trigger: true
offered:
  card: storyteller.card.iris_voice_probate_residue_ledger.v1
  rite: storyteller.rite.iris_voice_probate_residue_hearing.v1
branch_runs:
  valid_branch:
    source_probate_row_id: <id>
    source_branch: <branch>
    accepted_boundary_before: <boundary>
    selected_branch: enforce_original_boundary | lawful_annex_conversion | public_acknowledgement_annex | sponsor_repackage_with_discoverability | checksum_repair | pirate_trace_quarantine | burn_or_suppress_copy
    future_consumer: <reader>
    claimed_use: <use>
    residue_state_after: <state>
    bound_readers: []
    excluded_or_delayed_readers: []
    future_reader_effect: <effect>
    counter_deltas:
      relief: []
      cost: []
      future: []
  default_branch:
    event_seen_or_armed: storyteller.event.iris_voice_boundary_breach.v1
    breach_kind: <kind>
    harmed_reader_or_absence: <reader or explicit_absence>
    voice_state_after: <state>
    residue_state_after: <state>
    future_reader_effect: <effect>
assertions:
  - primary_links_exist
  - entry_requires_prior_probate_row_and_future_consumer
  - iris_remains_deceased_route_asset
  - source_probate_row_preserved_not_retried
  - accepted_boundary_visible
  - excluded_readers_visible
  - future_consumer_and_claimed_use_visible
  - hearing_assignments_are_explicit
  - branch_families_diverge
  - sponsor_repackage_keeps_discoverability
  - checksum_pirate_quarantine_and_burn_do_not_clean_voice
  - boundary_breach_default_is_durable
  - no_universal_voice_permission
  - no_fixed_turn_trigger

Integration expectations

Non-goals

  • Not a new first-order probate lane.
  • Not a resurrection or living recruitment path for Iris.
  • Not generic music-rights aftermath.
  • Not a clean universal permission token.
  • Not valid without boundary, excluded readers, future consumer, claimed use, and durable breach consequence.
  • Not triggered by fixed turn, day/week, raw count, dashboard state, or lens health.