Ruling Reader Collision / 裁定读者冲突线

Ruling Reader Collision is a pressure storyline for the moment when Storyteller already has a valid ruling, served row, public receipt, drift docket, settlement, boundary, or route asset state — and now two or more future readers try to consume that same source in incompatible ways.

This is not a new verdict. It is not a replay of the old trial. It is the playable cost of reuse.

A ruling may be legal but not public. A public receipt may be legitimate but not sponsor-safe. A sponsor relief package may keep the slot alive but violate an artist boundary. A route asset may unlock a branch only by making the lawful reader see a custody gap. The producer must decide which reader is recognized, which reader is scoped, and which reader becomes hostile, blocked, captured, or recovery-only.

Why this is the next gap

The current green corpus already has strong first-order surfaces:

The uncovered design surface is the intersection: one source row is read by multiple later readers, and the readers are not mutually compatible.

Without this storyline, a valid ruling risks becoming a universal key. That would flatten the management RPG: law, public proof, sponsor money, artist consent, editor continuity, claimant notice, and route custody would all accept the same history with no reader-specific scar.

Primary playable question

When the same source row is cited by incompatible future readers, which reader gets recognized, which reader receives only a scoped version, and what future route is now narrowed, captured, contested, hostile, blocked, or recovery-only?

State-triggered entry

Open the storyline when all are true:

entry_state:
  trigger_kind: state_pressure
  source_ruling_or_equivalent_row_present: true
  source_history_preserved: true
  readers_min: 2
  readers_have_incompatible_acceptance_rules: true
  one_reader_is_bound_to_broadcast_or_public_reality: true
  one_reader_is_bound_to_law_archive_sponsor_artist_or_route_asset: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true

Valid source rows include:

  • archive enforcement ruling;
  • ruling enforcement load row;
  • attachment compliance row;
  • public receipt;
  • drift docket;
  • settlement aftershock relief;
  • sponsor carve-out;
  • artist refusal receipt;
  • voice custody boundary;
  • route asset custody hold;
  • claimant notice row;
  • black-box checksum;
  • fan oxygen audit row.

Content pack

Mechanic

  • 裁定读者冲突 defines reader types, collision row schema, branch families, default capture, counter contract, and replay evidence.

Card

  • 裁定读者冲突案卷 records the source row, readers, incompatible demands, selected recognition surface, reader states, and future effects.

Rite

  • 读者冲突听证 is the assignable action that chooses lawful, public, sponsor, artist-boundary, split, quarantine, or default recognition.

Event

  • 读者冲突默认 fires or arms when the collision is hidden, underfilled, falsely served, or captured by the loudest reader.

Storyline spine

Beat 1 — A source row asks to be reused

A later route, rite, card, claimant, asset, schedule object, report, public statement, or audit tries to cite an existing source row.

The player does not re-litigate the old row. The source is preserved as history.

Beat 2 — Two future readers disagree

The game creates or updates 裁定读者冲突案卷.

The docket must prove:

  • at least two future readers exist;
  • each reader has a different minimum recognition surface;
  • the same source cannot satisfy every reader cleanly;
  • the default if unresolved is named.

Beat 3 — The producer chooses recognition

The player opens 读者冲突听证 and chooses a recognition surface.

The rite requires source, row, primary reader, excluded or scoped reader, authority or absence, proof bridge or absence, protected boundary or absence, and cost surface.

Beat 4 — Reader states diverge

The source remains valid, but reader states change.

One reader may accept it with cost. Another may accept only public use. Another may demand audit. Another may become hostile. A route asset may be seized or recovery-only. A sponsor may report relief while public proof becomes contaminated. A lawful reader may preserve the archive while fan oxygen public loses faith.

Beat 5 — A future route consumes the scar

The storyline is not complete until a future route, action, card, or event reads the resulting reader state.

Valid effects:

  • a route remains open only through lawful use;
  • a public correction is possible but sponsor-captured;
  • an artist boundary blocks clean route unlock;
  • a claimant row becomes hostile;
  • a route asset becomes false-owned or recovery-only;
  • a future drift audit costs more;
  • an underwriting ledger inherits the excluded reader’s damage.

Branch map

