Route Tag Momentum Collision / 路线标签动量撞车机制

This mechanism governs how route tags from multiple prior rows become future route pressure without turning into a hidden score.

The route matrix wants routes to emerge from accumulation. The rule here is that accumulation is row-scoped: every future route claim must preserve source rows, tag scopes, scars, rejected readers, and conflicts before it can bind, split, convert, quarantine, spend, addend, or default.

State object

route_tag_momentum_state:
  accumulated_route_tags_visible: true
  source_broadcast_or_legacy_rows_min: 2
  conflicting_route_families_min: 2
  dominant_route_claim_visible: true
  future_reader_or_route_consumes_momentum: true
  prior_route_tag_scars_visible_or_explicit_absence: true
  no_raw_route_tag_count_trigger: true

The mechanism may read counts, but it cannot decide from counts alone. A count becomes usable only after row scope and scar are visible.

Source row rule

Each consumed route row must retain:

source_broadcast_or_legacy_row:
  row_id: <stable row id>
  source_surface: on_screen_slot_readback | weekly_broadcast_cycle_audit | ending_scar_ledger | explicit_absence_register | broadcast_reality_drift | equivalent
  route_tag: company | intimacy | liquidation | resistance | chaos | public_only | lawful_only | sponsor_captured | blackout_fold | recovery_only | equivalent
  route_tag_scope: public | lawful | sponsor | archive | character | route_asset | ending | explicit_absence | equivalent
  scar_or_cost: <scar cost debt contradiction or explicit_absence>
  reader_that_accepted: <reader or explicit_absence>
  reader_that_rejected_or_absence: <reader or explicit_absence>
  future_claim: <route character forced main deck ending or explicit_absence>

Rows with explicit absence can be cited only when they weaken, narrow, delay, quarantine, or default the route claim.

Resolution postures

allowed_postures:
  - bind_dominant_route
  - split_route_momentum
  - convert_route_tag
  - quarantine_false_momentum
  - spend_momentum_with_scar
  - publish_route_addendum
  - false_route_momentum_default

Every posture must produce:

posture_result_required:
  momentum_state_after: dominant_bound_with_scope | split_momentum | converted_with_cost | quarantined_false_momentum | spent_with_scar | addendum_required | false_dominant | hostile_split | recovery_only | equivalent
  future_reader_or_route_effect: blocked | costlier | accepted_with_scope | addendum_required | contradiction_pending | ending_scar_required | recovery_only | equivalent
  relief_any: []
  cost_any: []
  future_effect_any: []

False momentum rule

False route momentum exists when:

  • a future route consumes raw tag count without source rows;
  • sponsor-captured or public-only tags become universal proof;
  • a hidden route scar is treated as clean support;
  • a rejected reader disappears from the route claim;
  • conflicting route families are flattened into one clean dominant route;
  • a missing source row is not explicit absence.

The result is False Route Momentum Default, not a soft warning.

Non-goals

  • Not a route picker.
  • Not a morale score.
  • Not a replacement for route-matrix verbs.
  • Not valid unless source rows, route scopes, scars, conflicting families, and future reader effect stay observable.