OSuite OSuite.ai
Sign in Request access
← All research
Framework · arXiv · July 16, 2026 · 14 min read

CAVA: Canonical Action Verification and Attestation

A runtime-semantics layer for turning shell commands, MCP calls, SDK calls, workflow steps, and gateway requests into canonical action objects that OSuite can score, route, approve, attest, and prove.

O
OSuite Research
Runtime Governance
Read on arXiv
At a glance
CAVA is the action-semantics substrate beneath PCAA: it turns messy agent behavior into a structured object governance can reason over.
The framework separates intent, target, privilege, reversibility, data movement, runtime identity, policy pattern, receipt integrity, and evidence quality.
Decision Score v2.1, BAF, and AREG use CAVA outputs so similar-looking actions no longer collapse into one generic bash score.
SignalRuntime action
AnalysisCAVA object
AuthorityPCAA binding
ClosureProof bundle

The CAVA paper is now available on arXiv as CAVA: Canonical Action Verification and Attestation for Runtime Governance of Agentic AI Systems.

We built CAVA after seeing the same failure pattern across agent deployments: raw action text is too weak a substrate for governance. A command string can look dangerous while being harmless. A neat SDK call can hide a privileged write. A workflow step can be low risk in staging and unacceptable in production.

CAVA, short for Canonical Action Verification and Attestation, is OSuite's runtime semantics layer. In product language, we often describe it as the action analysis layer because that is what customers feel: it turns agent activity into a structured action object that can be scored, routed, approved, rejected, expired, attested, and replayed.

Why string matching is not enough

The first generation of agent controls often started with allowlists, blocklists, and command pattern checks. Those are useful as tripwires, but they do not understand action consequence.

Consider two actions:

Raw actionWhy raw text misleads
`git push origin main`Could be a safe docs update or a production-impacting release depending on branch protection, repository, CI behavior, and actor identity.
`client.records.update()`Looks ordinary, but may change regulated customer data, trigger downstream workflows, or write into a system of record.

CAVA evaluates the action context, not just the string.

The CAVA decomposition

CAVA decomposes every intercepted action across several dimensions. Each dimension is intentionally simple enough for a buyer to understand, but structured enough for policy and proof.

DimensionQuestion CAVA asks
IntentWhat class of operation is being attempted?
TargetWhat system or resource would change or be read?
PrivilegeWhat authority is required to complete it?
BoundaryDoes the action cross a workspace, network, data, financial, or production boundary?
ReversibilityCan the action be undone cleanly?
Data movementIs sensitive data copied, exported, transformed, or disclosed?
Runtime laneDid this come from a hook, MCP server, SDK, workflow, gateway, or managed agent?
Evidence qualityCan the decision be replayed later with enough context to trust it?

The result is a canonical action object that feeds PCAA approval binding and Decision Score v2.1.

Runtime Coverage tiers

CAVA is the canonical action language. Runtime Coverage is the adapter posture around it: how much of a customer's real runtime surface is being translated into that language before policy evaluates the action.

TierWhat it means
Reference adaptersOpen parser-pack contracts and reproducible examples. They are useful for papers, local tests, and developer education, but should not be read as production coverage.
Managed OSuite adaptersOSuite-maintained adapters for Codex, Claude, ChatGPT Apps, MCP, SDK hooks, workflow runtimes, and supported integration lanes. Studio shows parser posture, evidence gaps, and remediation paths.
Enterprise custom adaptersCustomer-specific mappings for private ERP, CRM, ticketing, payment, manufacturing, warehouse, and internal workflow systems. The mapping is versioned and reviewed without changing CAVA core.

This distinction matters. A public reference parser-pack percentage is not the ceiling of CAVA's architecture. It is the reproducible baseline. Product coverage comes from managed adapters and enterprise custom mappings that preserve the same canonical action object while fitting the customer's actual runtime.

