Maturity Notice Runner Lens / 到期告知跑腿 Lens
This lens observes whether 苏牒到期告知跑腿线, Maturity Notice Runner, and 到期告知分流机制 correctly turn mature stabilization liability into playable service-order pressure.
The latest green surface already proves that scoped success and stabilization success can create an inheritable ticket. The new failure mode is abstraction after maturity: a ticket can be called, recalled, or disputed without recording who was served, who was omitted, who carried the proof, and what future reader consumed that service scar.
Primary observation link
This lens observes:
It is observed through:
Observable promise
A mature stabilization liability ticket is not automatically served.
A passing implementation proves all of the following:
- a 稳定化责任票据 with a maturity trigger creates or explicitly refuses a 到期告知牒;
- the slip names source ticket, calling claimant, omitted or deferred claimant, service carrier, proof of service, service-order risk, 苏牒 state or explicit absence, and future route effect;
- 到期告知分流 offers non-equivalent routes for lawful service, sponsor service, archive escrow, public/fan notice, proxy runner service, split notice, production hold, and false service;
- 苏牒’s protected, recruited, retained, suppressed, captured, hostile, missed, and absent states change future options;
- unserved or false-served notice mutates future play rather than becoming a flavor penalty;
- no service route creates clean universal notice across sponsor, lawful, archive, public, fan, management, route asset, callback, and broadcast-reality readers.
Entry oracle
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
notice_carrier_or_explicit_absence_visible: true
proof_of_service_possible_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: trueThe lens fails if entry is driven by fixed time, chapter phase, raw counts, dashboard state, lens health, or generic debt with no source ticket and service-order risk.
Notice slip oracle
到期告知牒 or equivalent must record:
notice_slip_required:
source_ticket:
ticket_id: <stable ticket id>
source_surface: <source surface>
source_row_id: <source row or explicit_absence>
stabilized_or_scoped_object_id: <object>
handoff_state_before: <state>
carrier_before: <carrier or explicit_absence>
scar_after_source: <scar>
future_route_effect_before: <effect>
maturity:
maturity_trigger: sponsor_stop_loss | audit | fan_refund | release_challenge | callback_call | reader_challenge | proof_rehearing | checksum_challenge | room_collision | witness_leak | blackout | manual_review | equivalent
calling_claimant: <claimant>
omitted_or_deferred_claimant: <claimant or explicit_absence>
first_service_requested_by: <claimant, desk, handler, public surface, or explicit_absence>
service_order_risk: clean | disputed | claimant_first | sponsor_first | public_first | lawful_first | fan_first | false_service_risk | unserved
carriage:
notice_carrier: lawful_notice | sponsor_desk | archive_clerk | fan_public_receipt | pirate_relay | proxy_runner | production_hold | route_asset | explicit_absence | equivalent
proof_of_service: signed_slip | archive_stamp | sponsor_countercopy | public_receipt | fan_queue_receipt | pirate_timestamp | lawful_annex | edit_checksum | oral_witness | explicit_absence | equivalent
su_die_state: unseen | visible | protected | recruited | retained | suppressed | captured | hostile | missed | false_served | unavailable | explicit_absence
result:
notice_state: drafted | served | split_served | escrowed | public_served | sponsor_served | lawful_served | fan_served | production_hold | suppressed | unserved | false_served | recovery_only
future_route_effect_after: unlocked_with_notice_debt | sponsor_only | lawful_only | public_only | fan_audit_required | split_required | costlier | hostile | blocked | recovery_only | recall_event_armedThe lens fails if the card stores only matured, served, notice_sent, sponsor_ack, audit_started, or claimant_notified.
Routing rite oracle
到期告知分流 or equivalent must require explicit assignment:
routing_assignment_required:
slip: storyteller.card.maturity_notice_slip.v1
source_ticket: storyteller.card.stabilization_liability_ticket.v1
ticket_id: <stable ticket id>
maturity_trigger: <trigger>
calling_claimant: <claimant>
omitted_or_deferred_claimant: <claimant or explicit_absence>
selected_route: lawful_service | sponsor_service | archive_escrow | public_or_fan_notice | proxy_runner_service | split_notice | production_hold | suppress_or_false_service
notice_carrier: <carrier or explicit_absence>
proof_of_service: <proof or explicit_absence>
handler_or_absence: <handler or explicit_absence>
su_die_state_before: <state or explicit_absence>
reader_to_protect: <reader>
reader_left_unserved_or_deferred: <reader or explicit_absence>The lens fails if sponsor money, archive stamp, lawful notice, public post, fan queue receipt, production order, or manager authority resolves service without named carrier, proof surface, omitted claimant, and future route effect.
Branch divergence oracle
A satisfying implementation must prove at least six non-equivalent branch families plus default or explicit blocked state.
| Branch family | Required relief | Required cost | Required future effect |
|---|---|---|---|
| Protect or recruit runner | service legibility or route access improves | handler, staff protection, sponsor, or inspection cost rises | 苏牒 protected, recruited, retained, or route asset unlock |
| Lawful service | lawful reader or admissibility improves | inspection heat, bureau debt, sponsor pressure, or delay rises | lawful-only, public addendum, or accepted-with-notice-debt |
| Sponsor service | sponsor stop-loss or commercial route pressure falls | contract capture, public distrust, fan resentment, or lawful hostility rises | sponsor-only or public/lawful challenge armed |
| Archive escrow | source trace or route-asset custody improves | archive debt, schedule pressure, or sponsor pressure rises | archive-only, split-required, or recovery-only until release |
| Public or fan notice | private capture blocked or fan/public accountability improves | witness exposure, refund trigger, sponsor heat, or inspection heat rises | public-only, fan audit, or lawful bridge required |
| Split notice | selected reader unblocked and service dispute contained | source ambiguity, handler burden, or future correction cost rises | split-required or scoped reader use |
| Production hold | faction capture delayed or route temporarily kept | handler fatigue, lane scar, black-screen pressure, or unserved risk rises | future source use costlier or production triage required |
| Suppress or false service | short-term burden may drop | false-service risk, claimant hostility, public distrust, or route block rises | hostile, blocked, costlier, or recovery-only |
No branch may create universal clean service across sponsor, lawful, archive, public, fan oxygen, management, route-asset, callback, and broadcast-reality readers.
Character-state assertions
苏牒 is not optional flavor. Passing evidence must show at least four of these states or explicit state-blocked absences:
su_die_state_assertions:
protected:
future_effect_any: [accepted_with_notice_debt, proxy_posture_required, recruit_window_open]
cost_any: [handler_burden_up, inspection_heat_up, staff_protection_cost_up]
recruited:
future_effect_any: [route_asset.su_die_maturity_notice_runner, future_notice_verification]
cost_any: [payroll_leak_up, favor_debt_up, route_asset_pressure_up]
retained:
future_effect_any: [one_notice_served, follow_up_notice_hearing_required]
cost_any: [future_service_costlier, handler_burden_up, payroll_leak_up]
suppressed:
event_seen_or_armed: storyteller.event.unserved_maturity_notice.v1
future_effect_any: [unserved_notice_armed, recovery_only, false_service_risk]
captured:
future_effect_any: [sponsor_only, lawful_only, archive_only, public_only, route_asset_captured]
cost_any: [route_asset_pressure_up, proof_legibility_down, claimant_hostility_up]
hostile:
future_effect_any: [hostile_notice_witness, service_rehearing_required, blocked_or_costlier_route]
cost_any: [proxy_hostility_up, inspection_heat_up, fan_oxygen_resentment_up]
missed_or_absent:
event_seen_or_armed: storyteller.event.unserved_maturity_notice.v1
future_effect_any: [recovery_only_notice_route, route_blocked_until_late_service]The lens fails if protecting, recruiting, retaining, suppressing, capturing, missing, or alienating 苏牒 does not alter future service, route, reader, or counter state.
Reader state assertions
At least two readers must end in different states after every resolved branch:
reader_states_after_required:
sponsor_reader: accepted_with_cost | sponsor_only | hostile | blocked | explicit_absence | equivalent
lawful_reader: lawful_only | accepted_with_notice | proof_rehearing_required | blocked | explicit_absence | equivalent
archive_reader: archive_stamp_required | escrowed | accepted_with_cost | blocked | explicit_absence | equivalent
public_reader: public_only | notice_receipt_legible | distrustful | hostile | explicit_absence | equivalent
fan_oxygen_reader: refund_audit_required | fan_served | resentful | blocked | explicit_absence | equivalent
route_asset_reader: unlocked_with_notice_debt | split_required | captured | costlier | blocked | recovery_only | explicit_absence | equivalent
production_reader: production_hold | handler_overdrawn | recovery_only | explicit_absence | equivalent
su_die: protected | recruited | retained | suppressed | captured | hostile | missed | explicit_absence | equivalentThe lens fails if every reader accepts the same notice as clean proof.
Default contract
未送达到期告知 must record:
default_required:
source_ticket_id: <ticket>
slip_id_or_explicit_absence: <slip or explicit_absence>
service_failure_kind: unserved | false_served | wrong_first_claimant | carrier_captured | omitted_claimant_hidden | proof_of_service_absent | suppress_notice | clean_reuse_without_service
calling_claimant: <claimant>
served_claimant_or_absence: <claimant or explicit_absence>
omitted_or_deferred_claimant: <claimant or explicit_absence>
hiding_or_default_actor: sponsor | inspector | archive | editor | fan_public | production | proxy_runner | route_asset_claimant | management | handler_absence | explicit_absence | equivalent
false_service_claim_or_absence: <claim or explicit_absence>
su_die_state_after: missed | hostile | suppressed | captured | explicit_absence | equivalent
future_route_effect_after: sponsor_only | lawful_only | public_only | fan_audit_required | split_required | costlier | hostile | blocked | recovery_onlyThe default fails if it only increases pressure and does not change future route, reader, claimant, carrier, or route-asset state.
Downstream consumption oracle
A passing implementation must prove that a later surface consumes the notice state:
downstream_consumption_required:
consumer: sponsor_stop_loss | lawful_annex | archive_release | fan_refund_audit | public_receipt | route_asset_custody | proxy_posture | production_triage | broadcast_reality | equivalent
consumed_source_ticket_id: <ticket>
consumed_notice_state: <state>
consumed_su_die_state: <state>
reader_state_before: <state>
reader_state_after: <state>
route_effect_after_read: <effect>If service is only proven in the scene that creates it and never consumed by later play, progress is incomplete.
Replay evidence shape
lens_id: storyteller.lens.maturity_notice_runner.v1
session_id: lens-maturity-notice-runner-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
trigger_kind: state_pressure
source_ticket_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
su_die_state_before: unseen | visible | protected | recruited | retained | suppressed | captured | hostile | missed | explicit_absence
no_fixed_turn_trigger: true
offered_content:
character: storyteller.character.su_die_maturity_notice_runner.v1
card: storyteller.card.maturity_notice_slip.v1
rite: storyteller.rite.maturity_notice_routing.v1
branches:
protect_or_recruit:
selected_route: proxy_runner_service | lawful_service | split_notice
su_die_state_after: protected | recruited | retained
notice_state_after: served | split_served | lawful_served
proof_of_service_after: <surface>
future_route_effect: <effect>
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
notice_state_after: sponsor_served | escrowed | public_served | fan_served | production_hold
future_route_effect: <effect>
deltas: {}
default:
event_seen_or_armed: storyteller.event.unserved_maturity_notice.v1
service_failure_kind: <kind>
su_die_state_after: missed | hostile | suppressed | captured | explicit_absence
future_route_effect: blocked | costlier | hostile | recovery_only
deltas: {}
downstream_read:
consumer: <consumer>
consumed_notice_state: <state>
consumed_su_die_state: <state>
route_effect_after_read: <effect>
assertions:
entry_state_driven: true
source_ticket_and_scar_preserved: true
calling_and_omitted_claimants_visible: true
carrier_and_proof_visible_or_explicit_absence: true
su_die_state_changes_future_options: true
at_least_two_readers_diverge: true
success_has_cost: true
default_mutates_future_play: true
downstream_reader_consumes_notice_state: true
no_clean_universal_service: true
no_fixed_turn_trigger: trueProgress metric
Progress is measured by playable service proof, not content count.
- 20%: mature ticket opens a maturity 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 branch and one lawful/split branch resolve with different costs.
- 80%: sponsor, archive, public/fan, production-hold, or false-service branch changes future route availability.
- 100%: unserved notice default and one non-default branch are replay-proven with seed, session id, assigned content, outcomes, counter deltas, 苏牒 state, and downstream consumption.
Runtime evidence binding (2026-07-16)
The playable packet now uses the real inherited ticket ID card.stabilization_liability_ticket plus six exact local starter cards:
storyteller.card.maturity_notice_slip.v1;storyteller.character.su_die_maturity_notice_runner.v1;storyteller.card.maturity_notice_claimant_split.v1;storyteller.card.maturity_notice_carrier_proof.v1;storyteller.card.maturity_notice_future_reader.v1;storyteller.card.maturity_notice_service_route.v1.
storyteller.rite.maturity_notice_routing.v1 is one-shot, requires every exact assignment in hand, requires a selected option, and executes all eight branch families with five effect-backed counter deltas each. Choice 0 alone creates route_asset.su_die_maturity_notice_runner; sponsor capture removes 苏牒; production hold suppresses her without recruiting her; choice 7 arms the priority default.
storyteller.event.unserved_maturity_notice.v1 requires the exact false-service pending state. Its hostile path removes 苏牒, records both su_die.hostile and su_die.missed, leaves storyteller.card.maturity_notice_late_service_counterreceipt.v1, and forces future_route.service_rehearing_required.
Required evidence:
lens/storyteller-su-die-maturity-notice-runner.runtime.test.tsproves reachability and exclusivity for all eight rite choices and all four default outcomes;lens/replays/maturity-notice-runner.recruit.replay.jsonproves exact recruit choice0;lens/replays/maturity-notice-runner.false-service-default.replay.jsonproves exact false-service choice7followed by hostile event choice0.
Non-goals
- Not a raw lens-count increase.
- Not bulk content.
- Not governance, dashboard, or process proof.
- Not a generic courier route.
- Not fixed timing.
- Not a replacement for 稳定化责任交接线, 认领告知顺序线, 过期派发召回线, or 代理人姿态链.
- Not valid if service proof becomes clean universal notice.
- Not valid if 苏牒’s state does not mutate notice slip, reader table, claimant order, carrier state, and future route effect.