Wardrobe Evidence Custody / 演出服证物羁押机制

Wardrobe Evidence Custody makes worn objects into contested route assets. It covers costume pieces, uniforms, branded veils, damaged sleeves, repaired stage cloth, memorial ribbons, support-light straps, and other wearable surfaces that can prove or falsify body presence.

This mechanism exists to prevent the game from treating clothing as free visual flavor after the body/voice/sponsor/safety systems have already become stateful. A garment can carry trace, consent, branding, safety repair, public memorial meaning, and recovery value at the same time. The player must decide which reader gets to consume that object and what scar remains.

Later route consumption is handled by Wardrobe Evidence Afteruse Receipt, which checks whether a custody row can be spent by a future reader or must be restricted, bridged, unwound, reissued, quarantined, or defaulted.

Mechanic promise

Whenever a future route uses a worn object to prove body presence, satisfy sponsor makegood, repair live-floor safety, expose a memorial trace, or post recovery collateral, the implementation must ask:

Who wore it or is claimed to have worn it, what trace does it carry, who holds custody, who is harmed by the requested use, and what future route effect follows?

The mechanism fails if a garment can be reused as clean costume, sponsor image, public proof, safety repair, and collateral without a docketed custody choice.

State-triggered entry

Open this mechanic from live pressure only:

entry_state_required:
  trigger_kind: state_pressure
  garment_asset_present_or_explicit_absence: true
  requested_use_present: true
  wearer_or_claimed_wearer_visible_or_explicit_absence: true
  trace_state_visible_or_explicit_absence: true
  custody_holder_visible_or_explicit_absence: true
  future_reader_or_route_consumes_garment: true
  harmed_reader_or_claimant_visible_or_explicit_absence: true
  player_can_preserve_return_recut_repair_relic_collateralize_split_or_default: true
  no_fixed_turn_trigger: true
  no_fixed_day_or_week_trigger: true
  no_raw_wardrobe_count_trigger: true
  no_raw_card_count_trigger: true
  no_dashboard_or_lens_health_trigger: true

Valid entry is not “many costumes exist.” Valid entry is a concrete garment row whose use changes body proof, sponsor pressure, safety, memorial, or recovery routes.

Data surfaces

Docket

演出服证物案卷 stores the row.

Required fields:

  • garment id or explicit absence;
  • wearer or claimed wearer;
  • trace state;
  • current custody holder;
  • requested use;
  • harmed reader or claimant;
  • proof anchor or absence;
  • contamination or repair state;
  • future route effect.

Rite

演出服证物分诊 resolves the row.

Required postures:

  • preserve_trace;
  • return_with_receipt;
  • sponsor_recut;
  • safety_repair;
  • public_relic;
  • collateralize;
  • split_custody;
  • accept_default.

Default

演出服证物默认 fires or arms if a route consumes the garment without a complete docket/triage state.

Branch effects

Preserve trace

Preserving the garment improves proof clarity but harms stage use or artist trust.

state_after: evidence_preserved_wearer_absent
relief_any: [body_presence_clarity_up, archive_fraud_down, inspection_proof_up]
cost_any: [artist_trust_down, stage_readiness_down, sponsor_stop_loss_pressure_up]
future_effect_any: [lawful_only, accepted_with_scar, wearer_route_costlier]

Return with receipt

Returning the garment protects the wearer but narrows public proof.

state_after: wearer_protected_proof_narrowed
relief_any: [artist_trust_up, consent_integrity_up]
cost_any: [proof_availability_down, public_receipt_distrust_up, sponsor_pressure_up]
future_effect_any: [private_body_route_opened, public_proof_costlier]

Sponsor recut gives immediate makegood relief but captures body image and arms counterclaim.

state_after: sponsor_surface_captured
relief_any: [sponsor_stop_loss_pressure_down, schedule_pressure_down]
cost_any: [contract_capture_up, body_presence_confusion_up, public_receipt_distrust_up]
future_effect_any: [sponsor_only, consent_hearing_required, counterclaim_armed]

Safety repair

Safety repair reduces live-floor risk but destroys or narrows trace.

