OXYGENHUB

Spec: agents and approval gates (oxygenhub#229, #258) cd03b9844516

A decision through an agent's token is refused unless the repository
lets agents decide its gates; where allowed it says which agent; a
sealed approval is unaffected.
Author
Andy McCall @andymccall <[email protected]>
via
agent agent:claude@andymccall <[email protected]> · keyless, under your grant for changes,refs,seal · key de0bd10ce301
When
· 2026-10-18 19:48 UTC
Signature
◈ sealed by agent:claude@andymccall
Hash
cd03b9844516b897d4bff8031407b3b25383ec9f1faa1f75a97fdfa1e14ec482
Depends on
2be1fe4ad345 a083cc802892 f4e51e63582d
Depended on by
nothing yet
In bookmarks
main
In tags
v0.2.0 v0.3.0 v0.3.1 v0.4.0 v0.5.0 v0.5.1 v0.5.2 v0.5.3
Edits
1 atom, 0 tree operations, 1 file

Browse the tree at this change

modified docs/spec.md +8 −0
…
358 unchanged lines
359 359
the approval in the repository, and the job's identity tokens name the
360 360
approver and the approval's hash. Rejecting needs no seal.
361 361
362 +
**Agents (oxygenhub#229, #258).** A gate is there so a person decides. A
363 +
decision made through an agent's token (an agent-marked token, or a keyless
364 +
agent's grant) is refused unless the repository lets agents decide its
365 +
gates (its Settings › OxygenFlow, for maintainers; off by default, audited
366 +
when changed). Where allowed, it says so on the job, the run and the audit
367 +
log ("approved by carol via claude-code"). A sealed approval is a person's
368 +
own key, whatever carried it, and is not affected.
369 +
362 370
### 5.3.3 Environments (oxygenflow#59)
363 371
364 372
`environment "prod"` on a job says where it deploys (1 to 32 of `a-z`,
…
364 unchanged lines