Visor

LLM workflow execution engine

Core primitives

Isolated Agent Runtime

Each agent runs inside its own Docker container with isolated filesystems, dependencies, execution entrypoints, and persistent identity.

LLM Gateway

Every model request passes through an enforcement gateway that manages budgets, auditing, logging, and provider routing.

Execution Ledger

Every interaction is stored as an immutable transaction for reproducibility, auditing, and spend tracking.

LLM Gateway

Every LLM request is routed through a per-agent gateway. The gateway enforces token budgets, blocks requests once limits are exceeded, records complete audit logs, and attributes usage at both the agent and model level.

  • Token budget enforcement
  • Audit logging
  • Usage attribution
  • Provider abstraction
Agent
   │
   ▼
LLM Gateway
   │
   ▼
Claude / GPT / Ollama

Execution Ledger

Every interaction becomes a transaction, enabling reproducible execution histories and accurate spend tracking.

type LLMTransaction struct {
  ID            int
  AgentId       int
  InputTokens   int
  OutputTokens  int
  Model         string
  Timestamp     time.Time
}

Architecture

workflow.yml
└── WorkflowVisor
    ├── Task Dependency DAG
    └── Scheduler
        ├── researcher
        │   ├── Docker Container
        │   ├── LLM Gateway
        │   └── Persistent State
        ├── writer
        │   ├── Docker Container
        │   ├── LLM Gateway
        │   └── Output Artifact
        └── finalizer
            ├── Docker Container
            ├── LLM Gateway
            └── Persistent State

Agent Configuration

agent:
  name: researcher
  model: claude-sonnet-4
  secret: claude_key

runtime:
  wd: /var/agents/researcher
  exec:
    - python3
    - agent.py

budget:
  max_input_tokens: 30000
  max_output_tokens: 60000

Workflow Configuration

workflow:
  name: research-and-write

steps:
  - id: research
    agent: researcher.yml

  - id: write
    agent: writer.yml

Budget Enforcement

Budget limits are enforced structurally at the LLM Gateway. If an agent exceeds its configured limit during execution, the gateway terminates the stream and returns a 402 Payment Required response.