Recap Syndication Drift / 回顾分发漂移机制

Recap Syndication Drift prevents a scarred public recap from being laundered into clean broadcast reality through a short clip, quote strip, sponsor package, mirror teaser, caption extract, fan cut, emergency explainer, or archive preview.

This mechanism does not replace 公开回顾捕获线. It starts after or alongside recap qualification, when another desk asks to reuse a fragment rather than the full recap. The key question is narrower: does the fragment carry the same scar, proof boundary, reader scope, and future-route warning as the recap that authorized it?

Design promise

A passing implementation proves that syndication is not free reach. Every clipped recap fragment must carry a readable state:

  • source recap and scar;
  • selected fragment;
  • scar tag state;
  • proof or caption context;
  • distributor and destination;
  • beneficiary of a clean fragment;
  • harmed or omitted reader;
  • operator state or explicit absence;
  • future reader or route that consumes the fragment.

The mechanism fails if clips are modeled as flavor marketing, popularity, generic PR, raw share count, or clean reuse of approved wording.

Entry rule

entry_state_required:
  trigger_kind: state_pressure
  source_recap_present: true
  source_recap_has_state: true
  source_recap_has_scar_or_explicit_absence: true
  distributable_fragment_requested_or_circulating: true
  destination_surface_present: true
  beneficiary_of_clean_fragment_visible_or_explicit_absence: true
  harmed_or_omitted_reader_visible_or_explicit_absence: true
  proof_caption_or_mirror_scope_visible_or_explicit_absence: true
  future_reader_or_route_consumes_fragment_state: true
  player_can_tag_split_caption_addendum_quarantine_clean_or_default: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_clip_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

The mechanism must not open from a fixed turn, day/week, episode number, chapter quota, raw number of clips, dashboard state, lens-health state, or generic PR step.

State model

回顾分发条 is the canonical state row.

recap_syndication_state:
  source:
    source_recap_id: <recap row>
    source_recap_state: qualified | split | corrected | public_contrition | quarantined | sponsor_clean | captured | breached | recovery_only
    source_scar: private_scope | unserved_notice | access_harm | power_priority_loss | continuity_scope | capacity_liability | drift_contradiction | witness_exposure | equivalent | explicit_absence
    proof_anchor_or_absence: public_receipt | caption_log | oxygen_queue_log | power_ledger | promise_row | edit_checksum | lawful_seal | mirror_right | explicit_absence
  fragment:
    fragment_id: <clip id>
    fragment_kind: short_clip | quote_strip | sponsor_package | mirror_teaser | caption_extract | emergency_explainer | fan_cut | archive_preview | equivalent
    scar_tag_state: carried | softened | dropped | contradicted | caption_only | lawful_only | sponsor_only | public_only | explicit_absence
    caption_or_adaptation_state: source_matched | localized | auto_captioned | sponsor_rewritten | missing | contradicted | witness_required | explicit_absence
  distribution:
    distributor: producer | sponsor | management | archive | mirror_desk | caption_operator | fan_delegate | pirate_relay | character | equivalent
    destination_surface: official_feed | mirror_feed | sponsor_feed | caption_feed | fan_oxygen_queue | public_recap_table | archive_preview | route_asset_bridge | equivalent
    beneficiary_of_clean_fragment: <beneficiary or explicit_absence>
    harmed_or_omitted_reader: <reader or explicit_absence>
    operator_state_or_absence: unseen | visible | protected | recruited | retained | suppressed | captured | hostile | missed | explicit_absence
    future_reader_or_route: <reader route asset or explicit_absence>
    clip_state_after: pending | scar_tagged | split_tagged | corrected | quarantined | sponsor_clean | caption_only | mirror_only | false_clean | disputed | recovery_only

Transition rules

1. Approved wording is not approved scope

A fragment may quote an approved recap line and still be invalid for a destination reader if it drops the scar tag, caption dependency, mirror-right scope, proof anchor, or harmed-reader warning.

