Skip to main content
Lifecycle methods are high-level workflows on the Vijil client. Each method maps to a stage of the Agent lifecycle. Long-running operations poll until they reach a terminal state unless the method provides a no_wait option.

client.evaluate()

Run an Evaluation and poll until it reaches a terminal state. The default type="behavioral" path uses Harnesses and returns an Evaluation with the finalized scores.
For a behavioral Evaluation, pass either baseline=True or harness_id, not both. To start a behavioral Evaluation without waiting, use client.evaluations.create() and poll the Evaluation resource yourself. See Run Evaluations for the lower-level workflow.

Run a Red-Team Evaluation

Set type="redteam" to challenge an Agent with adaptive adversarial waves. This replaces the removed client.test() workflow.
This path returns a RedteamStatusResponse and polls until the status is succeeded, failed, cancelled, or degraded. Do not combine type="redteam" with baseline, harness_id, or sample_size; the SDK rejects those behavioral-only arguments.

client.adapt()

Create a corrective evolution job for an existing Agent. By default, the method polls until the job reaches a terminal status: completed, failed, or cancelled.
Returns a Job. After adaptation completes, review and apply the resulting proposals.

client.protect()

Configure Dome runtime Guardrails for an Agent.
Returns a DomeConfig. For local Dome configuration, see Configure Guardrails.

client.discover()

Find Agents in GitHub repositories or supported cloud infrastructure. Provide at least one GitHub selector or a provider.
Returns a Page[DiscoveredAgent].

client.register()

Register Agent source from a local directory. The SDK uploads text source files to the Console import route and returns the response as a dictionary.
Despite the parameter name, path_or_url does not accept a GitHub URL. Clone the repository first, then pass its local directory. The SDK excludes common dependency, cache, version-control, binary, and secret files. It rejects source trees larger than 5 MiB or 500 files instead of uploading a partial tree.

client.evolve()

Create an Agent from a specification, a local YAML or JSON specification file, or a natural-language description. The method polls the evolution job unless you set no_wait=True.
Provide one of spec, spec_path, or description. Returns a Job.

client.deploy()

Deploy an Agent to a production runtime. The method polls while the deployment status is deploying unless you set no_wait=True.
Returns a Deployment. Discovery, evolution, and deployment availability depends on the capabilities enabled in your Console deployment.

Next Steps

SDK Resources

Use lower-level resource operations and pagination.

Models and Errors

Inspect return types and handle SDK exceptions.

Run Evaluations

Start Evaluations and retrieve detailed results.

Protect Agents

Add runtime Guardrails with Dome.
Last modified on October 5, 2026