Skip to main content

Common checks

The run stops with an incompatible server

The runner and the Sovara server it reached implement different versions of the runner-api contract, so the run stops instead of recording against a server that cannot serve it:
The message names both sides. Update whichever one is behind, or point SOVARA_EXEC_SERVER_URL at a server that shares a version. Nothing was recorded, because the check runs before the run is registered. An older component that predates compatibility checks is not affected. It sends no version metadata, is treated as legacy, and keeps working.

Keep recorded work inside the run

The run callback must contain and await the real agent task:
Promises started without await may continue after the run has closed, so their LLM and tool calls will not belong to that run. Use sovara_client.subrun(...) when delegated work should appear as a child run.

Trace custom operations

Supported provider, framework tool, and MCP calls are recorded automatically. Use trace for important application operations that do not pass through one of those integrations, such as retrieval, database access, parsing, or custom tool dispatch:
Prefer one shared dispatch wrapper over many helper wrappers.

Inspect what was recorded

Use visible step refs from probe, not internal UUIDs.