Skip to content

audit(mergify): Deep analysis and improvement plan for merge automation #1209

Description

@ashleyshaw

Overview

Deep audit of Mergify configuration, workflow integration, and auto-merge rules. Current implementation has known issues and unclear behavior.

Known Issues

1. Dependabot Auto-Merge Not Working

  • Symptom: Dependabot PRs don't merge automatically into develop
  • Config: Rules exist in .github/mergify.yml (lines 19-31)
  • Requirements:
    • Author: dependabot[bot] or app/dependabot
    • Base: develop
    • Label: area:dependencies
    • Check: check-success=All Checks Passed
    • State: Not draft, no conflicts
  • Likely Issues:
    • Check name mismatch ("All Checks Passed" vs actual CI check names)
    • Label not being applied by Dependabot
    • Queue not actually executing merge
    • Mergify token missing or misconfigured

2. ImgBot Auto-Merge Effectiveness Unknown

  • Last Verified: Never (no ImgBot PRs recently)
  • Config: Supports two identities (imgbot[bot] and app/imgbot)
  • Implementation: Direct merge, not queued
  • Risk: Rule may be outdated or ineffective

3. Meta-Agent Sync Auto-Merge Double-Attempt

  • Issue: Workflow ALSO calls gh pr merge --auto --squash (meta.yml)
  • Config: Mergify rule configured for auto-merge (mergify.yml lines 59-70)
  • Race Condition: Both workflow + Mergify trying to merge same PR
  • Behavior: PR gets created, workflow auto-merges, Mergify rule may also trigger
  • Title Requirement: Exact match on ^chore(meta): automated meta-agent sync$
  • Label Requirement: meta:no-changelog

4. Merge Protection Settings Unclear

  • Setting: auto_merge_conditions: true
  • Reporting: check-runs
  • Unknown: What these actually do, whether they're optimal

Deliverables

Documentation file: docs/MERGIFY_STRATEGY.md

  • Architecture and strategy
  • Rule-by-rule documentation
  • Troubleshooting guide
  • Improvement recommendations

Metadata

Metadata

Assignees

Type

Fields

Priority

None yet

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions