Ruling Reader Collision Docket / 裁定读者冲突案卷
Ruling Reader Collision Docket is the card/state object that records a valid source row being pulled by incompatible future readers.
It enters play when a ruling, enforcement load row, drift docket, public receipt, custody order, settlement relief, artist boundary, or route asset state is already history, but at least two future readers now require different recognition surfaces from that same source.
The card is not a verdict. It is a reader table.
Entry payload
card: storyteller.card.ruling_reader_collision_docket.v1
entry_state:
trigger_kind: state_pressure
source_ruling_or_row: <source id>
source_state_before: served | public_receipt | load_row | drift_docket | settlement | mandate | custody_order | boundary | equivalent
source_history_preserved: true
readers_min: 2
incompatible_acceptance_rules: true
no_fixed_turn_trigger: trueRequired fields
Each docket must record:
source:
source_ruling_or_row: <id>
source_family: archive_order | enforcement_load | attachment | public_receipt | drift_docket | settlement | legality_conversion | artist_boundary | sponsor_carveout | route_asset_hold | equivalent
preserved_history: true
cannot_be_retried_here: true
readers:
- reader_id: <stable id>
reader_type: lawful_reader | public_reader | sponsor_reader | artist_boundary_reader | editor_reader | management_reader | route_asset_reader | claimant_reader
faction_surface: inspector | archive | fan_public | historian | sponsor | artist | editor | management | route_asset | claimant | pirate | schedule | equivalent
wants: accept_as_universal | accept_public_only | accept_lawful_only | suppress_public_use | preserve_boundary | seize_asset | clear_report | unlock_route | defer_claim | equivalent
minimum_required_surface: legal | public | sponsor | artist_boundary | editor_proof | management_report | custody_chain | claimant_notice | equivalent
state_before: pending | satisfied_elsewhere | suspicious | hostile | captured | explicit_absence
collision:
incompatibility: public_vs_lawful | sponsor_vs_public | artist_boundary_vs_route_unlock | editor_patch_vs_archive_truth | management_clean_vs_claimant_notice | custody_chain_vs_public_receipt | equivalent
cannot_satisfy_all_readers: true
default_if_unresolved: loudest_reader_captures | false_universal_key | double_reader_hardens | route_asset_seized | claimant_floor_hostile | black_screen_pressure | equivalent
resolution:
recognition_surface_selected: none | lawful_priority | public_priority | sponsor_priority | artist_boundary_priority | editor_priority | management_priority | route_asset_priority | split_table | quarantine | default_capture
reader_states_after: []
relief_surfaces: []
cost_surfaces: []
future_route_effects: []Reader state vocabulary
Reader outcomes must be explicit. Accepted states:
accepted_with_costlawful_onlypublic_onlysponsor_onlyartist_boundary_onlyeditor_patch_onlyroute_asset_onlynarrowedblockedhostilecapturedaudit_requiredcontradiction_pendingrecovery_onlyfalse_universal_key
A docket fails design review if every reader ends as cleanly accepted.
Example rows
Public receipt versus lawful archive
row_id: public_receipt_vs_archive_order
source_ruling_or_row: archive_order_A
readers:
- reader_id: fan_oxygen_public
reader_type: public_reader
wants: accept_public_only
minimum_required_surface: public
- reader_id: white_glove_archive
reader_type: lawful_reader
wants: accept_lawful_only
minimum_required_surface: legal
incompatibility: public_vs_lawful
default_if_unresolved: double_reader_hardensSponsor clean report versus claimant notice
row_id: sponsor_clean_vs_claimant_notice
source_ruling_or_row: settlement_relief_C
readers:
- reader_id: stop_loss_desk
reader_type: sponsor_reader
wants: clear_report
minimum_required_surface: sponsor
- reader_id: claimant_floor
reader_type: claimant_reader
wants: defer_claim
minimum_required_surface: claimant_notice
incompatibility: management_clean_vs_claimant_notice
default_if_unresolved: claimant_floor_hostileArtist boundary versus route asset unlock
row_id: artist_boundary_vs_route_asset_unlock
source_ruling_or_row: artist_refusal_receipt_D
readers:
- reader_id: living_artist_boundary
reader_type: artist_boundary_reader
wants: preserve_boundary
minimum_required_surface: artist_boundary
- reader_id: route_unlock_asset
reader_type: route_asset_reader
wants: unlock_route
minimum_required_surface: custody_chain
incompatibility: artist_boundary_vs_route_unlock
default_if_unresolved: route_asset_seizedCounter deltas recorded on the card
The card stores deltas rather than applying invisible flags. At least three surfaces must be recorded after resolution:
counter_deltas:
recognition_relief:
- <counter or state improved>
recognition_cost:
- <counter or state worsened>
future_reader_or_route_effect:
- <reader state or route consequence>Recommended surfaces:
reader_collisionfuture_route_acceptanceenforcement_loadreality_driftinspection_heatarchive_debtpublic_receipt_legitimacypublic_receipt_distrustfan_oxygen_resentmentsponsor_stop_loss_pressurecontract_captureartist_refusal_respectedvoice_integrity_riskedit_debtsource_ambiguityroute_asset_pressureclaimant_hostilitymanagement_pressureblack_screen_slots
Card lifecycle
created— readers and incompatibility are visible.assigned— a hearing or equivalent action has selected a recognition surface.split— at least two readers receive scoped acceptance states.quarantined— the source cannot be cited until a recovery cost is paid.defaulted— one reader captured the source or the collision hardened without assignment.closed_with_scar— a recognition state was accepted, but future use remains narrowed, costed, or recovery-only.
Integration notes
- With Ruling Enforcement Load Docket, this card is created when one load row has multiple incompatible future readers.
- With 实在漂移案卷, this card is created when the previous public version and proof/custody readers each demand recognition from the same source.
- With 裁定读者冲突, this card is the durable reader table consumed by rites and events.
Non-goals
- Not a new ruling.
- Not a universal acceptance stamp.
- Not a global faction scorecard.
- Not a hidden flag.
- Not valid if only one future reader is present.
- Not valid if entry depends on fixed turn, fixed day, fixed week, page count, or dashboard health.