Access Caption Reliance Lens / 无障碍字幕信赖 Lens

This lens observes whether 无障碍字幕信赖线 and 无障碍字幕信赖机制 correctly make caption reliance playable after a caption has become a custody-bearing surface.

The current mesh already tests whether a caption can hold proof through 字幕证词羁押 Lens. This lens tests the next seam: a caption state cannot become clean access, sponsor delivery, management reach, fan oxygen refund, archive proof, and route unlock at the same time.

A passing implementation proves that reliance creates a relying reader, an excluded or harmed reader, a constrained settlement surface, branch divergence, durable default, and future route consumption.

This lens observes:

It is observed through:

Observable promise

When a caption is relied upon, Storyteller must show:

  • source caption row or explicit absence;
  • caption state before reliance;
  • relying reader;
  • reliance claim;
  • excluded or harmed reader;
  • pressure actor;
  • constrained surface;
  • proof or explicit absence;
  • selected response;
  • relying reader state after;
  • excluded reader state after;
  • constrained surface state after;
  • future reader or route effect.

The lens fails if access is represented as a clean boolean, if sponsor/management can count caption reach without access-reader receipt, if the caption operator is hidden, or if one caption state satisfies every reader cleanly.

Entry oracle

A valid entry must come from live state pressure:

entry_state_required:
  trigger_kind: state_pressure
  source_caption_row_or_explicit_absence_present: true
  caption_state_changes_access_meaning_delivery_or_route_use: true
  reliance_claim_present: true
  relying_reader_visible: true
  excluded_or_harmed_reader_visible_or_explicit_absence: true
  constrained_surface_visible_or_explicit_absence: true
  future_reader_or_route_consumes_reliance_state: true
  default_if_unworked_present: true
  player_can_refund_count_escrow_protect_split_convert_refuse_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 eligibility depends on fixed turn number, day/week interval, chapter quota, raw caption count, raw viewer count, dashboard state, lens health, generic legal review, or generic accessibility review.

Required observable content

Access caption reliance docket

无障碍字幕信赖案卷 or equivalent must record:

docket_required:
  source_caption_row_or_absence: <caption witness row or explicit_absence>
  caption_state_before: certified_raw | certified_access | sponsor_safe | split_language | archive_escrowed | fan_hardsubbed | false_caption_witness | hostile_caption_public | recovery_only | explicit_absence | equivalent
  relying_reader: deaf_access_public | foreign_language_public | fan_public | sponsor | management | inspector | archive_reader | artist_boundary | route_asset_reader | equivalent
  reliance_claim: access_was_provided | access_was_denied | caption_changed_consent | caption_changed_refusal | sponsor_reach_claim | management_reach_metric | refund_basis | correction_basis | route_unlock_basis | equivalent
  excluded_or_harmed_reader: <reader or explicit_absence>
  pressure_actor: <actor>
  constrained_surface: fan_oxygen_refund | public_correction_slot | sponsor_makegood_frame | access_caption_operator | archive_caption_escrow | edit_checksum_lane | producer_license | route_asset_access | explicit_absence | equivalent
  proof_or_absence: <proof or explicit_absence>
  selected_response: pending | refund_access_reader | sponsor_counts_reach | archive_escrow_review | protect_operator_refusal | split_caption_reliance | convert_to_makegood | refuse_reliance | default_selects | equivalent
  future_reader_or_route: <stable id>

The lens fails if the row only records caption text, viewer mood, sponsor satisfaction, or a generic accessibility complaint.

Access caption reliance hearing

无障碍字幕信赖听证 or equivalent must require:

assignment_required:
  docket: storyteller.card.access_caption_reliance_docket.v1
  selected_row: <row id>
  source_caption_row_or_absence: <caption witness row or explicit_absence>
  caption_state_before: <state>
  relying_reader: <reader>
  reliance_claim: <claim>
  excluded_or_harmed_reader: <reader or explicit_absence>
  pressure_actor: <actor>
  constrained_surface: <surface>
  proof_or_absence: <proof or explicit_absence>
  handler_or_absence: producer | shen_luo | yu_lan | han_yanshuang | baiya | ruan_chi | fan_delegate | archive_clerk | explicit_absence | equivalent
  selected_response: refund_access_reader | sponsor_counts_reach | archive_escrow_review | protect_operator_refusal | split_caption_reliance | convert_to_makegood | refuse_reliance | default_selects
  accepted_cost_surface_or_absence: <cost or explicit_absence>
  future_reader_or_route: <stable id>

