Fan Token Authentication Table / 应援凭证验真桌

Fan Token Authentication Table is the assignable rite for resolving a 应援凭证羁押案卷.

It is a table scene, not a shop or crafting action. The producer seats the token, holder, custodian, source claim, excluded holders, authentication proof, and future reader before the token can be consumed by a route.

Required inputs

required_inputs:
  docket: storyteller.card.fan_token_custody_docket.v1
  token_instance_or_batch: <id>
  claimed_use: <use>
  holder: <actor or explicit_absence>
  custodian_or_absence: <actor or explicit_absence>
  authentication_proof_or_absence: <proof or explicit_absence>
  represented_fans: <scope>
  excluded_or_missing_fans: <scope or explicit_absence>
  beneficiary_of_clean_token: <actor/faction or explicit_absence>
  harmed_reader_or_claimant: <reader/claimant or explicit_absence>
  future_reader_or_route: <reader/route>

The rite cannot proceed if the token’s claimed use is unknown, if excluded holders are hidden, or if the future reader is absent.

Assignment slots

Every resolution fills or explicitly records absence for:

  • table handler;
  • custody witness;
  • proof of token origin;
  • proof of current holder;
  • excluded-holder notice;
  • addendum or recall note;
  • future reader;
  • collateral or sacrifice.

A famous handler can improve a roll, but cannot replace a missing slot.

Branches

Branch A — Authenticate with scope

The token becomes valid for a named use and named fan scope.

selected_posture: authenticate_with_scope
token_state_after: authenticated_with_scope
relief_any:
  - claimed_use_becomes_legible
  - route_reader_accepts_bounded_token
cost_any:
  - excluded_holder_notice_due
  - inspection_heat_up
  - archive_debt_up
future_effect_any:
  - bounded_reuse_only
  - addendum_required_if_reused

Branch B — Fan-attest token line

Fans or a delegate attest token origin when formal proof is missing.

selected_posture: fan_attest_token_line
token_state_after: fan_attested
relief_any:
  - public_receipt_legitimacy_up
  - private_capture_down
cost_any:
  - fan_delegate_pressure_up
  - witness_retaliation_risk_up
  - public_receipt_distrust_up_if_contradicted
future_effect_any:
  - public_only
  - protected_payroll_or_counterreceipt_required

Branch C — Split token batch

One batch is split by reader, use, or holder group.

selected_posture: split_token_batch
token_state_after: split_token_line
relief_any:
  - incompatible_readers_stop_overwriting_each_other
cost_any:
  - fan_oxygen_resentment_up
  - source_ambiguity_up
  - handler_burden_up
future_effect_any:
  - access_only
  - refund_only
  - public_receipt_only
  - sponsor_issued_only

Branch D — Recall with addendum

The producer recalls a token batch but must publish what the recall does not erase.

selected_posture: recall_with_addendum
token_state_after: recalled_with_addendum
relief_any:
  - counterfeit_or_duplicate_pressure_down
cost_any:
  - sponsor_stop_loss_pressure_up
  - public_receipt_distrust_up
  - recovery_cost_up
future_effect_any:
  - addendum_required
  - oxygen_recheck_required

Branch E — Quarantine duplicate

Duplicate or suspicious tokens are held out of route consumption.

selected_posture: quarantine_duplicate
token_state_after: duplicate_contested | quarantined
relief_any:
  - route_contamination_down
  - false_clean_token_down
cost_any:
  - route_delay_up
  - excluded_fan_recognition_pressure_up
future_effect_any:
  - audit_required
  - recovery_only_if_ignored

Branch F — Trade token relief

The token is accepted as partial relief, coupon, access, or oxygen credit, but not as public truth.

selected_posture: trade_token_relief
token_state_after: sponsor_issued_only | refund_only | access_only
relief_any:
  - immediate_fan_or_sponsor_pressure_down
cost_any:
  - contract_capture_up
  - public_receipt_legitimacy_down
  - excluded_fan_resentment_up
future_effect_any:
  - sponsor_only
  - public_counterreceipt_armed

Branch G — Counterfeit default

The table is skipped, underfilled, bought, or hidden. The token becomes a false proof object.

selected_posture: accept_counterfeit_default
token_state_after: forged_hostile | recovery_only | duplicate_contested
emits_or_arms: storyteller.event.fan_token_counterfeit_default.v1
cost_any:
  - token_legitimacy_down
  - public_receipt_distrust_up
  - fan_oxygen_resentment_up
future_effect_any:
  - route_blocked
  - hostile_token_holders
  - recovery_only

Completion contract

A completed rite must output:

rite_result:
  selected_posture: <branch>
  token_state_after: <state>
  represented_fans_after: <scope>
  excluded_or_missing_fans_after: <scope or explicit_absence>
  future_reader_or_route_effect: <effect>
  event_seen_or_armed: storyteller.event.fan_token_counterfeit_default.v1 | none
  counter_deltas:
    relief: []
    cost: []
    future: []
assertions:
  token_not_universal_clean_proof: true
  excluded_holders_visible_or_explicit_absence: true
  future_reader_consumes_state: true

Non-goals

  • Not an inventory optimization rite.
  • Not a collectible rarity check.
  • Not a popularity contest.
  • Not valid if the token becomes clean proof for every reader.