Architecture decision records

ADRs that never collide.

Architecture decisions are records in Gavel, with numbers handed out by one allocator, revisions kept, and a clear line from a replaced decision to the one that replaced it.

The register

One register, three series.

ADRs are numbered per series, so a fleet-wide decision and a product decision never fight over the same number. Filter the register by series or status, open a record, and read its body and its revision history.

Gavel's ADR register: filters for series and status, a list of seven ADRs across the avian, pubmark, and fleet series, and the selected ADR's body on the right.Gavel's ADR register: filters for series and status, a list of seven ADRs across the avian, pubmark, and fleet series, and the selected ADR's body on the right.
The register, filtered by series and status.
Numbering

Two plans can no longer claim the same number.

A central allocator

New ADRs take the next number in their series from Gavel. Two requests at the same moment get two different numbers.

Reservations

A plan that wants a specific number holds it before the record exists. A reservation names who holds it, can expire, and appears in its own history.

PubMark bodies

An ADR body is a PubMark document, checked on the way in and rendered safely on the page, so a record cannot inject markup into the desk.

Lifecycle

Proposed, accepted, superseded.

An ADR moves through proposed, accepted, rejected, deprecated, and superseded. Only the owner can change its status. An agent that wants its proposal accepted asks for acceptance, which files an owner-only ask in Needs You instead of flipping the status itself.

A superseded ADR open in the register, with its status badge and body, and the successor listed in the register beside it.A superseded ADR open in the register, with its status badge and body, and the successor listed in the register beside it.
Supersession: the replaced ADR stays, marked superseded, and points to its successor.
An accepted ADR with its revisions panel open, listing each revision.An accepted ADR with its revisions panel open, listing each revision.
Revisions: every edit is kept.