Room Occupancy Claim Stack / 房间占用认领栈线
Room Occupancy Claim Stack is a pressure storyline for the moment when Storyteller has solved access, legality, or custody on paper but the Seventh Dome still has only one room, one bay, one counter, one booth, one corridor segment, or one threshold that can safely hold the next crisis.
The core question is: who gets to occupy the scarce room, whose claim is displaced, and which future reader consumes that displacement?
Gap this fills
The current corpus is strong on archive custody, broadcast legality, claimant pressure, sponsor liability, cutroom priority, live-floor crew load, and facility access. The remaining product gap is physical co-presence: a player can know the lawful reader, proof chain, access route, and future obligation, but the game still needs to prove whether the body, proof, queue, crew lane, or route asset actually has a room.
This storyline adds that layer without becoming a movement minigame. It does not ask whether the door opens. It asks what happens after the door opens and the room is already spoken for.
Primary playable question
When a room can hold only one meaningful claim, does the producer protect a living occupant, secure proof, seat the public queue, split occupancy, displace someone with receipt, seal the current occupant, or hide the displacement and let the room default?
Every answer must create both relief and future cost.
Content pack
- 第七穹顶占用栈 defines room capacity and default narrators.
- 房间占用认领栈机制 defines the entry contract, claim rows, branches, counter contract, and default rules.
- 房间占用账本 stores active occupancy rows.
- 房间占用重派 resolves one row.
- 占用溢出默认 fires or arms when occupancy is hidden, overbooked, or falsely cleaned.
State-triggered entry
Open this storyline when all are true:
entry_state:
trigger_kind: state_pressure
concrete_room_or_threshold_present: true
access_state_known_or_explicitly_absent: true
capacity_conflict_present: true
claim_stack_present: true
displacement_or_release_question_present: true
future_reader_reads_occupancy: true
player_response_available: true
no_fixed_turn_trigger: true
no_fixed_day_or_week_trigger: true
no_raw_count_trigger: trueValid source pressures include:
- a protected witness or artist boundary needs the quiet room;
- a claimant or fan oxygen queue needs the public intake bay;
- a proof bundle, black-box copy, or uncut tape needs the archive/cutroom counter;
- a sponsor package wants the bridge booth;
- a crew lane or service corridor must stay open for live-floor survival;
- a route asset needs physical custody;
- a correction slot, legality conversion, or broadcast reality reader must know where the relevant body/proof/queue was housed.
Storyline spine
Beat 1 — The room is reachable but not free
A route may already have a valid path via 设施通行封控线, or access may be explicitly absent. The storyline begins when the target room has finite capacity and competing claims.
The player sees the room node, current occupant, waiting claims, default narrator, and future reader.
Beat 2 — The ledger names displacement
房间占用账本 enters play or updates with at least one concrete row.
Example rows:
occupancy_rows:
- row_id: ward_air_room_witness_vs_fan_queue
room_node: ward_air_room
capacity_limit: air_limited
selected_occupant_claim: protected_witness_sleep
displaced_claim_or_absence: fan_oxygen_refund_queue
default_narrator: fan_oxygen_or_medical_queue_first
future_reader: fan_oxygen_audit
- row_id: archive_counter_proof_vs_claimant_body
room_node: archive_counter_seven
capacity_limit: one_proof_bundle
selected_occupant_claim: uncut_tape_copy
displaced_claim_or_absence: claimant_body_receipt
default_narrator: archive_queue_first
future_reader: archive_readerBeat 3 — The producer chooses occupancy, not cleanliness
房间占用重派 requires selected claim, displaced claim or explicit absence, authority, handler, support, receipt, release condition, and future reader.
No branch can satisfy every claim. A strong branch records the chosen relief and the displaced scar.
Beat 4 — The displaced claim becomes future play
A successful row must change how a future reader accepts the room state.
Future effects include:
accepted_with_boundary_cost;archive_reader_accepts_with_cost;claimant_floor_consumes_room_state;split_claim_future_hearing_required;displaced_claim_reader_armed;blocked_until_release;contradiction_pending;recovery_only.
Beat 5 — Hidden displacement defaults
If the ledger is skipped, hidden, underfilled, or falsely cleaned, 占用溢出默认 names the default narrator and hardens the room state.
Branch map
| Branch | Relief | Cost | Future reader effect |
|---|---|---|---|
| Protect living occupant | harm, reprisal, or boundary risk drops | proof, sponsor, fan oxygen, crew, or route pressure rises | accepted with boundary cost or route narrowed |
| Secure proof or route asset | proof chain, archive legitimacy, or route availability improves | ward air, witness, public queue, or edit pressure rises | archive/broadcast accepts with cost |
| Seat public or claimant queue | public legitimacy, oxygen accountability, or claimant pressure improves | security, sponsor, proof, or witness pressure rises | claimant / fan / public reader consumes state |
| Split shift | two claims remain alive | handler burden, ambiguity, contamination, or distrust rises | future split hearing or contradiction-pending |
| Displace with receipt | chosen claim proceeds | displaced claim becomes named pressure | displaced reader armed, route costlier |
| Seal occupied room | immediate harm or seizure risk drops | route, schedule, sponsor, or public queue pressure rises | release condition required |
| Hide / overbook | temporary false relief | overflow/default hardens | blocked, hostile, captured, contradiction-pending, or recovery-only |
Integration notes
- With 设施通行封控线, access success can hand off into occupancy if the target room is finite.
- With 直播现场班组负荷线, crew capacity can be displaced by room protection or sponsor/private use.
- With 认领人现场接待线, public queue seating becomes a room claim instead of abstract crowd pressure.
- With 受保护证人薪册, witness protection must occupy a real quiet/air/escort-limited room.
- With 剪辑室优先队列线, edit isolation competes with proof/person/public claims.
- With 制作分诊台, room occupancy can turn a triage ticket into a displaced claim.
- With 路线资产维护分诊线, route assets can be housed, delayed, captured, or recovery-only.
- With 归档执行案卷, archive orders must name room occupancy when proof/body/queue claims collide.
Missability and recovery
The storyline is missed when a room-use decision happens without:
- concrete room node;
- selected occupant;
- displaced claim or explicit absence;
- authority / handler / support / receipt / release condition or explicit absence;
- future reader effect.
Recovery requires a scar:
- reopen the occupancy ledger;
- publish or seal a displacement receipt;
- move the displaced claim into fan oxygen audit, claimant floor, archive reader, sponsor gate, live floor, correction slot, or route asset recovery;
- pay proof repair, public apology, oxygen repayment, handler burden, route narrowing, schedule scar, or recovery-only state.
Replay/session evidence shape
storyline: storyteller.storyline.room_occupancy_claim_stack.v1
session_id: lens-room-occupancy-claim-stack-v1-<timestamp>
seed: <deterministic-seed>
entry_state:
trigger_kind: state_pressure
source_surface: <source>
room_node: <node>
capacity_conflict_present: true
claim_stack_present: true
future_reader_reads_occupancy: true
no_fixed_turn_trigger: true
no_fixed_day_or_week_trigger: true
offered:
place: storyteller.place.seventh_dome_occupancy_stack.v1
card: storyteller.card.room_occupancy_ledger.v1
rite: storyteller.rite.room_occupancy_reassignment.v1
branch_runs:
valid_branch:
selected_response: protect_living_occupant | secure_proof_or_asset | seat_public_or_claimant_queue | split_shift_with_receipt | displace_with_receipt | seal_occupied_room
selected_claim: <claim>
displaced_claim_or_absence: <claim or explicit_absence>
room_state_after: <state>
future_reader_effect: <effect>
counter_deltas:
relief: []
cost: []
future: []
default_branch:
selected_response: hide_displacement_or_overbook
event_seen_or_armed: storyteller.event.occupancy_overflow_default.v1
default_narrator: <narrator>
room_state_after: <state>
future_reader_effect: <effect>
assertions:
- entry_is_state_triggered
- room_node_and_capacity_visible
- selected_and_displaced_claims_visible
- authority_handler_support_receipt_release_or_absence_recorded
- future_reader_consumes_occupancy
- branches_have_relief_cost_and_future_effect
- default_is_durable
- no_fixed_turn_trigger
- no_fixed_day_or_week_triggerNon-goals
- Not bulk filler.
- Not fixed-turn escalation.
- Not a decorative room list.
- Not a movement minigame.
- Not a clean solution for all room claims.
- Not valid if displaced claims vanish without a reader.