Flows in VB-OS
Flows define what happens after a boundary evaluation. They are directed acyclic graphs (DAGs) that route evaluation outcomes to governed actions: sending webhooks, creating notifications, or writing log entries.
Flow Model
Section titled “Flow Model”A flow definition contains:
- Nodes: typed processing units (trigger, evidence, boundary, condition, assert_action, defer_action)
- Edges: directed connections between nodes, with optional labels for branching
Node Types
Section titled “Node Types”| Type | Purpose |
|---|---|
trigger |
Entry point. Exactly one per flow, zero incoming edges |
evidence |
Declares expected evidence fields |
boundary |
The evaluation point. Exactly one per flow |
condition |
Branches on an evidence field value (true/false) |
assert_action |
Terminal node on the ASSERT branch. Fires an action |
defer_action |
Terminal node on the DEFER branch. Fires an action |
Flow Execution
Section titled “Flow Execution”When a boundary evaluation completes:
- The platform finds active flow deployments matching the evaluation’s environment and boundary version
- For each match, it creates a flow execution record
- Starting from the boundary node, it follows the edge matching the decision (ASSERT or DEFER)
- At condition nodes, it evaluates evidence field comparisons and follows the matching branch
- For each reachable action node, it creates and processes an action dispatch (webhook, notification, or log)
Evaluation completes (ASSERT or DEFER) | vFlow matches on environment + boundary version | vBoundary node | |--- "assert" edge ---> condition? ---> assert_action (webhook / notification / log) | |--- "defer" edge ----> defer_action (webhook / notification / log)Flow Versions
Section titled “Flow Versions”Flows are versioned. Each version contains the full DAG definition (nodes and edges). Version immutability ensures that a flow execution is reproducible.
DRAFT --> APPROVEDOnly draft versions can be edited. Once approved, a version is immutable and can be deployed.
Use Cases
Section titled “Use Cases”Webhook Dispatch
Section titled “Webhook Dispatch”Send evaluation results to external systems. Use evidence_disclosure_projection to control which evidence fields appear in the webhook payload.
Escalation Notifications
Section titled “Escalation Notifications”Create platform notifications when a boundary produces DEFER, alerting operators to review.
Conditional Routing
Section titled “Conditional Routing”Use condition nodes to check evidence field values and route to different actions. For example, transactions over a threshold route to a different webhook endpoint.
Next Steps
Section titled “Next Steps”- Evaluations: what produces the ASSERT or DEFER verdict
- Boundaries: the evaluation rules that flows react to
- Connectors: evidence acquisition before evaluation
