Callback Carrier Collision / 回叫承载撞车线

Callback Carrier Collision is the next pressure storyline for the current green corpus. Recent slices already prove individual obligations: callback rows can be created, later readers can consume callback state, recovery shelves can assign recourse, access-caption classes can scope publics, oxygen clawbacks can stay or foreclose breath promises, and fan delegates can be contested.

The remaining product gap is not another obligation row. It is the moment when several valid rows try to use the same carrier: one public delegate, one proof window, one worker counterstub, one named handler, one route asset, one archive copy, or one producer-license burden. Without this line, the game can still accidentally make a carrier universal by serving one row and letting every other row inherit the same service.

This storyline asks: when callbacks collide on one carrier, which obligation actually gets service, which reader waits, and what scar follows the carrier into future play?

Why this is the best next expansion slice

The access-caption/broadcast legal cluster is now strong at individual dockets and class scope. The oxygen cluster is strong at priority, rebate, and clawback. Recovery/indemnity has worker and counterstub seams. The shared weakness across all three clusters is carrier reuse:

  • a caption class and fan oxygen refund can both need the same public delegate;
  • an oxygen stay and sponsor package can both cite the same proof window;
  • a recovery indemnity shelf and callback settlement can both assign the same worker witness;
  • a fan delegate mandate and access-caption class can both treat one representative as all publics;
  • a named handler may already be burdened but still be filed as carrier for another route.

This slice therefore deepens existing playable routes instead of adding filler volume.

Bound content pack

  • 回叫承载撞车机制 defines collision state, carrier capacity, branch families, counter contract, default overwrite, and replay evidence.
  • 回叫承载撞车案卷 records source rows, owed readers, delayed obligations, carrier state, collision kind, and future effect.
  • 回叫承载仲裁 resolves sequence service, split carrier, substitute carrier, publish queue, protect refusal, merge with named harm, quarantine, or default.
  • 回叫承载覆盖默认 fires or arms when one carrier is filed as clean service for unresolved rows.

State-triggered entry

Open this storyline only when all conditions are true:

entry_state:
  trigger_kind: state_pressure
  source_rows_min: 2
  source_rows_have_owed_readers: true
  source_rows_have_delayed_obligations: true
  source_rows_have_minimum_service_surfaces: true
  contested_carrier_visible_or_explicit_absence: true
  carrier_capacity_basis_visible: true
  false_clean_claim_if_unresolved_visible: true
  future_reader_or_route_consumes_result: true
  player_can_sequence_split_substitute_publish_protect_merge_quarantine_or_default: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_callback_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

The line must not open from fixed turn count, fixed day/week interval, chapter quota, raw number of callback rows, dashboard state, lens health, generic staff burden, or generic legal escalation.

Storyline spine

Beat 1 — Two valid obligations name the same carrier

A carrier becomes contested when at least two rows target the same service surface. The rows may come from 救济回叫义务线, 回叫消费证明线, 复原追偿搁架线, 呼吸追缴扣押线, 无障碍字幕集体线, or 粉丝委任分裂线.

The game must show both owed readers before asking how the carrier is used.

Beat 2 — Carrier capacity becomes a route object

Create or update 回叫承载撞车案卷.

The docket must name:

  • source rows;
  • owed readers;
  • delayed obligations;
  • minimum service surfaces;
  • contested carrier or explicit absence;
  • carrier state before;
  • carrier capacity basis;
  • false-clean claim if unresolved;
  • future reader or route that will consume the result.

Beat 3 — The player arbitrates service

Run 回叫承载仲裁.

The player chooses whether to:

  • serve one row first and defer others;
  • split the carrier into scoped roles;
  • substitute another carrier;
  • publish the queue;
  • protect the carrier’s refusal;
  • merge rows only with named harm;
  • quarantine the collision;
  • or allow a default overwrite.

Beat 4 — Current relief creates future unserved rows

Every non-default branch may help one route, but it must leave a visible cost. Deferred rows, scoped service, protected refusal, substitute cost, public queue, named harm, or quarantine must be durable.

Valid future effects include:

  • callback_required;
  • costlier;
  • public_only;
  • lawful_only;
  • sponsor_only;
  • split_required;
  • contradiction_pending;
  • blocked;
  • hostile;
  • recovery_only.

Beat 5 — Default overwrite gives the collision a narrator

If the carrier is filed as clean service for all rows, 回叫承载覆盖默认 fires or arms.

The default records who overwrote the carrier: sponsor, management table, archive, lawful reader, public table, route claimant, broadcast reality, blackout system, or equivalent. It also records which owed reader and delayed obligation were hidden.

Branch map

