Answerability Seat Assignment / 应责席指派
Answerability Seat Assignment is the assignable rite that chooses who must remain answerable after a proof, public statement, legal conversion, management report, or route-asset rescue becomes usable.
The rite is deliberately not a guilt hearing. It is a routing action: choose the seat, record absence or proxy, mutate future reader access, and price the body that will carry the next counterclaim.
Assignment slots
assigned_slots:
docket: storyteller.card.answerability_seat_docket.v1
source_resolution: storyteller.card.answerability_source_resolution.v1
source_surface: storyteller.card.answerability_source_surface.v1
unresolved_harm: storyteller.card.answerability_unresolved_harm.v1
future_reader: storyteller.card.answerability_future_reader.v1
proposed_seat_holder: storyteller.card.answerability_proposed_seat_holder.v1
candidate_actor: storyteller.card.answerability_candidate_actor_or_absence.v1
proxy_or_absence: storyteller.card.answerability_proxy_or_absence.v1
proof_anchor: storyteller.card.answerability_proof_anchor_or_absence.v1
usher: storyteller.character.ruan_ting_empty_seat_usher.v1
handler: storyteller.card.answerability_handler_or_absence.v1
accepted_cost: storyteller.card.answerability_seat_cost_or_absence.v1
harmed_reader: storyteller.card.answerability_harmed_reader_if_hidden.v1The rite fails if any exact assignment is missing, substituted, off-hand, or unselected. Invalid input never arms a default. The default is armed only after all thirteen real cards are assigned and the player explicitly selects suppress_or_default (choice 9).
Branch families
Seat producer or management
Management accepts the answerable body so the route can continue.
seat_state_after: seated_with_cost
relief: route_continues | answerability_clarity_up
cost: producer_license_pressure_up | management_pressure_up | future_counterclaim_cost_up
future_effect: producer_body_required_before_next_clean_reportSeat artist or harmed performer
The performer or harmed artist is publicly seated with consent boundaries.
seat_state_after: artist_seat_with_boundary
relief: artist_trust_up | public_receipt_legitimacy_up
cost: artist_boundary_risk_up | witness_exposure_up | sponsor_pressure_up
future_effect: artist_route_unlocked_with_scar | sponsor_clean_route_costlierSeat sponsor or sponsor proxy
A sponsor adjuster accepts remedy or package answerability.
seat_state_after: sponsor_proxy_accepted_with_capture
relief: sponsor_stop_loss_pressure_down | slot_pressure_down
cost: contract_capture_up | public_receipt_distrust_up | fan_resentment_up
future_effect: sponsor_only_route | public_unwind_requiredSeat inspector or lawful body
Legal or inspection authority accepts a narrow answerability seat.
seat_state_after: lawful_body_seated
relief: custody_clarity_up | lawful_appeal_unlocked
cost: inspection_heat_up | bureau_favor_debt_up | public_route_costlier
future_effect: lawful_only_or_archive_only_acceptanceSeat worker or operator
A low-rank worker, usher, clerk, or operator carries the row. This branch requires protection or it arms scapegoat pressure.
seat_state_after: worker_seated_protected | worker_scapegoat_armed
relief: source_row_legibility_up | answerability_clarity_up
cost: worker_exposure_up | protected_witness_payroll_due_up | handler_burden_up
future_effect: worker_protection_required_before_reuseSeat public delegate
A fan/public delegate becomes the body that can audit future remedy.
seat_state_after: public_delegate_seated
relief: public_receipt_legitimacy_up | fan_audit_route_unlocked
cost: public_queue_capture_risk_up | sponsor_pressure_up | oxygen_liability_up
future_effect: public_audit_required | sponsor_clean_route_contestedSplit seat
Two future readers get different answerable bodies, preventing universal clean reuse.
seat_state_after: split_answerability
relief: incompatible_readers_can_proceed_narrowly
cost: seat_split_debt_up | route_delay_up | contradiction_pressure_up
future_effect: reader_specific_acceptance_requiredPreserve empty seat
Absence is recorded as a fact rather than cropped out.
seat_state_after: empty_seat_preserved
relief: false_clean_answerability_blocked
cost: empty_seat_risk_up | future_counterclaim_cost_up | public_contradiction_up
future_effect: correction_or_recovery_required_before_clean_routeDefault / false clean seat
Hiding absence, accepting an uncosted proxy, coercing a low-rank worker, or trying to proceed without a seat are narrative reasons to choose suppress_or_default. The runtime does not infer that choice from missing input or passive expiry; the fully assigned choice 9 alone arms the empty-seat default.
seat_state_after: false_clean_answerability | worker_scapegoat_armed | proxy_capture
emitted_event: storyteller.event.empty_answerability_seat_default.v1
future_effect: blocked | costlier | sponsor_only | lawful_only | hostile | recovery_onlyHandler rules
- 阮停 can preserve a refusal, proxy, or empty chair, but cannot declare it clean.
- Shen Luo can place management or sponsor proxy, but contract capture must rise.
- Han Yanshuang can narrow to lawful body, but public and sponsor readers remain limited.
- Baiya can make the seat legible on cut or checksum, but edit debt remains.
- Yu Lan can publish the empty seat or delegate row, but exposure and public contradiction rise.
A famous handler is not a clean override.
Resolution contract
Every branch must record:
resolution_required:
seat_state_before: <state>
seat_state_after: <state>
selected_seat_holder: <holder_or_empty>
proxy_or_absence: <proxy_or_absence>
proof_anchor_or_absence: <anchor_or_absence>
future_reader_or_route: <reader_or_route_id>
counter_deltas:
relief: [<at_least_one>]
cost: [<at_least_one>]
future: [<at_least_one>]Exact runtime order
The two-day playable review uses these exact required slots: docket, source_resolution, source_surface, unresolved_harm, future_reader, proposed_seat_holder, candidate_actor, proxy_or_absence, proof_anchor, usher, handler, accepted_cost, and harmed_reader. Expiry leaves the row unresolved; it does not arm the default.
Its stable choices are:
protect_recruit_usherseat_producer_managementseat_artist_with_boundaryaccept_sponsor_proxy_with_receiptseat_inspector_lawful_bodyguard_worker_from_scapegoatpublicize_absencesplit_answerabilitypreserve_empty_seatsuppress_or_default
Only the first grants the bounded 阮停 route asset; only the last arms storyteller.event.empty_answerability_seat_default.v1. Source/public parity and all branch effects are covered by lens/storyteller-ruan-ting-empty-seat-usher.runtime.test.ts.
Non-goals
- Not a generic legal vote.
- Not a confession scene.
- Not proof aggregation.
- Not a clean proxy-selection UI.
- Not fixed-turn content.