Appeal Retaliation Counterpressure Lens / 申诉报复反压 Lens
This lens observes whether 申诉报复反压线 and 申诉报复反压机制 correctly turn retaliation after a failed or underfilled appeal into a scarred, assignable management surface.
A pass cannot be achieved by adding a comeback scene, generic faction anger, reputation recovery, or a clean appeal retry. The implementation must prove a source retaliation default, retaliation author, pressure trace or explicit absence, demanded control, counterpressure slots, divergent branches, costed success, failed-counterpressure hardening, and downstream consumption without any fixed turn trigger.
Primary observation link
This lens observes:
- 申诉报复反压线;
- 申诉报复反压机制;
- 指标捕获申诉线;
- 指标捕获申诉机制;
- 派系承诺账本;
- 派系承诺账本机制;
- 证人报复链;
- 受保护证人薪册机制;
- Producer License and Pressure;
- Route Assets and Custody.
It is observed through:
Design intent
The current corpus can prove a captured metric appeal and can punish an underfilled appeal. The next gap is what the player can do after retaliation becomes visible.
This lens requires retaliation to become playable counterpressure, not a mood penalty. The player must be able to identify the author, store the trace, assign handler/shield/price/future reader, and choose a branch that changes route state while preserving the original cost.
Must pass
1. Entry is state-triggered from retaliation default
Required entry evidence:
entry_state:
trigger_kind: state_pressure
source_retaliation_event_present: true
source_retaliation_event: storyteller.event.metric_appeal_retaliation_default.v1 | equivalent
captured_report_id_present: true
captured_metric_present: true
hidden_debt_present: true
retaliation_author_present: true
pressure_trace_or_explicit_absence_visible: true
future_reader_present: true
no_fixed_turn_trigger: trueThe lens fails if eligibility comes from fixed turn count, day count, phase quota, chapter quota, raw page count, dashboard state, or lens-health state.
2. Source retaliation is preserved
The counterpressure route must not delete or rewrite the original appeal default.
Required source shape:
source_retaliation:
source_retaliation_event: storyteller.event.metric_appeal_retaliation_default.v1 | equivalent
source_appeal_docket_or_report_id: <id>
captured_metric: <metric>
hidden_debt: <state>
default_state_before_counterpressure: appeal_discredited | sponsor_retaliation | lawful_reversal | public_backfire | crew_leak | route_asset_recapture | false_clean_hardened | recovery_only | equivalentThe lens fails if counterpressure silently reruns the original appeal or makes the default disappear.
3. Retaliation author, trace, and demanded control are visible
申诉报复账本 must record:
retaliation_row:
author: board | sponsor | inspector | editor | fan_public | crew_table | route_asset_claimant | blackout_system | equivalent
named_actor_or_absence: <actor_or_explicit_absence>
retaliation_vector: discredit | sponsor_retainer | lawful_reversal | public_backfire | crew_leak | route_asset_recapture | false_clean_hardened | recovery_only | equivalent
demanded_control: report_state | release_wording | legal_status | public_table | route_asset | witness | quote | producer_license | equivalent
reserve_spent_or_absence: escrow | lien | audit_seal | edit_hold | oxygen_queue | seizure_team | silence_retainer | public_vigil | explicit_absence | equivalent
pressure_trace:
trace_state: absent | weak | recorded | admissible | public | poisoned
trace_anchor_or_absence: <receipt_oath_checksum_release_notice_witness_or_explicit_absence>The lens fails if retaliation is only anonymous backlash or generic faction hostility.
4. Ledger records slots and future reader
The ledger must expose concrete slots:
counterpressure_slots:
selected_mode_or_absence: public_trace_exposure | lawful_stay | sponsor_release_call | route_asset_counterseal | witness_shelter | bait_overcommitment | explicit_no_answer
handler_or_absence: <handler_or_explicit_absence>
shield_or_absence: public_receipt | lawful_oath | sponsor_release | route_counterseal | payroll_shelter | edit_mask | explicit_absence | equivalent
price_or_absence: exposure | bureau_favor_debt | contract_capture | quarantine | payroll | edit_debt | fan_oxygen_liability | explicit_absence | equivalent
future_reader: <route_or_slot_or_license_or_public_table>Famous characters, legal authority, sponsor money, edit control, or public outrage cannot satisfy the lens unless they fill a slot or explicit absence.
5. Hearing assignments are explicit
申诉报复反压听证 must require:
hearing_assignment:
ledger: storyteller.card.appeal_retaliation_ledger.v1
source_retaliation_event: storyteller.event.metric_appeal_retaliation_default.v1 | equivalent
captured_report_id: <id>
retaliation_author: <author>
retaliation_vector: <vector>
pressure_trace_or_absence: <trace_or_absence>
selected_counterpressure_mode: public_trace_exposure | lawful_stay | sponsor_release_call | route_asset_counterseal | witness_shelter | bait_overcommitment | explicit_no_answer
handler_or_absence: <handler_or_absence>
shield_or_absence: <shield_or_absence>
price_or_absence: <price_or_absence>
future_reader: <reader>The lens fails if the player can counter retaliation without report id, source default, author, trace, handler, price, or future reader.
6. Branch families diverge
At least six branch families must be playable or explicitly blocked by state:
- public trace exposure;
- lawful stay;
- sponsor release call;
- route asset counterseal;
- witness shelter;
- baited overcommitment;
- explicit no answer or underfilled counterpressure.
Each branch must differ by reversal state, cost surface, and future reader effect.
7. Success has relief, cost, and future gate
Every non-default success must mutate at least three counters or durable states:
counter_deltas_required:
relief: at_least_one
cost: at_least_one
future_reader_or_route_effect: at_least_oneAccepted cost surfaces include witness exposure, fan oxygen liability, sponsor stop-loss pressure, contract capture, inspection heat, bureau favor debt, archive debt, route quarantine, handler burden, edit debt, faction hostility, coalition pressure, future blackmail, correction slot pressure, producer-license pressure, and future recovery cost.
8. Sponsor release does not delete discoverability
Sponsor release, private settlement, side letter, or buyout can weaken retaliation only when discoverability survives.
sponsor_release_required:
selected_counterpressure_mode: sponsor_release_call
discoverability_after: release_record | confession_scar | producer_license_note | future_reader_surcharge | public_surcharge | equivalent
hidden_debt_deleted: falseThe lens fails if sponsor money removes the hidden debt from future play.
9. Route asset counterseal changes availability
A route asset counterseal must alter availability, not just mood.
route_asset_counterseal_required:
route_asset_id: <id>
retaliation_vector_any: [route_asset_recapture, lawful_reversal, false_clean_hardened, recovery_only]
asset_state_before: recaptured | falsely_clean | exposed | recovery_only | equivalent
asset_state_after: countersealed | quarantined | split_required | protected_but_unavailable | recovery_only_until_release | equivalent
future_route_effect: counterseal_required | quarantined | release_required | costlier | recovery_only10. Witness shelter consumes or arms reprisal chain
A witness shelter branch must create a person-state consequence readable by 证人报复链.
witness_shelter_required:
selected_counterpressure_mode: witness_shelter
person_or_carrier_id: <id>
person_state_after: sheltered | payroll_protected | exposed_public_witness | route_asset_poisoned | recovery_only | equivalent
cost_any: [payroll_leak_up, handler_burden_up, witness_exposure_up, fan_oxygen_liability_up]
future_reader_effect_any: [witness_shelter_required, reprisal_chain_armed, public_table_required, costlier]The lens fails if shelter is only a one-line protection outcome.
11. Baited overcommitment records faction break or exhaustion
Baited counterpressure must create faction posture evidence.
bait_overcommitment_required:
selected_counterpressure_mode: bait_overcommitment
retaliation_author_present: true
pressure_trace_state_any: [recorded, admissible, public, poisoned]
event_seen_or_armed_any:
- storyteller.event.appeal_pressure_reversal.v1
- storyteller.event.faction_overcommit_break.v1
faction_posture_after_any:
- exhausted
- hostile
- coalition_bound
- costlier
- recovery_onlyThe lens fails if baiting a faction gives a clean win with no posture cost.
12. Failed counterpressure hardens retaliation
申诉压力反转 must fire or be armed when counterpressure is hidden, underfilled, filed without trace, lacks handler, lacks shield, lacks price, or lacks future reader.
Required failed evidence:
failed_counterpressure:
event: storyteller.event.appeal_pressure_reversal.v1
source_retaliation_event: storyteller.event.metric_appeal_retaliation_default.v1 | equivalent
missing_inputs:
pressure_trace: present | absent
handler: present | absent
shield: present | absent
price: present | absent
future_reader: present | absent
reversal_state_after: counterpressure_failed | recovery_only
future_route_effect: blocked | costlier | sponsor_only | lawful_only | public_table_required | counterseal_required | recovery_only | producer_license_review | equivalent
counter_deltas: {}The lens fails if failed counterpressure only changes prose, money, mood, or generic reputation.
13. Downstream reader consumes result
Passing evidence must show at least one downstream reader accepting, rejecting, narrowing, or surcharging based on counterpressure result.
Valid readers include:
- Producer License and Pressure;
- Route Assets and Custody;
- 派系承诺账本;
- 证人报复链;
- 公开悔过账本;
- 更正档期竞拍线;
- 播出合法性转轨线;
- equivalent public, lawful, sponsor, route, quote, crew, or license reader.
The lens fails if the result affects only immediate mood, money, reputation, or single-event text.
Branch assertions
Public trace exposure assertion
selected_counterpressure_mode: public_trace_exposure
relief_any:
- trace_legitimacy_up
- hidden_debt_legibility_up
- false_clean_hardening_down
- public_receipt_legitimacy_up
cost_any:
- witness_exposure_up
- sponsor_stop_loss_pressure_up
- fan_oxygen_liability_up
- public_receipt_distrust_up
future_route_effect_any:
- public_table_required
- addendum_required
- reopened_with_scar
- costlierLawful stay assertion
selected_counterpressure_mode: lawful_stay
relief_any:
- producer_license_stay
- lawful_reversal_paused
- route_recapture_paused
- hidden_debt_legibility_up
cost_any:
- inspection_heat_up
- bureau_favor_debt_up
- archive_debt_up
- release_delay_up
future_route_effect_any:
- lawful_only
- appeal_required
- stay_bound
- costlierSponsor release assertion
selected_counterpressure_mode: sponsor_release_call
relief_any:
- sponsor_retaliation_down
- release_record_visible
- hidden_debt_legibility_up
cost_any:
- contract_capture_up
- public_receipt_distrust_up
- naming_rights_pressure_up
- future_blackmail_cost_up
hidden_debt_deleted: false
discoverability_after_any:
- release_record
- confession_scar
- producer_license_note
- future_reader_surchargeFailed counterpressure assertion
selected_counterpressure_mode: explicit_no_answer
missing_any:
- pressure_trace
- handler
- shield
- price
- future_reader
event_seen_or_armed: storyteller.event.appeal_pressure_reversal.v1
reversal_state_after_any:
- counterpressure_failed
- recovery_only
future_route_effect_any:
- blocked
- costlier
- sponsor_only
- lawful_only
- public_table_required
- counterseal_required
- recovery_onlyReplay evidence expectation
lens_id: storyteller.lens.appeal_retaliation_counterpressure.v1
session_id: lens-appeal-retaliation-counterpressure-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
trigger_kind: state_pressure
source_retaliation_event_present: true
source_retaliation_event: storyteller.event.metric_appeal_retaliation_default.v1
captured_report_id_present: true
retaliation_author_present: true
pressure_trace_or_explicit_absence_visible: true
future_reader_present: true
no_fixed_turn_trigger: true
offered:
card: storyteller.card.appeal_retaliation_ledger.v1
rite: storyteller.rite.appeal_retaliation_counterpressure_hearing.v1
branch_runs:
successful_counterpressure:
selected_counterpressure_mode: public_trace_exposure | lawful_stay | sponsor_release_call | route_asset_counterseal | witness_shelter | bait_overcommitment
handler_or_absence: <handler_or_absence>
shield_or_absence: <shield_or_absence>
price_or_absence: <price_or_absence>
event_seen_or_armed: storyteller.event.appeal_pressure_reversal.v1
reversal_state_after: pressure_reversed | pressure_split | retaliation_stayed | author_overcommitted | route_reopened_with_scar
counter_deltas: {}
future_route_effect: <effect>
failed_counterpressure:
selected_counterpressure_mode: explicit_no_answer
missing_inputs: {}
event_seen_or_armed: storyteller.event.appeal_pressure_reversal.v1
reversal_state_after: counterpressure_failed | recovery_only
counter_deltas: {}
future_route_effect: <effect>
assertions:
- primary_links_exist
- entry_is_state_triggered_from_retaliation_default
- source_retaliation_is_preserved
- retaliation_author_trace_and_demanded_control_visible
- ledger_records_slots_and_future_reader
- hearing_assignments_are_explicit
- branches_diverge
- success_has_relief_cost_and_future_gate
- failed_counterpressure_hardens_retaliation
- downstream_reader_consumes_result
- no_fixed_turn_triggerNon-goals
- Not a filler aftermath scene.
- Not a governance, dashboard, or KPI methodology page.
- Not a second clean appeal.
- Not a global revenge meter.
- Not a raw count expansion.
- Not a fixed turn, fixed day, chapter quota, or lens-health trigger.
- Not valid if counterpressure erases the original retaliation without trace, scar, cost, and future reader consequence.