Authority Envelope — Conformance Vectors

Normative for the Authority Envelope 1.0. Every trace is a valid Decision Trace; a verifier runs the format’s checks first, then these. Bundles hold parent.jsonl and child.jsonl.

Vector Exercises Expected
01-valid-intersection Agent holds refunds.issue, principal does not; envelope is the intersection; an action within it VALID
02-intersection-widened clearances lists refunds.issue, which held.principal lacks E_INTERSECTION
03-bad-signature issuer names one control-plane key; signed by another E_ENVELOPE_SIG
04-action-outside-envelope tool.invoked requires refunds.issue; envelope grants orders.read E_ACTION_UNAUTHORISED
05-approval-does-not-widen The same action, approval-gated and approved E_ACTION_UNAUTHORISED
06-valid-delegation Child envelope derived from the parent: same principal, subset, within remaining budget, depth +1, linked VALID
07-child-widened Child claims a clearance the parent’s envelope lacks E_CHILD_WIDENED, E_INTERSECTION
08-child-budget-over-remaining Child tokens exceed what the parent had left after consumption E_CHILD_BUDGET
09-child-different-principal Delegation tried to re-originate authority E_CHILD_PRINCIPAL, E_PRINCIPAL
10-child-wrong-depth Depth 3 under a depth-0 parent E_CHILD_DEPTH
11-child-expires-after-parent Child outlives its parent’s authority E_CHILD_EXPIRY
12-envelope-wrong-scope Envelope names another task E_ENVELOPE_SCOPE

Vectors 04 and 05 together are the point: an approval authorises an action within the envelope and never adds to it. Generated by the reference implementation (Rashnu), pkg/authority/vectors_test.go; regenerate with go test ./pkg/authority -run TestVectors -update.