voro-core
The operational backbone. Runtime infrastructure for the OpenClaw agent execution environment: gateway configuration, audited execution wrappers, knowledge collections, and workspace templates.
Purpose
voro-core provides the secure execution environment for autonomous agents. It manages runtime mode selection, audited command execution with resource limits, model proxy configuration, network allowlisting, and the Mission Control event ingestion API.
Architecture
Runtime Modes
| Mode | Environment | Description |
|---|---|---|
local-rig | WSL2 / Local | Default development mode |
vps-prod | DigitalOcean VPS | Hardened production deployment |
Mode is controlled by infra/mode.env and infra/lib/mode.sh.
Core Infrastructure
| Component | Purpose |
|---|---|
| run_with_audit.sh | Audited command wrapper with time/memory limits, before/after snapshots, allowlist enforcement |
| openclaw.json | Gateway + model + agent sandbox configuration template |
| network_allowlist.txt | Outbound destination whitelist for network-isolated execution |
| docker-compose.yml | LiteLLM model proxy plane (loopback-only) |
| litellm_config.yaml | Model routing: Anthropic Sonnet 4.6, Haiku 4.5 |
Mission Control (Event Ingestion)
The Mission Control server is the operational backbone — an HTTP event ingestion layer for fleet-wide agent telemetry.
| Route | Method | Purpose |
|---|---|---|
/ | GET | Embedded HTML dashboard |
/api/health | GET | Service health |
/api/ingest | POST | Event ingestion (single or array, schema v2.0) |
/api/agents | GET | Fleet status list |
/api/events | GET | Event query with filters |
/api/costs | GET | Cost rollup query |
/api/events/stream | GET | SSE event stream (real-time) |
Rate limits: Root 60rpm, API 240rpm, Stream 60rpm.
Event Schema (v2.0)
Required fields: schema_version, agent_id, agent_role, timestamp (ISO 8601), event_type, severity, message
Supported event types: agent lifecycle (agent.start/stop/heartbeat), LLM operations (llm.request), tool usage (tool.*), predictions, trading, scanning, policy violations.
Module Inventory
| Module | Responsibility |
|---|---|
apps/mission_control/ | HTTP event ingestion (server.py 863L), SQLite persistence, SSE streaming, fleet status, cost rollups |
infra/ | Audited execution, LiteLLM proxy, deployment modes, network allowlisting |
tools/ | ~50 Python scripts — MC smoke tests, policy validators, pilot lifecycle, source management |
knowledge/collections/ | 5 agent memory collections (trading, coding, cloud) |
WORKSPACE_TEMPLATE/ | Agent persona definitions (AGENTS.md, SOUL.md), behavioral contracts, skill specs |
Database
Runtime DB: data/mission-control.db (SQLite, WAL mode)
| Schema | Tables | Purpose |
|---|---|---|
| Contract v2 | events, cost_rollups, agent_status, ingest_errors | Core event store, fleet health, cost tracking |
| Contract v3 | pilot_cohorts, recommendation_ledger, cohort_results | Pilot cohort management, weekly gate recommendations |
| Contract v3.1 | pilot_phases, pilot_audit_log | Lifecycle state transitions, governance audit trail |
Key Capabilities
- Audited execution: Every command runs through
run_with_audit.shwith time/memory limits and before/after snapshots - Network isolation: Outbound connections restricted to explicit allowlist
- Model proxy: LiteLLM routes model requests through a loopback-only proxy, preventing direct API exposure
- Event ingestion: Fleet-wide telemetry collection with structured event schema
- SSE streaming: Real-time event stream for dashboard consumption
- Workspace templates: Agent persona definitions with behavioral contracts and skill specifications
- Knowledge collections: Curated agent memory search paths for trading, coding, and cloud operations
Build & Run
# Start Mission Control
python3 -m apps.mission_control.server --host 127.0.0.1 --port 3900 --token "$MC_TOKEN"
# Validate gateway config
python3 -c "import json; json.load(open('infra/openclaw.json.example'))"
bash infra/run_with_audit.sh openclaw gateway probe
# Health check
curl -sS http://127.0.0.1:3900/api/health | jq .
# Smoke tests
python3 tools/mission_control_smoke.py
python3 tools/mission_control_api_smoke.py
Current State
- Language: Python 3.12
- Tests: 197 pytest passed
- Database: SQLite WAL mode (~148KB)
- Shipped work: MC-001 through MC-053 (complete)
- Status: Stable. P3/P4 capability expansion drafts await operator sign-off.