WA-VERIFY-055: Add script/pr_verification_plan_check#987
WA-VERIFY-055: Add script/pr_verification_plan_check#987kitcommerce wants to merge 1 commit intonextfrom
Conversation
Adds a repo-root script that validates a given PR body includes: - A 'Verification' or 'Verification Plan' section heading (case-insensitive) - At least one fenced code block (backtick fence) Usage: ./script/pr_verification_plan_check <PR_NUMBER_OR_URL> Accepts a raw PR number or a full GitHub PR URL. Fetches the PR body via gh CLI. Exits 0 on success, exits 1 with a clear diagnostic on failure. Script is read-only; no repo mutations. Refs #920
Architecture Review — PR #987 Wave 1Verdict: PASS_WITH_NOTES SummaryThe script has a clear single responsibility: validate PR body format. It fits naturally in Findings
|
Simplicity Review — PR #987 Wave 1Verdict: PASS SummaryThe script is concise, idiomatic POSIX sh, and does exactly what it says. No unnecessary abstractions, no extraneous dependencies beyond Findings
|
Security Review — PR #987 Wave 1Verdict: PASS_WITH_NOTES SummaryScript is read-only, uses Findings
|
Rails Conventions Review — PR #987 Wave 1Verdict: PASS SummaryThis is a shell utility, not Ruby/Rails code, so Rails-specific conventions have limited direct applicability. What can be evaluated: placement, executable bit, and fit within the Rails project structure. All are correct. Findings
|
🏁 Wave 1 Review Summary — PR #987
Overall Wave 1 Result: ✅ PASS WITH NOTES All findings are LOW severity and non-blocking. Key notes for author consideration (not required for merge):
Status: Advancing to Wave 2. PR remains |
Rails Security Review — PR #987 Wave 2Verdict: ✅ PASS Findings1. Shell injection on 2. URL parsing with adversarial input — SAFE 3. 4. grep pattern safety — SAFE 5. Minor note: Automated review by Rails Security reviewer (Wave 2) |
Summary
Adds
script/pr_verification_plan_check, a portable POSIX shell script that validates a given PR body contains:...)The script is read-only — it makes no repo mutations. It fetches PR body via
gh pr viewand exits 0 on success, exits 1 with a clear diagnostic message on failure. Accepts a PR number or a full GitHub PR URL.Client impact
No client-facing changes. Dev/CI tooling only. Helps enforce consistent PR quality by making the verification plan requirement machine-checkable.
Verification Plan
Run the script against an existing PR with a verification section:
Expected output:
Test with a URL form:
Test failure case (missing section) by checking a PR without the heading — script should print
FAIL:and exit 1.Closes #920