Sponsor Makegood Inventory / 赞助补偿库存机制

Sponsor Makegood Inventory is the management-RPG mechanism for the moment after a sponsor-facing promise failed to deliver and the replacement is treated as inventory.

This mechanism fills a narrow gap between sponsor stop-loss, stability packaging, liability underwriting, and management compression. Those systems can already ask who captured a package, who underwrote future liability, and who counted a costly success as clean. This mechanism asks a different question:

When a sponsor demands makegood after broadcast reality fails to deliver the promised surface, what live inventory is spent, who is harmed by that replacement, and what future route inherits the scar?

Mechanism promise

A makegood is not money. In Storyteller it is a claim on reality-bearing inventory:

  • a future slot;
  • a recap/package frame;
  • an artist labor or voice surface;
  • memorial or grief afteruse;
  • fan oxygen credit;
  • public contrition space;
  • archive or lawful proof;
  • edit checksum lane;
  • sponsor release/capture clause.

The mechanism fails if sponsor pressure can be repaired with abstract payment or a reputation delta while the replacement inventory remains invisible.

State-triggered entry

Open or update this mechanism when all of the following are true:

  1. a sponsor-facing promise exists or is explicitly absent: naming rights, slot placement, package frame, clean ending, audience floor, memorial use, artist appearance, archive proof, public contrition space, oxygen benefit, or equivalent;
  2. actual delivery shortfall exists: failed airing, wrong reality state, omitted frame, lawful block, public rejection, artist refusal, oxygen reversal, edit quarantine, or metric contradiction;
  3. a claimant requests replacement, release, refund, or captured proof;
  4. at least one replacement inventory candidate is live or explicitly absent;
  5. at least one harmed reader can be named or explicitly absent;
  6. the player can price, convert, split, refuse, or default the makegood;
  7. ignoring the mechanism creates a non-neutral default;
  8. no condition depends on fixed turn count, fixed day/week interval, chapter quota, raw content count, dashboard state, or lens health.

Core object model

ObjectMeaningRequired observable field
makegood_ledgervisible demand after sponsor delivery shortfallpromised delivery, actual shortfall, requested makegood, harmed reader
replacement_inventoryfinite surface that can be spentslot, package, artist, oxygen, proof, contrition, checksum, release, or absence
harmed_readerreader made worse by sponsor replacementpublic, lawful, editor, artist, fan, schedule, route asset, or absence
settlement_statehow the makegood was handledunpriced, priced, converted, split, refused, defaulted
inventory_defaultwhat happens if sponsor/management files firstdefault author, captured inventory, hidden shortfall, future effect

Branch contract

Branch A — Spend future slot

The producer gives sponsor a future broadcast or correction placement.

Expected outcome:

relief: sponsor_stop_loss_pressure_down | schedule_dispute_down
cost: schedule_pressure_up | correction_slot_lost | audience_fatigue_up
future_route_effect: slot_locked | correction_costlier

Branch B — Convert recap package

The producer converts a stability package, memorial clip, or recap frame into makegood inventory.

Expected outcome:

relief: sponsor_visibility_up | package_delivery_claim_narrowed
cost: omitted_truth_up | public_receipt_distrust_up | package_counterclaim_armed
future_route_effect: sponsor_only | split_package_required

Branch C — Bind artist labor or voice

The sponsor receives replacement appearance, voice, memorial afteruse, or branded continuity surface.

Expected outcome:

relief: promised_delivery_satisfied_with_scar
cost: artist_labor_debt_up | consent_pressure_up | inspection_heat_up
future_route_effect: consent_hearing_required | artist_route_costlier

Branch D — Refund or redirect fan oxygen

The replacement is paid through fan oxygen, public refund, or audience benefit.

Expected outcome:

relief: public_receipt_legitimacy_up | attention_floor_repaired
cost: sponsor_hostility_up | fan_oxygen_resentment_up | oxygen_liability_up
future_route_effect: public_only_bridge | refund_audit_required

