Cue Authority Ledger Lens / 提示权总账 Lens

This lens checks that several scoped cue objects cannot become one clean universal authority when they claim the same cue but disagree on current speaker, operator, timecode, version, or execution scope.

It observes a parent cross-object arbitration lane. A passing implementation must not merely rerun the pencil, headset, standby-slip, cue-sheet, promptbook, or light-cue afteruse packet.

Entry Oracle

entry_state:
  trigger_kind: state_pressure
  same_named_cue_claimed_by_multiple_source_rows: true
  pencil_source_row_visible: true
  headset_source_row_visible: true
  standby_source_row_visible: true
  cue_sheet_source_row_visible: true
  disagreement_any:
    - current_speaker
    - operator
    - timecode
    - cue_version
    - execution_scope
  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

The lens fails if it opens only because several cue cards exist, if the rows concern different cues, or if no named future reader consumes the result.

Checks

1. Canon and parent-lane boundary

All new pages and future runtime objects belong to source: storyteller. The storyline must identify itself as the parent arbitration layer above existing object-specific cue packets.

It fails if reference-source canon appears, or if the packet merely creates another single-object afteruse review.

2. Docket binds exactly seven cards

Required exact IDs:

  1. storyteller.card.cue_authority_crossread_docket.v1
  2. storyteller.card.cue_authority_source_rows.v1
  3. storyteller.card.cue_authority_version_conflict.v1
  4. storyteller.card.cue_authority_current_speaker.v1
  5. storyteller.card.cue_authority_harmed_understudy.v1
  6. storyteller.card.cue_authority_future_reader.v1
  7. storyteller.card.cue_authority_quarantine_register.v1

The docket schema must include source cue rows, current speaker, version conflict, operator/timecode bridge or absence, harmed understudy, future reader, selected posture, authority state after, future route effect, and counter deltas.

Tag aliases, virtual cards, duplicated assignments, missing slots, catalog-only cards, or broad cue objects fail.

3. Review exposes exactly seven branches

Required stable branch IDs:

  • reconcile_named_current_cue;
  • split_authority_by_version;
  • preserve_dissenting_cue_row;
  • attach_operator_timecode_bridge;
  • protect_harmed_understudy_claim;
  • quarantine_conflicting_cue_authority;
  • false_clean_cue_authority_default.

Every branch preserves the source rows and writes relief, cost, future effect, authority_state_after, and durable counter movement. No hidden eighth branch or automatic timestamp/rank winner passes.

4. Default exposes exactly three options

storyteller.event.false_cue_authority_crossread_default.v1 must expose:

  • capture_first_reader;
  • force_public_cue_correction;
  • restore_harmed_understudy_route.

All three outcomes preserve the conflict, clear pending default state, move at least three named surfaces, and change a future route or reader.

5. Runtime evidence is durable

The runtime completion must include:

  • lens/storyteller-cue-authority-ledger.runtime.test.ts;
  • lens/replays/cue-authority-ledger.default.replay.json;
  • authored game-content/storyteller cards, rite, event, and committed session evidence used by the replay.

The focused test must reject missing, duplicate, aliased, virtual, catalog-only, and wrong-order assignments; enforce the seven exact branch IDs and three exact event options; and prove source: storyteller.

The replay must resolve false_clean_cue_authority_default, then one of the three default options, and demonstrate durable authority state, counter movement, and future-route mutation. Passive catalog visibility or a handwritten replay does not pass.

Passing boundary

Satisfied only when the sibling TypeScript binding, canonical wiki packet, exact runtime objects, focused runtime test, and durable game-CLI replay jointly prove:

  • cross-object entry from a real cue conflict;
  • exact seven-card assignment;
  • exactly seven review branches;
  • exactly three default options;
  • no universal clean cue authority;
  • a named future reader consuming the resulting state.

Durable Replay Evidence

lens_id: storyteller.lens.cue_authority_ledger.v1
session_id: lens-storyteller-lens-cue-authority-ledger-v1-20260716t2104z-runtime-default-v1
seed: cue-authority-ledger-20260716a
replay_path: lens/replays/cue-authority-ledger.default.replay.json
expected:
  exact_seven_card_assignment_visible: true
  false_clean_cue_authority_default_reached: true
  pending_default_triple_armed: true
  force_public_cue_correction_resolved: true
  public_cue_correction_future_route_visible: true