Project-owned top-level runs
Create oneSovaraClient for a stable project name. Use one top-level run for
one user request, conversation turn, eval sample, batch job, or other execution
you want to inspect.
AsyncLocalStorage scope, and finalizes the run in
finally.
For a durable conversation or job, pass an application-owned correlation ID.
Reusing it within the same project appends to the canonical Sovara run.
clientRunId.
Steps and explicit tracing
Supported provider, framework tool, and MCP calls inside a run become ordered steps. Wrap an important uncaptured application boundary withtrace:
Subruns
Usesovara_client.subrun(...) for child agents, delegated branches, parallel
work, and coherent multi-step phases:
Run metadata
Lessons
Automatic lesson injection is project-wide by default for supported model calls. Narrow retrieval with the run’slessonScope option:
sovara_client.lessonScope(...).
Use sovara_client.injectLessons(...) only when the application must place the
managed lesson block itself.
Logs and concurrency
Log capture is enabled by default. Pass{ captureLogs: false } as the third
argument to run() for concurrent top-level runs to avoid mixing process output.