Add script/pr_body_check to validate PR body sections#1120
Add script/pr_body_check to validate PR body sections#1120kitcommerce wants to merge 1 commit intonextfrom
Conversation
Adds a shell script that checks whether a PR body contains the required 'Client impact' and 'Verification Plan' sections. Accepts a PR number or URL as an argument, uses the gh CLI to fetch the PR body, and exits non-zero with clear output if either section is missing. Fixes #925
Architecture ReviewVerdict: PASS
Note: PR #1122 introduces a second |
Simplicity ReviewVerdict: PASS 46 lines, Minor suggestion: a brief usage message when |
Security ReviewVerdict: PASS The PR argument ( PR body content is piped through No significant security concerns. |
Rails Conventions ReviewVerdict: PASS (N/A) Shell script only — no Ruby code. Rails conventions do not apply. Confirmed. |
Rails Security ReviewVerdict: PASS FindingsNo findings. This PR adds a single bash script (
The script properly quotes its variables ( RecommendationsNone. |
Database ReviewVerdict: PASS No database changes in this PR. The diff adds No findings. |
Test Quality ReviewVerdict: PASS_WITH_NOTES Findings
Recommendations
|
Accessibility Review — PASSThis PR adds Accessibility concerns (VoiceOver, Dynamic Type, color contrast, touch targets, etc.) do not apply to shell scripts. Nothing to flag here. ✅ Verdict: PASS — N/A for this change type. |
|
Frontend Review — Wave 3 This PR adds a bash shell script () for developer CLI tooling. There are no JavaScript, TypeScript, Stimulus, Turbo, Hotwire, or asset pipeline changes. Frontend concerns do not apply. ✅ N/A — PASS |
Performance ReviewVerdict: PASS This is developer tooling, not hot-path production code — performance expectations are calibrated accordingly. AnalysisThe script is lean and well-structured:
Minor Note (not blocking)The two grep checks use , which forks two processes per check (one for , one for ). A marginally cheaper alternative is a here-string: grep -qi "client impact" <<< "$PR_BODY"This avoids the fork. For a script that runs once per invocation on a developer machine, the difference is immeasurable — mentioning it only for completeness. No performance concerns worth blocking on. ✅ Performance reviewer — automated wave review |
Fixes #925
Client impact
None (developer tooling only).
Verification Plan
./script/pr_body_check <PR_NUMBER>