DeepSeek Harness is now listed as a target runtime lane rather than a ready managed adapter. The reason is technical, not cosmetic: its plugin-first tool pipeline exposes pre-execution and post-execution points that line up with OSuite review, outcome recording, and CAVA proof export. Until a production adapter is shipped and tested, it remains a roadmap lane.

Interoperability is an input, not authority

Recent protocol-governance work on MCP, A2A, ACP, ANP, and trust registries makes the same boundary visible from the interoperability side: agent protocols can support discovery, tool access, delegation, and message exchange, but they do not automatically encode governance primitives such as deliberation, dissent preservation, human escalation, voting, or replayable audit.

CAVA treats those protocols as runtime lanes. An MCP tool call, A2A handoff, browser action, workflow step, or shell command can all become evidence, but none of them becomes final authority by being well-formed. The job of CAVA is to project the event into a canonical action object that PCAA, policy profile, Decision Score, BAF, and AREG can govern.

From analysis to decision

CAVA does not replace policy. It makes policy executable.

  • Policy profile says which boundaries matter to the customer.
  • CAVA explains what the action is and what it touches.
  • Decision Score v2.1 calculates why the action is low, medium, high, or blocked.
  • PCAA binds approval to the canonical action fingerprint.
  • BAF converts approval into a bounded action lease.
  • AREG maps the governed action into runtime exposure and blast radius.
  • OSuite records closure and produces proof.

This separation matters because customers should not be forced to trust a black box. A security leader should be able to ask, "Why was this action held?" and see the answer in product language.

Example CAVA output

json
{
  "runtime_lane": "codex-hook",
  "raw_action": "git push origin main",
  "intent": "publish-code",
  "target": "repository:payment-api/main",
  "boundary": ["production-release-path"],
  "privilege": "write",
  "reversibility": "partial",
  "data_movement": "none",
  "evidence_quality": "replay-ready",
  "score_inputs": {
    "target_sensitivity": 0.72,
    "privilege_weight": 0.68,
    "reversibility_penalty": 0.44,
    "policy_pattern_match": "release-boundary"
  }
}

The score is not "bash equals 25." It is a composed judgment over consequence, authority, boundary, reversibility, and evidence.

What deployers see

The product expression of CAVA should feel legible, not academic. In OSuite, a customer sees a decision explanation such as:

  • This action touches a release boundary.
  • It requires write authority.
  • The change is only partially reversible.
  • The repository is classified as production-adjacent.
  • Human approval is required before execution.

That is the difference between a control plane and a log viewer. CAVA gives the system something real to govern.

Research direction

CAVA is designed to remain portable. The open-source skeleton can help developers normalize actions in their own environments. The OSuite implementation adds managed policies, scoring calibration, proof closure, tenant-specific patterns, and deployment-grade evidence handling.

The open implementation is available at OndCo/CAVA, with an npm package published as `osuite-cava-core`.

Public reproducibility artifact

After publication, an independent replication survey initially marked the CAVA benchmark claim as not released because the paper referenced internal benchmark paths. We treated that as a fair reachability criticism and published a public artifact for the arXiv benchmark claim.

The reproducibility mirror is available at OndCo/CAVA reproducibility/cava-2607.13716. It includes the benchmark harness, expected snapshots, manifest, and verifier for the 96-seed, 384-variant benchmark profile. The public correction trail is available in the replication survey reply record.

This does not make the entire OSuite product public or certified. It means the specific CAVA paper benchmark claim is now publicly reachable and independently recomputable.

bibtex
@misc{wang2026cava,
  title={CAVA: Canonical Action Verification and Attestation for Runtime Governance of Agentic AI Systems},
  author={Wang, Zexun},
  year={2026},
  eprint={2607.13716},
  archivePrefix={arXiv},
  primaryClass={cs.AI},
  url={https://arxiv.org/abs/2607.13716}
}
More research
Paper

PCAA: Proof-Carrying Agent Actions

June 24, 2026
Framework

Bounded Action Firewall and Action Gate Leases

June 26, 2026

Approve high-risk AI work before it runs.

Request enterprise access and send your first governed decision today.

Request enterprise access Read the docs