Huo Qian Fan Witness Custody Lens / 火签粉丝证词羁押 Lens

This lens observes whether Huo Qian Storyline turns 火签 from a thin fan-radical clue source into a playable route asset whose witness state, proof custody, oxygen cost, and hostile failure are replay-visible.

The selected gap is deliberately below the recent arbitration and claim-ledger layer. Storyteller already has strong surfaces for archive enforcement, sponsor pressure, failure-state arbitration, broadcast legality, and adverse coalition lock. The next valuable pressure area is follower custody: a low-status fan witness can save a missing-person route, but only if the producer spends protection, oxygen credit, or public legitimacy instead of letting security and sponsor desks define her as noise.

A pass cannot be achieved by adding fan flavor, a generic riot, a new count of recruitable followers, or a fixed side-quest window. The implementation must prove encounter, recruit/protect, oxygen-paid, public receipt, archive-only, miss, hostile, captured, and extremist-frame branches through state-triggered replay evidence.

This lens observes:

It is observed through:

Observable promise

When fan-held evidence becomes relevant to D-17, Li Deng, K-404, a missing trainee list, a support-light echo, or an oxygen queue receipt, the player must see a custody problem rather than a dialogue beat. 火签 must be offered as a witness asset or explicit absence, the proof rows must be named, at least two factions must contest the proof, and the player must choose a posture that changes future route cost or availability.

Must pass

1. Entry is state-triggered

Minimum evidence:

entry_state:
  witness_candidate: char.huo_qian | equivalent_fan_witness | explicit_absence
  fan_witness_docket: storyteller.card.huo_qian_fan_witness_docket.v1
  proof_rows_min: 1
  claimant_factions_min: 2
  contested_surface_any:
    - missing_trainee_fragment
    - fan_badge_clue
    - oxygen_queue_stub
    - d17_graffiti_map
    - support_light_echo
    - static_receipt
    - public_receipt
  action_needed_any:
    - protect
    - buy
    - publish
    - seal
    - suppress
    - recover
  no_fixed_turn_trigger: true

The lens fails if eligibility comes from a fixed turn number, fixed day, chapter quota, raw content count, lens-health state, or generic D-17 visit count.

2. Docket exists and names proof rows

Huo Qian Fan Witness Docket or equivalent must show at least one concrete proof row, and production-ready content should support at least two rows across replay seeds.

Each row must name:

proof_row:
  proof_id: <stable id>
  proof_kind: missing_trainee_fragment | fan_badge_clue | oxygen_queue_stub | d17_graffiti_map | support_light_echo | static_receipt | equivalent
  held_by: huo_qian | fan_group | archive | security | k404 | player | contested
  proves_or_alleges: <specific missing-person, fan-queue, support-light, custody, or public-receipt claim>
  claimant_pressure: fan_public | security | archive | inspector | sponsor | editor | artist_handler | pirate_relay
  risk_if_published: <visible risk>
  risk_if_suppressed: <visible risk>

The lens fails if proof rows are only labels such as fan clue, rumor, riot, evidence, or bad PR.

3. Witness state is durable

Huo Qian or an equivalent fan witness must occupy a durable state:

  • unseen;
  • offered;
  • trusted_witness;
  • paid_in_oxygen;
  • protected_witness;
  • route_asset.huo_qian_fan_witness;
  • missed;
  • radicalized_hostile;
  • captured_by_security;
  • burned_as_extremist.

The lens fails if she only provides a one-time clue and disappears without state.

4. Assignment slots are visible

Fan Witness Custody Hearing or equivalent must record assigned cards/assets/states.

Required assignment shape:

assignments:
  fan_witness: char.huo_qian | route_asset.huo_qian_fan_witness | explicit_absence | hostile_or_captured_state
  proof_object: <proof id or explicit_absence>
  handler: <handler or explicit_absence>
  payment_or_shield: fan_oxygen_credit | witness_payroll_slot | public_receipt_slot | archive_seal | security_clearance_cover | sponsor_cash | explicit_unpaid
  selected_posture: protect_witness_under_oath | buy_evidence_with_oxygen_credit | publish_fan_receipt | archive_only_seal | frame_as_extremist | ignore_until_clearance | recover_hostile_witness

The lens fails if a high-rank character, money, or generic authority resolves the proof without witness/proof/payment state.

5. Branches diverge

At least six branch families must be playable or explicitly blocked by state:

  • protect witness under oath;
  • buy evidence with oxygen credit;
  • publish fan receipt;
  • archive-only seal;
  • frame as extremist;
  • ignore until clearance;
  • recover hostile or captured witness.

Expected non-equivalence:

  • protected witness improves proof admissibility while raising inspection, payroll, or safety pressure;
  • oxygen purchase raises trust but creates fan-claim, sponsor, or public-accounting cost;
  • public receipt blocks the extremist frame but raises inspection/sponsor exposure;
  • archive-only seal preserves proof while angering public/fan witnesses;
  • extremist frame may complete a clearance but burns future fan-side options;
  • ignoring arms radicalization or capture;
  • recovery costs more than first protection and cannot erase the earlier scar.

