Access Caption Class Action / 无障碍字幕集体机制
This mechanism turns several caption-reliance readers into a collective, scoped pressure surface. It exists because a single caption state can satisfy one reader while harming another; without class scope, later content can accidentally treat a contested caption as universal access delivery.
It extends 无障碍字幕信赖机制 and 字幕证词羁押机制 by adding representation, included cohorts, excluded cohorts, constrained settlement resources, callback carriers, and default narrators.
Mechanic promise
A shared caption result cannot be consumed as clean collective proof until the implementation records:
- source caption row or explicit absence;
- source reliance rows or explicit absence;
- representative reader;
- included cohorts;
- excluded or conflicting cohorts;
- constrained surface;
- proof or explicit absence;
- callback carrier or explicit absence;
- selected class posture;
- future reader or route effect.
The mechanism fails if it stores only raw complaint totals, generic accessibility sentiment, sponsor reach, public mood, or management KPI.
State model
access_caption_class_state:
class_id: <stable id>
source_caption_row_or_absence: <row or explicit_absence>
source_reliance_rows:
- <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
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>
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: <proof or explicit_absence>
callback_carrier_or_absence: <carrier or explicit_absence>
class_state: uncertified | certified_public_class | certified_lawful_class | split_public_lawful | settled_with_callbacks | sponsor_notice_only | operator_witness_class | quarantined | denied_with_named_harm | defaulted
future_reader_or_route: <reader route slot or ending scar id>Entry conditions
The surface enters play only when live state creates a class collision:
entry_required:
trigger_kind: state_pressure
source_caption_row_or_explicit_absence_present: true
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
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: trueIt is valid to have many affected people, but the trigger is not the number. The trigger is incompatible reader scope over one shared caption reliance surface.
Resources constrained by the mechanism
The class cannot resolve without pricing at least one constrained surface:
- public correction slot;
- fan oxygen refund window;
- sponsor makegood frame;
- archive caption escrow;
- access operator protection;
- lawful caption annex;
- route asset access;
- callback carrier time;
- future recovery capacity.
No branch may make all of these surfaces clean at once.
Branch family contract
The mechanism must support non-equivalent class outcomes:
| Posture | Relief | Cost | Future effect |
|---|---|---|---|
| Certify public class | public access remedy becomes legible | sponsor/management reach claim becomes disputed | public route protected but costlier |
| Split classes | public and lawful scopes can coexist | drift, annex, escrow, and hearing burden rise | route must name scope |
| Settle with callbacks | immediate pressure narrows | callback debt and fan oxygen pressure persist | callback must be consumed later |
| Sponsor notice class | sponsor reach is scoped | public distrust and unwind risk rise | sponsor-only acceptance |
| Operator witness class | operator is protected or named absent | exposure, handler burden, proof gap | operator route opens, costs more, or becomes recovery-only |
| Quarantine shared caption | false universal class is blocked | schedule/correction pressure rises | proof is blocked until reworked |
| Deny with named harm | overbroad class is blocked | harmed cohorts gain appeal/hostility | public-only, lawful-only, sponsor-only, or recovery-only scar |
| Default selects | one desk files fastest | hidden cohorts and false class scars harden | appeal, unwind, split, or recovery required |
Integration points
- 无障碍字幕集体案卷 stores the state.
- 无障碍字幕集体认证听证 resolves the branch.
- 无障碍字幕集体默认 fires when class scope is hidden.
- 呼吸追缴扣押线 can receive fan refund or callback debt.
- Fan Oxygen records refund pressure and resentment.
- Broadcast Reality records false class claims as reality scars.
- Route Assets and Custody receives public-only, lawful-only, sponsor-only, blocked, hostile, or recovery-only route asset states.
Completion criteria
A satisfying implementation proves one constructive branch and one default/scar branch, both with:
completion_required:
representative_reader_named: true
excluded_or_conflicting_cohorts_named_or_explicit_absent: true
constrained_surface_named: true
proof_or_absence_named: true
callback_carrier_or_absence_named: true
class_scope_after_named: true
future_reader_or_route_effect_named: true
counter_deltas_include_relief_cost_future_effect: true
no_universal_clean_class: true