Reader Collision Hearing / 读者冲突听证

Reader Collision Hearing is the assignable rite for resolving one 裁定读者冲突案卷.

It is offered when a preserved source ruling or equivalent row has at least two incompatible future readers. The rite selects a recognition surface, records reader states after resolution, and writes relief, cost, and future route effects.

Offer condition

offer_condition:
  trigger_kind: state_pressure
  docket_present: storyteller.card.ruling_reader_collision_docket.v1
  source_history_preserved: true
  readers_min: 2
  incompatible_acceptance_rules: true
  source_not_retried_here: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true

The rite may be offered from an enforcement load review, drift audit, settlement aftershock, claimant intake, management compression, route asset dispute, artist boundary dispute, or public receipt branch. The condition is the collision state, not a numbered sequence.

Required assignment slots

The player must assign or explicitly record absence for:

assignment_slots:
  docket: storyteller.card.ruling_reader_collision_docket.v1
  selected_collision_row: <row id>
  selected_recognition_surface: lawful_priority | public_priority | sponsor_priority | artist_boundary_priority | editor_priority | management_priority | route_asset_priority | split_table | quarantine | default_capture
  source_ruling_or_row: <source id>
  primary_reader: <reader id>
  excluded_or_scoped_reader: <reader id>
  authority_or_absence: <authority card/state or explicit_absence>
  proof_bridge_or_absence: <proof card/state or explicit_absence>
  protected_boundary_or_absence: <boundary card/state or explicit_absence>
  cost_surface: <counter/state/resource/route scar>

A branch is invalid if it selects a priority without naming the reader that is narrowed, excluded, delayed, captured, or made hostile.

Branches

Branch A — Lawful priority

The player assigns a legal, archive, inspector, or white-glove surface as the primary reader.

branch: lawful_priority
valid_support:
  - archive order
  - enforcement mandate
  - inspection seal
  - white-glove audit
  - admissibility proof
expected_relief:
  - archive_signature_legitimacy_up
  - custody_clarity_up
  - enforcement_load_down
  - reality_drift_down
expected_cost:
  - public_receipt_distrust_up
  - fan_oxygen_resentment_up
  - sponsor_stop_loss_pressure_up
  - route_asset_pressure_up
reader_states_after:
  lawful_reader: accepted_with_cost | lawful_only
  other_reader: public_only | narrowed | hostile | blocked | recovery_only

Branch B — Public priority

The player assigns fan oxygen public, unauthorized historian, witness receipt, pirate relay, or public proof as the primary reader.

branch: public_priority
valid_support:
  - public receipt
  - fan oxygen testimony
  - historian note
  - witness chain
  - pirate relay memory
expected_relief:
  - public_receipt_legitimacy_up
  - audience_stability_up
  - private_capture_resistance_up
expected_cost:
  - inspection_heat_up
  - archive_debt_up
  - sponsor_stop_loss_pressure_up
  - witness_exposure_up
reader_states_after:
  public_reader: accepted_with_cost | public_only
  other_reader: audit_required | contested | sponsor_only | lawful_only | recovery_only

Branch C — Sponsor priority

The player lets sponsor packaging, stop-loss terms, naming rights, or management report language define the recognized use.

branch: sponsor_priority
valid_support:
  - sponsor stop-loss order
  - naming-rights contract
  - relief package
  - manager-brokered clean report
expected_relief:
  - sponsor_stop_loss_pressure_down
  - management_pressure_down
  - slot_pressure_down
expected_cost:
  - contract_capture_up
  - public_receipt_distrust_up
  - artist_boundary_risk_up
  - delayed_inspection_heat_up
reader_states_after:
  sponsor_reader: accepted_with_cost | sponsor_only
  other_reader: captured | hostile | blocked | recovery_only | public_only

Branch D — Artist-boundary priority

The player makes refusal, body/voice safety, living consent, memorial boundary, or witness protection the primary reader.

branch: artist_boundary_priority
valid_support:
  - artist refusal receipt
  - living body boundary
  - voice custody receipt
  - witness safety row
  - memorial boundary seal
expected_relief:
  - artist_refusal_respected_up
  - voice_integrity_risk_down
  - witness_harm_risk_down
expected_cost:
  - route_asset_pressure_up
  - sponsor_stop_loss_pressure_up
  - management_pressure_up
  - fan_oxygen_resentment_up
reader_states_after:
  artist_boundary_reader: accepted_with_cost | artist_boundary_only
  other_reader: narrowed | blocked | lawful_only | recovery_only

Branch E — Split table

The player writes a scoped reader table instead of choosing one universal recognition.

branch: split_table
valid_support:
  - at least two readers can receive different scoped states
  - proof bridge exists or explicit absence is recorded
expected_relief:
  - two_routes_remain_open
  - immediate_reader_collision_down
expected_cost:
  - archive_debt_up
  - source_ambiguity_up
  - future_correction_cost_up
  - inspection_heat_up
reader_states_after:
  reader_a: lawful_only | public_only | sponsor_only | artist_boundary_only | editor_patch_only | route_asset_only
  reader_b: lawful_only | public_only | sponsor_only | artist_boundary_only | editor_patch_only | route_asset_only | recovery_only

A split table is invalid if it marks every reader as universal, clean, or cost-free.

Branch F — Quarantine source

The player prevents the source from being cited by any reader until a recovery condition is paid.

branch: quarantine
valid_support:
  - contradiction unsafe to publish
  - boundary unsafe to breach
  - custody chain incomplete
  - false service risk visible
expected_relief:
  - reality_drift_down
  - false_service_risk_down
  - artist_boundary_breach_down
  - archive_fraud_down
expected_cost:
  - route_blocked
  - claimant_hostility_up
  - sponsor_stop_loss_pressure_up
  - black_screen_slots_up
reader_states_after:
  all_readers: blocked | recovery_only | audit_required

Branch G — Default capture

The player hides, underfills, falsely serves, or leaves the docket unassigned.

branch: default_capture
valid_support:
  - no credible handler
  - no proof bridge
  - player suppresses docket
  - reader conflict ignored
expected_event: storyteller.event.reader_collision_default.v1
expected_cost:
  - reader_collision_up
  - false_universal_key
  - reality_drift_up
  - route_asset_pressure_up
  - claimant_hostility_up
reader_states_after:
  capturing_reader: false_universal_key | captured
  excluded_reader: hostile | blocked | recovery_only | contradiction_pending

Resolution output

Every successful or failed resolution must produce this shape:

resolution:
  rite: storyteller.rite.reader_collision_hearing.v1
  selected_row: <row id>
  selected_recognition_surface: <branch>
  source_preserved: true
  reader_states_after:
    - reader_id: <id>
      state: <state>
    - reader_id: <id>
      state: <different state>
  counter_deltas:
    relief:
      - <surface>
    cost:
      - <surface>
    future:
      - <reader or route effect>
  no_fixed_turn_trigger: true

Hard invalid states

The rite fails implementation if:

  • it reopens the old verdict instead of preserving it;
  • it has one reader only;
  • it lets one authority accept every reader cleanly;
  • it uses abstract money without a reader state change;
  • it records anger but no durable reader state;
  • it does not name the excluded or scoped reader;
  • it resolves without relief, cost, and future effect;
  • it triggers from a fixed turn, fixed day, fixed week, chapter quota, content count, or dashboard health.

Non-goals

  • Not a court simulation.
  • Not a meeting filler action.
  • Not a universal compliance action.
  • Not a second copy of the drift audit or enforcement load review.
  • Not valid unless at least two future reader states diverge.