BranchImmediate reliefCost/scarFuture state
Sequence serviceone row is served without erasing carrier integritydeferred rows remain hostile or costliercallback_required, costlier, split_required
Split carriermultiple rows receive scoped servicesource ambiguity, handler/proof debtpublic_only, lawful_only, sponsor_only, split_required
Substitute carrieroriginal carrier overwrite blockedsubstitute cost, new capture riskcallback_required, carrier_substitution_scar
Publish queuehidden collision becomes visiblesponsor pressure, public confusion, lawful heatpublic_bulletin_required, contradiction_pending
Protect refusalcoerced signature or delegate capture blockedimmediate route pressure, owed reader hostilityblocked, costlier, protected_refusal_required
Merge with named harmnarrow current package proceedsharmed reader hostile or recovery-onlyhostile, recovery_only, contradiction_pending
Quarantine collisionunsafe service blockedroute delay, archive debt, schedule pressureblocked, quarantine_required, recovery_only
Default overwritefastest desk claims service happenedfalse-clean carrier hardensfalse_clean_carrier, sponsor_only, public_only, lawful_only, hostile, recovery_only

Character and route hooks

  • 岑扣复原副签员线 can collide when her counterstub is asked to carry recovery recourse and callback proof at once.
  • 处理人负荷账本 can supply prior carrier state, but this line still requires obligation rows and owed readers; personal burden alone is not enough.
  • A fan delegate from 粉丝委任分裂线 can be split, substituted, protected, or overwritten when access-caption and fan-oxygen publics both need representation.
  • Oxygen stay, public debt, and access-caption settlement states can collide when they try to share one public bulletin, proof window, or route asset return.

Missability and recovery

This storyline is missed when implementation:

  • lets one callback carrier satisfy several rows without service order;
  • treats a fan delegate as all publics;
  • lets one worker signature cover recovery, callback, and lawful proof;
  • uses one proof window as sponsor, public, lawful, and archive proof without scope;
  • hides carrier refusal;
  • deletes deferred rows after one row is served;
  • treats handler-burden state as enough without showing owed readers and delayed obligations;
  • opens from fixed turn, fixed day/week, chapter quota, raw count, dashboard, or lens health.

Recovery is allowed only through visible scar:

  • late arbitration;
  • public queue bulletin;
  • lawful annex naming excluded rows;
  • sponsor unwind;
  • protected refusal receipt;
  • substitute carrier assignment;
  • route-asset return scope;
  • quarantine with recovery-only scar.

Recovery cannot make the carrier clean for all rows retroactively.

Replay evidence expectation

storyline_id: storyteller.storyline.callback_carrier_collision.v1
session_id: lens-callback-carrier-collision-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
  trigger_kind: state_pressure
  source_rows_min: 2
  source_rows_have_owed_readers: true
  source_rows_have_delayed_obligations: true
  contested_carrier_visible_or_explicit_absence: true
  future_reader_or_route_consumes_result: true
  no_fixed_turn_trigger: true
source_rows:
  - row_id: <row id>
    source_surface: <surface>
    owed_reader: <reader>
    delayed_obligation: <obligation>
    minimum_service_surface: <surface>
  - row_id: <row id>
    source_surface: <surface>
    owed_reader: <reader>
    delayed_obligation: <obligation>
    minimum_service_surface: <surface>
carrier:
  carrier_id: <carrier or explicit_absence>
  carrier_kind: <kind>
  carrier_state_before: <state>
  carrier_capacity_basis: <basis>
offered:
  card: storyteller.card.callback_carrier_collision_docket.v1
  rite: storyteller.rite.callback_carrier_arbitration.v1
branch_runs:
  valid_branch:
    selected_posture: sequence_service | split_carrier | substitute_carrier | publish_queue | protect_refusal | merge_with_named_harm | quarantine_collision
    primary_row_served_or_absence: <row or explicit_absence>
    deferred_rows_after: []
    carrier_state_after: <state>
    future_reader_or_route_effect: <effect>
    counter_deltas:
      relief: []
      cost: []
      future: []
  default_branch:
    event_seen_or_armed: storyteller.event.callback_carrier_overwrite_default.v1
    false_clean_claim: <claim>
    default_narrator: <actor>
    hidden_or_overwritten_reader: <reader>
    hidden_or_overwritten_obligation: <obligation>
    future_reader_or_route_effect: <effect>
assertions:
  - entry_is_state_triggered
  - multiple_rows_contest_one_carrier
  - owed_readers_and_delayed_obligations_visible
  - contested_carrier_and_capacity_basis_visible
  - branch_outcomes_diverge
  - deferred_rows_survive
  - success_has_relief_cost_and_future_effect
  - default_overwrite_is_durable
  - future_reader_consumes_collision_state
  - no_fixed_turn_day_week_raw_count_dashboard_or_lens_health_trigger

Non-goals

  • Not raw content-count expansion.
  • Not governance.
  • Not generic staff fatigue.
  • Not a cooldown/rest phase.
  • Not a duplicate of callback creation, callback consumption, recovery indemnity, fan delegate mandate, or handler burden.
  • Not valid unless the collision changes future playable acceptance.