Skip to content

XAL, format v1 (draft)

Status: draft. Schema: spec/xybern-formats-v1/xal-v1.schema.json. Vector: spec/xybern-formats-v1/vectors/xal.json. Reference and examples: Authority Builder and XAL.

XAL is the text form of a workspace's authority: a YAML document (JSON form for the API) with xal: 1 at the top and the sections principals, roles, missions, mandates, communication, delegations, windows, warrants, flow_labels and tools. Every section is optional; a document that declares nothing is invalid. Keys make apply idempotent: id for principals, key for roles, missions and mandates, derived keys for the rest.

Section Item Compiles to
principals {id, name, framework, department, declared, roles[], delegation{}, boundary{}} registered agent, department membership, passport declaration, role assignments, access profile
roles {key, allowed[], denied[], scopes[], max_delegation_depth, min_trust_level} agent role
missions {key, principal, objective, allowed_outcomes[], forbidden_outcomes[], financial{}, data{}, lifetime_hours, mode, on_violation} intent contract with an explicit mission
mandates {key, outcome, level, status, primitives[]} signed mandate, compiled rules, Charter version
communication {default, rules[{from, to, decision, types[]}]} communication rules
delegations {from, to, action_types[], scopes[], budgets{}, resources[], max_depth, expires_hours} delegation grant
windows {principal, action_types[], scopes[], hours, reason} temporal permission window
warrants {principal, families[], bounds{}, budgets{}, resources[], ttl_seconds, constraints{decay, lease}, mission} standing warrant
flow_labels {kind, key, class, pii, origins[]} flow source label
tools {name, server, schema{}} tool schema

Canonicalisation of a document for hashing is the bundle's canonical JSON. A version is signed per workspace over {workspace_id, version, doc_hash, parent_version, applied_by} with HMAC-SHA256.