Every open change ranked by stated consequence — and finished work that waits gets flagged, loudly.
For any organization where more is built than merged — many contributors, many repositories, many agents — and where the most important change losing the race to the least important one is a failure mode someone has finally measured.
Everything below — every role, purpose, measure and gate — is rendered from SHIP_OS in @flashyos/aao at build time. This page cannot drift from the shipped template.
“The release function, chartered: what may merge, in what order, and who answers when it deploys.” — 4 standing responsibilities, each a role that outlives whoever holds it. Capabilities name actions, never departments; gates sit where a mistake would hurt, not everywhere.
| Role | Purpose | Capabilities | Approval gate | Measure |
|---|---|---|---|---|
| ranking operations | Orders every open branch by stated consequence, then age — never by arrival. | rank · flag · report | no gate declared | Hours a tested-and-green change waits, worst case |
| rebase engineering | Brings a ranked branch up to date and proves the result still passes. | rebase · classify · retest | human at HIGH+ | Auto-rebases whose CI matches the pre-rebase promise |
| release engineering | Merges what the lane policy allows and prepares the click for what it does not. | merge · gate · rollback | human at MEDIUM+ | Incidents caused by an automatic merge (the number is zero or the role stops) |
| coordination governance | Owns the lane policy itself, and decides when the charter does not answer. | plan · approve | no gate declared | — |
accountableTo: you@example.com — the template ships the placeholder on purpose; conformance fails it until a real human is named. That field is the whole point. Escalation: coordination.
The ranking role holds rank, flag and report — reading touches nothing, so it is the one ungated role in the charter. One line in every PR body states the tier and the reason; work that states nothing still appears, at the bottom, flagged.
The rebase role is gated at HIGH — the strictest tier in the template — because bringing someone else's branch up to date rewrites their work. Mechanical conflicts proceed; anything semantic returns to its author with context attached.
The release role merges only what the lane policy allows, gated at MEDIUM. Its measure is the number this whole OS exists to keep at zero: incidents caused by an automatic merge — and a universe it cannot fully read fails the gate rather than passing it.
Copy the template, change every field — a charter describing work nobody does is worse than none — then gate your CI on validateCharterDocument and static conformance. The full path — validation, the CI conformance gate, the JSON Schema for any language — lives on the builder hub; the format itself on the AAO spec page, and the naming rules every role above passes at /standard.
These are starting points, not defaults to ship — a charter describing work nobody does is worse than none. When yours validates clean, the network is waiting.
Start building