Adverse Coalition Lock / 反向同盟锁机制
Adverse Coalition Lock defines the pressure state where two or more non-player factions stop bidding separately and combine their leverage to lock a route asset, proof object, person, public receipt, lawful copy, edit copy, or broadcast slot that the player had already made useful.
The point is not to add another claimant. The point is to make an already-green branch remain playable when previous enemies learn from the player’s success. 派系承诺账本 can create coalition_formed; this mechanic turns that state into assignable pressure instead of ambient threat text.
Design gap covered
The current mesh already supports:
- finite faction commitments through 派系承诺账本机制;
- three-key asset release through 三钥羁押撞锁线;
- finite service through 执行授权枯竭线;
- channel conversion through 播出合法性转轨线;
- durable asset state through Route Assets and Custody.
The missing mechanic is hostile coordination. Sponsor, inspector, archive, editor, fan public, pirate relay, claimant family, or management proxy pressure may be individually costed, but two losing rows can still combine into a lock: one faction supplies money or law, the other supplies silence, proof custody, public noise, edit priority, or carrier access. The player must then break the coalition, split it, buy a stand-down, expose contradiction, or let it harden.
Entry state
Open coalition lock only from state pressure:
entry_state:
trigger_kind: state_pressure
coalition_rows_min: 2
coalition_rows_share_target: true
coalition_members_any:
- sponsor
- inspector
- archive
- editor
- fan_public
- pirate_relay
- claimant_family
- management_proxy
each_member_has_prior_spend_or_loss: true
target_asset_has_prior_use_or_relief: true
combined_lock_can_change_future_route: true
no_fixed_turn_trigger: trueThe mechanic fails if the lock appears because of a numbered turn, day interval, chapter quota, content count, lens health, or generic difficulty escalation.
Required lock row
A valid coalition row records:
coalition_row:
coalition_id: <stable id>
target_asset_id: <route asset/proof/person/slot>
member_rows:
- faction: <faction>
source_surface: <source storyline or card>
prior_spend_or_loss: <what this faction already spent or lost>
demanded_control: <what this faction now wants>
- faction: <second faction>
source_surface: <source storyline or card>
prior_spend_or_loss: <what this faction already spent or lost>
demanded_control: <what this faction now wants>
lock_terms:
- <combined demand>
contradiction_or_absence: <proof/absence that may break the coalition>
harmed_if_hardened: <claimant/person/route>
future_route_effect_if_unbroken: <blocked/captured/costlier/recovery_only>A famous faction name is insufficient. Each member must show what it contributes to the lock and what earlier scar made the alliance plausible.
Coalition states
| State | Meaning | Required consequence |
|---|---|---|
coalition_watchlisted | Two compatible hostile or controlling rows exist but have not locked the target. | Future offer may mature if the same target is reused. |
coalition_declared | Members openly name a combined demand. | Player must break, split, expose, buy down, freeze, decoy, or default. |
quiet_coalition | Members coordinate through silence, retainer, edit hold, or private legal notice. | Public/player visibility is weak; hardening risk rises. |
coalition_lock_active | Combined terms block clean use of the target. | At least one current rite or route option becomes blocked or costlier. |
coalition_split | Player separates members or assigns them incompatible seats. | One member weakens; ambiguity or retaliation persists. |
coalition_exposed | Contradiction, public receipt, oath, checksum, or trace proof breaks the shared story. | Coalition loses clean pressure; exposure cost rises. |
standdown_bought | Manager, sponsor, legal, public, or edit price pauses the lock. | Immediate lock falls; debt or capture rises. |
lock_frozen | The target is quarantined under proof, audit, public notice, or edit escrow. | False capture falls; schedule, fan, sponsor, or handler cost rises. |
decoy_release | A sacrificial copy, public stub, or edit decoy absorbs the lock. | Real target survives; source ambiguity, edit debt, or public distrust rises. |
lock_hardened | Coalition narrates the target first. | Target becomes captured, hostile, false-owner, route-limited, or recovery-only. |
coalition_recovered_with_scar | Later recovery restores partial use. | Route returns with higher cost and remembered coalition scar. |
Branch families
Break by contradiction
Use public receipt, audit oath, archive mismatch, checksum, source tape, witness trace, pirate timestamp, fan oxygen stub, or prior session provenance to prove the coalition members cannot both be true.
Expected result:
selected_branch: break_by_contradiction
state_after_any: [coalition_exposed, coalition_split]
relief_any: [clean_lock_broken, false_owner_pressure_down, route_asset_pressure_down]
cost_any: [inspection_heat_up, public_exposure_up, source_ambiguity_up, faction_hostility_up]
future_route_effect_any: [unlocked_with_scar, public_audit_required, lawful_conversion_required]Split the coalition
Seat one member under a constrained role and make the other member’s demand visible as harmed or unserved.
Expected result:
selected_branch: split_coalition
state_after: coalition_split
relief_any: [one_member_pressure_down, target_use_partially_unblocked]
cost_any: [retaliation_pressure_up, coalition_watchlist_remains, future_route_cost_up]
future_route_effect_any: [costlier, split_custody, public_only, lawful_only]Buy a stand-down
Spend money, schedule scar, sponsor escrow, manager favor, legal stay, public apology, edit slot, or fan oxygen collateral to pause the lock.
Expected result:
selected_branch: buy_standdown
state_after: standdown_bought
relief_any: [immediate_route_unblocked, blackout_or_lockout_delayed]
cost_any: [contract_capture_up, bureau_favor_debt_up, edit_debt_up, fan_oxygen_resentment_up, future_blackmail_cost_up]
future_route_effect_any: [unlocked_with_debt, sponsor_gate_required, recovery_cost_up]Freeze the target
Quarantine the target instead of letting either member define it.
Expected result:
selected_branch: freeze_target
state_after: lock_frozen
relief_any: [false_capture_blocked, counterfeit_compliance_down, hostile_claim_delayed]
cost_any: [schedule_pressure_up, public_distrust_up, route_asset_pressure_up, handler_burden_up]
future_route_effect_any: [quarantined, recovery_only, delayed]Decoy release
Release a copy, redaction, public stub, sacrificial permit, or checksum decoy to satisfy the coalition while preserving the true route asset.
Expected result:
selected_branch: decoy_release
state_after: decoy_release
relief_any: [primary_asset_protected, immediate_lock_softened]
cost_any: [source_ambiguity_up, edit_debt_up, public_receipt_distrust_up, future_fraud_cost_up]
future_route_effect_any: [split_canon, contradiction_pending, costlier]Default into hardened lock
If the player hides the coalition, lacks proof, accepts quiet terms, or lets the alliance narrate first, the lock hardens.
Expected result:
selected_branch: default_harden
state_after: lock_hardened
emitted_event: storyteller.event.coalition_lock_hardening.v1
asset_state_after_any: [captured, hostile, false_owner, sponsor_only, lawful_only, editor_only, public_only, recovery_only]
future_route_effect_any: [blocked, costlier, captured, hostile, recovery_only]Counter contract
Every resolved coalition lock must mutate at least three counters or durable states. At least one must be relief and at least one must be cost.
Primary surfaces:
coalition_pressurecoalition_lock_strengthcoalition_trace_legitimacyroute_asset_pressurecustody_gapfalse_owner_pressuresponsor_stop_loss_pressurecontract_captureinspection_heatbureau_favor_debtarchive_debtedit_debtsource_ambiguitypublic_receipt_legitimacypublic_receipt_distrustfan_oxygen_resentmentpirate_exposurewitness_retaliation_riskhandler_burdenfuture_blackmail_costfuture_recovery_costblack_screen_pressure
Miss and recovery
The mechanic is missed when a coalition is treated as generic pressure, when only one member row is recorded, when a route asset becomes captured without naming the combined terms, or when the player can dissolve the coalition without cost.
Recovery requires a scarred action: public contradiction, lawful freeze, sponsor unwinding, edit-source reveal, witness rescue, route-asset exchange, fan oxygen bond, or recovery-only broadcast. Recovery cannot erase the source rows that made the coalition plausible.
Replay evidence shape
mechanic_id: storyteller.mechanic.adverse_coalition_lock.v1
session_id: lens-storyteller-adverse-coalition-lock-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
coalition_rows_min: 2
target_asset_id: <stable target>
target_asset_state_before: <state>
coalition_member_rows:
- source_surface: <surface>
faction: <faction>
prior_spend_or_loss: <state>
demanded_control: <control>
- source_surface: <surface>
faction: <faction>
prior_spend_or_loss: <state>
demanded_control: <control>
combined_lock_terms:
- <term>
no_fixed_turn_trigger: true
branch_result:
selected_branch: break_by_contradiction | split_coalition | buy_standdown | freeze_target | decoy_release | default_harden
coalition_state_after: <state>
target_asset_state_after: <state>
emitted_event: storyteller.event.coalition_lock_hardening.v1 | none
future_route_effect: <effect>
counter_deltas:
relief:
- <relief>
cost:
- <cost>Non-goals
- Not a new faction economy simulator.
- Not a generic difficulty spike.
- Not a fixed-turn callback.
- Not a raw content-count package.
- Not a governance or dashboard page.
- Not a way to erase prior faction losses, overcommitments, or route-asset scars.
- Not a duplicate of three-key release; this mechanic handles hostile alliance formation after prior faction rows exist.