The lens fails if sponsor payment, archive authority, edit checksum, public sympathy, or management reach can resolve the row without these slots.

Access caption reliance default

无障碍字幕信赖默认 or equivalent must fire or arm when:

  • access delivery is counted without access receipt;
  • sponsor reach uses a caption while access/public harm is hidden;
  • management counts access reach as clean;
  • fan translation becomes refund basis without proof or operator state;
  • archive/inspector cites caption while reliance harm is hidden;
  • caption operator becomes silent liability holder;
  • constrained surface is unnamed;
  • future route reader is hidden;
  • one caption reliance row is accepted as universal delivery.

Required payload:

default_required:
  event: storyteller.event.access_caption_reliance_default.v1
  source_caption_row_or_absence: <caption witness row or explicit_absence>
  caption_state_before: <caption state>
  relying_reader: <reader>
  hidden_or_excluded_reader: <reader or explicit_absence>
  default_actor: sponsor | management | archive | inspector | fan_delegate | editor | route_claimant | caption_operator_absence | access_public_absence | equivalent
  false_reliance_claim: access_delivered | sponsor_reach_clean | management_metric_clean | refund_basis_clean | lawful_caption_clean | route_unlocked_clean | operator_signed_clean | equivalent
  missing_inputs:
    access_receipt: present | hidden | absent
    proof_anchor: present | hidden | absent
    caption_operator_state: present | hidden | absent
    constrained_surface: present | hidden | absent
    harmed_reader: present | hidden | absent
    future_reader: present | hidden | absent
  constrained_surface_state_after: captured_default | false_available | exhausted | sponsor_only | public_only | lawful_only | blocked | recovery_only | contradiction_pending | equivalent
  future_route_effect: sponsor_only | public_only | lawful_only | management_metric_scar | oxygen_refund_audit | operator_witness_route | blocked | recovery_only | contradiction_pending | equivalent

A default that changes only mood, budget, or generic reputation fails.

Branch divergence oracle

A satisfying implementation must prove at least five constructive branch families plus one default family.

Branch familyRequired reliefRequired costRequired future effect
Refund access readeraccess or foreign-language public trust improvesfan oxygen refund, correction capacity, sponsor pressure, inspection heatpublic access route protected, oxygen audit, route costlier
Sponsor counts reachsponsor stop-loss or management pressure dropsfalse access metric, access distrust, operator exposuresponsor reach disputed, management metric scar
Archive escrow reviewfalse caption risk drops, lawful rehearing availablearchive debt, route delay, sponsor/public pressurelawful caption rehearing, lawful-only, blocked until recheck
Protect operator refusaloperator not silent liability holderhandler burden, management pressure, proof gapoperator witness route, costlier route, recovery-only if no replacement
Split caption reliancescoped access/sponsor/public reliance possibletranslation drift, proof upkeep, edit/archival debtsplit required, contradiction pending, lawful/public fork
Convert to makegoodimmediate dispute pauses with named surfacemakegood inventory, recovery inventory, fan oxygen pressuremakegood converted, recall queue armed, recovery-only
Refuse reliancefalse reliance blockedaccess/sponsor/public hostility, inspection heatpublic-only, lawful appeal required, blocked
Default selectsfastest desk files firsthidden reader, false metric, future recovery costsponsor-only, public-only, lawful-only, blocked, recovery-only

No branch may create universal clean acceptance across access public, foreign-language public, fan public, sponsor, management, archive, inspector, source holder, caption operator, and route asset reader.

Counter contract

Every resolved branch must mutate at least three surfaces:

counter_deltas_required:
  relief: at_least_one
  cost: at_least_one
  future_reader_or_route_effect: at_least_one

