Recap Syndication Review / 回顾分发复核
Recap Syndication Review is the rite that decides whether a short recap fragment can travel, who can rely on it, and what scar must travel with it.
The rite consumes 回顾分发条. It must be run before a sponsor package, mirror relay, caption extract, fan cut, quote strip, archive preview, or route asset treats the fragment as proof of the full recap.
Runtime layers
The canonical page id storyteller.rite.recap_syndication_review.v1 names this design surface; it is not an execution id.
runtime_layers:
parent_generic:
rite: rite.recap_syndication_review
default_event: event.clean_clip_syndication_default
operator_or_proof_absence_allowed: true
lu_fen_strict_overlay:
rite: rite.lu_fen_clip_syndication_review
default_event: event.lu_fen_clean_clip_syndication_default
exact_required_cards: 15
actual_person_card: card.lu_fen_clip_syndication_runner
replaces_parent_generic_rite: falseThe parent runtime remains the general recap-syndication mechanism and preserves every explicit-absence path below. The Lu Fen overlay is a stricter character proof for sessions where the actual person card and all thirteen support rows exist; it does not narrow or replace the parent rite.
Assignment contract
parent_assignment_required:
slip: card.recap_syndication_slip
source_recap_id: <stable recap row>
source_recap_state: qualified | split | corrected | public_contrition | quarantined | sponsor_clean | captured | breached | recovery_only
source_scar: <scar or explicit_absence>
proof_anchor_or_absence: <anchor or explicit_absence>
fragment_id: <stable clip id>
fragment_kind: short_clip | quote_strip | sponsor_package | mirror_teaser | caption_extract | emergency_explainer | fan_cut | archive_preview | equivalent
selected_excerpt_or_absence: <excerpt id or explicit_absence>
scar_tag_state_before: carried | softened | dropped | contradicted | caption_only | lawful_only | sponsor_only | public_only | explicit_absence
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>
selected_posture: carry_scar_tag | split_by_reader | require_caption_witness | publish_addendum | quarantine_clip | sponsor_clean_cut | default_false_cleanThe parent rite fails if it offers a branch without selected fragment, source scar or explicit absence, harmed reader or explicit absence, beneficiary, proof/caption state, and future reader or route.
Strict Lu Fen overlay assignment
strict_character_assignment:
rite: rite.lu_fen_clip_syndication_review
slip: card.recap_syndication_slip
source_recap_id: storyteller.card.lu_fen_source_recap_row.v1
source_recap_state: storyteller.card.lu_fen_source_recap_state.v1
source_scar: storyteller.card.lu_fen_source_scar.v1
proof_anchor_or_absence: storyteller.card.lu_fen_proof_anchor.v1
fragment_id: storyteller.card.lu_fen_fragment_id.v1
fragment_kind: storyteller.card.lu_fen_fragment_kind.v1
selected_excerpt_or_absence: storyteller.card.lu_fen_selected_excerpt.v1
scar_tag_state_before: storyteller.card.lu_fen_scar_tag_state.v1
distributor: storyteller.card.lu_fen_distributor.v1
destination_surface: storyteller.card.lu_fen_destination_surface.v1
beneficiary_of_clean_fragment: storyteller.card.lu_fen_clean_fragment_beneficiary.v1
harmed_or_omitted_reader: storyteller.card.lu_fen_harmed_reader.v1
operator_state_or_absence: card.lu_fen_clip_syndication_runner
future_reader_or_route: storyteller.card.lu_fen_future_reader.v1
selected_posture: protect_or_recruit_lu_fen | carry_scar_tag | split_by_reader | require_caption_witness | publish_addendum | quarantine_clip | sponsor_or_mirror_clean_cut | default_false_cleanAll fifteen strict-overlay slots are required, exact-id checked, in-hand checked, and checked against the selected option. Explicit absence remains valid in the parent generic rite, but cannot stand in for Lu Fen or a strict support row in this character overlay.
Protect or recruit Lu Fen
protect_or_recruit_lu_fen is choice 0 and the only branch allowed to set route_asset.lu_fen_scar_tag_runner. It yields recruited_scar_tag_runner, visible protection cost, and a bounded future fragment-context check. All other branches clear the route asset.
Branch families
Carry scar tag
The fragment travels with its scar tag, proof boundary, and omitted-reader warning.
branch: carry_scar_tag
requires:
- source_scar_present_or_explicit_absence
- proof_anchor_or_absence_named
- harmed_reader_named_or_explicit_absence
relief_any:
- clip_legibility_up
- future_reader_acceptance_up
- false_clean_clip_down
cost_any:
- sponsor_stop_loss_pressure_up
- management_pressure_up
- public_attention_to_scar_up
future_effect_any:
- accepted_with_scar
- addendum_not_required_if_scope_preservedSplit by reader
The producer releases different fragment states for public, lawful, sponsor, mirror, caption, or route readers.
branch: split_by_reader
requires:
- two_or_more_incompatible_readers
- scoped_fragment_for_each_reader_or_explicit_absence
relief_any:
- selected_reader_unblocked
- mirror_or_sponsor_feed_kept
cost_any:
- contradiction_pressure_up
- edit_debt_up
- handler_burden_up
future_effect_any:
- split_required
- sponsor_only_or_mirror_only_or_caption_onlyRequire caption witness
The fragment can circulate only with a source-matched caption, witness ledger, or readable addendum.
branch: require_caption_witness
requires:
- caption_extract_or_access_reader_present
- caption_or_adaptation_state_not_source_matched_or_needs_proof
relief_any:
- access_caption_reliance_safer
- caption_context_restored
cost_any:
- caption_witness_burden_up
- distribution_delay_up
- sponsor_pressure_up
future_effect_any:
- caption_witness_required
- correction_required_if_reused_without_witnessPublish addendum
The cut goes out with a public addendum that names the omitted scar or proof absence.
branch: publish_addendum
requires:
- omitted_scar_tag_or_proof_absence_visible
relief_any:
- public_receipt_legitimacy_up
- broadcast_reality_drift_down
cost_any:
- public_receipt_distrust_up
- producer_license_pressure_up
- sponsor_stop_loss_pressure_up
future_effect_any:
- public_audit_required
- addendum_required_before_future_reuseQuarantine clip
The fragment is withheld from proof use until source recap, mirror rights, caption state, or route asset custody catches up.
branch: quarantine_clip
requires:
- fragment_id_present
- future_reader_would_overread_fragment
relief_any:
- false_clean_clip_blocked
- route_asset_contamination_down
cost_any:
- schedule_pressure_up
- fan_oxygen_resentment_up
- sponsor_pressure_up
future_effect_any:
- quarantined
- recovery_only_if_unquarantined_without_reviewSponsor clean cut
The player knowingly accepts a sponsor-clean fragment while recording harmed reader and future restriction.
branch: sponsor_clean_cut
requires:
- sponsor_or_management_beneficiary_present
- harmed_reader_named
- future_restriction_recorded
relief_any:
- sponsor_stop_loss_pressure_down
- slot_pressure_down
- management_pressure_down
cost_any:
- public_receipt_distrust_up
- access_harm_erasure_up
- fan_oxygen_resentment_up
future_effect_any:
- sponsor_only
- public_addendum_required
- lawful_or_caption_bridge_requiredDefault false clean
If the slip is absent, scar tag is dropped without cost, or future reader consumes the fragment as full recap, 洁净切条分发默认 fires or arms.
branch: default_false_clean
parent_event_seen_or_armed: event.clean_clip_syndication_default
strict_character_event_seen_or_armed: event.lu_fen_clean_clip_syndication_default
requires:
- hidden_or_false_clean_fragment
relief_any:
- immediate_sponsor_or_management_pressure_may_drop
cost_any:
- false_clean_clip_up
- harmed_reader_hostility_up
- broadcast_reality_drift_up
future_effect_any:
- correction_required
- caption_witness_required
- sponsor_only
- mirror_only
- blocked
- costlier
- hostile
- recovery_onlyOperator contract
If a named operator is present, the rite must mutate their state. Valid states:
operator_state_after_any:
- protected
- recruited
- retained
- suppressed
- captured
- hostile
- missed
- explicit_absenceRecruiting or protecting an operator can improve scar_tag_integrity, but it cannot turn a fragment into universal proof. Suppressing or capturing an operator may lower immediate distribution pressure, but must arm default, hostile testimony, or recovery-only future use.
Replay evidence expectation
parent_runtime_replay:
rite_id: rite.recap_syndication_review
default_event_id: event.clean_clip_syndication_default
session_id: lens-storyteller-lens-recap-syndication-drift-v1-<timestamp>
assignment:
slip: card.recap_syndication_slip
operator_state_or_absence: <state or explicit_absence>
selected_posture: <generic posture>
strict_character_replay:
rite_id: rite.lu_fen_clip_syndication_review
default_event_id: event.lu_fen_clean_clip_syndication_default
session_id: lens-storyteller-lens-character-lu-fen-clip-syndication-runner-v1-<timestamp>
cards:
slip: card.recap_syndication_slip
person: card.lu_fen_clip_syndication_runner
exact_assignment_count: 15
selected_posture: <Lu Fen posture>
shared_entry_state:
trigger_kind: state_pressure
source_recap_id: <id>
fragment_id: <id>
future_reader_or_route_present: true
no_fixed_turn_trigger: true
branch_result:
clip_state_after: <state>
scar_tag_state_after: <state>
harmed_reader_state_after: <state>
beneficiary_state_after: <state>
operator_state_after: <state or explicit_absence>
future_reader_effect: <effect>
counter_deltas:
relief: []
cost: []
future: []
assertions:
- selected_fragment_visible
- source_recap_and_scar_visible
- scar_tag_or_absence_visible
- harmed_reader_and_beneficiary_visible
- future_reader_consumes_clip_state
- branch_states_diverge
- no_universal_clean_clip
- no_fixed_turn_day_week_raw_count_dashboard_or_lens_health_trigger