Cue Authority Ledger / 提示权总账机制
This mechanism prevents several scoped cue records from becoming one clean universal authority merely because they point at the same cue.
It is a cross-object mechanism. Object-specific packets decide whether a pencil mark, headset call, standby slip, cue sheet, promptbook note, or light-cue row survives within its own boundary. The ledger begins after that point and decides how conflicting surviving rows may be consumed together.
Core invariant
same cue != same speaker != same timecode != same version != universal execution authorityRequired inputs
entry_state:
trigger_kind: state_pressure
pencil_source_row_visible: true
headset_source_row_visible: true
standby_source_row_visible: true
cue_sheet_source_row_visible: true
current_speaker_visible: true
version_conflict_visible: true
operator_timecode_bridge_or_explicit_absence_visible: true
harmed_understudy_visible_or_explicit_absence: true
future_reader_consumes_authority_state: true
player_can_reconcile_split_preserve_bridge_protect_quarantine_or_default: true
no_fixed_turn_trigger: true
no_fixed_day_or_week_trigger: true
no_raw_cue_count_trigger: true
no_dashboard_or_lens_health_trigger: true
cue_authority_crossread_input:
source_cue_rows: required_multiple_named_rows_for_same_cue
current_speaker: required_or_explicit_absence
version_conflict: required
operator_timecode_bridge_or_absence: required
harmed_understudy: required
future_reader: required
requested_cue_use: required
selected_posture: requiredEntry remains invalid when a raw count is the only pressure, when rows concern different cues, or when no future reader will consume the result.
Seven exact runtime-bound cards
exact_cards:
- storyteller.card.cue_authority_crossread_docket.v1
- storyteller.card.cue_authority_source_rows.v1
- storyteller.card.cue_authority_version_conflict.v1
- storyteller.card.cue_authority_current_speaker.v1
- storyteller.card.cue_authority_harmed_understudy.v1
- storyteller.card.cue_authority_future_reader.v1
- storyteller.card.cue_authority_quarantine_register.v1No tag alias, generic cue card, virtual bridge, duplicated card, or catalog-only substitute satisfies an exact slot.
Authority state model
cue_authority_state:
conflict_pending: source rows disagree and no current posture is recorded
reconciled_named_current: one named speaker/version is current with losing rows cited
split_by_version: readers receive explicit version-specific authority
dissent_preserved: one row remains counterproof against the selected authority
bridged_by_operator_timecode: operator and timecode provenance connect the selected rows
understudy_claim_protected: current use remains burdened by the harmed understudy
quarantined_conflict: no reader may execute the cue as clean authority
false_clean_captured: one reader captures authority while conflict is hidden
public_correction_required: the cue must be corrected on a public surface
harmed_understudy_route_restored: future play reopens through the displaced understudy
recovery_only: ordinary clean cue execution is closedExactly seven resolution branches
reconcile_named_current_cuesplit_authority_by_versionpreserve_dissenting_cue_rowattach_operator_timecode_bridgeprotect_harmed_understudy_claimquarantine_conflicting_cue_authorityfalse_clean_cue_authority_default
Every branch writes:
cue_authority_resolution:
selected_posture: required
authority_state_after: required
future_route_effect: required
counter_deltas:
relief: required_nonempty
cost: required_nonempty
future: required_nonempty
durable_mutation: true
no_universal_clean_authority: trueCounter surfaces
At least one surface from each class changes:
- relief:
cue_authority_clarity,operator_provenance,understudy_route_standing,reader_scope_clarity; - cost:
cue_version_conflict,cue_audit_heat,schedule_repair_cost,understudy_harm,reader_dispute; - future:
future_cue_cost,public_correction_pressure,recovery_only_cue_route,route_reader_restriction.
Success cannot reduce conflict without increasing or spending another finite surface.
Default contract
The default branch emits or arms storyteller.event.false_cue_authority_crossread_default.v1. That event offers exactly:
capture_first_reader;force_public_cue_correction;restore_harmed_understudy_route.
The event must not silently choose a current speaker, delete a dissenting row, or grant a route asset. It records how the false-clean claim changes future cue authority.
Proof boundaries
The ledger may establish which cue row a named reader may execute, cite, challenge, quarantine, or correct. It does not establish:
- performer consent beyond the source row;
- ownership of a voice, likeness, archive, or memorial;
- universal sponsor, editor, archive, or route authority;
- that the highest-ranking or earliest reader is truthful;
- that a harmed understudy waived displacement;
- that a timestamp alone resolves version conflict.