6. Success has cost

Every non-default success must include one relief and one cost.

Valid costs include:

  • fan_oxygen_credit_spent;
  • fan_oxygen_resentment_up;
  • inspection_heat_up;
  • sponsor_stop_loss_pressure_up;
  • witness_payroll_leak_up;
  • handler_burden_up;
  • public_receipt_distrust_up;
  • proof_exposure_up;
  • radicalization_risk_up;
  • future_fan_claim_expected.

The lens fails if protecting the witness is a free trust gain or free route unlock.

7. Miss or suppression creates hostile/captured state

Fan Witness Radicalization Break or equivalent must fire or be armed when the player ignores, underpays, exposes, falsely cleans, archive-only seals without compensation, or frames the witness as extremist.

Accepted durable outcomes:

  • radicalized_hostile;
  • captured_by_security;
  • burned_as_extremist;
  • public_counter_broadcaster;
  • fan_proof_deleted_by_security;
  • false_extremist_frame_hardened;
  • fan_counter_broadcast_pending;
  • hostile_fan_testimony_armed.

The lens fails if a missed fan witness simply disappears with no route cost.

8. Li Deng and K-404 routes change

At least one later route or cost must change in Li Deng Storyline or K-404 Storyline.

Accepted effects:

  • Li Deng personhood claim route opens, becomes public, becomes archive-only, or becomes costlier;
  • K-404 static receipt becomes admissible, sealed, deleted, or contested;
  • fan-side extraction becomes available, blocked, or recovery-only;
  • missing trainee list fragment becomes assignable or hostile testimony;
  • quiet return route requires public receipt repair or witness payroll recovery.

The lens fails if Huo Qian’s branch does not affect any route asset, proof object, or later assignment.

9. At least three deltas exist

Every resolved branch must mutate at least three counters or durable states.

Expected surfaces:

  • huoqian_trust;
  • fan_witness_safety;
  • radicalization_risk;
  • fan_oxygen_resentment;
  • fan_oxygen_credit;
  • public_receipt_legitimacy;
  • public_receipt_distrust;
  • inspection_heat;
  • sponsor_stop_loss_pressure;
  • custody_gap;
  • archive_debt;
  • proof_burden_on_producer;
  • lideng_personhood_claim;
  • k404_trust;
  • route_asset.huo_qian_fan_witness;
  • hostile_fan_testimony_armed.

10. Replay provenance is not trigger logic

Replay evidence may record session id, seed, source rows, and source session ids. Eligibility remains based on live witness custody state, proof rows, claimant factions, and unresolved action need.

Branch assertions

Protect witness under oath

selected_posture: protect_witness_under_oath
witness_state_after_any:
  - protected_witness
  - route_asset.huo_qian_fan_witness
relief_any:
  - proof_row_becomes_admissible
  - fan_side_extraction_unlocked
  - public_receipt_legitimacy_up
cost_any:
  - inspection_heat_up
  - payroll_leak_up
  - handler_burden_up
  - witness_safety_risk_up
future_route_effect_any:
  - li_deng_personhood_claim_route_opens
  - protected_witness_payroll_cost_active
  - later_fan_witness_assignment_available

Buy evidence with oxygen credit

selected_posture: buy_evidence_with_oxygen_credit
witness_state_after_any:
  - paid_in_oxygen
  - trusted_witness
relief_any:
  - huoqian_trust_up
  - proof_legitimacy_up
  - fan_group_stays_available
cost_any:
  - fan_oxygen_credit_spent
  - sponsor_stop_loss_pressure_up
  - future_fan_claim_expected
future_route_effect_any:
  - future_fan_receipt_discount
  - sponsor_counterclaim_armed
  - public_receipt_accounting_required

Publish fan receipt

selected_posture: publish_fan_receipt
witness_state_after_any:
  - public_receipt_carrier
  - route_asset.huo_qian_fan_witness
relief_any:
  - public_receipt_legitimacy_up
  - missing_trainee_fragment_enters_public_record
  - security_extremist_frame_blocked
cost_any:
  - inspection_heat_up
  - sponsor_stop_loss_pressure_up
  - witness_safety_risk_up
future_route_effect_any:
  - public_route_requires_witness_safety
  - archive_challenge_pending
  - sponsor_clean_cut_blocked

Archive-only seal

selected_posture: archive_only_seal
witness_state_after_any:
  - archive_sealed_witness
  - trusted_witness_lost
relief_any:
  - immediate_public_instability_down
  - proof_not_destroyed
cost_any:
  - huoqian_trust_down
  - fan_oxygen_resentment_up
  - public_receipt_legitimacy_down
future_route_effect_any:
  - later_public_conversion_required
  - witness_recovery_cost_up
  - hostile_counter_broadcast_armed_if_unpaid

Frame as extremist

