Governed workflows

A Kavros workflow is a governed graph of steps — agent calls, skills, and file outputs — that can only run after its revision is approved and signed. Schedules, promotions, drift detection, and evidence all hang off that single revision chain.

Describe a request as a graph

In the dashboard's Workflows view, describe the task as a connected graph: an agent node (the registered workload that executes), a task node (the prompt), and skill nodes (typed capabilities such as a governed query or a file output). The builder validates the graph before anything can be saved — an unconnected or incomplete graph cannot be published.

Why a graph? Every node maps to something Kavros can govern: the agent's signed policy, the skill's typed capability, and the output channel's DLP rules. A workflow cannot request an action that no node declares.

Publish, revise, promote

Schedules

Workflows can run on a schedule. Schedule claims are issued and finalized through the scheduler with alerting on missed or stuck claims, so a silently-stuck nightly job is an incident you see, not a surprise you discover.

Signed bundles: build here, run anywhere

Export a published workflow as a signed bundle — canonical JSON over the workflow revision with an Ed25519 signature from the control plane's key. Import it into another Kavros deployment, and verify it anywhere — including machines that never talk to either deployment:

kavros verify-bundle workflow.bundle.json \
  --public-key "$KAVROS_POLICY_PUBLIC_KEY"
# Signature valid (Ed25519, key sha256:…)
# workflow: nightly-report  revision: 7  capabilities: db.query, file.xlsx

A tampered bundle fails verification with a do-not-import warning and a non-zero exit code — wire it into CI as a promotion gate. See Developer integrations for the CI recipes.

Governed file outputs

Workflow steps can produce Excel, CSV, and JSON artifacts. Outputs pass the same DLP inspection as egress before they are stored, and every artifact is listed in the run's evidence trail with its download path from run history.

What a run leaves behind