Cen Kou Recovery Counterstub Clerk Storyline / 岑扣复原副签员线

Bound character: Recovery Counterstub Clerk.

This character storyline turns the small physical counterstub behind a recovery inventory row into a route-relevant choice. 岑扣 can be protected, recruited, missed, coerced into hostility, or hardened into a scapegoat default. The route is not about adding another helper; it is about making sponsor afteruse, archive custody, and recovery inventory share a visible worker-liability seam.

Storyline promise

When 复原库存分诊线 and 赞助后用引证线 collide, the game must not hide the person whose counterstub makes the row legible.

A passing implementation proves that:

  • 岑扣 appears from state pressure, not sequence count;
  • a recovery row, counterstub state, desired reader, excluded or blamed reader, and future route effect are visible;
  • recruit, miss, hostile, protected, and default states change future options;
  • her signature cannot become clean universal proof;
  • sponsor, archive, recovery, public, and worker-reader outcomes diverge.

Entry states

Open the route when at least one finite recovery row and one counterstub risk are present:

entry_state_required:
  trigger_kind: state_pressure
  finite_recovery_row_present_or_explicit_absence: true
  counterstub_state_visible: true
  afteruse_archive_or_reallocation_claim_present: true
  competing_claims_min: 2
  desired_reader_present: true
  excluded_or_blamed_reader_present_or_explicit_absence: true
  cen_kou_state: unseen | visible | protected | recruited | missed | hostile | scapegoated | unavailable | explicit_absence
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

Valid sources include:

State graph

cen_kou_states:
  unseen:
    opens_from: contested_recovery_row_with_counterstub_risk
    exits_to: visible | missed | scapegoated
  visible:
    exits_to: protected | recruited | hostile | missed | scapegoated
  protected:
    exits_to: recruited | visible | hostile_if_coerced | missed_if_abandoned
  recruited:
    route_asset_unlock: route_asset.cen_kou_counterstub_clerk
    limits: one_future_low_risk_counterstub_verification_per_eligible_row
  missed:
    future_cost: counterstub_hearing_costlier_or_recovery_only
  hostile:
    future_cost: worker_witness_against_sponsor_archive_or_management
  scapegoated:
    future_cost: sponsor_only_archive_only_recovery_only_blocked_or_costlier

State changes must be durable. A future row should be able to read whether she is recruited, missed, hostile, protected, or scapegoated.

Play sequence

1. Counterstub sighting

A row from 复原库存账本 gains a counterstub problem.

Minimum fields:

counterstub_sighting:
  recovery_row: <inventory id or explicit_absence>
  counterstub_state: unsigned | held | copied | split | overwritten | missing | quarantined | surrendered | sponsor_captured | archive_locked | equivalent
  holder_or_absence: cen_kou | unnamed_worker | handler_absence | explicit_absence | equivalent
  competing_claims_min: 2

Outcome: add or update 复原副签案卷.

2. Assign protection or proof

The player may assign a handler, proof bridge, public witness, archive clerk, sponsor negotiator, ward log, fan queue copy, edit checksum, or money/favor cost.

The route should not require a specific named main character. Existing handlers may change cost and branch weighting, but the required surface is the holder-reader-counterstub relationship.

3. Hearing branch

Open 复原副签听证 or a functionally equivalent rite.

At least five branch families must exist across replay or explicit state blocks:

  • protect holder;
  • split counterstub;
  • archive lock;
  • sponsor release;
  • recovery reallocate;
  • refuse false stub;
  • scapegoat default.

4. Future consumption

The result must be consumed later by at least one route, reader, or row:

future_consumption:
  consumer: sponsor_afteruse | archive_enforcement | ward_recovery | fan_oxygen | public_receipt | lawful_proof | route_asset | management_metric | equivalent
  consumed_state: accepted_with_counterstub | split_required | worker_protected | sponsor_only | archive_only | lawful_only | public_only | recovery_only | blocked | costlier | scapegoat_default | equivalent
  counterstub_holder_state_read: protected | recruited | missed | hostile | scapegoated | explicit_absence | equivalent

Branch contracts

Protect holder / recruit

branch: protect_holder_or_recruit
requires:
  - visible_holder_or_recoverable_absence
  - proof_or_support_or_cost
relief_any:
  - recovery_counterstub_integrity_up
  - false_clean_claim_blocked
  - worker_testimony_available
cost_any:
  - handler_burden_up
  - inspection_heat_up
  - sponsor_pressure_up
  - staff_protection_cost_up
future_effect_any:
  - worker_protected
  - recruit_window_open
  - route_asset_cen_kou_counterstub_clerk
  - accepted_with_counterstub

Split counterstub

branch: split_counterstub
requires:
  - two_or_more_readers
  - scoped_surface_for_each_reader
relief_any:
  - reader_collision_contained
  - one_route_unblocked
  - sponsor_afteruse_scope_visible
cost_any:
  - source_ambiguity_up
  - archive_counterstub_debt_up
  - public_receipt_distrust_up
future_effect_any:
  - split_required
  - sponsor_only
  - archive_only
  - lawful_only
  - public_only

Archive lock

branch: archive_lock
requires:
  - archive_or_lawful_reader_present
  - original_or_traceable_stub
relief_any:
  - source_trace_preserved
  - lawful_reader_confidence_up
  - false_stub_blocked
cost_any:
  - schedule_pressure_up
  - sponsor_pressure_up
  - ward_or_fan_delay_up
future_effect_any:
  - archive_only
  - checksum_required
  - recovery_only_until_release
