Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

ADR-26025: RFC→ADR Workflow Formalization


title: RFC→ADR Workflow Formalization date: 2026-02-10 tags:


ADR-26025: RFC→ADR Workflow Formalization

Title

RFC→ADR Workflow Formalization

Date

2026-02-10

Status

Accepted

Context

The ADR lifecycle (ADR-26016) defines proposed status, and adr_index.md partitions these as “Evolutionary Proposals.” But the RFC nature of this phase is undocumented — contributors and AI agents don’t know that proposed ADRs are living design documents collecting discourse before promotion to accepted.

In practice, the workflow already functions as an RFC process: proposed ADRs are drafted, discussed via Git PR comments, iterated on through AI consultations (Gemini, Claude), and eventually promoted or rejected. This implicit behavior needs formal codification to:

  1. Prevent document-type proliferation. Without a clear statement that ADRs serve as RFCs, future contributors may create separate misc/rfc/ or architecture/rfc/ directories, fragmenting the knowledge base.

  2. Define promotion criteria. The transition from proposed to accepted currently has no checklist — an ADR can be promoted with zero alternatives analyzed and no participants listed.

  3. Clarify AI consultation records. Raw Gemini/Claude transcripts are voluminous working files. Their relationship to the final ADR needs a defined pattern.

Decision

Formalize that status: proposed ADRs serve as the RFC phase. No new document type is introduced.

  1. RFC = Proposed ADR. No separate RFC directory or document format. Discourse occurs via Git PR comments and iterative updates to ## Alternatives and ## Context sections within the ADR itself.

  2. Promotion Gate (proposed → accepted). An ADR MAY NOT transition to accepted unless:

    • ## Alternatives contains ≥2 rejected options, each with an empirical rejection reason.

    • ## Participants is non-empty (at least one named contributor).

    • ## References contains ≥1 entry.

  3. Stale Proposal Handling. ADRs remaining proposed for >90 days without git-tracked modifications trigger a CI warning. Resolution options: update the ADR, reject it, or add an active-investigation tag to suppress the warning.

  4. AI Consultation Records (Fat ADR Pattern). Raw Gemini/Claude transcripts are working files — they are NOT committed to the repository. All analytical value from consultations is absorbed into the ADR’s ## Alternatives section with thorough treatment: each rejected option gets a full analysis paragraph, not a 2-sentence summary. Share URLs or transcript provenance are ephemeral and not preserved.

  5. RAG Filtering Guidance. Implementation tasks that consume ADRs via RAG should prioritize status: accepted as authoritative. status: proposed provides context and ongoing analysis, not binding architectural authority.

Consequences

Positive

Negative / Risks

Alternatives

References

Participants

  1. Vadim Rudakov

  2. Gemini (AI Thought Partner)

  3. Claude (AI Implementation Partner)