Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

RFCs

RFCs (Request for Comments) are the mechanism for proposing and deciding on significant changes to GoudEngine. Use an RFC when a change affects public API, architecture, cross-cutting concerns, or long-term direction.

Small bug fixes, refactors that do not change behavior, and documentation updates do not need RFCs.

Numbering

RFCs use zero-padded 4-digit numbers: RFC-0001, RFC-0002, etc. Assign the next available number when opening the PR.

File Format

Each RFC lives at docs/rfcs/RFC-NNNN-short-title.md and starts with YAML front matter:

---
rfc: "0001"
title: "Short descriptive title"
status: draft
created: YYYY-MM-DD
authors: ["github-username"]
tracking-issue: "#123"
related-issues: ["#124", "#125"]  # optional
---

Status Lifecycle

draft → proposed → accepted → implemented → superseded
StatusMeaning
draftWork in progress, not ready for review
proposedPR open, ready for review
acceptedPR merged with review approval
implementedCode is shipped; RFC is complete
supersededReplaced by a later RFC (link to successor)

Acceptance requires at least one PR review approval from a maintainer. The proposedaccepted transition is automated: a GitHub Action (rfc-approve.yml) updates the front matter status when the PR merges. The implemented and superseded transitions remain manual.

Writing an RFC

  1. Copy the template: docs/rfcs/RFC-0000-template.md
  2. Assign the next number and rename the file
  3. Fill in: motivation, detailed design, drawbacks, alternatives considered
  4. Open a PR; set status: proposed in the front matter
  5. Address review feedback on the PR
  6. On merge: rfc-approve.yml automatically sets status: accepted; update the index below

Index

RFCTitleStatus
RFC-0001Provider Trait Patternaccepted
RFC-0002NetworkProvider Trait Designaccepted
RFC-0003UI Layout and Input Behaviordraft
RFC-0004Debugger Runtime, Snapshot Contract, and Local Attach Modelaccepted