selected_posture: frame_as_extremist
witness_state_after_any:
  - burned_as_extremist
  - security_extremist_frame_hardened
relief_any:
  - security_clearance_pressure_down
  - sponsor_or_archive_pressure_paused
cost_any:
  - fan_witness_safety_down
  - fan_oxygen_resentment_up
  - public_receipt_legitimacy_down
  - lideng_personhood_claim_down
future_route_effect_any:
  - fan_side_extraction_blocked_or_costlier
  - hostile_witness_reprisal_armed
  - recovery_requires_public_contrition_or_witness_payroll

Ignore until clearance

selected_posture: ignore_until_clearance
witness_state_after_any:
  - missed
  - captured_by_security
  - radicalized_hostile
emits_or_arms: storyteller.event.fan_witness_radicalization_break.v1
relief_any:
  - handler_slot_saved
  - immediate_schedule_pressure_not_spent
cost_any:
  - custody_gap_up
  - radicalization_risk_up
  - proof_row_lost_or_leaked
  - fan_oxygen_resentment_up
future_route_effect_any:
  - fan_witness_hearing_costlier
  - proof_burden_on_producer_up
  - hostile_narration_capture_armed

Recover hostile or captured witness

selected_posture: recover_hostile_witness
pre_state_any:
  - radicalized_hostile
  - captured_by_security
  - burned_as_extremist
requires_any:
  - witness_payroll_slot
  - public_contrition_receipt
  - oxygen_compensation
  - proof_burden_reassignment
relief_any:
  - hostile_testimony_contained
  - partial_proof_recovered
  - fan_route_reopens_as_recovery_only
cost_any:
  - public_contrition_debt_up
  - payroll_leak_up
  - fan_oxygen_claim_up
  - inspection_heat_up
future_route_effect_any:
  - recovery_only_fan_witness
  - cannot_reach_clean_fan_route
  - li_deng_route_requires_extra_proof

Replay evidence shape

lens_id: storyteller.lens.huo_qian_fan_witness_custody.v1
session_id: lens-storyteller-huo-qian-fan-witness-custody-v1-<timestamp>
seed: <deterministic-seed>
preconditions:
  witness_candidate: char.huo_qian | equivalent_fan_witness | explicit_absence
  witness_state_before: offered | trusted_witness | paid_in_oxygen | protected_witness | missed | radicalized_hostile | captured_by_security | explicit_absence
  proof_rows:
    - <proof id>
  claimant_factions:
    - fan_public
    - security_or_archive_or_sponsor_or_inspector_or_editor
  route_context_any:
    - li_deng_personhood_claim
    - k404_static_receipt
    - missing_trainee_fragment
    - oxygen_queue_stub
    - security_clearance_pressure
assignments:
  fan_witness: char.huo_qian | route_asset.huo_qian_fan_witness | explicit_absence | hostile_or_captured_state
  proof_object: <proof id or explicit_absence>
  handler: <handler or explicit_absence>
  payment_or_shield: <payment, payroll, public receipt, archive seal, security cover, sponsor cash, or explicit_unpaid>
  selected_posture: <posture>
branches:
  protected_or_paid:
    outcome_any:
      - protected_witness
      - paid_in_oxygen
      - route_asset.huo_qian_fan_witness
    deltas_min: 3
    cost_nonzero: true
  public_or_archive:
    outcome_any:
      - public_receipt_carrier
      - archive_sealed_witness
    deltas_min: 3
    later_route_effect_present: true
  missed_or_hostile:
    outcome_any:
      - missed
      - radicalized_hostile
      - captured_by_security
      - burned_as_extremist
    deltas_min: 3
    future_cost_or_block_present: true
assertions:
  - primary links exist
  - entry is state-triggered
  - proof rows are concrete
  - assignment slots are visible
  - success has nonzero cost
  - miss/suppression creates durable hostile/captured/scar state
  - Li Deng or K-404 route availability/cost changes
  - high-rank-only shortcut is blocked
  - replay provenance is not trigger logic

Progress metric

Progress is branch/state evidence, not page count.

  • 20%: Huo Qian fan witness docket exists with state-triggered entry and proof rows.
  • 40%: custody hearing records witness/proof/handler/payment/posture assignments.
  • 60%: protect, oxygen-pay, or publish branch produces a witness/route-asset outcome with nonzero cost.
  • 80%: archive-only, frame, ignore, hostile, captured, or missed branch produces a durable penalty and future route change.
  • 100%: at least two divergent replay sessions prove success and hostile/miss/captured outcomes with seed, assignments, deltas, and Li Deng/K-404 route effects.

Non-goals

  • Not filler for follower count.
  • Not raw scale satisfaction.
  • Not governance, workflow, or methodology.
  • Not a fixed-turn side quest.
  • Not a free public-truth button.
  • Not a universal fix for fan oxygen, archive, sponsor, or security pressure.
  • Not valid with handwritten outcome claims; durable game replay/session evidence must prove branch reachability.