Problem
Two agents can prove who authorized an act. They cannot agree on what the act was.
APH binds payload, channel, agent, and policy decision to a human's authority — all structural. Nothing says whether the message asked to grant access, move money, or schedule a meeting, which is what a recipient's policy actually turns on. Two recipients can read the same signed bytes, reach different conclusions about what was asked, and both be conformant.
The guardrail vocabulary closes half of this: families of acts and labels, versioned independently of the wire. It already states the intent — "A vocabulary that resolves independently is a third party both sides can point at… Neither counterparty defines the term; both resolve it."
But it does not resolve. It is a file in this repository, and its README says plainly that no wire binding exists. So the third party both sides point at is, at present, us.
Proposal
Two halves, and the design proposes almost no new mechanism:
- Anyone can author a vocabulary — as a tighten-only overlay against the base, using the lattice rules that already ship. A publisher can add a label, raise a floor, harden a fail posture — and never the reverse. Six families (authority, consent, safety, injection, disclosure, human-loop) are sealed and refuse overlays entirely.
- Publication reuses §8.4 rather than inventing a second discovery story. A vocabulary is the same problem shape as a notary key: resolve a third party you have no prior relationship with.
References are a logical identifier plus content digest — name, version, digest, family, label — never a path into the serialization. That distinction was learned the expensive way: re-exporting an unchanged bundle under a newer toolchain moved its blocks from one nesting to another, and a signature cannot be re-pointed.
Full draft: rfcs/0006-published-guardrail-vocabularies.md
What most needs discussion
- The outbound-fetch hazard. Resolving a stranger's vocabulary is a request to a stranger's server made by a verifier while it verifies — SSRF, DoS-on-verify, and a privacy side channel. The draft argues for out-of-band resolution with digest-pinned caching as the default, never a lazy fetch triggered by an inbound envelope.
- Where the reference belongs — envelope, mandate, or both. A mandate-side reference would let a human's grant be scoped in terms both parties resolve, which is a strictly larger idea.
- Unmeasured accuracy claims. Families carry
min_accuracy gates while the corpora do not ship. Publishing makes those claims look more official than they are.
- Seal enforcement is a consumer property, not a property of the bytes. Publication raises the stakes on that considerably.
The honest limit
A vocabulary reference proves which vocabulary the sender cited, not that the sender classified correctly. What it buys is that a disagreement becomes visible instead of a misunderstanding staying invisible. That is valuable and it is not integrity of classification; no implementation should describe it as the latter.
Problem
Two agents can prove who authorized an act. They cannot agree on what the act was.
APH binds payload, channel, agent, and policy decision to a human's authority — all structural. Nothing says whether the message asked to grant access, move money, or schedule a meeting, which is what a recipient's policy actually turns on. Two recipients can read the same signed bytes, reach different conclusions about what was asked, and both be conformant.
The guardrail vocabulary closes half of this: families of acts and labels, versioned independently of the wire. It already states the intent — "A vocabulary that resolves independently is a third party both sides can point at… Neither counterparty defines the term; both resolve it."
But it does not resolve. It is a file in this repository, and its README says plainly that no wire binding exists. So the third party both sides point at is, at present, us.
Proposal
Two halves, and the design proposes almost no new mechanism:
References are a logical identifier plus content digest — name, version, digest, family, label — never a path into the serialization. That distinction was learned the expensive way: re-exporting an unchanged bundle under a newer toolchain moved its blocks from one nesting to another, and a signature cannot be re-pointed.
Full draft:
rfcs/0006-published-guardrail-vocabularies.mdWhat most needs discussion
min_accuracygates while the corpora do not ship. Publishing makes those claims look more official than they are.The honest limit
A vocabulary reference proves which vocabulary the sender cited, not that the sender classified correctly. What it buys is that a disagreement becomes visible instead of a misunderstanding staying invisible. That is valuable and it is not integrity of classification; no implementation should describe it as the latter.