ArcFlow
Company
Managed Services
Markets
  • News
  • LOG IN
  • GET STARTED

OZ brings Visual Intelligence to physical venues, a managed edge layer that lets real-world environments see, understand, and act in real time.

Talk to us

ArcFlow

  • World Models
  • Sensors

Managed Services

  • OZ VI Venue 1
  • Case Studies

Markets

  • Sports
  • Broadcasting
  • Robotics

Company

  • About
  • Technology
  • Careers
  • Contact

Ready to see it live?

Talk to the OZ team about deploying at your venues, from a single pilot match to a full regional rollout.

Schedule a deployment review

© 2026 OZ. All rights reserved.

LinkedIn
ArcFlow Docs
Start
  • Quickstart
  • Installation
  • Bindings
  • Platforms
  • Get Started
  • Cookbook
Concepts
  • World Model
  • Graph Model
  • Evidence Model
  • Observations
  • Confidence & Provenance
  • Proof Artifacts & Gates
  • SQL vs GQL
  • Graph Patterns
  • Parameters
  • Query Results
  • Persistence & WAL
  • Snapshot-Pinned Reads
  • Error Handling
  • Execution Models
  • Causal Edges
  • Adapter Discipline
  • Time Decay
  • Layers
  • 1. World Store
  • 1a. World Store · Smart Reader
  • 2. Perception Lake
  • 3. World Graph
  • 4. Query Engine
  • 5. Live Surface
  • 6. Event Bus
  • 7. Behavior Engine
  • 8. Algorithm Library
  • Virtual Computed Columns
  • Threading Model
  • Typed ID Contract
  • The Information Layer
  • The Memory Engine
WorldCypher
  • Overview
  • Execution Options
  • Statements
  • MATCH
  • WHERE
  • RETURN
  • OPTIONAL MATCH
  • CREATE
  • SET
  • MERGE
  • DELETE
  • REMOVE
  • ASOF JOIN
  • CREATE NODE LABEL
  • CREATE PROGRAM
  • CREATE TRIGGER
  • CREATE LIVE VIEW
  • CREATE WINDOW
  • CREATE DECAY POLICY
  • REFINE EDGE / REPROCESS EDGES
  • Sessions & Transactions
  • Composition
  • WITH
  • UNION
  • UNWIND
  • CASE
  • FOREACH
  • Schema
  • Schema Overview
  • Indexes
  • Constraints
  • Functions
  • Built-in Functions
  • Aggregations
  • Procedures
  • Shortest Path
  • EXPLAIN
  • PROFILE
  • Temporal Queriesfacet
  • Spatial Queriesfacet
  • Algorithmsfacet
  • Triggers
Capabilities
  • Live Queries
  • Vector Search
  • Trusted RAG
  • Spatial Knowledge
  • Temporal
  • Behavior Graphs
  • Graph Algorithms
  • Skills
  • CREATE SKILL
  • PROCESS NODE
  • REPROCESS EDGES
  • Sync
  • Programs
  • GPU Acceleration
  • Agent-Native
  • MCP Server
  • Event Sourcing
  • Intent Relay
  • Event Bus
Use Cases
  • Agent Tooling
  • Trusted RAG
  • Knowledge Management
  • Behavior Graphs
  • Autonomous Systems
  • Physical AI
  • Digital Twins
  • Robotics & Perception
  • Sports Analytics
  • Grounded Neural Objects
  • Fraud Detection
Walkthroughs
    Guides
  • Agent Integration
  • Building a World Model
  • Modeling a Social Graph
  • Build a RAG Pipeline
  • Using Skills
  • Behavior Graphs
  • Swarm & Multi-Agent
  • Fleet Coordination
  • From SQL to GQL
  • Filesystem Workspace
  • Data Quality
  • Code Intelligence
  • Scale Patterns
  • Lakehouse Fast-Path
  • Python Executor SDK
  • Tutorials
  • Knowledge Graph
  • Entity Linking
  • Vector Search
  • Graph Algorithms
  • Recipes
  • CRUD
  • Multi-MATCH
  • MERGE (Upsert)
  • Full-Text Search
  • Batch Projection
  • Multi-Source Observation
  • Sports Analytics
