Skip to content

docs: add a Risk section to the PR template - #37101

Merged
brennanb2025 merged 2 commits into
mainfrom
brennanb2025/pr-template-risk-section
Nov 1, 2026
Merged

brennanb2025 merged 2 commits into
mainfrom
brennanb2025/pr-template-risk-section

Conversation

@brennanb2025

@brennanb2025 brennanb2025 commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor
Files Added Deleted Net
Test 0 0 0 0
Prod 1 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​7 0 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​7

ELI5

PR descriptions had no place to say what a change could break. This adds a Risk section to the PR template so every PR states it up front.

What Changed

  • .github/pull_request_template.md: new ## Risk section after Testing. It asks what could break and for whom, what users would see if it went wrong, anything that crosses a boundary (saved data or settings, older paired phones or SSH servers, other platforms, agents, performance), and how to back the change out. It ends with a **Level:** line for Low, Medium or High. The Checklist gains a matching "I stated the risk" item.

Why

Reviewers had to infer blast radius and rollback from the diff. Asking for it explicitly, with a one-word level, lets reviewers triage faster and makes risky PRs stand out.

Linked Issue

N/A (maintainer change, no pre-existing issue).

Visual Proof

N/A: template and docs text only; no app UI or behavior change.

Testing

  • I manually tested these changes locally
  • Automated tests added/updated, or explained why not below

Nothing in the repo parses the template's section headings (checked src/shared/pull-request-generation.ts and config/scripts/pr-test-loc-summary*), so no code or test depends on the new section.

Risk

What could break: nothing in the app; this only changes text GitHub pre-fills for new PRs. Back out with a plain revert.

Level: Low

Review path

Light path:

  1. Small: one file, +7 lines (.github/pull_request_template.md, template text only; CI's change-scope check treats it as docs).
  2. Outside the risky areas: text GitHub pre-fills for new PRs; no app, build, release or CI code.
  3. Not a repeat: the only changes to this file in the last 30 days are a typo fix (docs: fix typos in the PR template #29692) and a removed stale doc pointer (docs: remove stale internal reference documentation #26328); neither is about risk, and there is no revert or incident.
  4. Local effect: docs only.

Plan: add one ## Risk section after Testing with a guiding comment and a Low / Medium / High level line, one checklist item.

@brennanb2025
brennanb2025 marked this pull request as ready for review November 1, 2026 18:20
@coderabbitai

coderabbitai Bot commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 722e61a2-679a-4ff0-a1ea-1366b454b6cc
Commits

Reviewing files that changed from the base of the PR and between 225db8c and 4b6f169.

Files selected for processing: 1
  • .github/pull_request_template.md

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.

Walkthrough

The pull request template adds a Risk section. It asks contributors to describe what could break, who could be affected, boundary-crossing impacts, rollback steps, and a Low, Medium, or High risk level. A checklist item asks contributors to confirm that they stated the risk, affected users, and rollback approach.

Merge Risk: Minimal · up to 4b6f1

No actionable merge-blocking risk remains; the template change is safe to merge.

Pre-merge checks: Passed 3 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Description check Warning The description includes the main change, rationale, linked-issue exception, visual-proof status, testing details, and risk assessment. It omits the required Review, Agent skill upstream boundary, Not… Add the missing sections from the repository template. Complete the Agent skill upstream boundary, Notes, and Checklist items, and include the Review section or explain why it is not applicable.
Passed Passed checks: 3 passed
Check name Status Explanation
Title check Passed The title clearly and concisely identifies the main change: adding a Risk section to the pull request template.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description includes the main change, rationale, linked-issue exception, visual-proof status, testing details, and risk assessment. It omits the required Review, Agent skill upstream boundary, Notes, and Checklist sections.

Resolution

Add the missing sections from the repository template. Complete the Agent skill upstream boundary, Notes, and Checklist items, and include the Review section or explain why it is not applicable.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@brennanb2025

Copy link
Copy Markdown
Contributor Author

Review status

The problem: PR descriptions had no place to say what a change could break, who it affects, or how to back it out, so reviewers had to infer the blast radius from the diff.

The change for users (PR authors and reviewers): new PRs opened from the template now include a ## Risk section after Testing. It has a hint asking what could break and for whom, what users would see, what crosses a boundary (saved data or settings, older paired phones or SSH servers, other platforms, agents, performance) and how to revert, plus a **Level:** line for Low, Medium or High. The Checklist gets a matching "I stated the risk" item. Orca's in-app PR description generator copies the template as plain text and tells the model to keep every section, so it fills in or leaves a TODO for the new section with no code change (src/shared/pull-request-generation.ts:99-101).

Review (light path): one fresh adversarial reviewer confirmed each light-path criterion in the code: one file, +7 lines; no app, CI, build or release code; the file's only other changes in the last 30 days are #29692 (typos) and #26328 (stale doc pointer); the effect is local. It found nothing that reads PR bodies or the template by heading (the LoC summary rewriter finds its place by its own <!-- orca-pr-loc --> markers, and no workflow reads pull_request.body). 0 findings, so no fix round.

Fixed: the PR body's review-path lines now mention #26328 and no longer say "0 production lines", which disagreed with the LoC table.

Deferred (wording nits, no defect): a blank Level line renders as a bare bold "Level:" (the same as the template's existing Fixes # line); the Risk hint overlaps a little with the existing Notes line and the cross-platform checklist item; "older paired phones" is internal wording for outside contributors; PRs created with gh pr create --body never see the template at all, which is true of every section.

Verified: CI green on the head (PR Checks run 41336080187), no conflicts. QA: none needed (template text only).

For Brennan's review:

@brennanb2025
brennanb2025 merged commit 1a14c76 into main Nov 1, 2026
43 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant