Command Palette
Search for a command to run...
RFC Process
PatternUse Drafts for structured brainstorming before committing to decisions.
What is an RFC?
RFC (Request for Comments) is a process where an engineer proposes an architectural change and solicits feedback before implementation.
Traditional RFCs live in Google Docs or Confluence pages. They work, but they have problems:
- Feedback is scattered across comments
- No clear structure for options/alternatives
- Hard to track what was decided and why
- Disconnected from related decisions
Arbtr's Draft status provides a better foundation for RFCs.
The Pattern
Create a Draft via Magic Paste
Start by using Magic Paste to create a Draft decision. Write up your RFC thinking in any format, then paste it to extract structure.
To create a draft:
- Click + New Decision → From Text (Magic Paste)
- Paste your RFC content
- Review the extracted structure
- Choose "Save as Draft" instead of creating immediately
Structure the RFC as Positions
Instead of free-form prose, structure your RFC as positions (options):
Position 1: Use Redis for caching
Fast, well-understood, but adds infrastructure
Position 2: Use CDN edge caching
No new infrastructure, but less control over invalidation
Position 3: No caching (optimize queries)
Simplest, but may not solve the performance problem
Collect Feedback as Arguments
Team members add arguments for or against positions. This structures the discussion:
Redis gives us sub-millisecond reads
@sarah, supporting Position 1
Redis is another thing to operate
@mike, against Position 1
CDN caching worked well for the marketing site
@lisa, supporting Position 2
Add Relationships Early
Even in Draft, link to related decisions. This surfaces context:
- depends_on "Use AWS as cloud provider"
- conflicts_with "Minimize infrastructure complexity"
- derived_from "Improve API response times"
Publish the Decision
When the RFC is ready for broader review, open the import modal and publish the Draft. It becomes visible in the graph as an Active decision.
To publish a draft:
- Click + New Decision → From Text (Magic Paste)
- Find your draft in the drafts list
- Click "Publish" to create the decision
Conclude the RFC
When the decision is made, conclude it. Select the winning position and document the rationale.
Benefits Over Traditional RFCs
Structured feedback
Arguments are attached to specific positions, not scattered throughout a document.
Clear outcome
The conclusion states which position won and why. No ambiguity about what was decided.
Connected context
Relationships link to dependencies and conflicts. The RFC lives in the decision graph, not isolation.
Audit trail
Full history of when arguments were added, who voted, when it was concluded. Built-in governance.
Example: Caching Strategy RFC
Day 1: Create Draft
DraftSarah uses Magic Paste to create "Caching Strategy for Product API" with 3 positions. Saves as Draft in the import modal.
Day 2-4: Refine the Draft
DraftSarah shares the draft link with key stakeholders for early feedback. She refines positions based on input before publishing.
Day 5: Publish Decision
ActiveRFC is ready for broader review. Published from import modal, appears in graph. Team adds arguments for and against positions.
Day 7: Architecture Review
Under DiscussionDecision reviewed in architecture meeting. Team votes. Redis wins with 5-2, CDN gets 2 votes.
Day 8: Conclude
ApprovedSarah concludes the decision. Redis selected. Rationale documents why operational complexity was accepted.
Tips for Effective RFCs
Include a 'Do Nothing' position
Always include an option to not make the change. It forces you to justify the effort and sometimes it's the right choice.Set a deadline
Open-ended RFCs drag on forever. Set a review deadline and stick to it. "Arguments due by Friday, decision on Monday."Magic Paste your initial RFC
Have a rough doc or Slack thread with your thinking? Use Magic Paste to extract it into a structured Draft.Voting is optional
Not every RFC needs a vote. Sometimes the arguments make the right choice obvious. The owner can conclude without polling.Previous
Cross-Team Conflicts