# Omnia vs Rossoctl

> Omnia tests every release, versions what ran, rolls it out in steps and enforces tool policy on every call, with the user’s identity carried through. Rossoctl, formerly Kagenti, handles token exchange, and its docs don’t yet cover testing or releasing an agent.

Category: Agents on Kubernetes. Checked against The Rossoctl project (formerly Kagenti)’s published material on 2026-10-22. Canonical page: https://www.altairalabs.ai/vs/rossoctl/

## Rossoctl (formerly Kagenti) handles who the agent is. Omnia tests and releases it.

Rossoctl exchanges a user’s token for one that’s good for a single tool. Its docs don’t yet cover testing an agent, versioning a release or upgrading one.

## When it matters: A new build of the claims agent is ready.

**On Omnia:** The build is a new version of the pack. Simulated claimants work it through the real tools before it serves, one of them inventing a second injury. It passes, gets a share of new claims, keeps its numbers up and is promoted. Had they dropped, the previous version would have taken the traffic back. (Omnia docs: https://omnia.altairalabs.ai/reference/core/promptpacksource/)

**On Rossoctl:** Rossoctl identifies the build by the version field on its agent card. Testing isn’t documented, and upgrading from one release to the next is listed as a subject with no page yet. (source: https://github.com/rossoctl/rossoctl/blob/main/docs/workloads/bring-your-own-agent.md)

## Every release is tested and gated

Adversarial callers and duplex voice calls run alongside the simulated claimants. A version that fails the suite isn’t released. (Omnia docs: https://promptarena.altairalabs.ai/arena/explanation/scenario-design/)

Rossoctl: Not documented. The UI lets you try an agent by hand. (source: https://github.com/rossoctl/rossoctl)

## A release is a thing you can name

Prompts, tools, policy and tests are one versioned pack, pulled from git or OCI. The rollout moves traffic to that version step by step, and a conversation finishes on the version it began on. (Omnia docs: https://omnia.altairalabs.ai/reference/core/promptpacksource/)

Rossoctl: The agent card’s version field identifies the running build. Rollout isn’t documented. (source: https://github.com/rossoctl/rossoctl/blob/main/docs/operate/index.md)

## Tool policy you can put in production today

A broker checks each tool call against your CEL rules, looking at the arguments and at who the caller is. If the broker can’t answer, the call is refused. *(enterprise)* (Omnia docs: https://omnia.altairalabs.ai/how-to/security/configure-tool-policies/)

Rossoctl: Tool-call validation is Alpha, and the docs say not to use the Beta MCP gateway as an access-control boundary. (source: https://github.com/rossoctl/rossoctl/blob/main/docs/concepts/experiments/mcp-gateway.md)

## At a glance

| Topic | Omnia | Omnia docs | Rossoctl | Rossoctl docs | Source |
|---|---|---|---|---|---|
| Any Kubernetes | Installed with Helm. | https://omnia.altairalabs.ai/how-to/workspaces/configure-service-groups/ | Kind and OpenShift Ready; other clusters Beta. | partly documented | https://github.com/rossoctl/rossoctl/blob/main/docs/operate/index.md |
| Agents from other frameworks | Run under the same governance; reachable over A2A or MCP. | https://omnia.altairalabs.ai/how-to/security/authoring-a-custom-runtime/ | Any container that speaks A2A. | documented | https://github.com/rossoctl/rossoctl/blob/main/docs/workloads/bring-your-own-agent.md |
| End-user identity to tools | OIDC or edge trust, carried to every call. | https://omnia.altairalabs.ai/how-to/security/configure-authentication/ | Token exchange per tool. | documented | https://github.com/rossoctl/rossoctl/blob/main/docs/security/index.md |
| Simulated users before release | Multi-turn, against real tools. | https://promptarena.altairalabs.ai/arena/explanation/scenario-design/ | Not documented. | not documented | https://github.com/rossoctl/rossoctl |
| Stepped rollout, auto rollback | Traffic shifts in steps and rolls back on its own. | https://omnia.altairalabs.ai/tutorials/progressive-rollouts/ | Not documented. | not documented | https://github.com/rossoctl/rossoctl/blob/main/docs/operate/index.md |
| Argument-level tool policy | Enforced on every call; fails closed. *(enterprise)* | https://omnia.altairalabs.ai/how-to/security/configure-tool-policies/ | Alpha. | partly documented | https://github.com/rossoctl/rossoctl/blob/main/docs/concepts/experiments/mcp-gateway.md |
| Voice | Duplex voice, and tests for it. | https://promptarena.altairalabs.ai/arena/explanation/duplex-architecture/ | Not documented. | not documented | https://github.com/rossoctl/rossoctl |

## Questions

**Is Rossoctl the same project as Kagenti?**

Yes. The Kagenti repository on GitHub now redirects to Rossoctl.

**Does Rossoctl need OpenShift or Istio?**

Not any more. Its docs mark OpenShift and Kind as Ready and other clusters as Beta, and Istio is an optional flag. Omnia runs on any Kubernetes and doesn’t need a mesh.

**Can an Omnia agent call one running on Rossoctl?**

Yes. Omnia references remote agents by URL over A2A, with outgoing auth, and uses their skills as local tools.