2. Caption extracts need context

A caption-readable clip cannot be treated as source-matched proof unless the caption/adaptation state is recorded. If the caption is auto-generated, localized, sponsor-rewritten, missing, contradicted, or witness-required, the future reader must inherit that state.

3. Sponsor reach narrows public trust

A sponsor-clean cut may reduce sponsor or slot pressure, but it must become sponsor-only, public-addendum-required, lawful-bridge-required, or recovery-only unless the harmed public/access/fan reader is named and priced.

4. Mirror relay creates a second reader

A mirror teaser or relay package must not inherit source authority for free. If source rights, service authority, or proof state do not cover the mirror reader, the fragment becomes mirror-only, split-required, service-recheck-required, or default-ready.

5. Operator state is playable

If a named operator handled the cut, their state must affect future play. Protected or recruited operators can carry scar tags and testify to source context. Suppressed, captured, hostile, missed, or absent operators make future reliance costlier or default-ready.

Playable operations

回顾分发复核 exposes these operations:

OperationImmediate reliefRequired scar
Carry scar tagfragment can circulate with bounded truthsponsor/management discomfort or public attention
Split by readerincompatible feeds can proceed separatelyedit debt, contradiction, handler burden
Require caption witnessaccessibility/caption reliance is saferdistribution delay and witness burden
Publish addendumpublic proof improvessponsor pressure and producer-license heat
Quarantine clipfalse clean fragment blockedschedule, fan, sponsor, or route pressure
Sponsor clean cutsponsor or slot pressure fallspublic distrust, access/fan harm, future addendum
Default false cleanfastest narrator files firstdurable false clean clip scar

Default rule

洁净切条分发默认 must fire or arm when a slip is absent, a scar tag is hidden, proof/caption/mirror scope is hidden, a sponsor-clean fragment claims public truth, or a future reader consumes a fragment as the full recap.

The default must mutate at least three surfaces: one relief/capture surface, one cost surface, and one future reader or route surface.

Replay evidence shape

mechanic_id: storyteller.mechanic.recap_syndication_drift.v1
session_id: recap-syndication-drift-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
  trigger_kind: state_pressure
  source_recap_present: true
  distributable_fragment_requested_or_circulating: true
  harmed_or_omitted_reader_visible_or_explicit_absence: true
  future_reader_or_route_consumes_fragment_state: true
  no_fixed_turn_trigger: true
objects:
  slip: storyteller.card.recap_syndication_slip.v1
  rite: storyteller.rite.recap_syndication_review.v1
branch_runs:
  resolved_branch:
    selected_posture: carry_scar_tag | split_by_reader | require_caption_witness | publish_addendum | quarantine_clip | sponsor_clean_cut
    fragment_id: <clip id>
    clip_state_after: <state>
    scar_tag_state_after: <state>
    harmed_reader_state_after: <state>
    operator_state_after: <state or explicit_absence>
    future_reader_effect: <effect>
    counter_deltas:
      relief: []
      cost: []
      future: []
  default_branch:
    event_seen_or_armed: storyteller.event.clean_clip_syndication_default.v1
    failed_requirement: <requirement>
    default_narrator: <actor>
    future_reader_effect: <effect>
assertions:
  - source_recap_and_fragment_visible
  - scar_tag_or_absence_visible
  - proof_caption_or_mirror_scope_visible_or_absent
  - harmed_reader_and_beneficiary_visible
  - operator_state_mutates_if_present
  - future_reader_consumes_clip_state
  - no_universal_clean_clip
  - no_fixed_turn_day_week_raw_count_dashboard_or_lens_health_trigger

Failure cases

The mechanism fails if an approved recap sentence becomes universal permission, if caption readability is treated as proof context, if a sponsor clip is treated as public consent, if a mirror teaser inherits source rights automatically, if operator state is flavor-only, if future routes cannot read the clip state, or if the branch only changes audience mood/share count.