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_reusedBranch 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_requiredBranch 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_onlyBranch 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_requiredBranch 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_ignoredBranch 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_armedBranch 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_onlyCompletion 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: trueNon-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.