Turn 52 Counter-Broadcast Custody Fork Lens

Design intent

The current green lens set proves that archive custody, memorial evidence, fan oxygen, sponsor pressure, and security clearance are measurable. The next gap is counter-broadcast custody: a pirate or black-box reply to the official broadcast must become a playable management/RPG fork, not a flavor leak.

This lens observes counter-broadcast-custody-fork and binds it to existing surfaces: broadcast-reality, broadcast-slot-contracts, archive-custody-system, and fan-oxygen-audit. The player must decide whether to license, suppress, or weaponize a counter-broadcast, with durable replay evidence and visible costs.

Source/wiki addresses

Primary source: storyteller-main.

Required wiki addresses:

Worker binding target: wiki/content/lens/storyteller/turn52-counter-broadcast-custody-fork.lens.ts or equivalent sibling executable check.

Affected cards, rites, events, and counters

Affected cards/characters

  • 白鸦 / 黑箱剪辑师
  • 郁蓝 / 未授权史官
  • 韩砚霜 / 白手套监察
  • 沈洛 / 折纸经纪人
  • 艾笙 / 海盗频段童声
  • 未归档黑箱残片
  • 艺人拒忆回执
  • 纪念物临时牌照草案
  • 档案托管与连续性法卡组
  • fan oxygen or audience testimony cards from the active hand/state

Affected rites/events

The implementation may use these exact ids or equivalent ids recorded in the replay:

  • counter_broadcast_custody_fork
  • license_counter_broadcast_as_continuity
  • suppress_counter_broadcast_feed
  • let_counter_broadcast_become_route_asset
  • artist_refusal_blocks_replay
  • pirate_loop_counterclaim
  • white_glove_counter_broadcast_ruling

Affected counters/state keys

  • counter_broadcast_heat
  • counter_broadcast_status
  • pirate_loop_exposure
  • archive_custody_holder
  • archive_signature_legitimacy
  • black_box_edit_debt
  • inspector_audit_heat
  • sponsor_stop_loss_pressure
  • fan_oxygen_audit_status
  • artist_refusal_respected

Oracle assertions

  1. A replay fixture exists for this lens and records source, lens_id, seed, session_id, CLI command, turn horizon, active hand/state, offered choices, selected cards, selected branch, events, counters before/after, and miss/blocked states.
  2. The replay starts from an aftermath state rather than a clean start. It must contain prior archive custody, memorial, fan oxygen, sponsor oxygen, black-box, or pirate-loop pressure.
  3. The offer set includes a counter-broadcast fork with at least three visible choices or branch ids: license/legalize, suppress/block, and publish/route-asset/hostile.
  4. The active hand or derived state contains at least one counter-broadcast capable actor: 白鸦 / 黑箱剪辑师, 郁蓝 / 未授权史官, or 艾笙 / 海盗频段童声.
  5. The active hand or derived state contains at least one legal/management check: 韩砚霜 / 白手套监察, 沈洛 / 折纸经纪人, 纪念物临时牌照草案, or 档案托管与连续性法卡组.
  6. The active hand or derived state contains at least one contested proof object: 未归档黑箱残片, 艺人拒忆回执, fan oxygen audit proof, audience testimony, or custody signature.
  7. The license/legalize branch changes counter_broadcast_status to licensed or equivalent and mutates archive_custody_holder or archive_signature_legitimacy with before/after evidence.
  8. The suppression branch changes counter_broadcast_status to suppressed or equivalent, and it must leave a named miss, leak, injunction, hostile, or audit-risk state. Suppression cannot erase all pressure for free.
  9. The route-asset/hostile branch changes counter_broadcast_status to route_asset, hostile, or equivalent and mutates pirate_loop_exposure, black_box_edit_debt, or a route-asset/recruitable/follower token.
  10. 艺人拒忆回执 must be respected or visibly violated. If violated, the replay records artist_refusal_respected = false or an equivalent failure/miss state.
  11. 韩砚霜 / 白手套监察 or a white-glove proof card must be able to produce a formal ruling state, but that ruling cannot simultaneously clear fan oxygen, sponsor stop-loss, and archive custody pressure without named proof spend.
  12. 沈洛 / 折纸经纪人 or sponsor leverage may reduce sponsor/legal shock, but must not remove counter-broadcast heat unless a suppression or licensing branch is selected and recorded.
  13. 白鸦 / 黑箱剪辑师 must not be pure flavor. Selecting Baiya changes machine evidence, black-box edit debt, custody integrity, or proof stability.
  14. 郁蓝 / 未授权史官 must not be pure flavor. Selecting Yu Lan changes public receipt, archive signature legitimacy, fan oxygen audit status, or inspector heat.
  15. 艾笙 / 海盗频段童声 must not be pure flavor. Selecting Ai Sheng changes pirate-loop exposure, route-asset creation, fan reach, or hostile broadcast risk.
  16. At least one branch emits a follow-up event or state such as counter_broadcast_license_hearing, suppressed_feed_leak, pirate_loop_counterclaim, artist_refusal_violation, white_glove_noncompliance, or equivalent.
  17. Any blocked offer records a named blocked reason such as counter_broadcast_actor_missing, legal_check_missing, proof_object_missing, artist_refusal_blocks_replay, license_absent, or aftermath_state_missing.
  18. The lens fails if the implementation satisfies it by adding many placeholder rites/cards without proving branch offers, selected-card costs, counter deltas, and replay provenance.

Success and miss branches

Success branch: licensed counter-broadcast custody

Minimum success evidence:

  • offered choice id: license_counter_broadcast_as_continuity or equivalent;
  • selected card includes a white-glove, continuity-law, or temporary-license proof;
  • counter_broadcast_status becomes licensed;
  • archive_custody_holder becomes named or provisional;
  • archive_signature_legitimacy changes;
  • fan oxygen or sponsor pressure remains visible as an unresolved or transformed counter.

