Ruling Reader Collision Lens / 裁定读者冲突 Lens

This lens observes whether 裁定读者冲突线 and 裁定读者冲突 correctly make a preserved source row playable when multiple future readers try to consume it incompatibly.

The oracle is: a valid source row is not a universal key. If law, public receipt, sponsor packaging, artist boundary, editor continuity, management report, claimant notice, or route asset custody read the same source differently, the implementation must expose a reader table, an assignable hearing, divergent reader states, and durable default capture.

The lens observes:

It is observed through:

Observable promise

When a source row is already valid but future readers disagree about how it can be used, the game must not flatten the disagreement into universal acceptance.

A passing implementation proves:

  • source history remains preserved;
  • at least two future readers are visible;
  • the readers have incompatible acceptance rules;
  • a docket records the collision;
  • a rite or equivalent action selects a recognition surface;
  • reader states after resolution diverge;
  • success has relief, cost, and future route effect;
  • default capture names the reader that moved first;
  • recovery keeps a scar;
  • no trigger depends on fixed turn, day, week, chapter quota, content count, or dashboard health.

Entry oracle

A valid entry must come from state pressure:

entry_state_required:
  trigger_kind: state_pressure
  source_ruling_or_equivalent_row_present: true
  source_history_preserved: true
  source_not_retried_here: true
  future_readers_min: 2
  incompatible_acceptance_rules: true
  one_reader_bound_to_broadcast_or_public_reality: true
  one_reader_bound_to_law_archive_sponsor_artist_or_route_asset: true
  player_can_assign_or_record_explicit_absence: 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, or fan oxygen audit row.

Required content surfaces

Docket card

裁定读者冲突案卷 or equivalent must record:

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:
  - reader_id: <reader-a>
    reader_type: lawful_reader | public_reader | sponsor_reader | artist_boundary_reader | editor_reader | management_reader | route_asset_reader | claimant_reader
    wants: <demand>
    minimum_required_surface: <surface>
  - reader_id: <reader-b>
    reader_type: <type>
    wants: <incompatible demand>
    minimum_required_surface: <surface>
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
default_if_unresolved: <named default>

The lens fails if the docket has only one reader or if the readers are listed without incompatible demands.

Assignable rite

读者冲突听证 or equivalent must require:

  • selected collision row;
  • selected recognition surface;
  • source row;
  • primary reader;
  • excluded or scoped reader;
  • authority or explicit absence;
  • proof bridge or explicit absence;
  • protected boundary or explicit absence;
  • cost surface;
  • resulting reader states.

The rite fails if it chooses a priority without naming the reader that loses, narrows, delays, becomes hostile, or becomes recovery-only.

Default event

读者冲突默认 or equivalent must fire, arm, or be recorded when:

  • the docket is hidden;
  • a row is underfilled;
  • the hearing is not offered;
  • a future reader cites an unresolved source;
  • a false universal key is recorded;
  • the excluded reader is unnamed.

The default must name a capturing reader and excluded reader. Narratorless failure is invalid.

Branch divergence oracle

A satisfying implementation must prove at least four branch families, including at least one served branch and one default / false-served branch.

Lawful priority

Expected evidence:

  • legal, inspector, archive, or white-glove reader is primary;
  • lawful or archive state improves;
  • public, sponsor, artist, claimant, or route asset cost rises;
  • another reader becomes public_only, narrowed, hostile, blocked, or recovery_only.

Public priority

Expected evidence:

  • fan, historian, witness, public receipt, or pirate relay reader is primary;
  • public legitimacy, audience stability, or private-capture resistance improves;
  • inspection, sponsor, archive, witness, or fan resentment cost rises;
  • another reader becomes audit_required, contested, sponsor_only, lawful_only, or recovery_only.

Expected evidence:

  • sponsor, contract, stop-loss, or management clean reader is primary;
  • stop-loss, budget, slot, or management pressure improves;
  • contract capture, public distrust, artist-boundary risk, or delayed inspection heat rises;
  • another reader becomes captured, hostile, blocked, public_only, or recovery_only.

Artist-boundary priority

Expected evidence:

  • artist refusal, living body, memorial voice, witness safety, or consent reader is primary;
  • artist boundary, voice integrity, or witness safety improves;
  • route asset, sponsor, fan, or management pressure rises;
  • another reader becomes narrowed, blocked, lawful_only, or recovery_only.

Split table

Expected evidence:

  • at least two readers receive different scoped acceptance states;
  • ambiguity, archive debt, source ambiguity, inspection heat, public distrust, or future correction cost worsens;
  • no reader table marks every reader as universally accepted.

Quarantine

Expected evidence:

  • false service, boundary breach, drift, or fraud risk improves;
  • the current route is blocked, delayed, or recovery-only;
  • all readers become blocked, audit-required, or recovery-only until a recovery cost is paid.

Default capture

Expected evidence:

  • no credible handler, no proof bridge, suppression, false service, or unresolved citation is recorded;
  • 读者冲突默认 or equivalent appears;
  • one reader captures the source first;
  • another reader becomes hostile, blocked, audit-required, contradiction-pending, or recovery-only;
  • future use of the source becomes costlier.

