Skip to content

DocsRun it

2 min read · updated

Troubleshooting

What you see, why, and what to do: the failures the documentation describes, in one place.

Most failures announce themselves with a status code or a line in the server’s log. This page collects the ones the documentation explains.

Figure · Symptoms

What you see, why, and what to do: ten things the documentation says.

Each row is a statement of decisio's own documentation; the sections below say more.

Source: docs/api.md, docs/running.md, docs/tasks.md, docs/cli.md and docs/migrating.md at the pinned release.

Start with what the server says about itself:

curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8000/health
curl -s http://127.0.0.1:8000/v1/tasks
# 200 when the engine is up, 503 when it has died, and 000 while nothing answers yet (the server is still starting)
# the registered tasks, whether tasks are applied, and the server's fingerprint

Run against the CPU stand-in at v0.11.1 on 2026-10-14.

WordMeaning
422the request is malformed or the prompt is too long; the detail says what
400the engine cannot answer the request
503the engine has died
fingerprintthe model and rendering a task is fitted under; a task is applied only by a server with the same one

A connection refused right after a start means the server is still starting: the first start downloads the checkpoint and warms the engine. /health answers once it is ready (7 min 54 s for the 31B’s first start, with its download, on the measured machine). A 503 means the engine died; the server exits with code 70 and a restart policy brings a new one (Health and monitoring).

A 422 or a 400 comes with a detail that names what is wrong; read it first. A prompt over 32,768 tokens is a 422 that says the rendered prompt is longer than the context, and a choice with more than 255 options is a 400. The model field does not choose a model, and fields the server does not know are ignored, not rejected.

No x-decisio-tasks header on a question you registered means it matched no task: ask it exactly as registered. A server that prints WARNING: tasks fitted under another model or rendering are not applied at start was given tasks fitted under something else; register them again from their examples (Teach it your question).

Answers can differ between runs on the Gemma bases, which do not repeat bit for bit, and between sessions on the 31B for near-tied options. That is stated per base in the evaluation card; it is not a fault.