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.
Primary observation link
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: trueValid 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, orrecovery_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, orrecovery_only.
Sponsor priority
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, orrecovery_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, orrecovery_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_costlawful_onlypublic_onlysponsor_onlyartist_boundary_onlyeditor_patch_onlyroute_asset_onlynarrowedblockedhostilecapturedaudit_requiredcontradiction_pendingrecovery_onlyfalse_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_oneRelevant surfaces:
reader_collisionfuture_route_acceptanceenforcement_loadreality_driftcontinuity_hazardinspection_heatbureau_favor_debtarchive_signature_legitimacyarchive_debtpublic_receipt_legitimacypublic_receipt_distrustfan_oxygen_resentmentsponsor_stop_loss_pressurecontract_captureartist_refusal_respectedvoice_integrity_riskedit_debtsource_ambiguityroute_asset_pressureclaimant_hostilitymanagement_pressureblack_screen_slots
Oracle assertions
A binding check should fail unless all assertions below are true.
- Primary links exist — the lens has populated
observesandobserved_througharrays pointing to concrete Storyteller pages. - Entry is state-triggered — entry comes from a preserved source row plus incompatible future readers, not a fixed sequence position.
- Source is preserved — the old ruling, receipt, docket, boundary, or asset row is not retried or erased.
- Multiple readers are visible — at least two future readers are present and typed.
- Incompatibility is explicit — reader demands and minimum surfaces cannot all be satisfied cleanly.
- Docket memory exists — a card or equivalent object records source, readers, incompatibility, selected recognition, reader states, and default.
- Rite assignment exists — the player can assign a recognition surface or record explicit absence.
- Reader states diverge — at least two readers end in different durable states.
- Every success has cost — any branch that improves one reader worsens another surface or narrows future use.
- Default is durable — hidden, underfilled, false-served, or unassigned collision produces capturing reader, excluded reader, and future consequence.
- 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.
- 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_triggerFailure 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.