Success branch: hostile or route-asset counter-broadcast

Minimum success evidence:

  • offered choice id: let_counter_broadcast_become_route_asset, pirate_loop_counterclaim, or equivalent;
  • selected actor includes Baiya, Yu Lan, or Ai Sheng;
  • counter_broadcast_status becomes route_asset or hostile;
  • one of pirate_loop_exposure, black_box_edit_debt, route asset token, recruitable token, or follower-facing token changes;
  • sponsor or inspector pressure becomes an explicit follow-up risk.

Miss/failure/suppression branch

Minimum miss evidence:

  • offered choice id: suppress_counter_broadcast_feed, artist_refusal_blocks_replay, or equivalent;
  • counter_broadcast_status becomes suppressed, blocked, or missed;
  • replay records at least one named reason or cost;
  • suppression creates a durable follow-up risk instead of silently deleting the counter-broadcast.

Progress metric

turn52CounterBroadcastCustodyForkProgress = 0..7:

  • 0: no replay provenance or no aftermath starting state.
  • 1: aftermath state contains archive/memorial/oxygen/black-box pressure.
  • 2: counter-broadcast fork offer appears with required actor, legal check, and proof object gates.
  • 3: at least three branch choices are visible: license, suppress, and route-asset/hostile.
  • 4: licensed branch mutates custody or signature legitimacy with before/after evidence.
  • 5: suppression branch records a named miss/cost/follow-up risk.
  • 6: route-asset/hostile branch mutates pirate/black-box/route-asset state.
  • 7: two resolved branch replays from the same seed prove divergent outcomes and durable follow-up pressure.

Game-CLI replay evidence shape

Expected fixture: wiki/content/lens/replays/turn52-counter-broadcast-custody-fork.replay.json or equivalent public dashboard evidence.

Suggested provenance command:

pnpm storyteller:replay --source storyteller-main --seed turn52-counter-broadcast-custody-fork --from-turn 51 --until-turn 53 --require-package counter-broadcast-custody-fork

Required evidence shape:

{
  "source": "storyteller-main",
  "lens_id": "storyteller.turn52_counter_broadcast_custody_fork.v1",
  "seed": "turn52-counter-broadcast-custody-fork",
  "session_id": "storyteller-main:turn52-counter-broadcast-custody-fork",
  "cli": "pnpm storyteller:replay --source storyteller-main --seed turn52-counter-broadcast-custody-fork --from-turn 51 --until-turn 53 --require-package counter-broadcast-custody-fork",
  "turn_horizon": { "from": 51, "until": 53 },
  "starting_state": {
    "aftermath_pressure": ["archive_custody", "fan_oxygen", "sponsor_stop_loss", "black_box", "pirate_loop"],
    "counter_broadcast_status": "absent|offered",
    "counter_snapshot": {
      "counter_broadcast_heat": 0,
      "pirate_loop_exposure": 0,
      "archive_signature_legitimacy": 0,
      "black_box_edit_debt": 0,
      "inspector_audit_heat": 0,
      "sponsor_stop_loss_pressure": 0,
      "fan_oxygen_audit_status": 0
    }
  },
  "active_hand": [],
  "offers": [
    {
      "choice_id": "license_counter_broadcast_as_continuity",
      "requires_any_actor": ["白鸦 / 黑箱剪辑师", "郁蓝 / 未授权史官", "艾笙 / 海盗频段童声"],
      "requires_any_legal_check": ["韩砚霜 / 白手套监察", "纪念物临时牌照草案", "档案托管与连续性法卡组"],
      "preview_counters": ["counter_broadcast_status", "archive_custody_holder", "archive_signature_legitimacy", "inspector_audit_heat"]
    },
    {
      "choice_id": "suppress_counter_broadcast_feed",
      "requires_any_manager": ["沈洛 / 折纸经纪人", "韩砚霜 / 白手套监察"],
      "preview_counters": ["counter_broadcast_status", "counter_broadcast_heat", "sponsor_stop_loss_pressure", "fan_oxygen_audit_status"],
      "preview_risks": ["suppressed_feed_leak", "artist_refusal_violation"]
    },
    {
      "choice_id": "let_counter_broadcast_become_route_asset",
      "requires_any_actor": ["白鸦 / 黑箱剪辑师", "郁蓝 / 未授权史官", "艾笙 / 海盗频段童声"],
      "preview_counters": ["counter_broadcast_status", "pirate_loop_exposure", "black_box_edit_debt"],
      "preview_risks": ["white_glove_noncompliance", "sponsor_injunction_aftershock"]
    }
  ],
  "branch_runs": [
    {
      "selected_choice_id": "license_counter_broadcast_as_continuity",
      "selected_cards": [],
      "events": ["counter_broadcast_license_hearing"],
      "counter_before": {},
      "counter_deltas": {},
      "custody_output": { "archive_custody_holder": "provisional_white_glove|audience_signature_chain|archive_claim_desk" },
      "miss_states": [],
      "follow_up_risks": []
    }
  ],
  "blocked_offers": [
    { "choice_id": "license_counter_broadcast_as_continuity", "blocked_reason": "legal_check_missing|proof_object_missing|artist_refusal_blocks_replay" }
  ]
}

Non-goals

  • Not bulk filler.
  • Not raw count fulfillment.
  • Not a one-turn prose vignette.
  • Not a central registry entry.
  • Not a replacement for existing archive, oxygen, sponsor, or security lenses.
  • Not satisfied by raw presence of terms; replay evidence must prove offers, selected cards, outcomes, counter deltas, and branch divergence.