Turn 47 Archive Custody Inspector Fork Lens

Design intent

The final-air memorial edit should create a custody fork, not a single best cleanup button. The player must decide whether the last breath belongs to the authorized archive desk, the audience signature chain, the black-box editor, the artist’s refusal to remember, or the inspector’s audit record. This lens tests that the branch produces RPG-visible custody consequences and does not hide the conflict inside a generic success state.

This page narrows turn47-last-breath-air-memorial-edit.lens through oxygen-archive-custody, memorial-temporary-license-encounter-miss-recruit.lens, memorial-voice-permit.lens, and turn31-pirate-loop-memory-refusal-license.lens.

Scope

Current provenance:

  • Source/canon: storyteller-main.
  • Turn: 47.
  • Playable rite: 最后一口空气纪念剪辑.
  • Archive custody cards: 观众归档署名, 归档权认领桌, 双层归档副本, 未归档黑箱残片, 盗播归档回环, 艺人拒忆回执, 纪念物临时牌照草案, 余物风险登记表.
  • Inspector/legal cards: 韩砚霜 / 白手套监察, 白手套审计章, 未归档法律身体豁免, 连续性租赁许可, 第七穹顶连续性案卷, 安全连续性版本.
  • Character pressure cards: 黎星瞳 / 白昼圣女, 沈洛 / 折纸经纪人, 白鸦 / 黑箱剪辑师, 郁蓝 / 未授权史官.

Local state keys or equivalents:

  • archive_custody_holder
  • archive_custody_integrity
  • black_box_edit_debt
  • pirate_loop_exposure
  • memory_refusal_respected
  • inspector_audit_heat
  • continuity_law_exposure
  • memorial_license_status

Oracle assertions

  1. The replay fixture begins from the turn 47 state and names 最后一口空气纪念剪辑 as the active playable rite.
  2. The rite offers at least three custody-resolution choices:
    • archive_claim_desk_cut or equivalent, using 归档权认领桌, 观众归档署名, or 双层归档副本.
    • black_box_residue_cut or equivalent, using 白鸦 / 黑箱剪辑师 or 未归档黑箱残片.
    • inspector_license_cut or equivalent, using 白手套审计章, 韩砚霜 / 白手套监察, 未归档法律身体豁免, 连续性租赁许可, or 纪念物临时牌照草案.
  3. At least one route assigns or contests archive_custody_holder with a named holder such as audience_signature_chain, archive_claim_desk, black_box_editor, white_glove_inspector, or artist_refusal.
  4. 艺人拒忆回执 must be able to block, soften, or morally reframe a custody transfer; it cannot be flavor-only when selected.
  5. 盗播归档回环 must either create pirate-loop exposure, fork the archive copy, or unlock a risky unauthorized evidence branch.
  6. 双层归档副本 must create a visible divergence between public memorial cut and custody/legal record, rather than acting as a generic shield.
  7. 未归档法律身体豁免 or 连续性租赁许可 can reduce legal exposure, but must leave either audit heat, edit debt, or custody contest unless paired with a second proof card.
  8. A branch using 白鸦 / 黑箱剪辑师 or 未归档黑箱残片 records black_box_edit_debt unless a named exemption or license prevents it.
  9. A branch using 郁蓝 / 未授权史官, 观众归档署名, or 观众裂缝证词 must preserve or expose audience-side custody evidence even when sponsor or inspector pressure increases.
  10. A blocked route records a named miss state such as custody_holder_unassigned, memory_refusal_ignored, pirate_loop_uncontained, license_draft_unratified, or audit_chain_broken.
  11. Evidence includes turn, seed, active hand, offered choices, selected cards, branch id, custody holder, custody dispute, events, counter deltas, and miss states.

Progress metric

archiveCustodyInspectorForkProgress = 0..6:

  • 0: rite absent or no turn 47 provenance.
  • 1: rite appears with archive custody cards in hand.
  • 2: at least three custody-resolution choices are visible.
  • 3: one branch assigns or contests a named custody holder.
  • 4: one branch mutates black-box debt, pirate-loop exposure, or memory-refusal state.
  • 5: one branch uses inspector/legal proof while still leaving a visible custody consequence.
  • 6: two branch replays from the same seed prove different custody holders and different counter deltas.

Game-CLI replay evidence shape

Expected fixture: wiki/content/lens/replays/turn47-archive-custody-inspector-fork.replay.json or equivalent public data.

Required evidence fields:

{
  "source": "storyteller-main",
  "lens_id": "storyteller.turn47_archive_custody_inspector_fork.v1",
  "cli": "pnpm storyteller:replay --source storyteller-main --seed turn47-archive-custody-inspector-fork --until-turn 47",
  "seed": "turn47-archive-custody-inspector-fork",
  "turn": 47,
  "initial_fillable_rite": "最后一口空气纪念剪辑",
  "active_hand": [],
  "offers": [],
  "branch_runs": [
    {
      "selected_choice_id": "archive_claim_desk_cut",
      "selected_cards": [],
      "events": [],
      "custody_output": {
        "archive_custody_holder": "archive_claim_desk",
        "custody_dispute": []
      },
      "counter_deltas": {
        "archive_custody_integrity": 0,
        "black_box_edit_debt": 0,
        "pirate_loop_exposure": 0,
        "inspector_audit_heat": 0,
        "continuity_law_exposure": 0
      },
      "proof_tokens": [],
      "miss_states": []
    }
  ]
}

Conversion target

Create a worker-authored sibling contract at wiki/content/lens/storyteller/turn47-archive-custody-inspector-fork.lens.ts. Bind it to replay/Jest evidence and dashboard proof. The check should verify custody-holder divergence and named miss states before treating the playable branch as satisfied.