Operations
  • CLI
  • REPL Commands
  • Snapshot & Restore
  • Filesystem Projection
  • Plugin Management
  • Agent Governance
  • Server Modes & PG Wire
  • Persistence (ops)
  • Import & Export
  • Deployment
  • Deployment Modes
  • Daemon (UDS)
  • Why not Docker
  • Architecture
  • Engine Architecture
  • Cloud Architecture
  • Sync Protocol (Deep Dive)
  • World Graph Substrate (Preview)
Reference
  • TypeScript API
  • Glossary
  • Naming & Domain Map
  • Data Types
  • Operators
  • Error Codes
  • GQL Reference
  • Known Issues
  • Versioning
  • Licensing
  • Conformance
  • GQL Conformance
  • openCypher TCK
GQL Reference
    Conformance
  • Conformance Dashboard
  • openCypher TCK Results
  • Features
  • MATCH Basic
  • CREATE Nodes Edges
  • SET REMOVE Properties
  • DELETE Detach DELETE
  • RETURN WITH WHERE
  • Order BY Limit Skip
  • Order BY Nulls First Last
  • UNWIND
  • Aggregate Functions
  • OPTIONAL MATCH
  • Variable Length Paths
  • Label OR AND NOT Expressions
  • Label Wildcard
  • Quantified Path Sugar
  • Path Modes Walk Trail Simple Acyclic
  • Shortest Path Variants
  • IS Labeled Predicate
  • Element ID Function
  • IS Type Predicate
  • Binary Literals
  • Line Comments Solidus
  • Line Comments Minus
  • GQLSTATUS Result Codes
  • GQL Error Code Mapping
  • Transaction Control Syntax
  • SET Session
  • Conditional Execution WHEN THEN ELSE
  • RETURN NEXT Pipeline
  • Primary Key Constraint
  • Unique Constraint
  • Deterministic MERGE Via PK
  • Undirected Edge MATCH
  • Cast Type Conversion
  • GQL Directories
  • Multiple Labels Per Node
  • GQL Flagger
  • NEXT Linear Composition
  • Cardinality Function
  • INT64 BIGINT Type Names
  • FLOAT64 Double Type Names
  • Log10 Log2 Functions
  • Trim Leading Trailing Both
  • FILTER Clause
  • LET Statement
  • Group BY Explicit
  • EXCEPT SET Operations
  • INTERSECT SET Operations
  • ALL Different Predicate
  • Same Predicate
  • Property Exists Function
  • Path Variable Binding
  • USE Graph Clause
  • FOR IN List
  • Typed Temporal Literals
  • Session SET Value Params
  • Typed List Annotations
  • arcflow.cosine() function
  • arcflow.embed() function
  • arcflow.similar() procedure
  • arcflow.graphrag() procedure
  • ArcFlow Extensions
  • LIVE Queries
  • Reactive Write-Back Views
  • Evidence Algebra
  • Relationship Skills
  • AI Function Namespace
  • Graph Embedding Algorithms
  • ASOF JOIN
  • Durable Workflows
  • Incremental Z-Set Engine
  • GPU GraphBLAS
  • Triggers
  • HNSW Vector Index
  • Extensions Moat

Behavior Engine

The seventh of ArcFlow's eight layers. Owns declarative behaviors — programs and triggers that fire in response to graph events, execute inside the engine, and write their results back through the same Cypher surface.

A behavior is a piece of work the engine performs on the graph's behalf whenever the graph changes in a way the behavior cares about. Behaviors are how an agent encodes "when X happens, do Y" without writing an external poll loop, a webhook listener, or a sidecar worker.

What the Behavior Engine provides#

CapabilityWhat it does
ProgramsDeclarative units of work registered against the engine; named, versioned, composable.
TriggersConditions that fire a program — node created, property changed, edge added, live-view delta.
SkillsReusable behavior fragments invoked by name; the building blocks of larger programs.
Behavior graphsCompose programs + skills into directed graphs of work; the engine schedules execution.
Write-backResults land in the graph through the same CREATE / SET / MERGE surface a user would write.