BranchReliefCostReader / route effect
Lawful priorityarchive legitimacy, custody clarity, enforcement load, or drift improvespublic distrust, fan resentment, sponsor pressure, or route pressure riseslawful reader accepts; another reader becomes narrowed, hostile, blocked, or recovery-only
Public prioritypublic receipt legitimacy, audience stability, or private-capture resistance improvesinspection heat, archive debt, sponsor pressure, or witness exposure risespublic reader accepts; lawful/sponsor reader demands audit or contest
Sponsor prioritystop-loss, budget, slot, or management pressure fallscontract capture, public distrust, artist-boundary risk, or delayed inspection risessponsor reader accepts; public/artist reader becomes captured, hostile, or recovery-only
Artist-boundary priorityrefusal, voice integrity, or witness safety improvesroute unlock, sponsor promise, fan expectation, or management pressure worsensartist reader accepts; route/sponsor reader becomes narrowed or blocked
Split tabletwo incompatible routes remain temporarily usableambiguity, debt, inspection, future correction, or distrust risesreaders receive scoped states; no universal acceptance
Quarantinefalse service, breach, drift, or fraud risk decreasescurrent route blocks, claimant hostility, sponsor pressure, or blackout pressure risesall readers become blocked, audit-required, or recovery-only
Default captureloudest reader moves firstcollision, drift, capture, hostility, or route pressure risescapturing reader gets false key; excluded reader becomes hostile or recovery-only

Counter contract

Every branch must mutate at least three surfaces:

  • one relief surface;
  • one cost surface;
  • one future reader or route effect.

Primary surfaces:

  • reader_collision
  • future_route_acceptance
  • enforcement_load
  • reality_drift
  • continuity_hazard
  • inspection_heat
  • bureau_favor_debt
  • archive_signature_legitimacy
  • archive_debt
  • public_receipt_legitimacy
  • public_receipt_distrust
  • fan_oxygen_resentment
  • sponsor_stop_loss_pressure
  • contract_capture
  • artist_refusal_respected
  • voice_integrity_risk
  • edit_debt
  • source_ambiguity
  • route_asset_pressure
  • claimant_hostility
  • management_pressure
  • black_screen_slots

Integration notes

Missability and recovery

This storyline is missed when the implementation lets one source row satisfy every reader, hides the reader table, names only one reader, or lets a future route cite the source without scoped acceptance state.

Missed states:

  • reader_collision_unopened
  • future_reader_absent_unrecorded
  • false_universal_key
  • public_only_capture
  • lawful_only_capture
  • sponsor_capture
  • artist_boundary_route_block
  • route_asset_false_owner
  • claimant_reader_hostile
  • recovery_only_source

Recovery requires visible scar:

  • reopen 读者冲突听证 and name the excluded reader;
  • publish an omitted public receipt and accept sponsor or inspection heat;
  • appoint lawful monitor and accept bureau debt;
  • quarantine the source and block a route;
  • protect an artist boundary and sacrifice clean reuse;
  • rescue a captured route asset;
  • accept public-only, lawful-only, sponsor-only, artist-boundary-only, route-asset-only, or recovery-only future use.

Replay/session evidence shape

storyline: storyteller.storyline.ruling_reader_collision.v1
session_id: lens-ruling-reader-collision-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
  trigger_kind: state_pressure
  source_ruling_or_row: <id>
  source_state_before: served | public_receipt | load_row | drift_docket | settlement | custody_order | boundary | equivalent
  source_history_preserved: true
  readers_min: 2
  incompatible_acceptance_rules: true
  no_fixed_turn_trigger: true
offered:
  card: storyteller.card.ruling_reader_collision_docket.v1
  rite: storyteller.rite.reader_collision_hearing.v1
collision_row:
  row_id: <row>
  readers:
    - reader_id: <reader-a>
      reader_type: <type>
      wants: <demand>
    - reader_id: <reader-b>
      reader_type: <type>
      wants: <demand>
  incompatibility: <kind>
branch_runs:
  served_branch:
    selected_recognition_surface: lawful_priority | public_priority | sponsor_priority | artist_boundary_priority | split_table | quarantine
    primary_reader: <reader>
    excluded_or_scoped_reader: <reader>
    authority_or_absence: <authority or explicit_absence>
    proof_bridge_or_absence: <proof or explicit_absence>
    protected_boundary_or_absence: <boundary or explicit_absence>
    reader_states_after: []
    counter_deltas:
      relief: []
      cost: []
      future: []
  default_branch:
    event_seen_or_armed: storyteller.event.reader_collision_default.v1
    capturing_reader: <reader>
    excluded_reader: <reader>
    reader_states_after: []
    counter_deltas:
      relief: []
      cost: []
      future: []
assertions:
  - entry_is_state_triggered
  - source_history_preserved
  - multiple_readers_visible
  - incompatibility_visible
  - reader_states_diverge
  - relief_cost_and_future_effect_visible
  - default_has_named_capturing_reader
  - no_universal_clean_acceptance
  - no_fixed_turn_trigger

Non-goals

  • Not a fixed turn or calendar aftermath.
  • Not a generic faction council.
  • Not bulk filler.
  • Not a new verdict.
  • Not a clean retcon button.
  • Not valid if every reader accepts the same source cleanly.
  • Not valid unless future routes actually read the scoped reader states.