state_after: safety_repair_erases_trace
relief_any: [live_floor_safety_up, egress_pressure_down, crew_load_down]
cost_any: [evidence_trace_down, archive_fraud_risk_up, future_recovery_cost_up]
future_effect_any: [safety_only, proof_bridge_required, recovery_only]

Public relic

Public relic improves public legitimacy or memorial visibility but creates contested afteruse.

state_after: public_relic_contested
relief_any: [public_receipt_legitimacy_up, memorial_trace_visibility_up]
cost_any: [sponsor_pressure_up, artist_privacy_pressure_up, inspection_heat_up]
future_effect_any: [public_only, lawful_objection_armed, memorial_afteruse_costlier]

Collateralize

Collateralizing the garment keeps recovery or liability routes alive but makes the object callable.

state_after: recovery_collateral_posted
relief_any: [recovery_route_kept_open, liability_cover_up]
cost_any: [garment_availability_down, double_pledge_risk_up, claimant_hostility_up]
future_effect_any: [collateral_call_armed, costlier, recovery_only]

Split custody

Split custody prevents one reader from laundering all meanings, but creates double-claim risk.

state_after: split_custody_tagged
relief_any: [two_routes_remain_open, false_clean_body_down]
cost_any: [custody_ambiguity_up, handler_burden_up, double_claim_risk_up]
future_effect_any: [dual_reader_required, future_hearing_required]

Default

Default turns the garment into false proof, sponsor capture, safety-only trace loss, contested relic, or collateral call.

state_after: unlogged_reuse_default
emitted_event: storyteller.event.wardrobe_evidence_default.v1
relief_any: [immediate_slot_burden_down]
cost_any: [counterfeit_body_claim_up, archive_fraud_up, future_recovery_cost_up]
future_effect_any: [blocked, sponsor_only, lawful_only, recovery_only, proof_rebuild_required]

Counter contract

Every branch must mutate at least three surfaces:

counter_contract:
  relief_min: 1
  cost_min: 1
  future_reader_or_route_effect_min: 1
  trace_or_custody_state_changes: true

Primary counters:

  • body_presence_clarity
  • voice_substitution_risk
  • artist_trust
  • consent_integrity
  • wardrobe_custody_integrity
  • sponsor_stop_loss_pressure
  • contract_capture
  • live_floor_safety
  • egress_pressure
  • memorial_afteruse_pressure
  • public_receipt_legitimacy
  • public_receipt_distrust
  • inspection_heat
  • archive_fraud
  • recovery_collateral_pressure
  • future_recovery_cost

Integration notes

Replay evidence shape

mechanic_id: storyteller.mechanic.wardrobe_evidence_custody.v1
session_id: lens-wardrobe-evidence-custody-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
  trigger_kind: state_pressure
  garment_asset_present_or_explicit_absence: true
  requested_use_present: true
  wearer_or_claimed_wearer_visible_or_explicit_absence: true
  trace_state_visible_or_explicit_absence: true
  custody_holder_visible_or_explicit_absence: true
  harmed_reader_or_claimant_visible_or_explicit_absence: true
  no_fixed_turn_trigger: true
offered:
  card: storyteller.card.wardrobe_evidence_docket.v1
  rite: storyteller.rite.wardrobe_evidence_triage.v1
branch_runs:
  preserve_trace:
    state_after: evidence_preserved_wearer_absent
    future_effect: lawful_only
  sponsor_recut:
    state_after: sponsor_surface_captured
    future_effect: sponsor_only
  safety_repair:
    state_after: safety_repair_erases_trace
    future_effect: safety_only
  default:
    emitted_event: storyteller.event.wardrobe_evidence_default.v1
    future_effect: proof_rebuild_required
assertions:
  - entry_is_state_triggered
  - wearer_trace_custody_harmed_reader_and_future_effect_are_visible
  - branches_diverge_by_requested_use_and_future_reader
  - every_constructive_branch_has_relief_cost_and_future_effect
  - default_is_durable
  - no_fixed_turn_day_week_raw_count_dashboard_or_lens_health_trigger

Non-goals

  • Not a fashion or prop catalogue.
  • Not cosmetic equipment durability.
  • Not a generic inventory capacity system.
  • Not a fixed upkeep phase.
  • Not valid unless wardrobe state changes future proof, sponsor, safety, memorial, or recovery play.