Why behaviors live in the engine#

A behavior could be an external service that subscribes to the Event Bus and posts mutations through the client SDK. That works, but it loses three properties:

  • Transactional grounding. A behavior running inside the engine sees the same mutation that triggered it, in the same transaction. The result it writes commits atomically with the input that caused it.
  • No round-trip. No network hop, no serialisation, no reconnect logic.
  • One identity story. The program is registered against the workspace; it carries the same provenance as any other authored fact.

Behaviors are the engine's answer to "stored procedure" — typed, declarative, graph-aware.

Why this is its own layer#

The Behavior Engine is downstream of every other layer:

  • It consumes deltas from the Live Surface — that is how triggers fire.
  • It emits results through the Query Engine — the same Cypher surface a user writes against.
  • It publishes intents through the Event Bus — other behaviors and external consumers can subscribe.
  • It can invoke the Algorithm Library — CALL algo.* and CALL arcflow.* procedures.

Keeping behaviors separate from the layers they consume keeps each layer's responsibilities clean. A behavior is a composition of the lower layers' guarantees.

Why this matters for agents#

For agents, the Behavior Engine is what turns the database from a record-keeper into a participant. Examples:

  • A perception arrives; a program normalises it, runs entity resolution, and writes a typed entity reference.
  • A new edge appears in the call graph; a trigger fires a code-intelligence skill that updates the symbol table.
  • A live view's delta indicates a fraud-ring threshold crossing; a behavior emits an intent the responder consumes.

The agent does not poll. The agent does not glue services together. The agent declares the behavior once; the engine fires it whenever the graph changes in a matching way.

LLM-tier skills (the LLM Node)#

A skill declared with TIER LLM and an optional MODEL '<catalog-row>' clause routes its execution to a language model instead of an inline prompt evaluator or compiled program:

CREATE SKILL coach_summary
    FROM PROMPT 'Analyze {{name}}'
    ALLOWED ON [Player]
    TIER LLM
    MODEL 'cli/claude-code'

LLM calls do not run inside the engine process. They route through an arcflow-llm sidecar process supervised by the runtime — provider state isolated, sidecar crash restarted by the supervisor without taking down the engine, failures sandboxed.

Provider key management. Keys live in the OS keychain (macOS Keychain, Linux Secret Service, Windows Credential Manager) and are never written to disk:

arcflow keys add openai                  # interactive entry, piped, or --key
arcflow keys list                        # masked
arcflow keys set-daily-cap openai 25.00  # USD per provider per day

BudgetMeter. Every LLM call is intercepted before dispatch; calls that would exceed the daily cap fail with a typed error. Inspect with arcflow keys list (shows daily_cap_usd and spent_today_usd per provider).

Provider catalogs:

PrefixProviderNotes
openai/*OpenAI-compatible HTTPSWorks for any vendor that exposes the same API shape — OpenAI, Together, Groq, Anyscale
cli/*SubprocessCliRoutes to a locally-installed CLI agent (cli/claude-code, cli/codex, cli/gemini); zero network egress from the engine; the local CLI authenticates with its own provider
oz/*OZ first-partyHosted catalog at llm.oz.com; default oz/deepseek-v3

Models are discovered through the active provider's own catalog — oz/* from llm.oz.com, openai/* from /models on the configured base URL, cli/* from the local CLI tool's --list-models (where supported).

Per-skill MODEL routing means an agent can declare which model handles a given skill — and change it later without rewriting the prompt. Combined with the CLI provider family, this lets a workflow run entirely on locally-installed LLM CLIs (no network) for one skill, and on a hosted endpoint for another.

See also#

  • Behavior Graphs — the canonical surface reference + worked examples.
  • Skills — the reusable building blocks.
  • Programs — the program manifest format.
  • Triggers — the extension reference.
  • Relationship Skills — edge-aware skill patterns.
← Previous6. Event BusNext →8. Algorithm Library