Summary
§7 defines the actor convention as exactly three forms — <producer>/<version>, human:<id>, process:<id> — but §5.1's worked sources example uses author: team:ga4-docs, which is none of them (no /, and the prefix is neither human nor process). A consumer that validates author / by strictly against §7's list ends up flagging the spec's own example.
# §7 — the three actor forms
by: reference_agent/gemini-2.5-pro
by: human:ahormati
by: process:finance-nightly
# §5.1 — the worked example
author: team:ga4-docs # matches none of the three
The question
Is §7's list meant to be exhaustive, or is the real convention <scheme>:<id> | <producer>/<version>, with human: and process: as two sanctioned schemes among others such as team:?
- If exhaustive, §5.1's
team:ga4-docs is non-conforming and the example should change.
- If general, §7 could name
<scheme>:<id> as the form, with human: / process: as reserved schemes.
Either resolution works; the ambiguity is the problem. The human: prefix is clearly load-bearing — §5.3 keys trust tiers off it — so its special status isn't in question, only whether other schemes like team: are legal.
Context
This surfaced while building a structural validator for OKF bundles: we had to decide whether author: team:ga4-docs is a defect, and a strict §7 check would have flagged a value taken verbatim from the spec. We currently accept <producer>/<version> or <scheme>:<id> to sidestep it, but would rather match whatever §7 intends.
Summary
§7 defines the actor convention as exactly three forms —
<producer>/<version>,human:<id>,process:<id>— but §5.1's workedsourcesexample usesauthor: team:ga4-docs, which is none of them (no/, and the prefix is neitherhumannorprocess). A consumer that validatesauthor/bystrictly against §7's list ends up flagging the spec's own example.The question
Is §7's list meant to be exhaustive, or is the real convention
<scheme>:<id>|<producer>/<version>, withhuman:andprocess:as two sanctioned schemes among others such asteam:?team:ga4-docsis non-conforming and the example should change.<scheme>:<id>as the form, withhuman:/process:as reserved schemes.Either resolution works; the ambiguity is the problem. The
human:prefix is clearly load-bearing — §5.3 keys trust tiers off it — so its special status isn't in question, only whether other schemes liketeam:are legal.Context
This surfaced while building a structural validator for OKF bundles: we had to decide whether
author: team:ga4-docsis a defect, and a strict §7 check would have flagged a value taken verbatim from the spec. We currently accept<producer>/<version>or<scheme>:<id>to sidestep it, but would rather match whatever §7 intends.