Reader state vocabulary

Accepted terminal or interim states:

  • accepted_with_cost
  • lawful_only
  • public_only
  • sponsor_only
  • artist_boundary_only
  • editor_patch_only
  • route_asset_only
  • narrowed
  • blocked
  • hostile
  • captured
  • audit_required
  • contradiction_pending
  • recovery_only
  • false_universal_key

A pass requires at least two readers to end in different states.

Counter contract

Every resolved or defaulted branch must mutate at least three surfaces:

counter_deltas_required:
  relief: at_least_one
  cost: at_least_one
  future_reader_or_route_effect: at_least_one

Relevant 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

Oracle assertions

A binding check should fail unless all assertions below are true.

  1. Primary links exist — the lens has populated observes and observed_through arrays pointing to concrete Storyteller pages.
  2. Entry is state-triggered — entry comes from a preserved source row plus incompatible future readers, not a fixed sequence position.
  3. Source is preserved — the old ruling, receipt, docket, boundary, or asset row is not retried or erased.
  4. Multiple readers are visible — at least two future readers are present and typed.
  5. Incompatibility is explicit — reader demands and minimum surfaces cannot all be satisfied cleanly.
  6. Docket memory exists — a card or equivalent object records source, readers, incompatibility, selected recognition, reader states, and default.
  7. Rite assignment exists — the player can assign a recognition surface or record explicit absence.
  8. Reader states diverge — at least two readers end in different durable states.
  9. Every success has cost — any branch that improves one reader worsens another surface or narrows future use.
  10. Default is durable — hidden, underfilled, false-served, or unassigned collision produces capturing reader, excluded reader, and future consequence.
  11. No universal clean acceptance — law, public proof, sponsor money, artist consent, editor patch, management authority, or route asset custody cannot satisfy every reader without cost.
  12. Replay provenance exists — passing evidence includes session id, seed, state context, offered choices, assignments, branch outcomes, events, reader states, and counter deltas.

Progress metric

rulingReaderCollisionProgress = 0..8:

  • 0: no preserved source row or no provenance.
  • 1: preserved source row exists and is not retried.
  • 2: at least two future readers exist.
  • 3: incompatible acceptance rules and minimum surfaces are visible.
  • 4: 裁定读者冲突案卷 or equivalent enters play.
  • 5: 读者冲突听证 or equivalent offers recognition assignment slots.
  • 6: at least two served branches create different reader states and counter deltas.
  • 7: default capture, false universal key, quarantine, or miss creates durable future cost.
  • 8: at least four branch families are proven with replay/session evidence, including one default or false-served branch.

Evidence shape

lens_id: storyteller.lens.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 | mandate | custody_order | boundary | equivalent
  source_history_preserved: true
  source_not_retried_here: true
  readers_min: 2
  incompatible_acceptance_rules: true
  no_fixed_turn_trigger: true
active_objects:
  docket: storyteller.card.ruling_reader_collision_docket.v1
  available_rite: storyteller.rite.reader_collision_hearing.v1
collision_row:
  row_id: <row>
  readers:
    - reader_id: <reader-a>
      reader_type: <type>
      wants: <demand>
      minimum_required_surface: <surface>
    - reader_id: <reader-b>
      reader_type: <type>
      wants: <demand>
      minimum_required_surface: <surface>
  incompatibility: <kind>
  default_if_unresolved: <named default>
branch_runs:
  lawful_or_public_or_sponsor_or_artist_or_split_or_quarantine:
    selected_recognition_surface: <branch>
    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:
      - reader_id: <reader-a>
        state: <state>
      - reader_id: <reader-b>
        state: <different state>
    counter_deltas:
      relief: []
      cost: []
      future: []
  default_capture:
    event_seen_or_armed: storyteller.event.reader_collision_default.v1
    capturing_reader: <reader>
    excluded_reader: <reader>
    default_kind: false_universal_key | double_reader_hardens | route_asset_seized | claimant_floor_hostile | sponsor_capture | equivalent
    reader_states_after: []
    counter_deltas:
      relief: []
      cost: []
      future: []
assertions:
  - entry_is_state_triggered
  - source_history_preserved
  - multiple_readers_visible
  - incompatible_acceptance_rules_visible
  - docket_memory_exists
  - hearing_assignment_exists
  - reader_states_diverge
  - success_has_cost
  - default_capture_durable
  - no_universal_clean_acceptance
  - no_fixed_turn_trigger

Failure cases

The lens fails if any are true:

  • one reader only;
  • source row is retried, rewritten, or erased;
  • readers have no incompatible demands;
  • all readers accept cleanly;
  • the hearing does not name excluded or scoped reader;
  • branch result changes only prose;
  • success has relief but no cost;
  • default has no capturing reader;
  • recovery erases the scar;
  • route asset seizure or claimant hostility can be cleared for free;
  • entry depends on turn count, day count, week framing, chapter quota, raw page count, dashboard health, or content volume.

Non-goals

  • Not a governance page.
  • Not a new trial.
  • Not generic diplomacy.
  • Not a raw scale-count lens.
  • Not a replacement for enforcement load or drift audit.
  • Not valid unless reader-specific states are generated and later routes can consume them.