Yan Ci Breach-Ward Night Nurse Lens / 严慈裂缝病区夜班护士 Lens

This lens checks that Yan Ci becomes a reachable, retainable, recruitable, transferable, hostile, and missable medical-custody witness whose crosswalk state changes future play. It rejects every shortcut that turns wristband-to-prop-number custody into patient identity, personhood, consent, treatment, oxygen, medicine, voice, archive, memorial, or universal ward authority.

Source oracle

All canonical pages, runtime objects, evaluator checks, and focused replays belong only to source: storyteller and game-content/storyteller.

The source card remains card-storyteller-ward-nurse-yan-ci, with its Ward 01 encounter, shift-transfer miss, medical-custody route promise, ward_custody_integrity, medical_mercy, and audience_witness_debt.

Ordered entry oracle

ordered_entry:
  ward_01:
    rite: storyteller-rite-ward-01-triage-ledger
    gains:
      - card-storyteller-breach-ward-ledger
      - card-storyteller-ward-nurse-yan-ci
    writes_availability: true
  ward_03:
    rite: storyteller-rite-ward-03-bed-17-identity
    requires_actual_yan_ci: true
    records:
      - card-storyteller-bed-17-wristband
      - wristband_prop_crosswalk
  ward_04:
    rite: storyteller-rite-ward-04-nurse-affidavit
    requires_crosswalk: true
    writes:
      - storyteller_yan_ci_affidavit_secured
      - yan_ci_affidavit_scope
  review:
    rite: storyteller.rite.yan_ci_medical_custody_review.v1
    opens_after_ward_04: true
    actual_yan_ci_card_present: true
    no_fixed_turn_trigger: true

The lens fails if Ward 04 is fillable from the triage ledger alone, if Ward 03 records only a generic identity mismatch, or if the review is offered without the actual Yan Ci card.

Docket oracle

Yan Ci Medical Custody Docket must preserve:

docket_required:
  source_encounter: storyteller-rite-ward-01-triage-ledger
  source_wrong_name_audit: storyteller-rite-ward-03-bed-17-identity
  source_affidavit: storyteller-rite-ward-04-nurse-affidavit
  actual_yan_ci_card: card-storyteller-ward-nurse-yan-ci
  triage_ledger: card-storyteller-breach-ward-ledger
  bed17_wristband: card-storyteller-bed-17-wristband
  wristband_prop_crosswalk: <structured row>
  shift_roster: <structured row>
  patient_identity: <row or explicit absence>
  affidavit_scope: <Yan Ci scope and refusal limits>
  receiving_custodian: <custodian or explicit absence>
  selected_posture: <branch>
  yan_ci_state_after: <state>
  crosswalk_state_after: <state>
  actual_card_presence_after: retained | lost
  route_asset_after: true | false
  future_reader: <reader>
  future_reader_effect: <effect>
  counter_deltas: <relief cost and future>

The docket must keep identity_resolved_by_crosswalk: false and personhood_resolved_by_crosswalk: false.

Exact ten-assignment oracle

The runtime review exposes exactly these ten required slot IDs, with no generic any substitution and no hidden eleventh slot:

  1. docket
  2. yan_ci
  3. triage_ledger
  4. bed17_wristband
  5. wristband_prop_crosswalk
  6. shift_roster
  7. patient_identity
  8. affidavit_scope
  9. receiving_custodian
  10. future_reader

Eight-branch oracle

The runtime review exposes these option IDs in this exact order:

  1. recruit_protected_medical_custody_witness
  2. preserve_wristband_prop_number_crosswalk
  3. publish_program_prop_conversion_audit
  4. seal_named_patient_rows_for_lawful_reader
  5. honor_affidavit_refusal_and_protect_transfer
  6. accept_company_shift_transfer
  7. suppress_and_scapegoat_yan_ci
  8. let_shift_transfer_before_affidavit

Every branch records Yan Ci state, crosswalk state, actual-card state, route-asset state, affidavit scope, receiving custodian, relief, cost, future-reader effect, and at least four counter or durable-state deltas.

Retention, loss, and route-asset oracle

retention_and_route_asset:
  choices_0_1_2_3_4:
    actual_yan_ci_card: retained
  choices_5_6_7:
    actual_yan_ci_card: lost
  choice_0:
    route_asset.yan_ci_medical_custody_witness: true
  choices_1_2_3_4_5_6_7:
    route_asset.yan_ci_medical_custody_witness: false

