Determinism

Determinism on the tiyuvta inference API is gated, not promised: the behaviors below are checked by batteries in the public engine repo, and each section links its receipt.

Seed semantics

you send you get
seed omitted fresh entropy per request — repeated requests vary
seed: 7 (any explicit value) a fixed stream — same seed, same tokens
seed: 0 honored as seed 0, a valid fixed stream — zero is a value, not "unset"

Supply a seed whenever you want reproducibility; omit it to get variation. This matches OpenAI's default-when-omitted semantics.

Temperature semantics

you send you get
temperature omitted 1.0 — the OpenAI default, not silent greedy
temperature: 0 greedy argmax — honored exactly, deterministic token selection
any explicit value honored exactly

An omitted-temperature request is pure temperature-1.0 sampling (top_p 1.0, top_k/min_p disabled, penalties off). That regime rides the fast in-graph sampled speculative path, so the OpenAI default is not a slow fallback.

r = client.chat.completions.create(
    model="qwen3.6-27b",
    messages=[{"role": "user", "content": "hello"}],
    seed=7,           # fixed stream: same seed, same tokens
    temperature=0.7,
)

greedy = client.chat.completions.create(
    model="qwen3.6-27b",
    messages=[{"role": "user", "content": "hello"}],
    temperature=0,    # greedy argmax — honored as 0, not treated as unset
)

What's gated

  • Kernel bit-audit. Every CUDA kernel is checked bit-for-bit against a CPU reference before anything else runs.
  • Serving isolation. Greedy output is byte-identical whether a request arrives alone or inside a full batch — the serve gate replays the same prompts at c=1 and c=16 and byte-compares every stream. Your output does not depend on your neighbors.
  • Speculative-decode consistency. Speculative decoding is gated self-consistent across draft depths — K=1–3 as the listing gate on the production SKU, the full K=1–8 battery standing on the MTP-capable artifact — and spec-constrained output is additionally gated byte-identical to plain-constrained. Speed, not paraphrase.

The one bounded exception

Serving primes prompts batched while the historical oracle stream is tokenwise — different numeric configs by design. On near-tie prompts the first generated token can differ from the tokenwise oracle, and everything after it follows the new prefix. Measured on a 144-prompt six-model sweep: 10/144 first tokens flip (~7%), every flip at a top1–top2 margin ≤ 0.70. Within one config the output is bit-deterministic — this is config roulette on a near-tie, not nondeterminism under load. Receipt: prime-gate-coverage-20260802.