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-3andS-2only 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: true3. 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: true4. Eight branch families diverge
| Branch | Required state | Required future effect |
|---|---|---|
survey_and_bind_take_geometry | take_geometry_bound | mirror_geometry_checksum_required |
reblock_understudy_out_of_secondary_path | secondary_path_reblocked | new_take_blocking_receipt_required |
deghost_or_replace_reflective_layer | reflective_layer_replaced_trace_destroyed | new_mirror_version_calibration_required |
split_direct_and_reflection_masters | body_masters_split | shot_specific_master_readback_required |
name_understudy_as_reflected_performer | understudy_reflection_named | dual_performer_caption_and_archive_row_required |
reshoot_truthful_axis | truthful_axis_reshoot | old_mirror_master_quarantine_required |
license_scoped_double_body_effect | scoped_double_body_effect | scene_take_scope_citation_required |
accept_phantom_lead_default | phantom_lead_pending | phantom_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
D17andR4; - 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: trueBoth 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: falseNo 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.