What it remembers — and what it forgets
MemoryPolicy makes retention a cluster resource: TTL, LRU or decay, per tier. Revoke consent and the cascade runs — stop, soft-delete, or hard-delete on a grace clock. PII redaction on write.
Calling a model is solved. What decides whether an agent reaches production is everything around it — what it remembers, who it may call, what it keeps, what it cost, and whether you can prove it still works. Omnia makes each of those cluster configuration, on the stack you already run.
Free in dev. Everything. Free Core in production.
# agent.yaml — the agent is a cluster resource
kind: AgentRuntime
metadata:
name: customer-support-agent
spec:
promptPackRef:
name: customer-support
track: stable
facades:
- type: websocket
port: 8080
toolRegistryRef:
name: support-tools# kubectl get toolpolicy -o yaml
kind: ToolPolicy
spec:
mode: enforce
onFailure: deny # fails closed
rules:
- name: loan-decisions-require-human
deny:
cel: double(body.amount) > 10000.0 …
message: Loan approval over £10,000
requires a human underwriter# evals run on live sessions, not overnight
kind: AgentRuntime
spec:
evals:
enabled: true
inline: # in the runtime, synchronous
groups: ["fast-running"]
worker: # LLM judges, out of band
groups: ["long-running"]
sampling:
defaultRate: 100 # every turn
extendedRate: 10THE HARD PART
Any platform can call a model. The questions that decide whether an agent reaches production are what it remembers, who it may call, what it keeps, and what it cost — and in Omnia every one of them is cluster configuration you own.
MemoryPolicy makes retention a cluster resource: TTL, LRU or decay, per tier. Revoke consent and the cascade runs — stop, soft-delete, or hard-delete on a grace clock. PII redaction on write.
ToolPolicy is a CEL decision on every tool call, evaluated before the tool runs. It fails closed: if the broker cannot answer, the call does not happen.
SessionPrivacyPolicy decides what a session records and how long it survives. Enforcement is logged to a central audit hub, not left to each service.
Evals run on live sessions, not overnight — fast checks inline in the runtime, LLM judges out of band, sampled so the expensive ones stay affordable. You learn an agent has drifted from the traffic, not from a nightly report.
Every provider call is costed per session and per token, attributed back to the agent and the team that ran it.
Agents are PromptPacks — an open specification. The pack you run here deploys elsewhere unchanged. Nothing about your agent is native to us.
In detail: who may call what, and how you prove it· what happens to the data· how you know it still works
FIND YOUR PATH
The Omnia docs follow Diátaxis — tutorials to learn, how-to guides to get things done, reference to look things up, explanation to understand the why.
From helm install to your first agent answering over a WebSocket — no prior setup assumed.
The thinking behind the platform — the why, not the how.
Focused recipes for the operational jobs you already know you need to do.
Every custom resource, field, and option — exact and complete, for looking up.
INSTALL
Install the operator over OCI, apply an AgentRuntime, and your agent reconciles into a running pod — facade, session wiring, and autoscaling. Nothing in here you don't already operate.
$ helm install omnia oci://ghcr.io/altairalabs/charts/omniaapiVersion: omnia.altairalabs.ai/v1alpha1
kind: AgentRuntime
metadata:
name: checkout-agent
spec:
promptPackRef: {name: my-pack}
providers:
- name: default
providerRef: {name: claude-provider}
facades: [{type: websocket, port: 8080}]requires kubernetes 1.28+ · helm 3.x · free for development · licence for enterprise features in production