Branch Reward Vesting / 分支奖励归属固化线

Branch Reward Vesting is the pressure storyline for the moment after a branch succeeds and creates a positive reward that future routes can spend.

Storyteller is strong at negative aftermath: false basis, callback debt, reliance unwind, indemnity shelves, locked branches, route discontinuance, and loadout compatibility. The uncovered seam is a quieter success regression. A player can earn sponsor credit, public goodwill, archive fast-lane, lawful forbearance, handler favor, route-asset privilege, schedule cushion, audience oxygen lift, fan delegate trust, an access window, or a proof shortcut — and a later desk may spend it as if every reader accepted it.

This storyline makes the reward itself a route-custody object.

Primary playable question

When a success creates a future-spendable reward, who owns that reward, which reader may spend it, which reader is excluded or subordinated, and what future route becomes costlier if the reward is treated as universal?

The source success remains true. The storyline does not take rewards away by default. It prevents unvested rewards from becoming clean meta-perks.

Gap diagnosis

Existing surfaces cover adjacent work:

The missing lane is positive reward vesting. A success reward can be neither a dividend, nor callback, nor reliance scar, nor unavailable choice, and still become dangerous when future play spends it without owner, scope, excluded reader, or future effect.

Bound content pack

State-triggered entry

Open this storyline only when the live state contains a spendable success reward.

entry_state:
  trigger_kind: state_pressure
  source_success_present: true
  source_success_kept_true: true
  reward_object_present_or_explicit_absence: true
  reward_spendable_by_future_reader: true
  provisional_owner_or_explicit_absence_visible: true
  candidate_spend_reader_visible: true
  excluded_or_subordinated_reader_visible_or_explicit_absence: true
  future_reader_or_route_consumes_reward: true
  player_can_vest_split_escrow_convert_transfer_spend_forfeit_or_default: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_reward_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

Valid entry examples:

  • a public correction creates public goodwill that a sponsor package wants to cite;
  • archive cooperation creates a fast-lane that management wants to report as broad approval;
  • a lawful forbearance opens one proof route but a public route wants to treat it as consent;
  • a handler favor earned from a rescue is later spent by another desk without naming burden;
  • a route asset receives a privileged access window that a loadout wants to treat as clean custody;
  • audience oxygen relief creates an attention lift that a sponsor reader wants to spend as fan acceptance;
  • a proof shortcut earned in one branch is loaded into a future route without bridge.

Storyline spine

Beat 1 — Success creates a reward

A branch succeeds and creates a positive affordance. The reward may be explicit or discovered when a future route tries to spend it.

The source success remains true; this line does not retcon the win.

Beat 2 — The reward becomes spendable

A later route, sponsor package, public receipt, lawful annex, archive proof, branch eligibility bridge, management closure, route loadout, or broadcast-reality patch tries to spend the reward.

Create or update 分支奖励归属案卷.

Beat 3 — Owner and excluded reader surface

The docket names provisional owner, candidate spend reader, accepted scope, and excluded or subordinated reader. Explicit absence is allowed, but hidden absence is not.

A reward can be good and still not be spendable by every reader.

Beat 4 — The player vests or defaults

Run 分支奖励归属听证. The player chooses:

  • vest to beneficiary;
  • split by reader;
  • escrow reward;
  • convert to route asset;
  • transfer with receipt;
  • spend now with scar;
  • forfeit or quarantine;
  • allow default capture.

Beat 5 — Future play consumes reward state

A branch is complete only when downstream play reads the reward state. Valid results include vested, split_required, escrowed, route_asset_scoped, transferred, spent_with_scar, quarantined, forfeited, captured_default, false_universal, or recovery_only.

If future play consumes the reward as clean before this step, 未固化奖励捕获默认 fires or remains armed.

If future play consumes a resolved reward state after this step, route it through Branch Reward Afteruse Receipt so the later reader, proof bridge, excluded reader, after-state, and future effect remain visible.

Branch matrix

BranchImmediate reliefRequired cost or scarFuture effect
Vest to beneficiaryreward owner can spend with clarityrival or excluded reader pressure risesaccepted with scope
Split by readermultiple readers get scoped accessambiguity, bridge debt, or handler burden risessplit required
Escrow rewardfalse spend blockeddelay, archive debt, sponsor pressure, or public distrust risesbridge required
Convert to route assetreward becomes playable objectmaintenance, custody, or loadout pressure risesroute asset required
Transfer with receiptreward can move to another ownertransfer debt, notice, or claimant hostility risestransferred with receipt
Spend now with scarcurrent route opensreward is marked spent, reader-limited, or costlieraccepted with scar
Forfeit or quarantineunsafe future use blockedcurrent route loses perk or slowsblocked or recovery-only
Default capturefastest desk may get short relieffalse universal reward or private advantage hardenscaptured, hostile, contradiction pending, recovery-only

