Basis Recognition Hearing / 基准确认听证
Basis Recognition Hearing is the assignable rite for resolving a 确认基准账本 row. It asks which version of a result counts for a faction channel and what scar is created by that recognition.
The rite exists because Storyteller results are often real but not universally accepted. A broadcast may air, a proof may survive, or a route asset may be rescued, while sponsor, archive, public, editor, and route actors each count a different basis.
Offer condition
Offer this rite only when the state already contains a basis dispute:
offer_required:
trigger_kind: state_pressure
selected_ledger: storyteller.card.recognized_basis_ledger.v1
basis_rows_min: 2
source_result_kept_true: true
proof_anchor_or_explicit_absence_visible: true
excluded_reader_or_route_asset_visible: true
future_effect_if_unanswered_present: true
no_fixed_turn_trigger: trueRequired assignment
The rite cannot be resolved by choosing a famous handler alone. It must record the row, channel, support, absence, and cost.
assignment_required:
rite: storyteller.rite.basis_recognition_hearing.v1
selected_basis_row: <basis id>
source_surface: <source>
basis_claimant: <claimant>
basis_kind: <kind>
demanded_recognition: <demand>
proof_anchor_or_absence: <proof or explicit_absence>
excluded_reader: <reader or route asset>
handler_or_absence: <handler or explicit_absence>
support_or_absence: public_receipt | archive_seal | contract_clause | edit_checksum | route_asset_testimony | replay_derived_proof | reserve | explicit_absence
selected_response: recognize_single_basis | split_basis | escrow_basis | force_reaudit | refuse_recognition | let_default_book
cost_or_scar: <nonzero cost scar or explicit default>Branches
Recognize single basis
One faction channel gets the official basis.
Required result:
- one relief improves;
- one excluded reader or rival basis becomes costlier, hostile, disputed, or recovery-only;
- the recognized channel is recorded.
Split basis
Different channels accept different versions.
Required result:
- at least two channels gain weaker recognition;
source_ambiguity,claimant_collision, orfuture_arbitrationrises;- later use must name which channel it uses.
Escrow basis
The producer delays recognition into a reserve or pending review.
Required result:
- immediate pressure is partially reduced;
- route access remains narrowed;
- default pressure is armed by state if proof, claimant, or excluded reader moves first.
Force re-audit
The player assigns proof, carrier, archive seal, editor checksum, public receipt, or replay-derived evidence to reopen the basis.
Required result:
- false or weak recognition pressure decreases;
- inspection heat, burden, schedule pressure, or source exposure rises;
- at least one later branch remains locked until the re-audit result is consumed.
Refuse recognition
The player refuses to let any basis count yet.
Required result:
- immediate false booking is blocked;
- budget, schedule, public, or legal pressure rises;
- affected route may become lawful-only, public-only, disputed, or recovery-only.
Let default book
The player leaves the row unresolved or underfilled.
Required result:
- 误认基准违约 fires or is armed;
- the default claimant records a basis first;
- a future route, proof, payment claim, certification, or custody gate changes.
Counter contract
Every non-default branch must mutate at least three surfaces:
counter_contract:
recognition_state_changed: true
relief_surface_changed: true
cost_or_excluded_reader_surface_changed: true
source_result_preserved: trueUseful surfaces include basis_state, recognized_channel, basis_split, basis_escrow, budget_pressure, lawful_buffer, public_receipt_legitimacy, edit_lane_credit, route_asset_pressure, contract_capture, archive_debt, inspection_heat, fan_oxygen_resentment, source_ambiguity, handler_burden, and recovery_route_cost.
Replay evidence shape
rite_id: storyteller.rite.basis_recognition_hearing.v1
session_id: lens-storyteller-recognized-broadcast-basis-v1-<timestamp>
seed: <deterministic-seed>
selected_ledger: storyteller.card.recognized_basis_ledger.v1
selected_response: recognize_single_basis | split_basis | escrow_basis | force_reaudit | refuse_recognition | let_default_book
assigned_inputs:
basis_row: <basis id>
handler_or_absence: <handler or explicit_absence>
support_or_absence: <support or explicit_absence>
proof_anchor_or_absence: <proof or explicit_absence>
outcome:
basis_state_after: recognized | split_basis | escrowed | disputed | misrecognized | default_booked | recovery_only
recognized_channel: <channel or none>
excluded_reader_effect: <effect>
future_route_effect: <effect>
emitted_event: storyteller.event.misrecognized_basis_default.v1 | none
counter_deltas:
relief:
- <relief>
cost:
- <cost>Non-goals
- Not a generic negotiation menu.
- Not a balance sheet UI.
- Not a turn-count deadline.
- Not a way to erase source scars.
- Not valid if all branches produce the same
handledstate.