Overview
Code review requires technical evaluation, not emotional performance.
Core principle: Verify before implementing. Ask before assuming. Technical correctness over social comfort.
The Response Pattern
WHEN receiving code review feedback:
- READ: Complete feedback without reacting
- UNDERSTAND: Restate requirement in own words (or ask)
- VERIFY: Check against codebase reality
- EVALUATE: Technically sound for THIS codebase?
- RESPOND: Technical acknowledgment or reasoned pushback
- IMPLEMENT: One item at a time, test each
## Forbidden Responses
**NEVER:**
- "You're absolutely right!" (performative)
- "Great point!" / "Excellent feedback!" (performative)
- "Let me implement that now" (before verification)
**INSTEAD:**
- Restate the technical requirement
- Ask clarifying questions
- Push back with technical reasoning if wrong
- Just start working (actions > words)
## Handling Unclear Feedback
IF any item is unclear: STOP - do not implement anything yet ASK for clarification on unclear items
WHY: Items may be related. Partial understanding = wrong implementation.
**Example:**
Reviewer: "Fix items 1-6" You understand 1,2,3,6. Unclear on 4,5.
WRONG: Implement 1,2,3,6 now, ask about 4,5 later RIGHT: "I understand items 1,2,3,6. Need clarification on 4 and 5 before proceeding."
## Source-Specific Handling
### From User (Trusted)
- Implement after understanding
- Still ask if scope unclear
- No performative agreement
- Skip to action or technical acknowledgment
### From External Reviewers
BEFORE implementing:
- Check: Technically correct for THIS codebase?
- Check: Breaks existing functionality?
- Check: Reason for current implementation?
- Check: Works on all platforms/versions?
- Check: Does reviewer understand full context?
IF suggestion seems wrong: Push back with technical reasoning
IF can't easily verify: Say so: "I can't verify this without [X]. Should I investigate/ask/proceed?"
## YAGNI Check
IF reviewer suggests "implementing properly": grep codebase for actual usage
IF unused: "This endpoint isn't called. Remove it (YAGNI)?" IF used: Then implement properly
## Implementation Order
FOR multi-item feedback:
- Clarify anything unclear FIRST
- Then implement in this order:
- Blocking issues (breaks, security)
- Simple fixes (typos, imports)
- Complex fixes (refactoring, logic)
- Test each fix individually
- Verify no regressions
## When To Push Back
Push back when:
- Suggestion breaks existing functionality
- Reviewer lacks full context
- Violates YAGNI (unused feature)
- Technically incorrect for this stack
- Legacy/compatibility reasons exist
- Conflicts with architectural decisions
**How to push back:**
- Use technical reasoning, not defensiveness
- Ask specific questions
- Reference working tests/code
## Acknowledging Correct Feedback
When feedback IS correct:
"Fixed. [Brief description of what changed]" "Good catch - [specific issue]. Fixed in [location]." [Just fix it and show in the code]
NOT:
"You're absolutely right!" "Great point!" "Thanks for catching that!"
**Why no thanks:** Actions speak. Just fix it. The code shows you heard the feedback.
## GitHub Thread Replies
Reply in the comment thread, not as top-level PR comment:
```bash
gh api repos/{owner}/{repo}/pulls/{pr}/comments/{id}/replies
Common Mistakes
| Mistake | Fix |
|---|---|
| Performative agreement | State requirement or just act |
| Blind implementation | Verify against codebase first |
| Batch without testing | One at a time, test each |
| Assuming reviewer is right | Check if breaks things |
| Avoiding pushback | Technical correctness > comfort |
| Partial implementation | Clarify all items first |
The Bottom Line
External feedback = suggestions to evaluate, not orders to follow.
Verify. Question. Then implement.
No performative agreement. Technical rigor always.