Off-Station Transfer Custody Readback Lens / 站外换乘羁押回读 Lens
This lens checks the system-facing handoff emitted by Property Transfer Custody. The character lens already checks whether Lan Qiao can be encountered, recruited, retained, captured, made hostile, or missed. This lens checks whether the review binds a named future reader, preserves the exact branch metadata, and emits a branch-specific reader requirement before later use.
Observable Promise
A transfer row is not clean authority. Passing evidence must keep all of the following visible together:
- source D-17 rite and encounter branch;
- named subject or explicit absence;
- origin, departure, and receiving gate or explicit absence;
- reclassification label and terminal access log;
- handoff receipt and receiving custodian or explicit absence;
- subject acknowledgement, refusal, or explicit absence;
- selected transfer posture and Lan Qiao state;
transfer_state_afterandfuture_reader_effect;- the exact named future reader assigned to the review.
The lens fails if later play stores only transferred, lost property accepted, company received, witness recruited, or shift ended.
Entry Oracle
entry_state:
trigger_kind: state_pressure
source_d17_encounter_resolved: true
offstation_transfer_review_resolved: true
transfer_docket_present: true
named_future_reader_present: true
transfer_state_after_visible: true
future_reader_effect_visible: true
receiving_gate_or_explicit_absence_visible: true
receiving_custodian_or_explicit_absence_visible: true
acknowledgement_or_refusal_or_explicit_absence_visible: true
no_fixed_turn_trigger: true
no_fixed_day_or_week_trigger: true
no_raw_count_trigger: true
no_dashboard_or_lens_health_trigger: trueEntry is invalid when driven by a fixed beat, relationship score, raw transfer count, dashboard warning, or an unscoped lost-property label.
Docket Oracle
The runtime docket must carry these fields before readback:
offstation_transfer_readback_row:
source_rite: required
source_branch: required
named_subject_or_explicit_absence: required
origin_gate: required
departure_gate: required
receiving_gate_or_explicit_absence: required
transfer_list_row: required
reclassification_label: required
terminal_access_log: required
handoff_receipt_or_explicit_absence: required
receiving_custodian_or_explicit_absence: required
subject_acknowledgement_or_refusal_or_explicit_absence: required
company_claim_or_explicit_absence: required
witness_or_explicit_absence: required
selected_posture: required
lan_qiao_state_after: required
transfer_state_after: required
future_reader_effect: required
counter_deltas: requiredExact Future-Reader Assignment
storyteller.rite.lan_qiao_offstation_transfer_review.v1 must require exactly eight real assignments. Its future_reader slot accepts only storyteller.card.lan_qiao_future_reader.v1.
The future-reader card names a subject, D-17 desk, inspector, company claimant, public hearing, or recovery route. It is not a selected-branch token, virtual lens slot, or universal audience surrogate.
Branch Readback Oracle
| Choice | Branch | Transfer state | Required future-reader effect |
|---|---|---|---|
| 0 | recruit_protected_transfer_list_witness | protected_named_transfer_custody | named_origin_gate_receiver_required |
| 1 | preserve_person_first_transfer_rows | person_first_rows_preserved | personhood_reader_required |
| 2 | escrow_disputed_lost_property_rows | disputed_rows_escrowed | lawful_reclassification_hearing_required |
| 3 | publish_offstation_transfer_list | transfer_list_public | public_transfer_receipt_required |
| 4 | honor_transfer_refusal_and_stop_handoff | handoff_stopped_without_proxy_consent | fresh_subject_acknowledgement_required |
| 5 | accept_company_transfer_clerkship | company_captured_transfer_list | company_only |
| 6 | suppress_and_scapegoat_lan_qiao | transfer_list_erased | hostile_countertestimony |
| 7 | let_shift_end_and_scrub_transfer_list | shift_log_scrubbed | recovery_only |
Every option must expose its branch ID, transfer state, future-reader effect, relief, cost, and six effect-backed counter deltas. No two rows may collapse to the same transfer state or future-reader effect.
Replay Oracle
Four existing game-cli replays must bind the exact future-reader card and prove different downstream obligations:
replay_paths:
recruit:
file: lens/replays/lan-qiao-offstation-transfer-clerk.recruit.replay.json
choice: 0
witness_present: true
route_asset: route_asset.lan_qiao_offstation_transfer_clerk
future_reader_effect: named_origin_gate_receiver_required
refusal:
file: lens/replays/lan-qiao-offstation-transfer-clerk.refusal.replay.json
choice: 4
witness_present: true
route_asset: false
future_reader_effect: fresh_subject_acknowledgement_required
hostile:
file: lens/replays/lan-qiao-offstation-transfer-clerk.hostile.replay.json
choice: 6
witness_present: false
future_reader_effect: hostile_countertestimony
shift_end:
file: lens/replays/lan-qiao-offstation-transfer-clerk.shift-ended.replay.json
choice: 7
witness_present: false
default_resolved: storyteller.event.lan_qiao_shift_end_default.v1
future_reader_effect: recovery_onlyThe lens fails if the future reader is absent from an assignment, the route asset appears outside recruitment, refusal is treated as recruitment, hostile removal becomes a clean miss, or shift end does not resolve the durable recovery-only default.
Runtime evidence boundary
The replays prove exact future-reader assignment, selected option, Lan Qiao state, emitted lan_qiao.future.* flag, witness presence or removal, narrow route-asset state, and the shift-end default. transferStateAfter remains exact option metadata; the replays do not populate every docket schema field or execute a separate second-hop consumer action. Those stronger behaviors require a future downstream rite and new runtime evidence.
Authority Oracle
authority_limits:
transfer_list_equals_personhood_judgment: false
property_label_equals_voice_or_avatar_consent: false
lan_qiao_equals_subject_consent: false
terminal_log_equals_protocol_authority: false
transfer_witness_equals_fan_testimony: false
company_claim_equals_lawful_custody: false
route_asset_equals_station_access: falseRecruitment, publication, company capture, or a receiving receipt cannot override these limits.
Non-Goals
- Not a second character lens for Lan Qiao.
- Not a new transfer mechanic or replacement runtime packet.
- Not a lost-property label afteruse lens.
- Not valid if a later reader can ignore
transfer_state_afterorfuture_reader_effect. - Not a claim that second-hop reader consumption already exists in runtime.