Reader Recusal Hearing / 读者回避听证

rite_id: storyteller.rite.reader_recusal_hearing.v1
trigger_kind: state_pressure
assignment_required:
  docket: storyteller.card.reader_recusal_docket.v1
  requesting_reader: required
  conflict_or_explicit_absence: required
future_reader_or_route: required
branches:
  recuse_and_reassign:
    selected_posture: recuse_and_reassign
    relief_any: neutral_reader_seated
    cost_any: delay_and_handler_burden
    future_route_effect: lawful_only
  disclose_and_limit:
    selected_posture: disclose_and_limit
    relief_any: conflicted_reader_may_answer_narrow_question
    cost_any: public_trust_loss
    future_route_effect: public_only
  split_record:
    selected_posture: split_record
    relief_any: clean_row_and_conflicted_row_separated
    cost_any: proof_duplication_cost
    future_route_effect: costlier
  escrow_proof:
    selected_posture: escrow_proof
    relief_any: proof_held_until_neutral_reader
    cost_any: route_delay
    future_route_effect: rehearing_required
  publish_conflict:
    selected_posture: publish_conflict
    relief_any: claimant_can_challenge_reader
    cost_any: sponsor_or_lawful_heat
    future_route_effect: hostile
  custodian_review:
    selected_posture: custodian_review
    relief_any: route_asset_custodian_reads_scope
    cost_any: custody_fee
    future_route_effect: route_asset_only
  suppress_conflict:
    selected_posture: suppress_conflict
    relief_any: immediate_schedule_continues
    cost_any: hidden_capture_risk
    future_route_effect: blocked
  conflicted_default:
    selected_posture: conflicted_default
    relief_any: none
    cost_any: durable_conflict_scar
    future_route_effect: hostile
counter_deltas:
  recusal_clarity: +1
  future_claim_cost: +1
  reader_conflict_heat: +1

No branch may turn a conflicted reader into universal clean authority for every downstream lawful, sponsor, archive, public, route-asset, and recovery reader.