Phantom Route Rumor Pressure Lens / 幻路线传言压力 Lens

This lens observes whether 幻路线传言压力线 and 幻路线传言压力机制 correctly make unrealized routes playable without turning them into free retcons.

A pass cannot be achieved by adding rumor flavor, popularity damage, or a hidden route label. The implementation must expose source absence, exposure source, claimant, requested reader, excluded reader, proof anchor, available review, divergent outcomes, cost, default, future route effect, and replay evidence.

This lens observes:

It is observed through:

Observable promise

When an absent route becomes visible, the game must ask: who is trying to spend that absence, and what future route becomes harder if production lets the rumor define reality?

The answer must be visible in state.

Must pass

1. Entry comes from state pressure

Minimum entry evidence:

entry_state:
  trigger_kind: state_pressure
  unrealized_route_surface_present: true
  exposure_source_present: true
  claimant_or_claimant_public_present: true
  requested_reader_present: true
  excluded_reader_or_explicit_absence_visible: true
  proof_anchor_or_explicit_absence_visible: true
  future_route_or_reader_effect_present: true
  no_fixed_turn_trigger: true

Valid source families include declined offer, branch eligibility, route discontinuance, loadout impossibility, fan ledger post, sponsor copy, cutroom leak, inspector query, archive stub, or broadcast drift artifact.

The lens fails if entry uses fixed turn number, fixed day/week, raw rumor count, dashboard state, lens health, or generic popularity pressure.

2. Docket row records all pressure owners

幻路线传言案卷 or equivalent must expose at least one row with this shape:

phantom_route_row:
  row_id: <stable row id>
  source_absence_surface: <source family>
  unrealized_route_label: <label>
  absence_state_before: <state>
  exposure_source: <receipt/leak/witness/copy/manifest/stub>
  claimant_or_public: <claimant>
  requested_reader: <reader>
  excluded_reader_or_absence: <reader or explicit_absence>
  proof_anchor_or_absence: <proof or explicit_absence>
  current_rumor_state: exposed_absence | rumored_route | phantom_asset | hardening_ready | equivalent
  future_route_or_reader_effect_if_unanswered: <effect>

The lens fails if the card is only a rumor list, route teaser, or reputation marker.

3. Review is assignable

幻路线传言复核 or equivalent must require concrete assignments:

assignments:
  docket: storyteller.card.phantom_route_rumor_docket.v1
  selected_row: <row id>
  selected_posture: scope_disavowal | publish_countercopy | compensate_without_canon | quarantine_proof_anchor | convert_to_phantom_asset | let_default
  handler_or_absence: <handler or explicit_absence>
  proof_anchor_or_absence: <proof or explicit_absence>
  claimant_or_public: <claimant>
  requested_reader: <reader>
  excluded_reader_or_absence: <reader or explicit_absence>
  future_route_or_reader_effect_before: <effect>

The lens fails if a generic action clears the rumor, if absence is hidden, or if a handler removes the row without proof, boundary, cost, or future effect.

4. Branches diverge

At least five branch families must be playable or explicitly blocked by state:

  • scope disavowal;
  • publish countercopy;
  • compensate without canon;
  • quarantine proof anchor;
  • convert to phantom asset;
  • let default.

Expected non-equivalence:

  • disavowal lowers citation leverage but raises public or inspection cost;
  • countercopy makes absence legible but exposes another reader;
  • compensation softens claimant pressure without route-delivery proof;
  • quarantine delays or narrows current use;
  • phantom asset creates a scoped bridge with maintenance;
  • default lets another reader author the missing route meaning.

The lens fails if every branch returns rumor_resolved or route_available.

5. Absence is preserved unless another content surface changes it

Managed branches must keep the route unrealized by default.

Required evidence:

absence_integrity:
  absence_state_before: <state>
  selected_posture: <posture>
  route_delivery_proof_created: false_or_explicit_source
  absence_state_after: scoped_disavowal | countercopy_published | compensated_without_canon | quarantined_phantom | phantom_asset | equivalent
  canon_changed_by_this_rite: false

The lens fails if compensation, sponsor copy, fan expectation, or a countercopy silently makes the route true.

6. Success has cost

Any non-default branch must include relief and cost.

