Expand description
sashite-sanki-arbiter — adjudication logic for the Sanki game suite, built
for Sashité.
The L2 layer over the sashite-sanki-engine crate: it rules on a session from
its attested event chain and emits the Adjudication —
adjudicate(params, plies, attestations, request) -> Option<Adjudication>.
The event model is abstract and carries no Nostr dependency: Ply,
Attestation, and AdjudicationRequest are plain values the caller has
already received, signature-verified, and parsed. Timing is anchored on the
timestamper’s attestations, never on an event’s own declarative created_at.
Modules§
- commitment
- Equivocation — the single-content rule (Move Encoding — Sanki §Ply finality
and the single-content rule; Statuses — Sanki §The
illegalmovetermination §Equivocation). - event
- Typed Nostr event models the arbiter reasons about.
- implicit
- Implicit draw by agreement (Statuses — Sanki §Implicit draw by agreement).
- natural_
state - The natural state of events at adjudication (kind
6425§Natural state). - race_
resolution - Race resolution: deterministic selection of the canonical event for a slot.
- session
SessionParams— the session-constant configuration the arbiter rules on.- verdict
- Adjudication assembly and the top-level
adjudicateorchestration.