Access Caption Class Action Lens / 无障碍字幕集体 Lens
This lens observes whether 无障碍字幕集体线 and 无障碍字幕集体机制 correctly turn collectivized caption reliance into playable class scope instead of a clean accessibility KPI.
The existing mesh already handles individual reliance through 无障碍字幕信赖线 and proof custody through 字幕证词羁押线. The gap is aggregation: once several cohorts rely on the same caption, the implementation must prove who is represented, who is excluded, what settlement surface is constrained, who carries callbacks, and which future reader consumes the class state.
A passing implementation cannot be satisfied by raw complaint count, generic class-action flavor, sponsor satisfaction, management reach, or public mood. It must expose class scope and make at least one later route consume that scoped class state.
Primary observation link
This lens observes:
- 无障碍字幕集体线;
- 无障碍字幕集体机制;
- 无障碍字幕信赖线;
- 字幕证词羁押线;
- 呼吸追缴扣押线;
- 赞助补偿库存线;
- 经营压缩台;
- 召回认领优先级线;
- 播出合约回读线;
- 播出署名反诉线;
- Fan Oxygen;
- Broadcast Reality;
- Route Assets and Custody.
It is observed through:
Observable promise
When a shared caption result is consumed by multiple reader scopes, the game must show:
- source caption row or explicit absence;
- source reliance rows or explicit absence;
- shared caption state;
- representative reader;
- included reader cohorts;
- excluded or conflicting cohorts;
- constrained settlement/proof surface;
- proof boundary or explicit absence;
- callback carrier or explicit absence;
- selected class posture;
- class state after;
- future reader or route effect.
The lens fails if a caption class is represented as access delivered, complaints settled, reach counted, refund paid, lawful proof accepted, or route unlocked without class scope and exclusions.
Entry oracle
entry_state_required:
trigger_kind: state_pressure
source_caption_row_or_explicit_absence_present: true
source_reliance_rows_or_explicit_absence_present: true
shared_caption_state_consumed_by_multiple_reader_scopes: true
reader_cohorts_conflict_over_remedy_or_proof_scope: true
constrained_surface_present_or_explicit_absence: true
future_reader_or_route_consumes_class_state: true
player_can_certify_split_settle_notice_protect_quarantine_deny_or_default: true
no_fixed_turn_trigger: true
no_fixed_day_or_week_trigger: true
no_raw_complaint_count_trigger: true
no_dashboard_or_lens_health_trigger: trueThe lens fails if the class opens from fixed turn number, day/week interval, chapter quota, raw complaint count, dashboard state, lens health, generic legal phase, or generic accessibility review.
Required observable content
Class docket
无障碍字幕集体案卷 or equivalent must record:
docket_required:
source_caption_row_or_absence: <caption witness row or explicit_absence>
source_reliance_rows:
- <access caption reliance row ids or explicit_absence>
shared_caption_state: certified_access | sponsor_safe | split_language | fan_hardsubbed | archive_escrowed | false_caption_witness | hostile_caption_public | recovery_only | explicit_absence | equivalent
class_pressure_state: uncertified | certified_public_class | certified_lawful_class | denied_split | sponsor_notice_class | operator_shield_class | quarantined | settled_with_callbacks | default_ready | defaulted
representative_reader: deaf_access_public | foreign_language_public | fan_translation_public | access_operator | archive_reader | lawful_reader | equivalent
included_reader_cohorts:
- <cohort ids>
excluded_or_conflicting_cohorts:
- <cohort ids or explicit_absence>
pressure_actor: sponsor | management_table | archive | inspector | fan_delegate | access_operator | route_claimant | equivalent
constrained_surface: public_correction_slot | fan_oxygen_refund_window | sponsor_makegood_frame | archive_caption_escrow | access_operator_protection | lawful_caption_annex | route_asset_access | equivalent
proof_or_absence: <access receipt caption checksum public notice archive stamp witness receipt or explicit_absence>
callback_carrier_or_absence: <handler reader or explicit_absence>
future_reader_or_route: <reader route slot or ending scar id>The lens fails if the docket stores only raw affected people, public mood, sponsor reach, management KPI, or generic complaint status.
Cohort rows
Each class must show at least two incompatible reader scopes through cohort rows or explicit absence where a cohort should have appeared.
cohort_row_required:
cohort_id: <stable id>
cohort_reader: deaf_access_public | foreign_language_public | fan_translation_public | sponsor_reach_reader | management_metric_reader | archive_reader | lawful_reader | access_operator | route_asset_reader | equivalent
reliance_basis: access_was_provided | access_was_denied | translation_changed_consent | sponsor_reach_claim | management_reach_metric | refund_basis | lawful_caption_basis | route_unlock_basis | operator_signed_clean | equivalent
desired_remedy: correction | refund | public_notice | lawful_annex | sponsor_unwind | operator_protection | route_scope | quarantine | equivalent
conflict_with: <cohort id or explicit_absence>
named_harm_or_absence: <harm or explicit_absence>
proof_or_absence: <proof or explicit_absence>
callback_or_absence: <owed notice recourse service correction or explicit_absence>The lens fails if all readers collapse into one anonymous public, one sponsor audience, or one legal claimant.
Certification hearing
无障碍字幕集体认证听证 or equivalent must require explicit assignments:
assignment_required:
docket: storyteller.card.access_caption_class_docket.v1
source_caption_row_or_absence: <caption witness row or explicit_absence>
source_reliance_rows: []
shared_caption_state: <state>
representative_reader: <reader>
included_reader_cohorts: []
excluded_or_conflicting_cohorts: []
constrained_surface: <surface>
proof_or_absence: <proof or explicit_absence>
handler_or_absence: producer | shen_luo | yu_lan | han_yanshuang | baiya | fan_delegate | access_operator | archive_clerk | explicit_absence | equivalent
callback_carrier_or_absence: <carrier or explicit_absence>
selected_posture: certify_public_class | split_classes | settle_with_callbacks | sponsor_notice_class | operator_witness_class | quarantine_shared_caption | deny_with_named_harm | default_selects
accepted_cost_surface_or_absence: <cost scar or explicit_absence>
future_reader_or_route: <reader route slot or ending scar id>The lens fails if sponsor money, public sympathy, archive seal, lawful text, management urgency, or edit checksum resolves the class without naming these fields.
Branch divergence oracle
A satisfying implementation must prove at least five constructive branch families plus one default or denial family.
| Branch family | Required relief | Required cost | Required future effect |
|---|---|---|---|
| Certify public access class | public access remedy becomes legible | sponsor reach dispute, metric scar, correction capacity | public route protected but costlier |
| Split classes | public and lawful caption scopes coexist | drift, annex, escrow, hearing burden | later route must name scope |
| Settle with callbacks | immediate access/fan pressure narrows | callback debt, refund pressure, recourse leverage | callback_required or costlier |
| Sponsor notice class | sponsor reach is scoped without clean delivery | public distrust, unwind risk, audit heat | sponsor_only or sponsor_unwind_required |
| Operator witness class | operator becomes protected witness or explicit absent witness | exposure, handler burden, proof gap | operator_witness_required, costlier, or recovery_only |
| Quarantine shared caption | false universal delivery is blocked | schedule, correction, archive, public pressure | blocked until reworked |
| Deny with named harm | overbroad class blocked | harmed cohorts appeal or become hostile | public_only, lawful_only, sponsor_only, blocked, recovery_only |
| Default selects | fastest desk files first | hidden cohorts and false class scar harden | appeal, unwind, split, recovery, or contradiction required |
No branch may create universal clean acceptance across access public, foreign-language public, fan public, sponsor, management, archive, lawful reader, caption operator, route asset, and broadcast reality.
Default oracle
无障碍字幕集体默认 or equivalent must fire or be armed when:
- class scope is hidden;
- representative reader is missing;
- included cohorts are unnamed;
- excluded or conflicting cohorts are hidden;
- constrained surface is hidden;
- proof boundary is missing without explicit absence;
- callback carrier is missing without explicit absence;
- sponsor, management, archive, lawful reader, fan delegate, or route claimant consumes the class as clean proof;
- public correction or fan oxygen refund is treated as universal settlement.
Required default payload:
default_required:
event: storyteller.event.access_caption_class_default.v1
source_caption_row_or_absence: <caption witness row or explicit_absence>
source_reliance_rows:
- <row ids or explicit_absence>
shared_caption_state: <state>
missing_or_hidden_inputs:
representative_reader: present | hidden | absent
included_reader_cohorts: present | hidden | absent
excluded_or_conflicting_cohorts: present | hidden | absent
constrained_surface: present | hidden | absent
proof_anchor: present | hidden | absent
callback_carrier: present | hidden | absent
future_reader: present | hidden | absent
false_class_claim: access_class_settled | sponsor_reach_class_clean | management_access_metric_clean | fan_refund_class_clean | lawful_caption_class_clean | route_unlocked_class_clean | operator_signed_class_clean | equivalent
default_narrator: sponsor | management_table | archive | inspector | fan_delegate | access_operator_absence | route_claimant | public_table | lawful_reader | equivalent
hidden_or_excluded_cohorts:
- <cohort ids or explicit_absence>
defaulted_class_state: sponsor_only_class | public_only_class | lawful_only_class | management_metric_scar | operator_absence_liability | false_universal_access | blocked | recovery_only | contradiction_pending | equivalent
future_reader_or_route: <reader route slot or ending scar id>
future_route_effect: sponsor_only | public_only | lawful_only | split_required | public_audit_required | sponsor_unwind_required | operator_witness_required | blocked | hostile | recovery_only | contradiction_pending | equivalentA default that changes only flavor, budget, reputation, or generic complaint pressure fails.
Counter contract
Every non-default 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_oneRelevant surfaces:
access_class_pressureclass_certification_legitimacyaccess_public_trustforeign_language_public_trustfan_oxygen_refund_pressuresponsor_reach_disputesponsor_stop_loss_pressuremanagement_metric_scarcaption_operator_exposurecaption_operator_protectionpublic_correction_capacityarchive_caption_escrowlawful_caption_annex_pressureroute_asset_access_costfuture_caption_recovery_costinspection_heatpublic_receipt_distrustbroadcast_reality_drift
Downstream consumption oracle
At least one later surface must consume the class state:
- 呼吸追缴扣押线 receives refund, resentment, callback, or foreclosure pressure;
- 赞助补偿库存线 receives notice class, makegood conversion, or unwind pressure;
- 经营压缩台 receives metric scar or false reach default;
- 召回认领优先级线 receives a competing claimant row;
- 播出合约回读线 reads the class scope before accepting a clause;
- 播出署名反诉线 reads the class scope before accepting release;
- a route asset becomes public-only, lawful-only, sponsor-only, blocked, hostile, costlier, or recovery-only.
If the result remains local to a subtitle scene, the lens is incomplete.
Progress metric
accessCaptionClassActionProgress = 0..10:
0: no class surface.1: source caption row or explicit absence and source reliance rows are visible.2: shared caption state and class pressure state are visible.3: representative reader is named.4: included cohorts and excluded/conflicting cohorts are named or explicitly absent.5: constrained surface, proof boundary, and callback carrier are named or explicitly absent.6: certification hearing exposes at least three non-equivalent branches.7: selected constructive branch mutates relief, cost, and future effect.8: default or denial branch records false class claim, narrator, hidden cohorts, and durable scar.9: downstream reader consumes scoped class state.10: replay proves constructive and default paths with no universal clean caption class.
Replay evidence expectation
lens_id: storyteller.lens.access_caption_class_action.v1
session_id: lens-access-caption-class-action-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
trigger_kind: state_pressure
source_caption_row_or_explicit_absence_present: true
source_reliance_rows_or_explicit_absence_present: true
shared_caption_state_consumed_by_multiple_reader_scopes: true
reader_cohorts_conflict_over_remedy_or_proof_scope: true
constrained_surface_present_or_explicit_absence: true
future_reader_or_route_consumes_class_state: true
no_fixed_turn_trigger: true
offered:
card: storyteller.card.access_caption_class_docket.v1
rite: storyteller.rite.access_caption_class_certification_hearing.v1
docket:
representative_reader: <reader>
included_reader_cohorts: []
excluded_or_conflicting_cohorts: []
constrained_surface: <surface>
proof_or_absence: <proof or explicit_absence>
callback_carrier_or_absence: <carrier or explicit_absence>
branch_runs:
constructive:
selected_posture: certify_public_class | split_classes | settle_with_callbacks | sponsor_notice_class | operator_witness_class | quarantine_shared_caption | deny_with_named_harm
class_state_after: <state>
relief: []
cost: []
future_reader_or_route_effect: <effect>
default:
selected_posture: default_selects
emitted_event: storyteller.event.access_caption_class_default.v1
false_class_claim: <claim>
default_narrator: <actor>
hidden_or_excluded_cohorts: []
defaulted_class_state: <state>
future_reader_or_route_effect: <effect>
assertions:
- primary_links_exist
- entry_is_state_triggered
- source_caption_and_reliance_rows_visible_or_absent
- representative_and_cohorts_visible
- constrained_surface_proof_and_callback_visible_or_absent
- certification_hearing_assignable
- branch_outcomes_diverge
- success_has_cost
- default_is_durable
- downstream_reader_consumes_class_state
- no_universal_clean_caption_class
- no_fixed_turn_day_week_raw_count_dashboard_or_lens_health_triggerAnti-filler assertions
- The lens is not satisfied by adding more caption cards.
- The lens is not satisfied by raw class size.
- The lens is not satisfied by a generic legal settlement.
- The lens is not satisfied by a clean sponsor makegood.
- The lens is not satisfied by a clean management accessibility metric.
- The lens is satisfied only by replayable class scope, branch divergence, explicit excluded cohorts, and downstream consumption.