Troubleshooting
Common errors and how to read the trace to debug a routing decision.
No model passes the floor
Your filter excluded every candidate, so the request fails loudly (
no_candidates) instead of silently downgrading. Loosen a cmp bound or a hard ["is", …], and run /x/rank to see which rule dropped each model.Unknown field or operator
Admission rejects a term that names a field the host doesn't serve or an op the interpreter doesn't know (
invalid_policy). Use a real field from GET /x/fields, e.g. price_out, not price.Provider key missing
The chosen model's provider isn't configured on your host, so the upstream call can't authenticate. Add the provider key to your host; inference always runs over your own accounts.
Provider timeout or error
The selected model errored or timed out; the router fails over to the next passing candidate and writes the hop to the trace. If every candidate fails, the request errors. Widen the cascade with
["top_k", N, ["argmax"]].Workflow exceeds the limits
A workflow is admitted only within bounds (
≤ 256 nodes, in-degree ≤ 32); past that it's rejected before running. Split the workflow.Dry run passes, live call fails
/x/rank and /x/*/normalize admit and evaluate the term but run no inference, so a live failure is a provider/runtime issue (rate limit, timeout, auth), not a policy error. Read the trace's decision path for the failing hop.