DSAIL Quickstarts Guides Compare REST MCP tools Errors Legal Support

ENGINE_ERROR

The compiler or solver failed in a way that is not a fault in the request. HTTP 500. Retry once; if it persists, report the versions block.

Something inside the service failed — the compiler or the solver raised where it should have answered. This is not a fault in your source or your claim dictionary; a fault there is COMPILE_FAILED or VALIDATION_REJECTED.

The envelope

{"ok": false,
 "error": {"code": "ENGINE_ERROR",
           "message": "the solver process stopped before it answered; retry once",
           "docs": "https://docs.agents.jaxon.ai/errors/engine-error.md"},
 "versions": {"service_version": "...", "engine_version": "...", "wire_version": "..."}}

What to do

  1. Retry once. A solver process that stopped mid-request is replaced for the next one. A request that ran out of solver time is not this error — it is BUDGET_EXCEEDED naming solver_timeout_ms — and a busy solver is ENGINE_BUSY.
  2. Do not change the source or the claims to work around it. A ruleset that compiled clean and a claim dictionary that validated are correct as they are; altering them to dodge a service fault trades a visible error for a silent wrong answer.
  3. If it persists, report it with the versions block and the message. The service logs record the failure without your policy text — document content and extracted values never reach a log at any level — so the report is what lets Jaxon correlate it.

UNKNOWN is never an ENGINE_ERROR in disguise: an unbound program and a broken engine both answer UNKNOWN, which is why the service's health check requires a bound program to answer TRUE.

See also: Error codes.