Su Die Maturity Notice Runner Storyline / 苏牒到期告知跑腿线
Bound character: Maturity Notice Runner.
This character storyline turns the maturity of a stabilization liability ticket into a playable service-order conflict. A prior route may have correctly assigned cost through 稳定化责任交接线, but the cost does not become real until someone can call it, serve it, prove who was served, and leave a scar for readers who were not served first.
苏牒 is the low-rank runner who carries that proof. She can be protected, recruited, retained, suppressed, captured, missed, or made hostile. Her state changes management counters and route access; she is not a flavor courier.
Gap this storyline fills
The current mesh already has:
- 稳定化责任票据 for inheritable liability;
- 稳定化责任交接 for assigning the carrier;
- 稳定化债务召回 for calling hidden or failed cost;
- 代理人姿态链 for generic human carrier posture;
- 认领告知顺序线 for who learns first;
- 过期派发召回线 for recalling old operational instructions.
The missing RPG surface is narrower: when the liability ticket matures, the service proof can still be wrong, missing, captured, sponsor-first, public-first, lawful-only, split, or held by production. Without a named runner state, implementation can jump from ticket matured to debt called and erase the person who made service legible.
This storyline binds:
Primary playable question
When a stabilization liability ticket matures, does the player make the notice lawful, sponsor-first, archive-escrowed, public/fan-visible, carried by 苏牒, split by reader, held by production, or falsely/unserved — and how does 苏牒’s state change future route access?
Every branch must show:
- source ticket and source scar;
- maturity trigger;
- calling claimant;
- omitted or deferred claimant;
- service carrier or explicit absence;
- proof of service or explicit absence;
- 苏牒 state before and after;
- relief gained;
- cost paid;
- future route or reader effect.
State-triggered entry
Open this route when all are true:
entry_state_required:
trigger_kind: state_pressure
source_ticket_present: true
source_ticket_handoff_state_present: true
source_ticket_has_maturity_trigger: true
maturity_notice_slip_present_or_can_be_created: true
calling_claimant_present: true
omitted_or_deferred_claimant_present_or_explicit_absence: true
service_order_can_change_reader_state: true
su_die_state_or_absence_visible: true
future_route_or_reader_effect_possible: true
player_can_route_notice_or_record_default: true
no_fixed_turn_trigger: true
no_fixed_day_or_week_trigger: true
no_raw_count_trigger: true
no_dashboard_or_lens_health_trigger: trueValid sources include sponsor stop-loss call, white-glove audit, archive admissibility review, fan refund, public receipt challenge, route asset release dispute, callback call, proof rehearing, checksum challenge, room collision, witness leak, broadcast-reality contradiction, or manual review of a ticket created by prior stabilization.
State graph
su_die_states:
unseen:
opens_from: mature_ticket_with_service_order_risk
exits_to: visible | missed | explicit_absence
visible:
exits_to: protected | recruited | retained | suppressed | captured | hostile | missed
protected:
exits_to: recruited | retained | visible | hostile_if_coerced | missed_if_abandoned
recruited:
route_asset_unlock: route_asset.su_die_maturity_notice_runner
limits: one_future_notice_verification_per_visible_ticket_and_claimant_split
retained:
future_cost: follow_up_notice_hearing_required
suppressed:
future_cost: unserved_maturity_notice_armed_or_recovery_only
captured:
future_cost: sponsor_only_lawful_only_archive_only_public_only_or_hostile_service
hostile:
future_cost: hostile_notice_witness_or_service_rehearing
missed:
future_cost: recovery_only_notice_route_or_late_service_costlier
explicit_absence:
future_cost: carrier_absence_must_be_paid_else_unserved_defaultHer state must be durable. A future ticket, route asset, fan refund audit, sponsor stop-loss desk, lawful annex, archive release, or broadcast-reality check should be able to read whether she is protected, recruited, retained, suppressed, captured, hostile, missed, or absent.
Play sequence
1. Ticket matures into notice risk
A 稳定化责任票据 enters matured, recall_pending, disputed, public_bonded, proxy_carried, production_carried, underwritten, routed_to_recourse, or recovery_only with a live maturity trigger.
The player receives or updates 到期告知牒.
Minimum row:
notice_sighting:
source_ticket_id: <ticket>
maturity_trigger: <trigger>
calling_claimant: <claimant>
omitted_or_deferred_claimant: <claimant or explicit_absence>
notice_carrier_or_absence: <carrier or explicit_absence>
proof_of_service_or_absence: <surface or explicit_absence>
su_die_state_before: <state or explicit_absence>
future_route_effect_before: <effect>2. Claimants pressure the runner
At least two claimant surfaces should disagree.
Examples:
- sponsor wants sponsor-first service so stop-loss pressure drops;
- 韩砚霜 or an inspector desk wants lawful annex service;
- archive wants the original slip escrowed before a release;
- fan oxygen wants public/fan receipt before refunds are clawed back;
- 郁蓝 wants the public wording visible;
- 沈洛 wants a private countercopy to keep sponsor package usable;
- production wants to hold the slip to avoid immediate route collapse.
3. Routing rite resolves service
The player opens 到期告知分流.
At least six branch families must exist across replay or explicit state blocks:
- lawful service;
- sponsor service;
- archive escrow;
- public or fan notice;
- proxy runner service;
- split notice;
- production hold;
- suppress or false-service default.
4. Service leaves a scar
A served notice changes future route access but cannot make the original ticket clean.
Valid effects:
accepted_with_notice_debt;unlocked_with_human_scar;lawful_only;sponsor_only;public_only;fan_audit_required;archive_only;split_required;proof_rehearing_required;costlier;blocked;hostile;recovery_only.
5. Future reader consumes service state
The route is incomplete until a future route, reader, ticket, proxy posture row, fan refund audit, sponsor stop-loss desk, lawful annex, archive release, route asset, production triage, or broadcast-reality check consumes the notice state.
future_consumption:
consumer: sponsor_stop_loss | lawful_annex | archive_release | fan_refund_audit | public_receipt | route_asset_custody | proxy_posture | production_triage | broadcast_reality | equivalent
consumed_notice_state: lawful_served | sponsor_served | archive_escrowed | public_served | fan_served | proxy_served | split_served | production_hold | suppressed | unserved | false_served | recovery_only
consumed_su_die_state: protected | recruited | retained | suppressed | captured | hostile | missed | explicit_absence
route_effect_after_read: <effect>Branch contracts
Protect or recruit runner
branch: protect_or_recruit_runner
requires:
- visible_runner_or_recoverable_absence
- source_ticket_id
- calling_claimant
- omitted_or_deferred_claimant_or_explicit_absence
- proof_or_support_or_cost
relief_any:
- notice_service_legibility_up
- false_service_risk_down
- route_access_with_notice_debt_up
cost_any:
- handler_burden_up
- staff_protection_cost_up
- inspection_heat_up
- sponsor_pressure_up
future_effect_any:
- su_die_protected
- route_asset.su_die_maturity_notice_runner
- accepted_with_notice_debtLawful service
branch: lawful_service
requires:
- lawful_reader_or_inspector_or_archive_surface_present
- proof_of_service_possible
relief_any:
- admissibility_up
- lawful_reader_confidence_up
- false_service_risk_down
cost_any:
- bureau_favor_debt_up
- inspection_heat_up
- sponsor_stop_loss_pressure_up
future_effect_any:
- lawful_only
- public_addendum_required
- accepted_with_notice_debtSponsor service
branch: sponsor_service
requires:
- sponsor_reader_present
- service_scope_and_omitted_reader_named
relief_any:
- sponsor_stop_loss_pressure_down
- commercial_route_unblocked
- management_pressure_down
cost_any:
- contract_capture_up
- public_notice_distrust_up
- fan_oxygen_resentment_up
future_effect_any:
- sponsor_only
- public_or_lawful_challenge_armed
- unwind_required_if_reusedArchive escrow
branch: archive_escrow
requires:
- archive_or_route_asset_reader_present
- original_or_traceable_service_slip
relief_any:
- source_trace_preserved
- route_asset_capture_down
- false_service_risk_down
cost_any:
- archive_debt_up
- schedule_pressure_up
- sponsor_pressure_up
future_effect_any:
- archive_only
- split_required
- recovery_only_until_releasePublic or fan notice
branch: public_or_fan_notice
requires:
- public_fan_witness_or_pirate_surface_present
- service_risk_publicly_nameable
relief_any:
- public_receipt_legitimacy_up
- private_capture_blocked
- fan_refund_accountability_up
cost_any:
- witness_exposure_up
- fan_refund_trigger_armed
- sponsor_stop_loss_pressure_up
future_effect_any:
- public_only
- fan_audit_required
- lawful_bridge_requiredSplit notice
branch: split_notice
requires:
- two_or_more_incompatible_readers
- scoped_service_surface_for_each
relief_any:
- selected_reader_unblocked
- service_order_dispute_contained
cost_any:
- source_ambiguity_up
- handler_burden_up
- future_correction_cost_up
future_effect_any:
- split_required
- sponsor_only_or_lawful_only_or_public_onlyProduction hold
branch: production_hold
requires:
- production_can_carry_unserved_risk
- held_notice_scar_recorded
relief_any:
- faction_capture_delayed
- immediate_route_use_kept
cost_any:
- production_lane_scar_up
- handler_fatigue_up
- black_screen_pressure_up
future_effect_any:
- future_notice_costlier
- production_triage_requiredSuppress or false-service default
branch: suppress_or_false_service_default
event_seen_or_armed: storyteller.event.unserved_maturity_notice.v1
requires:
- hidden_or_wrong_or_absent_service
relief_any:
- immediate_assignment_burden_may_drop
- selected_sponsor_or_management_pressure_may_drop
cost_any:
- false_service_risk_up
- claimant_hostility_up
- public_notice_distrust_up
future_effect_any:
- hostile_notice_witness
- blocked
- costlier
- recovery_onlyCounter contract
Every resolved or defaulted branch must mutate at least three surfaces:
counter_deltas_required:
relief: at_least_one
cost: at_least_one
future_reader_or_route_effect: at_least_oneRelevant surfaces:
su_die_statenotice_service_legibilityfalse_service_riskclaimant_hostilitysponsor_stop_loss_pressurecontract_captureinspection_heatbureau_favor_debtarchive_debtfan_oxygen_resentmentfan_refund_pressurepublic_notice_distrustpublic_receipt_legitimacyproxy_protection_debtproxy_hostilityrunner_riskpayroll_leakroute_asset_pressuremanagement_pressureproduction_lane_scarhandler_fatigueblack_screen_pressurebroadcast_reality_driftrecovery_only_pressure
Missability and recovery
苏牒 is missed when:
- a mature ticket is called without a notice slip;
- a notice slip names no carrier or explicit absence;
- sponsor, lawful, archive, fan, public, or production service is treated as universal;
- her state does not persist after service;
- she is suppressed without false-service risk;
- she is recruited without protection debt or future route gate;
- unserved notice is only flavor.
Recovery requires visible scar:
- late lawful service;
- public corrective receipt;
- split notice;
- archive escrow release;
- fan refund audit with proof;
- rescue or replacement of carrier;
- route asset service rehearing;
- accepting sponsor-only, lawful-only, public-only, split-required, blocked, costlier, hostile, or recovery-only route use.
Replay/session evidence shape
storyline: storyteller.storyline.character.su_die_maturity_notice_runner.v1
session_id: lens-su-die-maturity-notice-runner-v1-<timestamp>
seed: <deterministic-seed>
source_ticket:
source_session_id: <source session or explicit_absence>
source_seed: <seed or explicit_absence>
ticket_id: <stable id>
source_surface: stabilization_liability_handoff | broadcast_contract_readback | callback_consumption_proof | public_bond | proxy_carried | equivalent
handoff_state_before: <state>
scar_after_source: <scar>
entry_state:
trigger_kind: state_pressure
source_ticket_present: true
maturity_trigger_present: true
maturity_notice_slip_present_or_can_be_created: true
calling_claimant_present: true
omitted_or_deferred_claimant_present_or_explicit_absence: true
su_die_state_before: unseen | visible | protected | recruited | retained | suppressed | captured | hostile | missed | explicit_absence
no_fixed_turn_trigger: true
offered:
character: storyteller.character.su_die_maturity_notice_runner.v1
card: storyteller.card.maturity_notice_slip.v1
rite: storyteller.rite.maturity_notice_routing.v1
branch_runs:
protected_or_recruited:
selected_route: proxy_runner_service | lawful_service | split_notice
su_die_state_after: protected | recruited | retained
proof_of_service_after: <surface>
future_route_effect: <effect>
counter_deltas: {}
faction_or_public_service:
selected_route: sponsor_service | archive_escrow | public_or_fan_notice | production_hold
served_claimant: <claimant>
omitted_or_deferred_claimant: <claimant or explicit_absence>
su_die_state_after: retained | captured | suppressed | protected | explicit_absence
future_route_effect: <effect>
counter_deltas: {}
default:
selected_route: suppress_or_false_service
event_seen_or_armed: storyteller.event.unserved_maturity_notice.v1
su_die_state_after: missed | hostile | suppressed | captured | explicit_absence
future_route_effect: blocked | costlier | hostile | recovery_only
downstream_read:
consumer: sponsor_stop_loss | lawful_annex | archive_release | fan_refund_audit | public_receipt | route_asset_custody | proxy_posture | production_triage | broadcast_reality | equivalent
consumed_notice_state: <state>
consumed_su_die_state: <state>
route_effect_after_read: <effect>
assertions:
- entry_is_state_triggered
- source_ticket_and_scar_preserved
- calling_and_omitted_claimants_visible
- service_carrier_or_absence_visible
- su_die_state_changes_future_options
- at_least_two_readers_diverge
- success_has_cost
- default_mutates_future_play
- downstream_reader_consumes_notice_state
- no_clean_universal_service
- no_fixed_turn_triggerProgress metric
Progress is measured by branch proof, not page count.
- 20%: mature stabilization ticket opens a notice slip with 苏牒 state or explicit absence.
- 40%: slip records ticket, maturity trigger, calling claimant, omitted claimant, carrier/proof, service risk, 苏牒 state, and future effect.
- 60%: protected/recruit or lawful/split branch resolves with distinct relief, cost, and future route state.
- 80%: sponsor, archive, public/fan, production-hold, or false-service branch changes reader acceptance.
- 100%: unserved notice default and one non-default branch are replay-proven with seed, session id, assigned cards, outcomes, counter deltas, 苏牒 state, and future consumption.
Playable implementation (2026-07-16)
The storyline is now executable through one exact seven-card assignment packet: the inherited stabilization-liability ticket, maturity slip, 苏牒, claimant split, carrier proof, future-reader table, and service-route sheet. The routing rite preserves the established eight branch families while making every branch mutate flags, counters, character custody, and future route state.
Recruitability is exclusive: only protect_or_recruit_runner grants route_asset.su_die_maturity_notice_runner. Missability is durable: suppress_or_false_service arms storyteller.event.unserved_maturity_notice.v1; the hostile outcome removes 苏牒 and retains a late-service counterreceipt so the miss cannot be silently cleaned up.
The focused runtime test covers every branch. Two lens-scoped gameplay replays cover the recruit and hostile/missed terminals.
Non-goals
- Not a generic courier storyline.
- Not a raw recruitable count filler.
- Not a replacement for 稳定化责任交接线.
- Not a replacement for 认领告知顺序线.
- Not a replacement for 过期派发召回线.
- Not fixed-turn content.
- Not valid if the service proof becomes universal clean notice.
- Not valid unless 苏牒’s state mutates the notice slip, reader table, claimant service order, carrier state, and future route effect.