Test matrix
Full workspace
Rust
Surfpool
- Reject a non-contiguous outcome partition.
- Reject a stat-key and side mismatch.
- Create a five-band total-corners market.
- Create a three-outcome 1X2 market.
- Buy different stake amounts from two funded wallets.
- Send an unsolicited token unit directly to the vault and prove it cannot block settlement.
- Reject a buy after entry closes.
- Reject a terminal proof whose authenticated timestamp predates entry close.
- Resolve using a terminal two-stat proof anchored in a TxLINE-owned roots PDA fixture.
- Rebuild and verify the compact on-chain evidence commitment from the instruction bytes.
- Reject proof settlement at the timeout boundary before executing the refund path.
- Assert winning outcome and market state.
- Assert exact fee and resolver-tip balances.
- Reject a losing claim.
- Pay the hand-calculated proportional winner amount.
- Reject a second claim.
- Represent Draw / Not draw with multiple bands pointing to one outcome.
- Void and refund a one-sided book.
- Void a two-sided unresolved book after timeout, refund both tickets, and sweep donated dust.
SDK
The default SDK suite covers semantic AI-output compilation, every expression operation, period prefixes, five named outcomes, unsupported-output rejection, complete partitions, UTF-8 label limits, prompt-injection quoting, deterministic vague-request rejection, immutable custom labels, malformed model output, provider auth/rate-limit/JSON-validation failures, cancellation, total deadlines, secret-safe errors, program fee/tip parity, IDs, timestamps, exact money math, zero liquidity, large u64-safe values, and instruction accounts. Real model and TxLINE calls are separate credential-gated commands:test:ai requires SLIP_RULE_PROVIDER and SLIP_RULE_MODEL; Groq mode additionally requires
GROQ_API_KEY, while gateway mode requires AI_GATEWAY_API_KEY. test:ai:groq sends real
natural-language requests to the selected Groq model. Run it separately with
openai/gpt-oss-120b and qwen/qwen3.6-27b to verify both models. test:txline requires
TXLINE_DEVNET_ORIGIN and an activated
TXLINE_API_TOKEN. These commands fail when their real boundaries are absent rather than
substituting a model or HTTP fixture. The live AI suite honors SLIP_RULE_TIMEOUT_MS; use 120000
for the configured Groq models so transient inference latency does not impose the 30-second default.
The live matrix contains eleven cases per model: six supported interpretations (including novel
“find the net” wording), exact custom labels,
first-event rejection, player-prop rejection, prompt injection, unsupported possession, and an
ambiguous request. Expected rejection lines print the model, stable code, retryability, and safe
message.