Choice 5 is a company transfer, choice 6 is hostile suppression, and choice 7 is a missed shift-transfer default. They must not collapse into one generic loss state.

Refusal oracle

Choice 4 protects Yan Ci’s refusal to sign an overbroad affidavit and retains her card. The replay does not use a patient-refusal card or choir-refusal card. Yan Ci’s own refusal cannot speak for anyone else.

Default oracle

Yan Ci Shift Transfer Default must resolve after choice 7:

shift_transfer_default_required:
  event_id: storyteller.event.yan_ci_shift_transfer_default.v1
  armed_by: let_shift_transfer_before_affidavit
  actual_yan_ci_card_present: false
  storyteller_yan_ci_transferred: true
  yan_ci_state_after: shift_transferred_missed
  crosswalk_state_after: crosswalk_recovery_only
  patient_identity_unresolved: true
  route_asset_after: false
  future_reader_effect: recovery_only
  counter_deltas_min: 4
  durable_mutation: true

Adjacent authority oracle

Oxygen Mask Choir

The choir owns member-specific consent/refusal, oxygen protection or sedation, testimony state, group cohesion, and voice-reader scope. Yan Ci’s affidavit supplies medical context only and cannot recruit, split, sedate, or speak for the choir.

Mian Tai

Mian Tai owns medicine-batch source, keeper, medicine debt, and raid exposure. Yan Ci has no diagnosis, prescription, administration, batch, clinic, or medicine-supply authority.

Patient and custody systems

The crosswalk can prove an identifier conversion. It cannot decide patient identity, personhood, consent, treatment, oxygen allocation, voice custody, archive custody, memorial custody, or universal ward access.

Four focused replay oracles

Recruit — choice 0

replay: lens/replays/yan-ci-breach-ward-night-nurse.recruit.replay.json
choice: 0
exact_assignments: 10
actual_yan_ci_card_after: retained
route_asset.yan_ci_medical_custody_witness: true
yan_ci_state_after: recruited_protected_medical_custody_witness

Refusal — choice 4

replay: lens/replays/yan-ci-breach-ward-night-nurse.refusal.replay.json
choice: 4
exact_assignments: 10
actual_yan_ci_card_after: retained
route_asset_after: false
yan_ci_state_after: protected_affidavit_refusal
patient_or_choir_proxy_refusal: false

Hostile — choice 6

replay: lens/replays/yan-ci-breach-ward-night-nurse.hostile.replay.json
choice: 6
exact_assignments: 10
actual_yan_ci_card_after: lost
route_asset_after: false
yan_ci_state_after: hostile_medical_custody_witness
future_reader_effect: hostile_countertestimony

Shift transferred — choice 7

replay: lens/replays/yan-ci-breach-ward-night-nurse.shift-transferred.replay.json
choice: 7
exact_assignments: 10
actual_yan_ci_card_after: lost
route_asset_after: false
event_seen: storyteller.event.yan_ci_shift_transfer_default.v1
yan_ci_state_after: shift_transferred_missed
future_reader_effect: recovery_only

The lens fails if a replay contains only catalog definitions or an incidental affidavit flag and never resolves storyteller.rite.yan_ci_medical_custody_review.v1.

Progress metric

  • 0: no dedicated Yan Ci packet.
  • 1: eight Wiki/lens files bind to Storyteller canon.
  • 2: Ward 01 gains the actual Yan Ci card.
  • 3: Ward 03 records the crosswalk and Ward 04 secures scoped affidavit.
  • 4: the review opens after Ward 04 with exactly ten assignments.
  • 5: all eight ordered branches remain distinct.
  • 6: choices 0–4 retain and choices 5–7 lose Yan Ci.
  • 7: only choice 0 creates the route asset.
  • 8: choice 4 proves Yan Ci-owned refusal without proxy consent.
  • 9: choices 6 and 7 prove hostile and recovery-only loss.
  • 10: all four focused replays and adjacent-authority boundaries pass.

Non-goals

  • Not an Oxygen Mask Choir lens duplicate.
  • Not a Mian Tai medicine-supply lens duplicate.
  • Not a patient identity, personhood, consent, treatment, oxygen, medicine, voice, archive, memorial, or universal ward-access lens.