Encounter Availability Ledger / 遇见可用性账本
Encounter Availability Ledger records when a management, legal, schedule, facility, sponsor, editor, fan, recovery-ward, or broadcast-reality decision changes whether a person can still be met.
The card exists to prevent Storyteller from treating characters as permanently available dialogue buttons. A producer can win a ruling, buy a slot, protect a ward bed, seat a fan delegate, or force a clean edit and still lose access to the one person needed to carry the next route. The ledger makes that loss playable before it becomes a silent default.
This is not a calendar timer. It is a state ledger for route-critical encounter access.
Creation trigger
Create or refresh this card when all of the following are true:
- A route, proof, rite, custody handoff, recruitment, testimony, apology, discharge, safety decision, or broadcast correction requires a named person, named NPC, or explicit role.
- At least two gates can alter that person’s availability: schedule slot, legal status, facility access, floor crew coverage, sponsor capture, inspector recognition, editor custody, public exposure, fan mandate, recovery ward hold, pirate relay, handler burden, or equivalent.
- Choosing one access route can make another encounter public-only, lawful-only, sponsor-only, private-only, relay-only, delayed, hostile, substitute-only, missed, or recovery-only.
- A future reader will consume the encounter state instead of assuming the person is still freely reachable.
- The trigger is a live game state, not a fixed turn number, day count, chapter quota, raw content target, or lens-health state.
Required row shape
card_id: storyteller.card.encounter_availability_ledger.v1
encounter_row:
row_id: <stable id>
target_entity: <character npc role or explicit_absence>
target_kind: recruitable | witness | handler | inspector | editor | sponsor_bridge | fan_delegate | ward_patient | floor_captain | pirate_relay | archive_clerk | equivalent
encounter_need: recruit | interview | testimony | custody_handoff | apology | counterproof | route_unlock | safety_signoff | discharge_hold | correction_slot | equivalent
source_pressure:
source_system: schedule_contract | broadcast_reality_drift | facility_lockdown | recovery_discharge | fan_delegate_mandate | live_floor_load | proxy_posture | sponsor_capture | archive_custody | equivalent
source_row_or_result_id: <stable id>
preserved_relief: <relief already earned>
preserved_cost: <cost already created>
access_gates:
schedule_gate: open | occupied | narrowed | public_slot | private_slot | lawful_slot | absent
legal_gate: open | lawful_only | injunction | inspector_hold | unlicensed | absent
facility_gate: open | locked | escort_required | ward_hold | floor_locked | absent
public_gate: private | public_only | hostile_public | fan_mandate_required | absent
handler_gate: available | exhausted | captured | conflicted | explicit_absence
availability_before: unoffered | available | contested | private_only | lawful_only | public_only | sponsor_only | relay_only | ward_held | floor_locked | hostile | substitute_only | missed | recovery_only
rival_or_lost_encounter: <other target or explicit_absence>
state_boundary: before_air | before_discharge_signoff | before_route_asset_spent | before_witness_exposed | before_slot_reassigned | before_default_narrator | equivalent
future_reader_or_route: <stable id>The state_boundary is an in-world condition. It must not be encoded as a fixed numbered turn, fixed day interval, or chapter count.
Availability states
| State | Meaning | Required consequence |
|---|---|---|
available | The target can be met through current gates. | Future route may proceed but still records cost. |
contested | Two or more gates claim incompatible access. | A hearing, split, reservation, or default must appear. |
private_only | The target can be met only off public route. | Public proof or legitimacy becomes harder. |
lawful_only | Inspector/legal channel allows access but public route does not. | Public addendum or fan receipt may be required. |
public_only | Broadcast/public exposure can reach the target but lawful custody is weak. | Inspection heat, witness exposure, or relay risk rises. |
sponsor_only | Sponsor or management controls access. | Contract capture or public distrust rises. |
relay_only | Pirate or off-channel route can reach the target. | Relay custody, source ambiguity, or legal heat rises. |
ward_held | Recovery ward or care pressure blocks ordinary encounter. | Discharge, protection, or medical/legal burden must be paid. |
floor_locked | Live floor or call sheet prevents access. | Crew load, blackout risk, or replacement route appears. |
hostile | The target can be encountered only as adverse actor. | Hostile claim, leak, or counterproof is armed. |
substitute_only | The original target is gone for this route; a substitute may carry a scarred version. | Route effect must be weaker, narrower, or costlier. |
missed | The route-critical encounter was lost. | Default event must fire or be armed. |
recovery_only | Normal encounter is blocked but a costly recovery path remains. | The recovery cost and blocked route must be named. |
Assignable fields
Any rite or event consuming this card must record or explicitly lack:
- target entity;
- encounter need;
- source pressure and preserved prior relief/cost;
- at least two access gates;
- current availability state;
- rival or lost encounter;
- handler or explicit absence;
- state boundary;
- future reader or route effect.
A high-status character, legal order, sponsor payment, or clean edit cannot satisfy this card by itself. The implementation must say what access gate changed and which encounter became unavailable, narrower, hostile, substitute-only, or recovery-only.
Branch payload expectation
encounter_resolution:
selected_branch: reserve_private_meeting | seat_lawful_interview | broadcast_public_call | trade_sponsor_access | route_through_editor_or_relay | force_or_overload_access | defer_substitute_or_default
availability_before: <state>
availability_after: <state>
opened_encounter: <target or route>
narrowed_or_lost_encounter: <target route or explicit_absence>
future_reader_or_route_effect: <effect>
counter_deltas:
relief:
- <at least one relief state>
cost:
- <at least one cost state>
durable_state:
- <availability or route state>At least three counters or durable states must change. One encounter opening cleanly while every rival encounter remains available is invalid.
Primary counters and states
encounter_availabilitymissed_encounter_riskroute_asset_accesscharacter_postureproxy_availabilityhandler_fatigueschedule_pressureslot_scopelegal_admissibilityinspection_heatbureau_favor_debtsponsor_stop_loss_pressurecontract_capturepublic_receipt_legitimacypublic_receipt_distrustfan_mandate_fracturewitness_exposureward_custody_integritycrew_loadblackout_riskedit_debtsource_ambiguitypirate_exposurerelay_custody_riskfuture_recovery_cost
Play examples
Yu Lan historian access
Yu Lan can be reachable as public historian, private receipt holder, lawful archive witness, or hostile leak. Reserving her privately can protect the source but weaken public receipt legitimacy.
Han Yanshuang lawful-only interview
Han Yanshuang can make a target legally admissible while turning a public route into lawful-only processing. Compliance improves, but public addendum pressure and bureau favor debt rise.
Baiya editor route
Baiya can route an encounter through cutroom custody. Retaliation or exposure may fall, but edit debt and source ambiguity rise.
Du Mian floor lock
Call-Sheet Captain can reveal that the person needed for a route is physically locked to the live floor. Forcing access may keep a meeting but arm blackout or crew refusal risk.
Non-goals
- Not a fixed schedule calendar.
- Not a turn-count miss timer.
- Not a generic relationship meter.
- Not a social hub inventory.
- Not a way to make every character always available.
- Not valid if legal, sponsor, edit, or schedule success opens a target without naming who or what became unavailable.