14 Mar 2026
Observed outcome: 1 winner; simulated stake settled at the quoted price.
How it works
Every run walks the same six stages in the same order, and every stage names the point where it refuses. This page walks one sample run end to end, then takes each stage in turn: what it admits, what it produces, and where it stops.
Worked example
Stage by stage, this is the shape of one record: what was admitted, what the belief looked like, which check bound the decision, and what closed the loop. The values are samples.
the six stages
Sport and racing
Full-field belief separated two runners above the confidence floor, stake stayed inside the ruin bound, and the simulated wager settled against the published result.
decision clock 14 Mar 2026, 15:32 UTC
refusal boundary · Evidence published after the decision time is refused before inference.
Ranked statistical model v3.4.1 — Ranked belief across the field, renormalised after non-runners.
believed against observed, sealed holdout
refusal boundary · A belief without usable uncertainty, or with mismatched lineage on replay, is refused.
Objective: Paper-first racing decisions under a fixed stake ceiling
authority expires 01 Apr 2026, 00:00 UTC
refusal boundary · No mandate, an expired mandate, or a violated bound means no action is requested.
DecisionAdmitted under mandate
The pre-off window had not closed, the quote was still reachable, and the stake stayed inside both the mandate bound and the ruin policy.
refusal boundary · Rejected candidates and final abstentions never invoke an effect adapter.
refusal boundary · A conflicting idempotency key fails closed and the original receipt stands.
run fingerprint sha256:1f0a94be…7c22replay deterministiclive:false
refusal boundary · An unbound or replayed settlement fails closed instead of crediting a run twice.
Illustrative worked example. Field names match a real run receipt; the values are samples, and no production run exists yet.
14 Mar 2026
Observed outcome: 1 winner; simulated stake settled at the quoted price.
09 Feb 2026
Horizon closed: realised return recorded against the simulated intent.
22 Jan 2026
Outcome recorded against the abstention; no stance was published.
12 Mar 2026
No settlement: the run ended before a decision.
Stage 1 of 6 · Sealed, point-in-time observations
Every fact carries when it was observed, when it became available, and where it came from.
Evidence is admitted against the decision clock, not the wall clock. An observation that was published after the decision time is refused before any model runs, so a run can never learn from its own future. Source, feature, and dataset lineage are sealed into the run fingerprint.
LimitRefusal boundary
Stage 2 of 6 · A distribution, not a vibe
Versioned models turn evidence into one belief with explicit uncertainty and lineage.
Formula, statistical, recorded-ML, and recorded-LLM models all emit the same typed belief: a probability with a bounded interval and the model, artifact, and dataset lineage that produced it. Recorded models replay an immutable inference receipt instead of calling a provider again, so the same run always produces the same number.
LimitRefusal boundary
Stage 3 of 6 · Explicit authority, explicit bounds
Nothing acts by default. A mandate states the objective, the bounds, and the expiry.
The mandate is the authority to act: objective, permitted effects, exposure or stake bounds, and an expiry. It composes with the domain’s risk policy — ruin bounds for wagering, capital risk for markets, analysis-only for reports. Unknown, expired, or under-scoped authority produces a reasoned abstention, never an effect request.
LimitRefusal boundary
Stage 4 of 6 · One replayable decision receipt
Each run ends in exactly one typed outcome: an admitted act, or a reasoned abstention.
Abstention is not a failure mode to be hidden; it is the correct answer when authority, confidence, coverage, or timing does not hold. It carries a reason, it is reproducible, and it settles like any other run — which is why abstention rates are visible, not buried.
LimitRefusal boundary
Stage 5 of 6 · Idempotent, receipt-bound, simulated today
Only a replay-verified admitted act reaches an adapter, under the requested idempotency key.
The first call returns a receipt bound to that key; a retry returns the same receipt rather than acting twice; a conflicting key fails closed. Today the only shipped adapter is simulation — no broker, sportsbook, exchange, or provider is contacted and no funds or accounts are touched.
LimitRefusal boundary
Stage 6 of 6 · Outcomes close the loop
Acted and abstained runs settle against the real outcome and emit evaluation and learning receipts.
A run is only useful once the world answers it. Settlement binds the resolved outcome to the exact run, evaluation compares what was believed against what happened, and the learning receipt records the lesson under the same lineage. Corrections append; they never rewrite what was recorded.
LimitRefusal boundary
People
Kalkas does not invent authority, and it does not explain itself in a wall of charts. Three human roles sit around the loop, and each one reads something different.
The mandate
Authority comes from whoever carries the exposure: a person names the objective, the bounds, and the expiry in one mandate. The kernel reads that mandate and enforces it. It never widens it, and it never substitutes its own judgement for the bounds it was given.
The receipt
The reader is whoever has to account for the decision later: an operator picking up the next shift, an auditor with a question, or you in three months. One run leaves one receipt — the evidence it admitted, the belief it formed, the gate that bound it, and the outcome that closed it. Where a run refused, the receipt names the refusal.
The console
The operator surface shows recorded runs with their decision, effect, settlement, and learning receipts, the evidence admitted to each run, evaluation against the sealed holdout, and the service posture. What it does not show is a production number: the hosted service is not live, and every surface says so.
Product constraints
These hold in every domain module and on every surface. They are design constraints rather than release notes, and they do not change with a deployment.
LimitWhat happens when a check cannot be proven
A run pauses and refuses rather than guessing: a fact published after the decision time never reaches a model, a rejected candidate never plans and never reaches an adapter, and a retry that conflicts with a recorded effect fails closed.
What happens to the refusal depends on the boundary: a reasoned abstention settles with its run and stays in coverage, a rejected candidate is recorded against the candidate version and appends nothing, and a fact refused before inference ends the run with a named error and no receipt at all. Read the boundaries below, or the full list in the refusal reference.
Refusal boundaries
Pick a boundary to see what triggers it and what the run does instead of acting. The scenario tokens are the same ones the operator entry exposes.
All fifteen named scenarios the operator entry exposes: fourteen boundaries and the admitted path.
Trigger
A fact was published after the decision time.
What the run does
Refused before inference. No belief is produced and nothing downstream runs.
Scenario token
--scenario unavailable-evidence
Scenario tokens are the published operator contract: the same input path, one named boundary. Full commands live in the quickstart.
Run the loop locally against sealed corpora and read the receipt it hands back. Nothing is hosted yet, the effect adapter is simulation-only, and nothing leaves your machine.