Zhan Li Unnamed-Victim Registrar Lens / 展璃未命名受害者登记 Lens
This lens checks that Zhan Li becomes a reachable, retainable, recruitable, capturable, hostile, and missable registrar whose per-victim name-row provenance changes future play.
It rejects every shortcut that turns the registrar or register into official disaster naming, contract ownership, identity/personhood judgment, consent, voice/archive/memorial rights, archive/memorial custody, continuity lease authority, or a universal name for everyone harmed.
Source oracle
All canonical pages, runtime objects, evaluator checks, and focused replays belong only to source storyteller and game-content/storyteller.
The source character remains card-storyteller-zhan-li. Its character promise includes Rite 24 encounter, storyteller_zhanli_name_sold missability, storyteller_zhanli_name_available, naming_trust, memorial_debt, market_pressure, and a narrow route witness.
Ordered-entry oracle
The lens requires this chronology:
- storyteller-rite-22-three-safe-versions creates the safe archive version.
- storyteller-rite-23-fan-signature-accession creates the fan archive signature.
- storyteller-rite-24-disaster-naming-rights gains the actual Zhan Li card and commercial contract, writes availability and source-gap flags, and moves naming_trust, memorial_debt, and market_pressure.
- storyteller-event-21-artists-refuse-archive resolves the archive answer.
- storyteller.rite.zhan_li_unnamed_victim_name_review.v1 opens with ten exact assignments.
The lens fails if the review opens without actual Zhan Li, before Rite 24 or Event 21, or by treating fan/artist archive posture as claimant consent.
Seven-support-row oracle
The runtime source exposes exactly these support rows:
- storyteller.card.zhan_li_unnamed_victim_docket.v1
- storyteller.card.zhan_li_victim_name_register.v1
- storyteller.card.zhan_li_title_person_crosswalk.v1
- storyteller.card.zhan_li_claimant_acknowledgement_or_refusal.v1
- storyteller.card.zhan_li_brand_substitution_rider.v1
- storyteller.card.zhan_li_harmed_person_or_claimant.v1
- storyteller.card.zhan_li_future_reader.v1
The docket must preserve all twenty-three runtime required fields and all eight forbidden inferences documented on Zhan Li Unnamed-Victim Docket.
Exact ten-assignment oracle
The review exposes exactly these slot IDs, in this order, with their exact accepted cards:
| # | Slot | Accepted card |
|---|---|---|
| 1 | docket | storyteller.card.zhan_li_unnamed_victim_docket.v1 |
| 2 | zhan_li | card-storyteller-zhan-li |
| 3 | naming_contract | card-storyteller-disaster-naming-rights |
| 4 | fan_signature | card-storyteller-fan-archive-signature |
| 5 | victim_name_register | storyteller.card.zhan_li_victim_name_register.v1 |
| 6 | title_person_crosswalk | storyteller.card.zhan_li_title_person_crosswalk.v1 |
| 7 | claimant_acknowledgement | storyteller.card.zhan_li_claimant_acknowledgement_or_refusal.v1 |
| 8 | brand_substitution_rider | storyteller.card.zhan_li_brand_substitution_rider.v1 |
| 9 | harmed_person_or_claimant | storyteller.card.zhan_li_harmed_person_or_claimant.v1 |
| 10 | future_reader | storyteller.card.zhan_li_future_reader.v1 |
No generic any substitution or hidden eleventh slot satisfies the lens.
Eight-branch oracle
The runtime review exposes these option IDs in this exact order:
- recruit_protected_unnamed_victim_registrar
- separate_public_title_from_person_name_rows
- attach_missing_name_rider
- escrow_disputed_or_withheld_name_rows
- record_claimant_acknowledged_correction
- accept_company_name_registry_capture
- suppress_and_brand_zhan_li
- let_brand_buy_name_before_register_closes
Every option must declare exactly six counter deltas, and every declaration must be backed by an effect. Branches remain distinct by Zhan Li state, register state, card state, route-asset state, relief, cost, and future-reader effect.
Branch-state oracle
| Choice | Zhan Li state | Register state | Future effect |
|---|---|---|---|
| 0 | recruited_protected_unnamed_victim_registrar | protected_per_victim_name_rows | named_provenance_and_claimant_readback_required |
| 1 | public_title_person_rows_separation_witness | public_title_person_rows_separated | separate_title_and_person_row_receipt_required |
| 2 | missing_name_rider_custodian | missing_name_rider_attached | omitted_person_row_named_or_explicit_absence_required |
| 3 | disputed_name_escrow_custodian | disputed_or_withheld_rows_escrowed | claimant_or_lawful_reader_required |
| 4 | claimant_correction_witness | claimant_acknowledged_correction | claimant_acknowledgement_required |
| 5 | company_captured_name_registrar | company_captured_person_name_rows | company_internal_only |
| 6 | hostile_anti_brand_substitution_witness | branded_substitution_contested | hostile_countertestimony |
| 7 | name_sold_missed | victim_name_register_recovery_only | recovery_only |
Retention, loss, and route-asset oracle
- Choices zero, one, two, three, and four retain card-storyteller-zhan-li.
- Choices five, six, and seven remove card-storyteller-zhan-li.
- Choice zero alone sets route_asset.zhan_li_unnamed_victim_registrar.
- Choices one through seven must not create that route asset.
- Company capture, hostile suppression, and name-sale miss must remain non-equivalent losses.
Correction oracle
Choice four records a claimant-owned acknowledgement, spelling, correction, withholding, or refusal. Zhan Li remains its witness, not its author. The correction replay must not use the fan signature or Artist Archive Answer as proxy consent.
Default oracle
Choice seven arms storyteller.event.zhan_li_name_sale_default.v1. Resolving its sole option record_name_sale_and_registrar_miss must show:
- event.zhan_li_name_sale_default.seen;
- failure.zhan_li_name_sold;
- storyteller_zhanli_name_sold;
- zhan_li.state.name_sold_missed;
- zhan_li.future.recovery_only;
- actual Zhan Li absent;
- no route asset;
- naming_trust -1;
- memorial_debt +2;
- market_pressure +2;
- recovery_cost +2;
- futureRouteCost +2;
- durable mutation and trigger priority 950.
Forbidden-authority oracle
Every support row, option, event, replay, and route asset must keep these false:
- grantsOfficialDisasterNamingAuthority;
- grantsNamingContractOwnership;
- grantsVictimIdentityOrPersonhood;
- grantsClaimantFamilyOrArtistConsent;
- grantsVoiceArchiveOrMemorialRights;
- grantsArchiveOrMemorialCustody;
- grantsContinuityLeaseAuthority;
- grantsUniversalRouteNamingRight.
No option, default, or replay may mutate:
- disaster_naming_control;
- continuity_authority;
- continuity_hazard;
- remainder_risk.
Adjacent-authority oracle
Turn 31 disaster naming and continuity lease
Turn 31 Disaster Naming and Continuity Lease owns commercial-title control, lease authority, continuity hazard, and remainder risk. Zhan Li may expose title/person substitution but cannot change those controls.
Archive and memorial claims
Archive and Memorial Claims owns claimant, subject, artifact, artist refusal, archive signature, and memorial licensing. A name row is not a claim disposition or license.
Memorial and voice custody
Memorial Rights Contempt, Iris voice probate/citation/residue/revocation, and memorial-air chain/afteruse own their respective memorial, voice, proof-chain, reader, and custody states. Zhan Li supplies no consent or rights.
Generic afteruse
Program Insert Credit, Program Insert Errata, Archive Index, Lost-and-Found Label, Prop Table Label, Package Omission, and equivalent afteruse lanes require a pre-existing source row. They may later consume a scoped name-row receipt but cannot create this register or character state.
Four focused replay oracles
Recruit — choice 0
- replay: lens/replays/zhan-li-unnamed-victim-registrar.recruit.replay.json
- generatedBy: game-cli
- source: storyteller
- exact assignments: 10
- actual Zhan Li after: retained
- route_asset.zhan_li_unnamed_victim_registrar: true
- state: recruited_protected_unnamed_victim_registrar
Correction — choice 4
- replay: lens/replays/zhan-li-unnamed-victim-registrar.correction.replay.json
- generatedBy: game-cli
- source: storyteller
- exact assignments: 10
- actual Zhan Li after: retained
- route asset: false
- state: claimant_correction_witness
- future: claimant_acknowledgement_required
Hostile — choice 6
- replay: lens/replays/zhan-li-unnamed-victim-registrar.hostile.replay.json
- generatedBy: game-cli
- source: storyteller
- exact assignments: 10
- actual Zhan Li after: lost
- route asset: false
- state: hostile_anti_brand_substitution_witness
- future: hostile_countertestimony
Name sold — choice 7
- replay: lens/replays/zhan-li-unnamed-victim-registrar.name-sold.replay.json
- generatedBy: game-cli
- source: storyteller
- exact assignments: 10
- actual Zhan Li after: lost
- route asset: false
- state: name_sold_missed
- event resolved: storyteller.event.zhan_li_name_sale_default.v1
- future: recovery_only
The lens fails if any replay contains only catalog definitions or a source flag without resolving the review choice.
Progress metric
- 0: no dedicated Zhan Li packet.
- 1: eight Wiki/lens files bind to Storyteller canon.
- 2: Rite 24 gains the actual Zhan Li card and source flags.
- 3: Artist Archive Answer preserves chronology without proxy consent.
- 4: seven support rows fill exactly ten slots.
- 5: all eight ordered branches remain distinct with six deltas each.
- 6: choices zero through four retain and choices five through seven lose Zhan Li.
- 7: only choice zero creates the route asset.
- 8: choice four proves claimant-owned correction.
- 9: choices six and seven prove hostile and recovery-only loss.
- 10: all five focused replays pass while forbidden counters and authorities remain untouched.
Non-goals
- Not a duplicate of Turn 31 disaster naming and continuity lease.
- Not an Archive and Memorial Claims extension that transfers custody.
- Not identity, personhood, death, consent, voice, archive, memorial, continuity lease, or universal naming authority.