No branch may create clean universal acceptance across sponsor, public/fan, lawful/archive, inspector, editor, handler, artist-boundary, claimant, route asset, management, and broadcast-reality readers.

Character and desk hooks

  • Shen Luo can transfer or sponsor-scope a reward, but contract capture and public distrust rise.
  • 郁蓝 can force public reward receipt, but sponsor pressure and public confusion rise.
  • 韩砚霜 can escrow a lawful or archive reward, but inspection heat and delay rise.
  • Baiya can convert a proof shortcut into a route asset, but edit debt and source ambiguity rise.

These hooks are valid only when they mutate reward owner, reader scope, excluded reader, cost, or future route acceptance.

Counter contract

Every resolved or defaulted branch mutates at least three durable surfaces:

counter_contract:
  relief_min: 1
  cost_min: 1
  future_reader_or_route_effect_min: 1

Primary surfaces:

  • reward_custody_clarity
  • reward_scope_integrity
  • unvested_reward_pressure
  • captured_reward_pressure
  • excluded_reader_hostility
  • sponsor_credit_scope
  • public_goodwill_legitimacy
  • public_receipt_distrust
  • archive_fastlane_debt
  • lawful_forbearance_scope
  • handler_favor_burden
  • route_asset_privilege_pressure
  • schedule_cushion_debt
  • audience_oxygen_lift_scope
  • producer_license_pressure
  • broadcast_reality_drift
  • future_route_acceptance
  • recovery_route_cost

Missability and recovery

The storyline is missed when implementation:

  • treats a positive reward as global progress;
  • lets sponsor credit prove public acceptance;
  • lets public goodwill satisfy sponsor or lawful readers;
  • lets lawful forbearance become clean public approval;
  • lets archive fast-lane become proof truth;
  • spends handler favor without burden;
  • loads reward into route bundle without custody and scope;
  • hides excluded reader;
  • opens from fixed timing, raw reward count, dashboard, or lens health.

Recovery is allowed only with visible scar:

  • late vesting hearing;
  • reward receipt bulletin;
  • lawful annex;
  • sponsor unwind;
  • archive escrow;
  • route asset recustody;
  • split reader note;
  • reward forfeiture;
  • recovery-only reward.

Replay/session evidence shape

storyline_id: storyteller.storyline.branch_reward_vesting.v1
session_id: lens-branch-reward-vesting-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
  trigger_kind: state_pressure
  source_success_present: true
  source_success_kept_true: true
  reward_object_present_or_explicit_absence: true
  reward_spendable_by_future_reader: true
  provisional_owner_or_explicit_absence_visible: true
  candidate_spend_reader_visible: true
  excluded_or_subordinated_reader_visible_or_explicit_absence: true
  future_reader_or_route_consumes_reward: true
  no_fixed_turn_trigger: true
source_reward:
  source_surface: <surface id>
  reward_kind: <kind>
  provisional_owner_or_absence: <owner or explicit_absence>
  candidate_spend_reader: <reader>
  excluded_or_subordinated_reader: <reader or explicit_absence>
offered:
  card: storyteller.card.branch_reward_vesting_docket.v1
  rite: storyteller.rite.branch_reward_vesting_hearing.v1
branch_runs:
  constructive_branch:
    selected_posture: vest_to_beneficiary | split_by_reader | escrow_reward | convert_to_route_asset | transfer_with_receipt | spend_now_with_scar | forfeit_or_quarantine
    reward_state_after: <state>
    owner_state_after: <state>
    excluded_reader_state_after: <state>
    future_route_effect: <effect>
    counter_deltas:
      relief: []
      cost: []
      future: []
  default_branch:
    selected_posture: default_capture
    event_seen_or_armed: storyteller.event.unvested_reward_capture_default.v1
    default_actor: <actor>
    false_clean_claim: <claim>
    hidden_or_subordinated_reader: <reader or explicit_absence>
    reward_state_after: captured_default | false_universal | sponsor_only | lawful_only | public_only | recovery_only | equivalent
assertions:
  - entry_is_state_triggered
  - source_success_kept_true
  - reward_object_visible_or_explicit_absence
  - owner_scope_and_excluded_reader_visible_or_explicit_absence
  - reward_is_not_universal_key
  - branch_outcomes_diverge
  - success_has_cost
  - default_is_durable
  - future_reader_consumes_reward_state
  - no_fixed_turn_day_week_raw_count_dashboard_or_lens_health_trigger

Non-goals

  • Not a global economy.
  • Not a perk shop.
  • Not filler positive content.
  • Not an achievement layer.
  • Not a fixed-turn reward phase.
  • Not a duplicate of basis recognition, dividend claim, relief callback, reliance unwind, branch eligibility, or route loadout compatibility.
  • Not valid unless a positive reward changes future playable acceptance.