Availability Reader Collision Default / 可用性读者冲突默认

Availability Reader Collision Default fires or arms when a scarred availability state is reused by an incompatible future reader without a visible reader table.

This event is not a punishment timer. It is the world choosing a narrator when the producer lets access look cleaner than it is.

Fire / arm conditions

fire_or_arm_when_any:
  - availability_state_reused_without_reader_scope
  - lawful_only_access_cited_as_public_testimony
  - public_only_access_cited_as_lawful_custody
  - sponsor_only_access_cited_as_neutral_availability
  - private_or_editor_access_cited_as_public_receipt
  - relay_only_access_cited_as_admissible_chain
  - delayed_with_receipt_cited_as_free_availability
  - substitute_only_cited_as_original_target
  - ward_held_or_floor_locked_state_ignored
  - future_reader_or_excluded_reader_missing
  - fixed_turn_or_day_trigger_used

Required event payload

event_id: storyteller.event.availability_reader_collision_default.v1
payload:
  source_availability_row_id: <stable id>
  source_availability_state: <state>
  target_or_slot: <character npc role slot route asset or explicit_absence>
  capturing_reader: <reader id>
  excluded_or_harmed_reader: <reader id>
  false_reuse_kind: public_vs_lawful | sponsor_vs_neutral | private_vs_proof | relay_vs_admissible | off_slot_vs_available | substitute_vs_original | ward_vs_floor | equivalent
  default_narrator: sponsor | inspector | fan_delegate | archive | editor | pirate_relay | floor | ward | route_asset | hostile_target | equivalent
  future_route_effect: <effect>
  recovery_hook: <visible recovery hook>

Default branches

A sponsor or management reader treats controlled access as neutral availability.

result:
  reader_state: sponsor_captured
  costs:
    - contract_capture_up
    - public_receipt_distrust_up
    - future_route_acceptance_down
  recovery_hooks:
    - sponsor_unwind
    - public_addendum
    - neutral_source_disclosure

Lawful/public mismatch

A lawful-only or public-only state is cited by the wrong reader.

result:
  reader_state: contested_admissibility
  costs:
    - inspection_heat_up
    - public_addendum_pressure_up
    - proof_chain_integrity_down
  recovery_hooks:
    - lawful_addendum
    - public_receipt_repair
    - reader_collision_hearing

Private proof leak

A private or editor-routed encounter is used as public proof.

result:
  reader_state: proof_requires_disclosure
  costs:
    - source_ambiguity_up
    - witness_exposure_up
    - edit_debt_up
  recovery_hooks:
    - disclose_source
    - narrow_public_claim
    - protect_witness_boundary

Off-slot false availability

A displaced schedule claim is treated as still available.

result:
  reader_state: off_slot_hostility
  costs:
    - missed_encounter_pressure_up
    - schedule_preemption_pressure_up
    - route_asset_pressure_up
  recovery_hooks:
    - displacement_receipt
    - substitute_route
    - apology_slot

Substitute contamination

A substitute-only state is read as if the original person, proof, or slot were present.

result:
  reader_state: substitute_contested
  costs:
    - public_receipt_legitimacy_down
    - original_target_access_down
    - future_recovery_cost_up
  recovery_hooks:
    - original_target_recovery
    - weaker_route_acceptance
    - proxy_scope_disclosure

Ward/floor breach

A protected body or floor-locked role is moved by a reader that cannot pay the custody or crew cost.

result:
  reader_state: custody_or_floor_breach
  costs:
    - ward_custody_integrity_down
    - crew_load_up
    - blackout_risk_up
  recovery_hooks:
    - ward_repair
    - floor_reassignment
    - public_boundary_notice

Aftermath states

The event must leave at least one durable state for future readers:

  • reader_hostile
  • sponsor_captured
  • neutrality_contested
  • proof_requires_disclosure
  • off_slot_hostility
  • substitute_contested
  • custody_or_floor_breach
  • route_blocked_until_scope
  • target_recovery_only

Non-goals

  • Not a random failure event.
  • Not a fixed-turn missed scene.
  • Not a punishment for choosing a scarce route.
  • Not a new verdict.
  • Not valid unless it names the capturing reader, excluded reader, false reuse kind, future route effect, and recovery hook.