Valid costs include:

  • public expectation debt;
  • fan oxygen resentment;
  • sponsor stop-loss or copy rewrite pressure;
  • inspection heat;
  • archive debt;
  • witness exposure;
  • broadcast reality drift;
  • route delay;
  • compensation precedent;
  • proof quarantine;
  • phantom asset maintenance;
  • recovery-only route use.

The lens fails if managed review removes pressure for free.

7. Default is durable

幻路线认领默认 or equivalent must fire or arm when the row is ignored, hidden, cited without scope, or answered without required input.

Required event evidence:

phantom_route_claim_default:
  event: storyteller.event.phantom_route_claim_default.v1
  source_docket: storyteller.card.phantom_route_rumor_docket.v1
  row_id: <row>
  default_reader: public | sponsor | inspector | archive | route_asset | broadcast_reality | equivalent
  default_claim: <claim>
  phantom_route_state_after: <state>
  proof_anchor_after: <state or explicit_absence>
  future_route_effect: blocked | costlier | hostile | sponsor_only | public_only | lawful_only | archive_gate_required | recovery_only | equivalent

The lens fails if default is only prose or only a counter tick.

8. Future reader consumes the result

At least one later route, reader, rite, or assignment must read the managed or default state.

Required evidence:

future_route_acceptance_check:
  route_or_reader: <id>
  phantom_route_state_required_or_blocked: <state>
  accepted_states: []
  rejected_or_costlier_states: []
  route_effect_after_branch: accepted_with_disavowal | addendum_required | sponsor_rewrite_required | proof_required | unlocked_with_scar | blocked | hostile | recovery_only | equivalent

The lens fails if scoped, countercopy, compensated, quarantined, phantom-asset, and default states all produce the same future acceptance.

9. At least five state surfaces change

Every resolved branch must mutate:

  • phantom route state;
  • claimant or reader state;
  • proof anchor or explicit absence state;
  • one cost surface;
  • future route or reader effect.

Suggested counters include phantom_route_pressure, rumor_claimant_leverage, public_expectation_debt, sponsor_copy_overclaim_pressure, fan_oxygen_resentment, inspection_heat, archive_debt, broadcast_reality_drift, route_discontinuance_legibility, declined_offer_legitimacy, countercopy_exposure, phantom_asset_maintenance, and future_route_acceptance.

10. Replay provenance is not trigger logic

Replay evidence may record seed, session id, source surface, offered choices, assigned cards, branch results, and future route checks. Eligibility still depends on state: unrealized route, exposure source, claimant, reader, proof anchor, and future effect.

Replay/session evidence shape

lens_id: storyteller.lens.phantom_route_rumor_pressure.v1
session_id: lens-phantom-route-rumor-pressure-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
  trigger_kind: state_pressure
  unrealized_route_surface_present: true
  exposure_source_present: true
  claimant_or_claimant_public_present: true
  requested_reader_present: true
  excluded_reader_or_explicit_absence_visible: true
  proof_anchor_or_explicit_absence_visible: true
  future_route_or_reader_effect_present: true
  no_fixed_turn_trigger: true
offered:
  card: storyteller.card.phantom_route_rumor_docket.v1
  rite: storyteller.rite.phantom_route_rumor_review.v1
branch_runs:
  managed_branch:
    selected_posture: scope_disavowal | publish_countercopy | compensate_without_canon | quarantine_proof_anchor | convert_to_phantom_asset
    phantom_route_state_after: <state>
    absence_integrity_kept: true
    proof_anchor_after: <state or explicit_absence>
    future_route_effect: <effect>
  default_branch:
    event_seen_or_armed: storyteller.event.phantom_route_claim_default.v1
    default_reader: <reader>
    default_claim: <claim>
    future_route_effect: <effect>
assertions:
  - entry_is_state_pressure_not_time_or_count
  - docket_row_records_source_absence_exposure_claimant_reader_excluded_reader_proof_anchor_and_future_effect
  - review_is_assignable
  - branches_diverge
  - absence_not_accidentally_canonized
  - success_has_cost
  - default_is_durable
  - future_reader_consumes_result

Non-goals

  • Not hidden route enumeration.
  • Not a teaser system.
  • Not generic rumor heat.
  • Not retcon permission.
  • Not a fixed escalation phase.
  • Not valid unless an unrealized route changes future playable acceptance through visible pressure state and replay evidence.