Appeal Residue Routing Lens / 申诉残留分流 Lens
This lens observes whether 申诉残留分流线 and 申诉残留分流机制 correctly turn a scarred appeal or counterpressure success into a limited, routed residue credit.
A pass cannot be achieved by adding an aftermath scene, a generic reward token, a public apology, or a free cleanup. The implementation must prove source result, residue id, scope, spend limit, primary reader, excluded readers, handler/proof/price slots, divergent routing branches, duplication default, downstream reader consumption, and no fixed turn trigger.
Primary observation link
This lens observes:
- 申诉残留分流线;
- 申诉残留分流机制;
- 指标捕获申诉线;
- 指标捕获申诉机制;
- 申诉报复反压线;
- 申诉报复反压机制;
- 裁定读者冲突线;
- 伤痕汇流台线;
- 伤痕汇流台机制;
- Producer License and Pressure;
- Route Assets and Custody;
- Broadcast Reality;
- 公开悔过账本机制;
- 更正档期竞拍机制;
- 播出合法性转轨机制.
It is observed through:
Design intent
The current corpus already proves false-clean appeal, retaliation counterpressure, reader collision, and scar convergence. This lens targets the missing in-between edge: after an appeal is partially won, the residue of that win must be routed before later systems can cite it.
The residue may be public, lawful, sponsor-bound, crew/witness-bound, quote-bound, route-asset-bound, split, or trustee-carried. It is useful because it was paid for. It is dangerous because later readers may treat it as clean.
The design goal is management + RPG pressure: the player assigns who spends the residue, who waits, who carries proof, what price is paid, and what future reader consumes the scar.
Must pass
1. Entry is state-triggered from scarred appeal result
Required entry evidence:
entry_state:
trigger_kind: state_pressure
source_result_present: true
source_result_any:
- storyteller.rite.metric_capture_appeal_hearing.v1
- storyteller.event.appeal_pressure_reversal.v1
- equivalent scarred appeal or counterpressure result
source_result_has_relief: true
source_result_has_cost: true
source_result_has_future_reader_or_route_effect: true
residue_credit_created: true
residue_credit_has_limited_scope: true
possible_consumer_present: true
duplicate_or_scope_breach_risk_present: true
player_response_available: true
no_fixed_turn_trigger: trueThe lens fails if entry comes from fixed turn count, day count, phase quota, chapter quota, raw content count, raw scar count, dashboard state, or lens-health state.
2. Source result is preserved
The routing surface must not retry the original appeal or erase its cost.
Required source shape:
source_result:
source_result_id: <stable appeal or counterpressure result id>
source_report_or_ledger_id: <metric report or retaliation ledger id>
source_mode: public_table_correction | lawful_appeal | sponsor_confession | crew_scar_publication | quote_detachment | route_asset_quarantine | split_metric | public_trace_exposure | lawful_stay | sponsor_release_call | route_asset_counterseal | witness_shelter | bait_overcommitment | equivalent
source_state_after: <scarred success or recovery state>
hidden_debt_state_after: visible | scoped_visible | surcharge_attached | contradiction_pending | recovery_only | equivalentThe lens fails if the source result has no stable id, no cost, or no future reader effect.
3. Residue scope, spend limit, and not-clean-key status are visible
申诉残留账本 must show:
residue_credit:
residue_id: <stable residue id>
residue_type: public_correction_credit | lawful_stay_credit | sponsor_release_credit | crew_scar_credit | quote_reprice_credit | route_counterseal_credit | split_metric_credit | trustee_credit | equivalent
residue_scope: single_reader | scoped_multi_reader | held_until_release | burn_only | equivalent
spend_limit: one_use | one_use_plus_receipt | scoped_multi_use_with_surcharge | release_required | equivalent
not_clean_key: trueThe lens fails if a scarred appeal result is stored only as success, cleared, appeal won, reputation restored, or another clean token.
4. Ledger records readers and routing slots
The ledger must record:
routing_assignment:
eligible_readers_min: 1
primary_reader_or_absence: <reader or explicit_absence>
excluded_or_delayed_readers: []
handler_or_absence: <handler or explicit_absence>
proof_or_seal_or_absence: <proof seal oath checksum receipt or explicit_absence>
price_or_burn_cost_or_absence: <price or explicit_absence>
future_reader_effect: <effect>Valid readers include producer license, public table, lawful reader, sponsor gate, correction slot, route asset, quote table, crew lane, broadcast reality, or equivalent.
The lens fails if famous characters, public anger, legal authority, sponsor money, edit control, or route urgency satisfy a slot without being recorded.
5. Hearing assignments are explicit
申诉残留分流听证 must require:
hearing_assignment:
ledger: storyteller.card.appeal_residue_ledger.v1
source_result_id: <id>
residue_id: <id>
residue_type: <type>
residue_scope: <scope>
selected_routing_mode: route_to_license_review | route_to_public_table | route_to_lawful_conversion | route_to_sponsor_release | route_to_route_asset_counterseal | escrow_for_split_metric | retire_or_burn_residue | duplicate_or_no_answer
primary_reader_or_absence: <reader or explicit_absence>
excluded_or_delayed_readers: []
handler_or_absence: <handler or explicit_absence>
proof_or_seal_or_absence: <proof seal oath checksum receipt or explicit_absence>
price_or_burn_cost_or_absence: <price or explicit_absence>
future_reader_effect: <effect>The lens fails if the player can route residue without source result, residue id, scope, spend limit, primary reader, handler, proof/seal, price, or future effect.
6. Routing branches diverge
At least six branch families must be playable or explicitly blocked by state:
- route to license review;
- route to public table;
- route to lawful conversion;
- route to sponsor release;
- route to route asset counterseal;
- escrow for split metric;
- retire or burn residue;
- duplicate or no answer.
Each branch must differ by residue state after, primary reader, cost surface, and future route effect.
7. Success has relief, cost, and future gate
Every non-default routing branch 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 inspection heat, bureau favor debt, public distrust, witness exposure, fan oxygen liability, sponsor stop-loss pressure, contract capture, archive debt, correction slot pressure, quote reprice, route quarantine, handler burden, source ambiguity, future recovery cost, and reality drift.
8. Sponsor release keeps discoverability
Sponsor release, side letter, settlement, or buyout can receive the residue only if discoverability survives.
sponsor_release_required:
selected_routing_mode: route_to_sponsor_release
discoverability_after: release_record | confession_scar | producer_license_note | future_reader_surcharge | public_surcharge | equivalent
hidden_debt_deleted: falseThe lens fails if sponsor money turns residue into private clean proof.
9. Split metric and escrow are not universal acceptance
Escrowed or split residue must preserve contradiction.
split_or_escrow_required:
selected_routing_mode: escrow_for_split_metric
scoped_readers_min: 1
universal_acceptance: false
hidden_debt_state_after: scoped_visible | surcharge_attached | contradiction_pending
future_effect_any: [split_required, scoped_multi_use_with_surcharge, contradiction_pending]The lens fails if every future reader accepts the same corrected metric cleanly.
10. Retire or burn residue changes route availability
Burning or retiring residue must be a real choice, not flavor.
retire_or_burn_required:
selected_routing_mode: retire_or_burn_residue
residue_state_after: burned | retired | unavailable | equivalent
relief_any: [duplicate_risk_down, false_clean_hardening_down, future_reader_confusion_down]
cost_any: [current_route_blocked, future_recovery_cost_up, public_or_sponsor_disappointment_up, substitute_required]
future_route_effect_any: [substitute_required, recovery_only, route_costlier]11. Duplicate or scope breach arms default
残留信用复用默认 must fire or be armed when residue is hidden, double-spent, used beyond scope, used without primary reader, flattened into a clean key, spent without discoverability, or split metric is treated as universal acceptance.
Required default evidence:
duplication_default:
event: storyteller.event.residue_credit_duplication_default.v1
source_result_id: <id>
residue_id: <id>
residue_type: <type>
residue_scope: <scope>
breach_kind: double_spend | scope_breach | hidden_primary_reader | clean_key_claim | release_without_discoverability | split_metric_flattened | route_counterseal_overclaimed | equivalent
first_consumer_or_absence: <reader or explicit_absence>
duplicate_consumer_or_absence: <reader or explicit_absence>
capturing_reader: <reader>
excluded_or_harmed_reader: <reader or claimant>
default_state_after: residue_captured | false_clean_hardened | correction_credit_spent | lawful_only | public_only | sponsor_only | route_asset_recovery_only | split_required | contradiction_pending | recovery_only | equivalent
future_route_effect: blocked | costlier | public_table_required | lawful_appeal_required | sponsor_release_required | correction_slot_required | counterseal_required | split_required | producer_license_review | recovery_only | equivalent
counter_deltas_min: 3The lens fails if default changes only mood, reputation, money, or prose.
12. Downstream reader consumes routing result
Passing evidence must show at least one downstream route, license, public statement, legal conversion, sponsor gate, correction slot, route asset, quote table, crew lane, or broadcast reality reader consuming the routing result.
Valid consumption examples:
- Producer License and Pressure accepts or surcharges a routed residue;
- 公开悔过账本机制 requires a public scar or addendum;
- 更正档期竞拍机制 prices a follow-up slot;
- 播出合法性转轨机制 gates lawful use;
- Route Assets and Custody changes asset availability;
- Broadcast Reality stores split, burned, duplicated, or captured residue;
- 伤痕汇流台线 consumes overused residue as a scarred stabilizer;
- 裁定读者冲突线 consumes flattened split residue as a reader contradiction.
13. Replay evidence is provenance, not trigger logic
Passing evidence must include session id, seed, source result id, residue id, assignment, branch result, counter deltas, and downstream consumption. These values make the replay reproducible; they do not trigger the story by themselves.
Minimal evidence shape:
lens_id: storyteller.lens.appeal_residue_routing.v1
session_id: lens-appeal-residue-routing-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
trigger_kind: state_pressure
source_result_present: true
residue_credit_created: true
duplicate_or_scope_breach_risk_present: true
no_fixed_turn_trigger: true
source_result:
source_result_id: <id>
source_report_or_ledger_id: <id>
source_state_after: <state>
residue:
ledger: storyteller.card.appeal_residue_ledger.v1
residue_id: <id>
residue_type: <type>
residue_scope: <scope>
spend_limit: <limit>
offered:
rite: storyteller.rite.appeal_residue_routing_hearing.v1
branch_result:
selected_routing_mode: <mode>
primary_reader_or_absence: <reader or explicit_absence>
excluded_or_delayed_readers: []
residue_state_after: <state>
future_route_effect: <effect>
emitted_event: storyteller.event.residue_credit_duplication_default.v1 | none_if_valid
counter_deltas:
relief: []
cost: []
future: []
assertions:
entry_is_state_triggered: true
source_result_preserved: true
residue_scope_and_spend_limit_visible: true
routing_assignments_explicit: true
branch_outcomes_diverge: true
no_universal_clean_key: true
duplicate_or_scope_breach_defaults: true
downstream_reader_consumes_result: trueProgress metric
appealResidueRoutingProgress = 0..8:
0: no preserved scarred appeal result or no residue credit.1: source result, residue id, scope, and spend limit are visible.2: 申诉残留账本 enters play with primary/excluded readers and assignment slots.3: 申诉残留分流听证 offers explicit routing modes.4: at least two non-default routing branches mutate different readers and future effects.5: sponsor release, split/escrow, and burn/retire constraints preserve non-clean outcomes.6: 残留信用复用默认 fires or is armed on duplicate/scope breach.7: at least one downstream reader consumes routed, escrowed, burned, captured, or duplicated residue.8: replay proves at least six branch families including one default and one non-default burn/escrow/sponsor constraint branch.
Failure cases
The lens must fail if any of these are true:
- entry is fixed-turn, fixed-day, phase, chapter quota, raw count, dashboard, or lens-health driven;
- no source appeal/counterpressure result is preserved;
- no residue id, scope, or spend limit exists;
- residue is treated as clean universal proof;
- more than one reader spends one-use residue without split or surcharge;
- the ledger omits primary reader, excluded reader, handler, proof/seal, price, or future effect;
- sponsor release deletes discoverability;
- split metric becomes universal acceptance;
- burn/retirement has no route availability cost;
- duplication default has no capturing reader and harmed/excluded reader;
- no downstream route, license, public, lawful, sponsor, correction, asset, quote, crew, or broadcast reader consumes the result.
Non-goals
- Not a generic reward system.
- Not a second appeal retry.
- Not a duplicate of 裁定读者冲突线; this lens observes a limited credit before or while it is consumed.
- Not a duplicate of 伤痕汇流台线; this lens observes one appeal residue before multiple histories converge.
- Not governance, dashboard, methodology, or raw count expansion.
- Not satisfied by adding more pages; only valid when a limited residue credit changes a future reader or route state.