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: trueValid sources include:
- 复原库存账本 has a finite row whose counterstub is unsigned, copied, overwritten, missing, or held by an unnamed worker;
- 赞助后用引证案卷 tries to cite a recovery row as sponsor proof;
- 归档执行案卷 demands original stub custody;
- ward, fan oxygen, public, lawful, artist-boundary, management, or route-asset readers disagree about what the row means;
- 复原副签替罪默认 is armed but not yet hardened.
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_costlierState 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: 2Outcome: 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 | equivalentBranch 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_counterstubSplit 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_onlyArchive 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_releaseSponsor 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_reusedRecovery 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_blockedRefuse 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_pendingScapegoat 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_workerCounter 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_oneRelevant surfaces:
recovery_counterstub_integrityworker_scapegoat_riskrecovery_inventory_double_spend_risksponsor_afteruse_capturearchive_counterstub_debtpublic_receipt_distrustfan_oxygen_resentmentward_air_capacityhandler_burdeninspection_heatroute_recovery_coststaff_protection_costcontract_capturemanagement_pressureschedule_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: trueProgress 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.