Fan Token Reissue Receipt
Fan Token Reissue Receipt prevents a replacement fan token from silently inheriting every proof scope of the original token line.
The mechanism opens after a token batch has been scoped, recalled, split, quarantined, traded as relief, or defaulted, and a later route tries to consume a reissue as if it were a clean replacement. Reissue can help, but it must preserve the old batch state, excluded holders, beneficiary, proof bridge, and future reader.
Entry Rule
entry_state_required:
trigger_kind: state_pressure
source_fan_token_batch_visible: true
prior_token_state_visible: true
reissue_claim_visible: true
replacement_token_or_explicit_absence_visible: true
represented_and_excluded_fans_visible: true
beneficiary_of_clean_reissue_visible: true
harmed_reader_or_claimant_visible_or_explicit_absence: true
future_reader_consumes_reissue_state: true
player_can_certify_reissue_split_recall_quarantine_or_default: true
no_fixed_turn_trigger: true
no_fixed_day_or_week_trigger: true
no_raw_token_count_trigger: true
no_dashboard_or_lens_health_trigger: trueInvalid entry includes a sponsor reprint with no future reader, a raw crowd count, a merch replacement, or a dashboard cleanup task.
State Row
fan_token_reissue:
source_fan_token_docket_or_batch: fan_token_custody_docket | token_batch_id | explicit_absence | equivalent
prior_token_state: authenticated_with_scope | split_token_line | recalled_with_addendum | duplicate_contested | quarantined | sponsor_issued_only | refund_only | access_only | forged_hostile | recovery_only | equivalent
reissue_claim: replacement_public_receipt | replacement_access_proof | replacement_refund_stub | sponsor_makegood_coupon | delegate_mandate_refresh | recap_proof_refresh | route_loadout_refresh | equivalent
replacement_token_or_absence: <token id or explicit_absence>
reissue_authority_or_absence: sponsor | fan_public | archive | inspector | security | feed_algorithm | route_asset | management | explicit_absence
represented_fans: <scope>
excluded_or_missing_fans: <scope or explicit_absence>
beneficiary_of_clean_reissue: <actor or faction or explicit_absence>
harmed_reader_or_claimant: <reader or claimant or explicit_absence>
proof_or_absence: origin_log | old_batch_receipt | public_addendum | counterreceipt_window | lawful_annex | access_log | sponsor_sideletter | explicit_absence
selected_reissue_posture: certify_scoped_reissue | split_reissue_by_holder | publish_counterreceipt_window | attach_origin_proof | quarantine_replacement_batch | convert_to_refund_or_access_only | false_fan_token_reissue_default
reissue_state_after: scoped_reissue | split_by_holder | counterreceipt_open | provenance_only | quarantined | refund_only | access_only | sponsor_only | false_universal_reissue | recovery_only
future_reader_or_route_effect: accepted_with_scope | counterreceipt_required | oxygen_recheck_required | access_recheck_required | route_loadout_blocked | recap_fragment_disputed | sponsor_unwind_required | hostile | recovery_only
counter_deltas:
relief: []
cost: []
future: []The row fails if it stores only replacement_issued, token_refreshed, new_batch_clean, or coupon_valid.
Branch Families
branch_families:
certify_scoped_reissue:
relief_any: [replacement_use_legible, false_reissue_risk_down]
cost_any: [excluded_holder_notice_due, proof_bridge_up, handler_burden_up]
future_effect_any: [accepted_with_scope, addendum_required, costlier]
split_reissue_by_holder:
relief_any: [old_new_holder_conflict_visible, overbroad_reissue_blocked]
cost_any: [fan_oxygen_resentment_up, source_ambiguity_up, handler_burden_up]
future_effect_any: [split_required, holder_specific, public_only]
publish_counterreceipt_window:
relief_any: [excluded_fans_can_answer, public_receipt_legitimacy_up]
cost_any: [sponsor_stop_loss_pressure_up, public_receipt_distrust_up, queue_delay_up]
future_effect_any: [counterreceipt_required, public_counterreceipt_armed, costlier]
attach_origin_proof:
relief_any: [replacement_lineage_visible, counterfeit_pressure_down]
cost_any: [archive_debt_up, inspection_heat_up, proof_burden_up]
future_effect_any: [provenance_only, lawful_annex_required, proof_bridge_required]
quarantine_replacement_batch:
relief_any: [false_clean_reissue_blocked]
cost_any: [route_delay_up, sponsor_pressure_up, fan_pressure_up]
future_effect_any: [blocked, quarantined, recovery_only]
convert_to_refund_or_access_only:
relief_any: [immediate_relief_available]
cost_any: [public_truth_unresolved, delegate_scope_unresolved, contract_capture_up]
future_effect_any: [refund_only, access_only, sponsor_only]
false_fan_token_reissue_default:
relief_any: [short_term_reader_unblocked]
cost_any: [false_universal_reissue_up, excluded_fan_hostility_up, recovery_cost_up]
future_effect_any: [hostile, blocked, costlier, recovery_only]Every branch must change relief, cost, and future reader state.
Default Rule
If a future reader consumes a replacement token while source batch, prior token state, replacement token or absence, represented fans, excluded fans, beneficiary, harmed reader, proof bridge, or future effect is hidden, False Fan Token Reissue Default fires or arms.
Non-Goals
- Not a collectible replacement economy.
- Not a broad fan-token authentication table.
- Not a raw token-count gate.
- Not valid unless a future reader consumes the reissue state.