Replace the TPA-RFC template with ADR Nygard
Context
As discussed in ADR-101: process, the TPA-RFC process leads to documents that are too long and encourages exhaustiveness which leads to exhaustion.
Decision
We're switching from the TPA-RFC template to an ADR template using a modified Nygard template.
The current TPA-RFC template and TPA-RFC-1 are therefore obsolete. Some of their components will be reused in a "announcement" template that will be defined later.
Existing TPA-RFC are unchanged and will not be converted. Draft RFCs can be published as is without change, but the old template is obsolete and should not be used anymore.
We also suggest using the adr-tools system to manage the
directory of proposals, although that is optional.
The deliberation process mechanisms are described in ADR-101: process and ADR-0102: ADR communications, respectively.
Consequences
Tooling in GitLab CI and the wiki will have to be fixed to take the new file naming and numbering into account.
More information
Note that this proposal is part of a set of 3 complementary proposals:
- ADR-0100: Replace the TPA-RFC template with ADR Nygard
- ADR-0101: Adopt the ADR process in replacement of TPA-RFCs
- ADR-0102: ADR communications
Considered Options
As part of reviewing the process, we stumbled upon the ADR process which is used at Thunderbird. The process is loosely defined but outlines a couple of templates that can be used to write such records:
We originally picked the MADR template, but it turned out to be too complicated, and encouraged more detailed and exhaustive documents, which we're explicitly trying to avoid.
Changes from the TPA-RFC template
The following sections are changed like so:
- Background: essentially becomes "Context"
- Proposal: "Decision"
- Goals: generally introduced in "Context"
- Tasks, Scope, Affected users, Timeline, Costs, Alternatives considered: all optional parts of "More information"
The YAML frontmatter fields are replaced with a section at the end of the template and renamed for clarification:
- title: moved to the first heading
- costs: moved to "More information"
- approval: renamed to "decision-makers"
- affected users: "informed"
- deadline: "decision-date"
- status: "standard" is renamed to "approved", and added "superseded", state transitions are documented in ADR-101: process
- discussion: "forum-url"
The "consulted" field is added as well.
Metadata
- status: approved
- decision-date: 2025-12-01
- decision-makers: TPA team lead
- consulted: tpa-team@lists.torproject.org
- informed: tor-project@lists.torproject.org
- forum-url: https://gitlab.torproject.org/tpo/tpa/team/-/issues/41428