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.