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

Verification guide

Severity: Critical

Check automatically:

  1. 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,body
    
  2. Check 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}'
    
  3. 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)

Section

09. Development Workflow

Monitoring & Health