the product
One decision. Four parts.
The request says what passes. SLCT finds the route, verifies the outcome, and pins the receipt.
01 / declare
Declare the test.
Typed success tests plus hard cost, deadline, and privacy limits. What "good" means, said once, held on every run.
success schema | tool action | evaluator limits cost ≤ $0.02 p95 ≤ 4000 ms region = us attempts ≤ 2
02 / decide
The decision.
A route and its predicted pass rate, a Wilson 95% range - full ignorance [0,1] without measured runs. Alternates stay candidates until one is selected.
THE SELECT
direct · model@provider
0.81 predicteddirect · model@provider
ROUTE B
waterfall · alternate
aimingwaterfall · alternate
ROUTE C
fanout · alternate
aimingfanout · alternate
03 / live endpoint
The real round trip.
Planning is live on slct.sh and needs no key. Send a contract, get one decision, read it back by its id. The example below is a sample, not a live decision (the fixture).
POST slct.sh/v1/select/plan 200 decision_id slct_sample_plan chosen grok-4.6 @ xai pass range 0.422 - 0.729 (21 / 36 runs) cost, p50 null (not measured yet) GET slct.sh/v1/select/{decision_id} 200 status planned a sample plan: static values from a 2026-09-29 plan, trimmed. not a live id
04 / release
The receipt.
A replayable decision with the policy, evidence, cost, and verified outcome attached. Selection let go; the route returns to candidacy.
receipt slct_01...
accepted true
checks 2 / 2 pass
cost landed
replay pinned