FLOW-001 critical PR Process
Feature branch workflow enforced
PRs come from feature branches with meaningful descriptions
Question to ask
"Anyone pushing straight to main lately?"
What to check
- ☐ Recent PRs originated from feature branches
- ☐ PRs have non-empty, meaningful descriptions
- ☐ No direct commits bypassing PRs
Related items
Verification guide
Severity: Critical
Check automatically:
Sample recent merged PRs for branch naming:
# Get recent merged PRs with branch names gh pr list --state merged --limit 10 --json number,title,headRefName,bodyCheck PR description quality:
# Look for empty descriptions gh pr list --state merged --limit 10 --json number,title,body --jq '.[] | select(.body == "" or .body == null) | {number, title}'Check for direct commits bypassing PRs:
# Look at recent commits on main - merge commits are OK, direct commits are not git log main --oneline --first-parent -20 # Count merge commits vs direct commits git log main --oneline --first-parent -20 | grep -c "Merge pull request"
Cross-reference with:
- GIT-004 (Branch protection enabled)
- GIT-005 (No direct push to protected branches)
- GIT-006 (PRs require approval)
Pass criteria:
- Recent PRs originated from feature branches (naming like
feature/,fix/, or descriptive names) - PRs have meaningful descriptions (not empty, explains what/why)
- No evidence of direct commits bypassing PRs
Fail criteria:
- PRs with empty descriptions
- Evidence of direct pushes to main/staging
- No consistent branch naming
Evidence to capture:
- Sample of recent PR titles + branch names
- PR description quality (empty vs populated)
- Count of direct commits vs merge commits
- Any direct commits found (non-merge commits on main)