Branch E — Trade archive proof or checksum lane

The makegood is satisfied by access to proof, lawful seal, archive visibility, or edit checksum.

Expected outcome:

relief: lawful_or_custody_clarity_up | sponsor_claim_priced
cost: archive_debt_up | source_exposure_up | edit_debt_up | source_ambiguity_up
future_route_effect: lawful_only | checksum_required | proof_quarantined

Branch F — Buy sponsor release

The shortfall is narrowed by release clause, sideletter, or sponsor concession.

Expected outcome:

relief: sponsor_stop_loss_pressure_down | liability_cap_claim_narrowed
cost: contract_capture_up | future_blackmail_up | public_receipt_distrust_up
future_route_effect: accepted_with_release_clause | sponsor_unwind_required

Branch G — Refuse, split, or default

The producer refuses the makegood, splits it across readers, or lets sponsor/management file first.

Expected outcome:

relief: false_replacement_blocked | immediate_dispute_paused
cost: sponsor_pressure_up | schedule_pressure_up | captured_inventory_up | hidden_shortfall_up
future_route_effect: disputed | blocked | sponsor_only | costlier | recovery_only

Counter and state contract

Every non-default branch must mutate at least three surfaces:

  • one immediate relief surface;
  • one cost/scar surface;
  • one future reader, route, slot, package, proof, artist, or oxygen effect.

Primary counters and durable states:

  • sponsor_stop_loss_pressure
  • makegood_inventory_state
  • replacement_inventory_spent
  • hidden_delivery_shortfall
  • contract_capture
  • schedule_pressure
  • correction_slot_pressure
  • public_receipt_distrust
  • fan_oxygen_resentment
  • oxygen_liability
  • artist_labor_debt
  • consent_pressure
  • memorial_afteruse_pressure
  • archive_debt
  • edit_debt
  • source_ambiguity
  • inspection_heat
  • broadcast_reality_drift
  • future_route_effect

Integration rules

Replay evidence contract

mechanic: storyteller.mechanic.sponsor_makegood_inventory.v1
session_id: lens-sponsor-makegood-inventory-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
  trigger_kind: state_pressure
  sponsor_promise_or_absence_present: true
  delivery_shortfall_present: true
  requested_makegood_present: true
  replacement_inventory_or_absence_present: true
  harmed_reader_or_absence_present: true
  no_fixed_turn_trigger: true
offered:
  card: storyteller.card.sponsor_makegood_ledger.v1
  rite: storyteller.rite.sponsor_makegood_settlement.v1
branch_runs:
  settled_branch:
    selected_branch: future_slot | recap_package | artist_labor | fan_oxygen_refund | archive_proof_trade | sponsor_release | refuse_or_split
    replacement_inventory_spent_or_absent: <inventory_or_absence>
    harmed_reader_after: <state>
    sponsor_state_after: <state>
    future_route_effect: <effect>
    counter_deltas:
      relief: []
      cost: []
      future: []
  default_branch:
    event_seen_or_armed: storyteller.event.makegood_inventory_default.v1
    default_author: <author>
    captured_inventory: <inventory>
    hidden_shortfall: <shortfall>
    future_route_effect: <effect>
assertions:
  - entry_is_state_triggered
  - promised_delivery_and_shortfall_visible
  - replacement_inventory_and_harmed_reader_visible_or_explicit_absence
  - settlement_branches_diverge
  - no_clean_money_only_makegood
  - default_records_captured_inventory_hidden_shortfall_and_future_effect
  - no_fixed_turn_trigger

Non-goals

  • Not a sponsor finance simulator.
  • Not generic advertiser lore.
  • Not a raw money sink.
  • Not a fixed upkeep phase.
  • Not a replacement for stability package, omitted-frame counterclaim, liability underwriting, or metric capture appeal.
  • Not valid if replacement inventory does not change future play.