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: true

Required 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, or future_arbitration rises;
  • 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: true

Useful 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 handled state.