Public Recap Liability Split Lens / 公开回顾责任拆分 Lens

This lens observes whether 公开回顾责任拆分线 prevents a public recap from becoming universal liability release by implication.

A passing implementation proves that recap wording, release use, source scar, release seeker, exposed claimant, collateral or carveout, and future route consumption are all visible. The lens fails if public acceptance of a recap automatically releases sponsors, management, archive, inspector, or route claimants from future liability.

This lens observes:

It is observed through:

Must pass

1. Entry is state-triggered by recap used as release

entry_state:
  trigger_kind: state_pressure
  recap_claim_present: true
  recap_claim_would_be_used_as_release_or_route_proof: true
  source_scar_or_explicit_absence_visible: true
  release_seeker_visible: true
  exposed_claimant_or_reader_visible_or_explicit_absence: true
  liability_surface_visible_or_explicit_absence: true
  collateral_or_carveout_visible_or_explicit_absence: true
  future_reader_or_route_consumes_release_state: true
  player_can_split_underwrite_carveout_contrit_quarantine_clean_or_default: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_recap_count_trigger: true
  no_raw_liability_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

The lens fails if entry depends on fixed turn, day/week interval, chapter quota, raw recap count, raw liability count, dashboard state, lens health, or generic PR phase.

2. Recap claim, release use, and source scar are visible

Public Recap Liability Docket or equivalent must record:

recap_required:
  recap_claim_id: <stable id>
  recap_surface: public_recap | sponsor_safe_package | correction_slot | emergency_explainer | public_contrition | management_recap | equivalent
  recap_claim_text_or_code: <claim code>
  public_memory_state_before: <state>
  source_scar_or_absence: <scar or explicit_absence>
release_required:
  proposed_release_use: sponsor_release | liability_discharge | route_unlock | makegood_satisfaction | settlement_proof | ending_scar_closure | equivalent
  release_seeker: <actor>

The lens fails if it records only recap accepted, public informed, settled, or release approved.

3. Release seeker and exposed claimant are recorded

claimant_required:
  release_seeker: sponsor | archive | inspector | management | producer_license | editor | public_delegate | route_claimant | character_proxy | equivalent
  exposed_claimant_or_reader: fan_oxygen_queue | access_caption_class | harmed_artist | witness_carrier | archive_claimant | sponsor_counterparty | public_audience | lawful_body | route_asset | explicit_absence | equivalent
  claimant_state_before: active | omitted | protected | hostile | waived_with_receipt | proxy_only | explicit_absence | equivalent

The lens fails if release is universal by default or if claimant absence is implied rather than explicitly recorded.

4. Collateral, carveout, or explicit absence is recorded

allocation_required:
  liability_surface_or_absence: public_receipt | sponsor_escrow | lawful_seal | fan_oxygen | correction_slot | route_asset | proof_anchor | ending_scar | explicit_absence
  collateral_or_carveout_or_absence: <collateral carveout proof bridge or explicit_absence>
  handler_or_absence: <actor or explicit_absence>
  future_reader_or_route: <reader route ending scar or explicit_absence>

The lens fails if release is granted without cover, carveout, or recorded absence.

5. Public memory and liability release states diverge

Every resolved branch must expose:

result_required:
  public_memory_state_after: <state>
  liability_release_state_after: <state>
  exposed_claimant_state_after: <state>
  future_route_effect: <effect>

The lens fails if all future readers treat public memory and liability release as the same clean state.

6. Branch families are non-equivalent

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

  • split_public_and_release;
  • underwrite_release;
  • claimant_carveout;
  • public_contrition_allocation;
  • quarantine_release_use;
  • sponsor_clean_release;
  • false_universal_default.

Each constructive branch must include relief, cost, and future route effect.

7. Branch assertions

Split assertion

selected_allocation: split_public_and_release
future_effect_any: [split_release_required, dual_reader_table_required]
forbidden: [public_acceptance_as_release]

Underwrite assertion

selected_allocation: underwrite_release
future_effect_any: [callable_cover_required, release_expires_if_cover_called]
forbidden: [release_without_callable_cover]

Carveout assertion

selected_allocation: claimant_carveout
future_effect_any: [claimant_carveout_open, appeal_or_refund_route_open]
forbidden: [claimant_waived_by_silence]

Contrition assertion

selected_allocation: public_contrition_allocation
future_effect_any: [public_repair_route_open, sponsor_release_costlier]
forbidden: [contrition_as_full_release]

Quarantine assertion

selected_allocation: quarantine_release_use
future_effect_any: [recap_release_quarantined, proof_or_cover_required]
forbidden: [quarantine_as_free_delay]
selected_allocation: sponsor_clean_release
future_effect_any: [sponsor_only_release, public_or_lawful_route_costlier]
forbidden: [sponsor_release_as_public_repair]

Default assertion

selected_allocation: false_universal_default
emitted_event: storyteller.event.recap_liability_release_default.v1
future_effect_any: [appeal_required, route_blocked, recovery_only]

Non-goals

  • Not a generic recap quality lens.
  • Not a sponsor mood lens.
  • Not valid if future route state is identical across release allocations.