Branch Reward Vesting Docket / 分支奖励归属案卷
Branch Reward Vesting Docket is the card for a positive branch reward that can affect future play but has not yet been assigned to an owner, reader scope, and spend condition.
The docket exists because Storyteller already tracks many negative aftereffects: callback obligations, reliance unwind, indemnity shelves, false basis, and locked branch receipts. A successful branch can still regress if its reward becomes a clean universal key. This card makes the reward itself a custody object.
Card promise
A reward row is valid only when it names:
- the source success that created the reward;
- the reward object or explicit absence;
- provisional owner or explicit absence;
- candidate spend reader;
- excluded or subordinated reader;
- accepted scope;
- vesting posture;
- cost or scar;
- future route effect.
The card is not a wallet, generic inventory, or meta-progress tracker.
Required row shape
branch_reward_vesting_row:
row_id: <stable id>
source_success:
source_surface: <storyline rite event card route asset or explicit_absence>
source_result_kept_true: true
source_beneficiary: <reader actor route asset or explicit_absence>
reward_object:
reward_id: <stable reward id or explicit_absence>
reward_kind: sponsor_credit | public_goodwill | archive_fastlane | lawful_forbearance | handler_favor | route_asset_privilege | schedule_cushion | audience_oxygen_lift | fan_delegate_trust | access_window | proof_shortcut | equivalent
reward_state_before: unvested | provisional | claimed | disputed | scoped | escrowed | spent_unvested | captured | explicit_absence | equivalent
spendable_by_future_reader: true
custody:
provisional_owner_or_absence: sponsor | producer_license | public_fan | archive | inspector | editor | artist_boundary | handler | route_asset | claimant | explicit_absence | equivalent
candidate_spend_reader: sponsor | lawful_reader | public_fan | archive | inspector | editor | route_asset | management | broadcast_reality | equivalent
excluded_or_subordinated_reader: <reader claimant or explicit_absence>
accepted_scope_or_absence: <scope or explicit_absence>
vesting:
selected_posture: vest_to_beneficiary | split_by_reader | escrow_reward | convert_to_route_asset | transfer_with_receipt | spend_now_with_scar | forfeit_or_quarantine | default_capture
handler_or_absence: <handler or explicit_absence>
proof_bridge_or_absence: <proof receipt basis row or explicit_absence>
cost_or_scar_or_absence: <cost scar or explicit_absence>
result:
reward_state_after: vested | split_required | escrowed | route_asset_scoped | transferred | spent_with_scar | quarantined | forfeited | captured_default | recovery_only | equivalent
future_route_effect: accepted_with_scope | costlier | public_only | lawful_only | sponsor_only | route_asset_required | bridge_required | blocked | contradiction_pending | recovery_only | equivalentValid reward examples
- A public correction earns fan goodwill, but sponsor wants to spend it as proof that the public accepted a makegood.
- An archive cooperation branch earns an inspection fast-lane, but a later public route wants to treat that fast-lane as public truth.
- A handler saves a floor slot and earns a favor, but the next desk wants to spend that favor without naming who becomes overburdened.
- A route asset survives and gains a privileged access window, but the bundle wants to treat the window as clean custody.
- A lawful reader grants forbearance, but management wants to report it as full approval.
Fail states this card must expose
fail_states:
reward_unvested:
meaning: reward exists but has no owner or spend scope
reward_captured:
meaning: a desk claimed the reward before vesting
reward_spent_unvested:
meaning: future route consumed the reward as clean
reward_reader_erased:
meaning: excluded reader was hidden when reward was spent
reward_false_universal:
meaning: one reward is accepted by every reader without scar
reward_recovery_only:
meaning: reward can survive only as scar-preserving recovery stateFuture reader hooks
A future route, loadout, public receipt, sponsor package, archive proof, lawful annex, management closure, broadcast-reality patch, or branch eligibility surface may consume this card only by reading reward_state_after, accepted_scope_or_absence, and excluded_or_subordinated_reader.
If future play only checks reward_present, the card is being misused.