branch: sponsor_release
requires:
  - sponsor_reader_present
  - release_scope_and_excluded_reader_named
relief_any:
  - sponsor_stop_loss_pressure_down
  - package_pressure_down
  - commercial_route_unblocked
cost_any:
  - contract_capture_up
  - public_receipt_distrust_up
  - worker_scapegoat_risk_up
future_effect_any:
  - sponsor_only
  - public_or_lawful_reader_hostile
  - unwind_required_if_reused

Recovery reallocate

branch: recovery_reallocate
requires:
  - ward_fan_or_recovery_reader_present
  - proof_use_can_be_delayed_or_denied
relief_any:
  - ward_air_capacity_up
  - fan_oxygen_reserve_up
  - route_recovery_cost_down
cost_any:
  - sponsor_pressure_up
  - archive_counterstub_debt_up
  - management_pressure_up
future_effect_any:
  - recovery_only
  - future_proof_bridge_required
  - sponsor_afteruse_blocked

Refuse false stub

branch: refuse_false_stub
requires:
  - overwritten_coerced_missing_or_captured_stub
relief_any:
  - false_clean_claim_blocked
  - blamed_worker_protected
  - excluded_reader_surface_preserved
cost_any:
  - immediate_schedule_pressure_up
  - sponsor_pressure_up
  - handler_burden_up
future_effect_any:
  - blocked
  - costlier
  - contradiction_pending

Scapegoat default

branch: scapegoat_default
event_seen_or_armed: storyteller.event.recovery_counterstub_scapegoat_default.v1
relief_any:
  - sponsor_stop_loss_pressure_down
  - management_pressure_down
  - archive_queue_pressure_down
cost_any:
  - worker_scapegoat_risk_up
  - recovery_counterstub_integrity_down
  - public_receipt_distrust_up
future_effect_any:
  - sponsor_only
  - archive_only
  - recovery_only
  - blocked
  - costlier
  - hostile_worker

Counter contract

Every resolved or defaulted branch must mutate at least three surfaces:

counter_deltas_required:
  relief: at_least_one
  cost: at_least_one
  future_reader_or_route_effect: at_least_one

Relevant surfaces:

  • recovery_counterstub_integrity
  • worker_scapegoat_risk
  • recovery_inventory_double_spend_risk
  • sponsor_afteruse_capture
  • archive_counterstub_debt
  • public_receipt_distrust
  • fan_oxygen_resentment
  • ward_air_capacity
  • handler_burden
  • inspection_heat
  • route_recovery_cost
  • staff_protection_cost
  • contract_capture
  • management_pressure
  • schedule_pressure

Replay evidence shape

lens_id: storyteller.lens.recovery_counterstub_provenance.v1
session_id: lens-recovery-counterstub-provenance-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
  trigger_kind: state_pressure
  finite_recovery_row_present_or_explicit_absence: true
  counterstub_state_visible: true
  afteruse_archive_or_reallocation_claim_present: true
  competing_claims_min: 2
  cen_kou_state_before: unseen | visible | protected | recruited | missed | hostile | scapegoated | unavailable | explicit_absence
  no_fixed_turn_trigger: true
offered_content:
  card: storyteller.card.recovery_counterstub_docket.v1
  rite: storyteller.rite.recovery_counterstub_hearing.v1
branches:
  recruit_or_protect:
    selected_mode: protect_holder
    cen_kou_state_after: protected | recruited
    future_effect: worker_protected | route_asset_cen_kou_counterstub_clerk | accepted_with_counterstub
    deltas: {}
  split_or_lock:
    selected_mode: split_counterstub | archive_lock
    reader_states_after:
      desired_reader: accepted_with_cost | sponsor_only | archive_only | lawful_only
      excluded_reader: hostile | blocked | recovery_only | contradiction_pending
    deltas: {}
  sponsor_or_recovery:
    selected_mode: sponsor_release | recovery_reallocate | refuse_false_stub
    future_effect: sponsor_only | recovery_only | blocked | costlier | contradiction_pending
    deltas: {}
  default:
    event_seen_or_armed: storyteller.event.recovery_counterstub_scapegoat_default.v1
    cen_kou_state_after: scapegoated | hostile | unavailable | explicit_absence
    future_effect: sponsor_only | archive_only | recovery_only | blocked | costlier
assertions:
  entry_state_driven: true
  cen_kou_state_changes_future_options: true
  holder_and_excluded_reader_named_or_explicit_absence: true
  at_least_two_readers_diverge: true
  success_has_cost: true
  default_mutates_future_play: true
  no_fixed_turn_trigger: true

Progress metric

Progress is measured by branch proof, not page count.

  • 20%: a contested recovery row opens 岑扣’s counterstub docket from state pressure.
  • 40%: the route records recovery row, counterstub state, holder state, desired reader, excluded/blamed reader, and future effect.
  • 60%: protect/recruit and one split/lock branch resolve with distinct costs.
  • 80%: sponsor release, recovery reallocate, or refusal branch changes future route availability.
  • 100%: scapegoat default and one non-default branch are replay-proven with seed, session id, assigned cards, outcomes, counter deltas, and future consumption.

Non-goals

  • Not a generic worker protection storyline.
  • Not a raw recruitable filler.
  • Not a court-hearing wrapper.
  • Not a substitute for recovery inventory triage.
  • Not a substitute for sponsor afteruse citation.
  • Not valid if the signature becomes universal proof.
  • Not valid if 岑扣’s state does not alter future rows or route cost.