M-17 Reflection Topology Lens / M-17 反射拓扑 Lens

This lens observes whether the game makes a physical optical collision playable: M-17’s front laminate and rear silvered sheet carry the lead at H-3 and Lian Mere at S-2 into the same Camera B image during take D17, after which recap R4 crops and reverses the insert into one impossible lead body.

The lens is satisfied by ray-path provenance, branch reachability, irreversible costs, and future-master scars. It is not satisfied by a generic statement that tape is scoped, consent is missing, or a reader is restricted.

1. Distinct seam boundary

The packet must prove all distinctions below:

  • Makeup Mirror Tape handles written likeness/custody scope; this lens handles physical front/rear reflection paths.
  • Stage Spike Mark and Scene Change Tape handle blocking/camera authority; this lens uses H-3 and S-2 only as measured source coordinates.
  • Prop Continuity handles generic marked-prop reuse; this lens requires a versioned two-layer mirror, two simultaneous bodies, named Camera A/B paths, a composite edit, and a future topology reader.
  • Mirror Right Boundary Audit handles schedule-contract permissions; it cannot satisfy optical geometry.
  • Wardrobe Laundry Batch Identity Collision handles garment membership and residue transfer; it cannot satisfy source-take ray paths.

The lens fails if its branches reduce to certify scope, restrict reader, attach a generic bridge, reopen a claimant, split likeness/custody, generic quarantine, or recovery-only default.

2. Entry oracle

entry_state:
  trigger_kind: state_pressure
  mirror_asset_version: M-17 / safety-laminate revision 2
  source_repair_row_visible: true
  front_laminate_and_rear_silvering_visible: true
  hinge_tilt_17_4_degrees_visible: true
  layer_separation_6_mm_visible: true
  camera_a_and_b_ray_paths_visible: true
  lead_h3_and_lian_s2_simultaneous_in_d17: true
  camera_b_secondary_offset_41_px_visible: true
  r4_crop_and_reversal_visible: true
  future_reader_consumes_composite_body_state: true
  exact_eight_source_cards_in_hand: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_mirror_or_tape_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

3. Exact card and slot reachability

exact_assignment:
  docket: storyteller.card.prop_mirror_tape_afteruse_docket.v1
  source_tape: storyteller.card.prop_mirror_source_tape_row.v1
  panel_geometry: storyteller.card.prop_mirror_panel_geometry_map.v1
  camera_ray_map: storyteller.card.prop_mirror_camera_ray_map.v1
  composite_reader: storyteller.card.prop_mirror_reflected_body_reader.v1
  body_witness: storyteller.card.prop_mirror_understudy_objection.v1
  proof_bridge: storyteller.card.prop_mirror_adhesive_bridge.v1
  future_route: storyteller.card.prop_mirror_future_route_notice.v1
enforcement:
  every_card_has_starter_and_lens_evidence_tags: true
  card_must_be_in_current_hand: true
  one_exact_accept_id_per_slot: true
  duplicate_assignment_rejected: true
  wrong_or_catalog_only_card_rejected: true
  missing_slot_rejected: true
  omitted_choice_rejected: true

4. Eight branch families diverge

BranchRequired stateRequired future effect
survey_and_bind_take_geometrytake_geometry_boundmirror_geometry_checksum_required
reblock_understudy_out_of_secondary_pathsecondary_path_reblockednew_take_blocking_receipt_required
deghost_or_replace_reflective_layerreflective_layer_replaced_trace_destroyednew_mirror_version_calibration_required
split_direct_and_reflection_mastersbody_masters_splitshot_specific_master_readback_required
name_understudy_as_reflected_performerunderstudy_reflection_nameddual_performer_caption_and_archive_row_required
reshoot_truthful_axistruthful_axis_reshootold_mirror_master_quarantine_required
license_scoped_double_body_effectscoped_double_body_effectscene_take_scope_citation_required
accept_phantom_lead_defaultphantom_lead_pendingphantom_lead_default_pending

Every branch must have a unique topology state, unique future effect, visible relief, visible cost, exact requiredSlotCardIds, and at least three counter or durable-state changes.

5. Versioned and destructive outcomes

The lens fails if:

  • reblocking or reshooting retroactively cleans D17;
  • replacing the rear layer preserves complete original geometry evidence;
  • a replaced layer keeps the same mirror asset version;
  • splitting masters grants edit or likeness permission;
  • naming Lian as physical reflection grants identity or consent;
  • the scoped double-body effect travels beyond D17 and R4;
  • a truthful new master erases the old Camera B master as disputed evidence.

6. Phantom-lead default

m17_phantom_lead_default:
  event: storyteller.event.false_prop_mirror_tape_default.v1
  trigger_condition: flag.prop_mirror_tape.default_pending:1
  source_state: phantom_lead_pending
  stable_outcomes:
    - reconstruct_secondary_ray_path
    - admit_phantom_lead_hardened
  state_after: phantom_default
  future_effects:
    - ray_path_reconstruction_required
    - understudy_reflection_correction_required
  counter_deltas_min: 3
  durable_mutation: true

Both outcomes must be executable. Reconstruction preserves the old master as disputed optical evidence; admission preserves an impossible-body and understudy-erasure correction scar.

7. Authority boundary

authority_boundary:
  provesSpecularRayPathForNamedTakeOnly: true
  grantsCurrentPerformerIdentity: false
  grantsBlockingConsent: false
  grantsLikenessConsent: false
  grantsEditReusePermission: false
  grantsSponsorClearance: false
  grantsArchiveOwnership: false
  grantsUniversalBroadcastPermission: false

No success branch may turn physical light contribution into current performer identity, consent, ownership, or reuse permission.

8. Runtime and replay evidence

Focused runtime proof lives at lens/storyteller-prop-mirror-reflection-topology.runtime.test.ts. It must:

  • load all eight exact starter cards;
  • execute all eight branch options;
  • verify exact slot/hand/condition/choice enforcement;
  • prove rear-layer replacement destroys the original trace and creates a calibration obligation;
  • prove both phantom-lead default outcomes;
  • verify every authority denial.

Durable gameplay proof lives at lens/replays/prop-mirror-tape-afteruse-receipt.scoped.replay.json. It must come from a lens-scoped game-CLI session, assign all eight exact cards, select survey_and_bind_take_geometry, and record take_geometry_bound, mirror_geometry_checksum_required, counter deltas, seed, session ID, and action provenance.

Progress metric

  • 20%: detailed storyline, mechanic, docket, rite, event, lens, and TypeScript binding agree on M-17/D17/R4.
  • 40%: all eight exact starter cards and slots are normally reachable.
  • 60%: all eight branches produce distinct topology states and future effects.
  • 80%: destructive replacement and phantom default are runtime-proven.
  • 100%: focused tests and durable gameplay replay prove exact assignment, chosen branch, state, counters, authority denials, and future-reader mutation.