Liaison Defection Counteroffer / 联络人倒戈反报价

Liaison Defection Counteroffer is the event fired or armed when a counteroffer-bearing liaison is left unpaid, unprotected, coerced, traded without scar, exposed without shelter, or defined first by a hostile desk.

It turns missed cross-desk negotiation into a durable NPC consequence.

Executable trigger and result

The runtime event uses the existing ID event.storyteller.liaison_defection_counteroffer.v1. It becomes eligible only when the strict disposition review has set both:

  • event.liaison_defection_counteroffer.armed;
  • ning_zhe.state.defection_pending.

It also requires the actual Ning Zhe and counteroffer docket cards, and it cannot resolve twice. Its priority is above unrelated ambient events so the miss receipt is not silently delayed.

Resolution:

  • removes card.storyteller.ning_zhe_desk_liaison.v1;
  • gains card.storyteller.ning_zhe_defection_counterreceipt.v1;
  • clears the pending/armed flags;
  • sets ning_zhe.missed and ning_zhe.state.hostile_missing_recovery_only;
  • preserves ning_zhe.future.counteroffer_recovery_only;
  • creates no route asset.

Trigger

Fire or arm this event when a 桌间联络人反报价案卷 reaches one of these states:

  • counteroffer_defaulted;
  • liaison_suppressed_or_traded without visible future cost;
  • first_terms_protected while the counteroffering desk keeps access to the liaison;
  • counteroffer_exposed_publicly without protection, payroll, alias, oath, or public shelter;
  • missing handler, missing proof, missing liaison, or hidden desk terms;
  • same liaison promised as clean carrier to incompatible desks.

The event must not fire from fixed turn count or generic faction anger.

Payload

event: storyteller.event.liaison_defection_counteroffer.v1
source_docket: storyteller.card.desk_liaison_counteroffer_docket.v1
source_surface: <drift, custody, sponsor, inspector, editor, public, or route-asset surface>
liaison: <id or explicit_missing_liaison>
liaison_state_before: <state>
defecting_or_claiming_desk: sponsor | inspector | archive | editor | public_fan | pirate_relay | artist_boundary | management | equivalent
betrayed_or_excluded_desk: <desk or explicit_absence>
defection_reason: unpaid | unprotected | coerced | overexposed | traded | hidden_terms | double_promised | handler_absent | proof_absent | equivalent
state_after: hostile_missing_recovery_only
future_route_effect: <blocked, costlier, public_only, lawful_only, sponsor_gated, editor_gated, recovery_only, equivalent>
counter_deltas: {}

Executable event branch

The current runtime has one explicit composite outcome:

  • Ning Zhe becomes hostile to the attempted clean closure;
  • she is missing from the current roster;
  • any future return is recovery-only and must carry additional cost;
  • the counterreceipt remains as proof of the miss.

captured_liaison and false_intermediary remain legacy hearing vocabulary, not executable outcomes of this event. They must not be counted as reachable Ning Zhe runtime states until a future source-backed branch implements them.

Required deltas

Every fired event should mutate at least three surfaces unless it is only armed as a pending event. At least one should alter route access, future difficulty, route asset state, follower/NPC posture, or broadcast reality.

Useful counters:

  • liaison_trust
  • liaison_exposure
  • liaison_capture_risk
  • desk_counteroffer_pressure
  • claimant_hostility
  • sponsor_stop_loss_pressure
  • inspection_heat
  • archive_debt
  • edit_debt
  • source_ambiguity
  • public_receipt_distrust
  • fan_oxygen_resentment
  • future_blackmail_cost
  • future_recovery_cost

Non-goals

  • Not a generic betrayal scene.
  • Not a passive relationship-meter drop.
  • Not punishment for refusing every offer.
  • Not fixed-turn escalation.
  • Not valid unless the liaison state and future route effect are durable.