Skip to main content

veronica

LLM governance control plane.

Policy authoring, simulation, rollout pipelines, tenant hierarchy, incident replay, and audit dashboards -- built on veronica-core.


What This Is

veronica is the control plane for veronica-core.

veronica-core is the deterministic enforcement kernel -- cost ceilings, step limits, circuit breakers, distributed budget. It runs local, has no dependencies, and its guarantees are unconditional.

This repository is the management layer on top: author policies, test them in simulation, roll them out through approval gates, organize tenants, and audit what happened.

Your Application
       |
  veronica-core    -- enforcement kernel (pip install veronica-core)
       |
  veronica-cp      -- control plane (pip install veronica-cp)
       |
  LLM Providers

Features

  • Policy authoring -- create and version cost/step/token policies per chain via HTTP API
  • Simulation -- dry-run steps against a policy before deploying (POST /simulate)
  • Rollout pipeline -- DRAFT -> SIMULATED -> APPROVED -> PROMOTED -> ACTIVE -> REVOKED
  • Tenant hierarchy -- org -> team -> chain with policy inheritance and narrowing overrides
  • Incident replay -- re-evaluate recorded events under alternative policies
  • Audit dashboard -- event log, decision timeline, cost tracking (Grafana + built-in UI)
  • HMAC-signed bundles -- immutable policy distribution with integrity verification
  • PostgreSQL backend -- persistent event store (in-memory default for dev)
  • Prometheus metrics -- veronica_decisions_total, veronica_cost_usd_total, etc.

Install

pip install veronica-cp

Optional extras:

pip install veronica-cp[postgres]   # PostgreSQL event store
pip install veronica-cp[redis]      # distributed budget (Redis Arbiter)
pip install veronica-cp[metrics]    # Prometheus metrics exporter

pip install veronica is a different, unrelated package on PyPI. This project's PyPI distribution is veronica-cp. The Python import remains import veronica. Do not install both veronica (PyPI) and veronica-cp in the same environment -- they share the veronica import namespace and will conflict.


Quickstart

HTTP API (primary interface)

cp .env.example .env   # set VERONICA_API_KEY
cd deploy/ && docker compose up -d
Service URL
API + Docs http://127.0.0.1:8000/docs
Dashboard http://127.0.0.1:8000/ui
Grafana http://127.0.0.1:3000
Prometheus http://127.0.0.1:9090
Health http://127.0.0.1:8000/health
# Create a policy
curl -X PUT http://localhost:8000/policies/my-agent \
  -H "X-Veronica-Key: $VERONICA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"chain_id":"my-agent","ceiling_usd":1.0,"on_exceed":"halt","current_version":0}'

# Simulate enforcement
curl -X POST http://localhost:8000/simulate \
  -H "X-Veronica-Key: $VERONICA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"policy":{"chain_id":"my-agent","ceiling_usd":1.0,"on_exceed":"halt"},
       "steps":[{"kind":"llm","cost_usd":0.30,"tokens_out":500,"elapsed_ms":200}]}'

Embedded Python (for kernel-level integration)

pip install veronica-cp[metrics]
from veronica import VeronicaOS, BufferedEmitter, MetricsSubscriber
from veronica.metrics_exporter import start_metrics_server

start_metrics_server()  # :9464/metrics
emitter = BufferedEmitter()
emitter.subscribe("prometheus", MetricsSubscriber())
vos = VeronicaOS(emitter=emitter)

Architecture

veronica-core (kernel)       veronica (control plane)
-------------------------    --------------------------------
ExecutionContext              Policy authoring (PUT /policies)
ShieldPipeline               Simulation (POST /simulate)
BudgetEnforcer               Rollout pipeline (/rollouts)
CircuitBreaker               Tenant hierarchy (/tenants)
AdaptiveBudgetHook           Incident replay (POST /replay)
Distributed budget (Redis)   Event ingest + audit dashboard
OTel export                  Prometheus + Grafana

The kernel enforces. The control plane manages.

veronica-core's guarantees are unconditional -- they do not depend on the control plane. The control plane extends those guarantees with policy lifecycle, visibility, and organizational structure.


Status

veronica-core: v3.4.3 -- stable, 4837 tests.

veronica-cp (this repo): v0.8.1 -- 1197 tests.

Version Milestone
v0.8.0 Control plane GA: HTTP API, dashboard, deploy stack, tenant hierarchy, rollout pipeline, incident replay, design partner docs
v0.7.0 Org policy engine: validate/clamp, step_denied metric
v0.6.0 LLM integration adapter: step() context manager
v0.5.0 Grafana dashboard: metrics exporter, docker-compose

Single-org deployment. No federation, no cross-org, no multi-tenant SaaS.


Docs


Roadmap

Near-term (control plane hardening):

  • External design partner deployment
  • TriMemory kernel integration
  • Multi-agent workload validation

Future (not started):

  • Federation / cross-org policy coordination
  • Multi-tenant SaaS mode

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

veronica_cp-0.8.1.tar.gz (417.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

veronica_cp-0.8.1-py3-none-any.whl (141.4 kB view details)

Uploaded Python 3

File details

Details for the file veronica_cp-0.8.1.tar.gz.

File metadata

  • Download URL: veronica_cp-0.8.1.tar.gz
  • Upload date:
  • Size: 417.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for veronica_cp-0.8.1.tar.gz
Algorithm Hash digest
SHA256 c5814473b3aeb3920d90001135eb55dfbf7c31f8f9ca073d46525fca4af37103
MD5 7dbbd641a561ed741f98c2a3f9a9a515
BLAKE2b-256 6921dc76c1751728a2eb255f791f9a6ab5df4963ea6a32e9d11c3df07b79f1c5

See more details on using hashes here.

File details

Details for the file veronica_cp-0.8.1-py3-none-any.whl.

File metadata

  • Download URL: veronica_cp-0.8.1-py3-none-any.whl
  • Upload date:
  • Size: 141.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for veronica_cp-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e78885cd94bca0b49bfa0d93d3939749407fcc6f533f0dbee4de9ddf10d91015
MD5 848d5aaf560d96754319f2471891d51a
BLAKE2b-256 748045c773970872b9bf44e4285722de1c727f1e226ef12db8e873c74412f80e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.8.1 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page