Skip to content

Boundaries

A boundary is a set of governance rules that VB-OS evaluates against submitted evidence. Every evaluation runs through a boundary and produces a verdict: ASSERT (conditions satisfied) or DEFER (conditions not satisfied).

Inside a project, the Boundaries tab shows all boundaries with their status, latest version, and deployment state. Each boundary card shows which environments it is deployed to (Development, Staging, Production).

You can search by name or reference, filter by version status (Draft, Published, Deprecated, Archived), and create new boundaries.

Click New Boundary to open the creation modal. Enter a name and an optional description. VB-OS assigns a unique boundary_ref (the boundary’s stable identifier across versions).

After creation, you land in the boundary editor with a new Draft version ready to configure.

The editor has two modes, toggled at the top:

  • Builder: a visual form-based editor where you add evidence requirements, prohibitions, predicates, and named sets by clicking and filling in fields
  • VBL: a text editor where you write boundary definitions directly in VBL (Verification Boundary Language)

Both modes produce the same compiled output. Switching from Builder to VBL generates the VBL text from your visual configuration. Switching from VBL to Builder parses the text back into the visual form (if the VBL syntax is valid).

Add fields that must be present in every workload submitted for evaluation. Each require_evidence declaration names a field that the workload must include. Missing fields cause an admissibility_not_satisfied failure in Stage 1.

You can also declare type constraints (require_type) and provenance requirements (require_provenance) for specific fields.

Add fields that must not be present. If a workload contains a prohibited field, the evaluation fails with prohibited_evidence_present in Stage 2.

Conditional prohibitions (prohibit_evidence WHERE) trigger only when a specific condition is met.

Add conditions that evidence values must satisfy. Each predicate is a named comparison (e.g., credit_score >= 600). All predicates are evaluated conjunctively: every predicate must pass for an ASSERT verdict. If any predicate fails, the evaluation returns DEFER with predicate_failed and lists every failing predicate.

Define reusable lists of values with define_set. Reference them in predicates using @set_name with IN or NOT IN operators. Useful for jurisdiction lists, approved categories, or any enumerated constraints.

Optional metadata fields at the top of the boundary: boundary_id, version, scope. These are informational and do not affect evaluation logic.

When you save, VB-OS compiles the boundary definition into a snapshot. The compilation panel shows whether compilation succeeded or failed, with error details for any syntax or semantic issues.

Boundaries are versioned. Each version is immutable once published. The lifecycle is:

Status Meaning
Draft Editable. Not yet locked. Can be compiled and tested.
Published Locked and immutable. Can be deployed to environments.
Deprecated Still functional but no longer recommended for new deployments.
Archived Retired. Cannot be deployed.

To make changes to a published boundary, create a new Draft version. The editor pre-fills with the content of the previous version.

The boundary detail page shows the full version history with status, creation date, and who created each version. You can compare any two versions side by side using the diff view, which highlights added, removed, and changed evidence requirements, predicates, and other constructs.

If your project has Git integration configured (in Project Settings), you can push boundary definitions to a Git repository and pull changes from it. The sync status badge on each boundary shows whether it is in sync, ahead, behind, or diverged from the remote.

Keyboard shortcut: Cmd+Shift+G opens the Git pull dialog from any boundary detail page.

  • Evaluations : submit evidence against a boundary and see results
  • Deployments : deploy a published boundary version to an environment
  • For VBL syntax details, see VBL Reference