The interface

Seven primitives, every one guarantee-bearing

Mix any of them in a single request against the same context. Every answer carries a guarantee card: type, method, target, calibration profile, sample size, and last audit.

The seven query primitives, what each returns, and its guarantee
PrimitiveReturnsGuarantee
BeliefA Venn-Abers probability interval for one statementCalibrated interval [p₀, p₁]
SetA set of options that contains the correct oneCoverage ≥ 1 − α
IntervalA conformalized ordinal or continuous intervalCoverage ≥ 1 − α
Gateauto_approve, escalate, or abstainExpected risk ≤ α; risk ≤ α with probability ≥ 1 − δ; or batch FDR ≤ q
ClaimLong-form output filtered to its supported claimsP(every retained claim is supported) ≥ 1 − α
JudgeAn LLM-as-judge verdict, with an escalation cascadeHuman agreement ≥ 1 − α on verdicts that are not escalated
RouteWhich backend in a model cascade serves the requestP(cost per request ≤ budget) ≥ 1 − α, or an accuracy bound

Every guarantee is marginal, or group-conditional with Mondrian profiles, over data exchangeable with the named calibration profile. None is a promise about one decision in isolation.

The SDK

One call. Typed answers. A guarantee on each.

Queries are plain Python objects. Answers come back typed, each with the guarantee card that says exactly what was proven and on which calibration.

Python

from cli_sdk import CLIClient, Set, Gate

backend = {"provider": "openai", "model": "gpt-4.1-2025-04-14"}
ticket = {"ticket": "Our bank payout has been pending since Monday."}

with CLIClient() as client:
    department = client.evaluate(context=ticket, backend=backend, queries={
        "department": Set(
            instructions="Which support queue should own this ticket?",
            options={"billing": None, "technical": None, "sales": None},
            calibration_profile="support-routing-v3",
            alpha=0.10,
        ),
    }).answers["department"]

    # The gate judges the exact action: this ticket, this proposed queue.
    gate = client.evaluate(context={**ticket, "proposed_queue": department.top},
                           backend=backend, queries={
        "route": Gate(
            instructions="Is proposed_queue the correct team for this ticket?",
            calibration_profile="support-auto-route-v3",
            guarantee="fdr",
            target=0.05,
            delta=0.05,
        ),
    }).answers["route"]

print(department.guarantee.describe())
# Contains the correct answer at least 90% of the time
# on profile 'support-routing-v3' (n=1204).

if gate.approved:
    assign_queue(department.top)
else:
    # gate.decision is "escalate" or "abstain"
    send_to_human_triage(department.set, reason=gate.decision)

result.answers["department"]SetAnswer

set
["billing", "technical"]

guarantee

type
coverage
method
APS
alpha
0.10
calibration_profile
support-routing-v3
calibration_n
1204
coverage_ci
[0.886, 0.914]
last_audited
2026-09-18T00:00:00Z

result.answers["route"]GateAnswer

decision
escalate
approved
False

guarantee

type
fdr
method
LTT
target
0.05
delta
0.05
calibration_profile
support-auto-route-v3
calibration_n
1204
last_audited
2026-09-18T00:00:00Z