2026-02-05 23:59:47 -06:00
---
summary: "How to submit a high signal PR"
title: "Submitting a PR"
---
2026-02-06 13:29:11 -06:00
Good PRs are easy to review: reviewers should quickly know the intent, verify behavior, and land changes safely. This guide covers concise, high-signal submissions for human and LLM review.
2026-02-05 23:59:47 -06:00
## What makes a good PR
2026-02-06 13:29:11 -06:00
- [ ] Explain the problem, why it matters, and the change.
- [ ] Keep changes focused. Avoid broad refactors.
- [ ] Summarize user-visible/config/default changes.
- [ ] List test coverage, skips, and reasons.
- [ ] Add evidence: logs, screenshots, or recordings (UI/UX).
- [ ] Code word: put “lobster-biscuit” in the PR description if you read this guide.
- [ ] Run/fix relevant `pnpm` commands before creating PR.
- [ ] Search codebase and GitHub for related functionality/issues/fixes.
- [ ] Base claims on evidence or observation.
- [ ] Good title: verb + scope + outcome (e.g., `Docs: add PR and issue templates` ).
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
Be concise; concise review > grammar. Omit any non-applicable sections.
2026-02-05 23:59:47 -06:00
2026-02-06 15:45:39 -08:00
### Baseline validation commands (run/fix failures for your change)
2026-02-05 23:59:47 -06:00
- `pnpm lint`
- `pnpm check`
- `pnpm build`
- `pnpm test`
2026-02-06 13:29:11 -06:00
- Protocol changes: `pnpm protocol:check`
2026-02-05 23:59:47 -06:00
## Progressive disclosure
2026-02-06 13:29:11 -06:00
- Top: summary/intent
- Next: changes/risks
- Next: test/verification
- Last: implementation/evidence
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
## Common PR types: specifics
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
- [ ] Fix: Add repro, root cause, verification.
- [ ] Feature: Add use cases, behavior/demos/screenshots (UI).
- [ ] Refactor: State "no behavior change", list what moved/simplified.
- [ ] Chore: State why (e.g., build time, CI, dependencies).
- [ ] Docs: Before/after context, link updated page, run `pnpm format` .
- [ ] Test: What gap is covered; how it prevents regressions.
- [ ] Perf: Add before/after metrics, and how measured.
- [ ] UX/UI: Screenshots/video, note accessibility impact.
- [ ] Infra/Build: Environments/validation.
- [ ] Security: Summarize risk, repro, verification, no sensitive data. Grounded claims only.
2026-02-05 23:59:47 -06:00
## Checklist
2026-02-06 13:29:11 -06:00
- [ ] Clear problem/intent
- [ ] Focused scope
- [ ] List behavior changes
- [ ] List and result of tests
- [ ] Manual test steps (when applicable)
- [ ] No secrets/private data
- [ ] Evidence-based
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
## General PR Template
2026-02-05 23:59:47 -06:00
```md
2026-02-06 13:29:11 -06:00
#### Summary
#### Behavior Changes
#### Codebase and GitHub Search
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Tests
#### Manual Testing (omit if N/A)
### Prerequisites
-
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
### Steps
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
1.
2.
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Evidence (omit if N/A)
2026-02-06 11:58:39 -06:00
2026-02-06 13:29:11 -06:00
**Sign-Off**
2026-02-06 11:58:39 -06:00
- Models used:
2026-02-06 13:29:11 -06:00
- Submitter effort (self-reported):
- Agent notes (optional, cite evidence):
2026-02-05 23:59:47 -06:00
```
2026-02-06 13:29:11 -06:00
## PR Type templates (replace with your type)
2026-02-05 23:59:47 -06:00
### Fix
```md
2026-02-06 13:29:11 -06:00
#### Summary
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Repro Steps
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Root Cause
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Behavior Changes
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Tests
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Manual Testing (omit if N/A)
2026-02-06 11:58:39 -06:00
2026-02-06 13:29:11 -06:00
### Prerequisites
-
### Steps
1.
2.
#### Evidence (omit if N/A)
**Sign-Off**
2026-02-06 11:58:39 -06:00
- Models used:
2026-02-06 13:29:11 -06:00
- Submitter effort:
- Agent notes:
2026-02-05 23:59:47 -06:00
```
### Feature
```md
2026-02-06 13:29:11 -06:00
#### Summary
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Use Cases
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Behavior Changes
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Existing Functionality Check
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
- [ ] I searched the codebase for existing functionality.
Searches performed (1-3 bullets):
-
-
2026-02-06 11:58:39 -06:00
2026-02-06 13:29:11 -06:00
#### Tests
#### Manual Testing (omit if N/A)
### Prerequisites
2026-02-06 11:58:39 -06:00
-
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
### Steps
1.
2.
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Evidence (omit if N/A)
2026-02-06 11:58:39 -06:00
2026-02-06 13:29:11 -06:00
**Sign-Off**
2026-02-06 11:58:39 -06:00
- Models used:
2026-02-06 13:29:11 -06:00
- Submitter effort:
- Agent notes:
2026-02-05 23:59:47 -06:00
```
### Refactor
```md
2026-02-06 13:29:11 -06:00
#### Summary
#### Scope
#### No Behavior Change Statement
#### Tests
#### Manual Testing (omit if N/A)
### Prerequisites
-
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
### Steps
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
1.
2.
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Evidence (omit if N/A)
2026-02-06 11:58:39 -06:00
2026-02-06 13:29:11 -06:00
**Sign-Off**
2026-02-06 11:58:39 -06:00
- Models used:
2026-02-06 13:29:11 -06:00
- Submitter effort:
- Agent notes:
2026-02-05 23:59:47 -06:00
```
### Chore/Maintenance
```md
2026-02-06 13:29:11 -06:00
#### Summary
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Why This Matters
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Tests
2026-02-06 11:58:39 -06:00
2026-02-06 13:29:11 -06:00
#### Manual Testing (omit if N/A)
### Prerequisites
-
### Steps
1.
2.
#### Evidence (omit if N/A)
**Sign-Off**
2026-02-06 11:58:39 -06:00
- Models used:
2026-02-06 13:29:11 -06:00
- Submitter effort:
- Agent notes:
2026-02-05 23:59:47 -06:00
```
### Docs
```md
2026-02-06 13:29:11 -06:00
#### Summary
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Pages Updated
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Before/After
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Formatting
2026-02-05 23:59:47 -06:00
pnpm format
2026-02-06 11:58:39 -06:00
2026-02-06 13:29:11 -06:00
#### Evidence (omit if N/A)
**Sign-Off**
2026-02-06 11:58:39 -06:00
- Models used:
2026-02-06 13:29:11 -06:00
- Submitter effort:
- Agent notes:
2026-02-05 23:59:47 -06:00
```
### Test
```md
2026-02-06 13:29:11 -06:00
#### Summary
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Gap Covered
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Tests
2026-02-06 11:58:39 -06:00
2026-02-06 13:29:11 -06:00
#### Manual Testing (omit if N/A)
### Prerequisites
-
### Steps
1.
2.
#### Evidence (omit if N/A)
**Sign-Off**
2026-02-06 11:58:39 -06:00
- Models used:
2026-02-06 13:29:11 -06:00
- Submitter effort:
- Agent notes:
2026-02-05 23:59:47 -06:00
```
### Perf
```md
2026-02-06 13:29:11 -06:00
#### Summary
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Baseline
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### After
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Measurement Method
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Tests
2026-02-06 11:58:39 -06:00
2026-02-06 13:29:11 -06:00
#### Manual Testing (omit if N/A)
### Prerequisites
-
### Steps
1.
2.
#### Evidence (omit if N/A)
**Sign-Off**
2026-02-06 11:58:39 -06:00
- Models used:
2026-02-06 13:29:11 -06:00
- Submitter effort:
- Agent notes:
2026-02-05 23:59:47 -06:00
```
### UX/UI
```md
2026-02-06 13:29:11 -06:00
#### Summary
#### Screenshots or Video
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Accessibility Impact
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Tests
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Manual Testing
2026-02-06 11:58:39 -06:00
2026-02-06 13:29:11 -06:00
### Prerequisites
-
### Steps
1.
2. **Sign-Off**
2026-02-06 11:58:39 -06:00
- Models used:
2026-02-06 13:29:11 -06:00
- Submitter effort:
- Agent notes:
2026-02-05 23:59:47 -06:00
```
### Infra/Build
```md
2026-02-06 13:29:11 -06:00
#### Summary
#### Environments Affected
#### Validation Steps
#### Manual Testing (omit if N/A)
### Prerequisites
-
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
### Steps
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
1.
2.
2026-02-06 11:58:39 -06:00
2026-02-06 13:29:11 -06:00
#### Evidence (omit if N/A)
**Sign-Off**
2026-02-06 11:58:39 -06:00
- Models used:
2026-02-06 13:29:11 -06:00
- Submitter effort:
- Agent notes:
2026-02-05 23:59:47 -06:00
```
### Security
```md
2026-02-06 13:29:11 -06:00
#### Summary
#### Risk Summary
#### Repro Steps
#### Mitigation or Fix
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Verification
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Tests
#### Manual Testing (omit if N/A)
### Prerequisites
-
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
### Steps
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
1.
2.
2026-02-05 23:59:47 -06:00
2026-02-06 13:29:11 -06:00
#### Evidence (omit if N/A)
2026-02-06 11:58:39 -06:00
2026-02-06 13:29:11 -06:00
**Sign-Off**
2026-02-06 11:58:39 -06:00
- Models used:
2026-02-06 13:29:11 -06:00
- Submitter effort:
- Agent notes:
2026-02-05 23:59:47 -06:00
```