Relevant surfaces:

  • access_caption_reliance_pressure
  • access_public_trust
  • foreign_language_public_trust
  • caption_operator_exposure
  • caption_operator_protection
  • fan_oxygen_refund_pressure
  • sponsor_reach_dispute
  • sponsor_stop_loss_pressure
  • management_reach_metric_scar
  • public_correction_capacity
  • archive_caption_escrow
  • edit_checksum_pressure
  • route_asset_access_cost
  • false_access_metric
  • future_caption_recovery_cost
  • inspection_heat
  • public_receipt_distrust

Future consumption oracle

At least one later surface must consume the reliance state:

  • public access route becomes protected or costlier;
  • fan oxygen refund audit opens;
  • sponsor makegood inventory receives converted claim;
  • management compression receives metric scar;
  • recall claim priority receives competing claimant row;
  • lawful caption rehearing gates route use;
  • operator witness route opens or becomes hostile;
  • route asset becomes public-only, sponsor-only, lawful-only, blocked, or recovery-only.

If the result stays local to one subtitle scene, the lens is incomplete.

Progress metric

accessCaptionRelianceProgress = 0..8:

  • 0: no reliance surface.
  • 1: source caption row or explicit absence is visible.
  • 2: relying reader and reliance claim are visible.
  • 3: excluded/harmed reader and constrained surface are visible.
  • 4: docket enters play with proof or explicit absence.
  • 5: hearing exposes at least three non-equivalent branches.
  • 6: selected branch mutates relief, cost, and future effect.
  • 7: false reliance/default branch fires or arms.
  • 8: replay proves one constructive branch and one default branch with future route consumption.

Replay/session evidence shape

lens_id: storyteller.lens.access_caption_reliance.v1
session_id: lens-access-caption-reliance-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
  trigger_kind: state_pressure
  source_caption_row_or_explicit_absence_present: true
  caption_state_changes_access_meaning_delivery_or_route_use: true
  reliance_claim_present: true
  relying_reader_visible: true
  excluded_or_harmed_reader_visible_or_explicit_absence: true
  constrained_surface_visible_or_explicit_absence: true
  future_reader_or_route_consumes_reliance_state: true
  no_fixed_turn_trigger: true
docket:
  card: storyteller.card.access_caption_reliance_docket.v1
  source_caption_row_or_absence: <row or explicit_absence>
  relying_reader: <reader>
  reliance_claim: <claim>
  excluded_or_harmed_reader: <reader or explicit_absence>
  constrained_surface: <surface or explicit_absence>
branch_runs:
  constructive:
    rite: storyteller.rite.access_caption_reliance_hearing.v1
    selected_response: refund_access_reader | sponsor_counts_reach | archive_escrow_review | protect_operator_refusal | split_caption_reliance | convert_to_makegood | refuse_reliance
    relying_reader_state_after: <state>
    excluded_or_harmed_reader_state_after: <different state>
    constrained_surface_state_after: <state>
    future_reader_effect: <effect>
    counter_deltas:
      relief: []
      cost: []
      future: []
  default:
    event_seen_or_armed: storyteller.event.access_caption_reliance_default.v1
    default_actor: <actor>
    false_reliance_claim: <claim>
    hidden_or_excluded_reader: <reader>
    future_reader_effect: <effect>
assertions:
  - primary_links_exist
  - entry_is_state_triggered_by_caption_reliance_pressure
  - source_caption_row_or_explicit_absence_visible
  - relying_reader_and_reliance_claim_visible
  - excluded_or_harmed_reader_visible
  - constrained_surface_visible
  - hearing_assignment_slots_are_explicit
  - branch_outcomes_diverge
  - every_success_has_relief_cost_and_future_effect
  - default_records_false_access_metric_or_false_reliance
  - future_reader_consumes_reliance_state
  - no_universal_clean_access_caption
  - no_fixed_turn_day_week_raw_count_dashboard_or_lens_health_trigger

Non-goals

  • Not raw lens-count increase.
  • Not bulk filler.
  • Not localization QA.
  • Not a generic accessibility governance page.
  • Not a second caption custody lens.
  • Not sponsor makegood, oxygen refund, or management compression alone.
  • Not valid unless the caption reliance result changes future playable state.