Files
kandev/docs/specs/integrations/requirements/github-pr-auto-fix-conflicts.md
2026-09-06 11:36:16 +01:00

3.0 KiB

status, system, created, owners
status system created owners
draft integrations 2026-09-05
Kandev

GitHub PR Auto-Fix Conflicts Requirements

Overview

GitHub reports a pull request with unresolved merge conflicts as dirty. Kandev blocks auto-merge for this state, but auto-fix does not send the state to the linked task agent.

The existing auto-fix option must treat a merge conflict as actionable pull request feedback. Merge-queue removals remain under the merge-queue recovery contract.

Requirements

REQ-INTEGRATIONS-GITHUB-PR-AUTO-FIX-CONFLICTS-001: Conflict repair prompt

Intent: Auto-fix sends a current merge conflict to the linked task agent without sending the same conflict state on every poll.

Acceptance criteria

  • AC-INTEGRATIONS-GITHUB-PR-AUTO-FIX-CONFLICTS-001.1: When auto-fix is enabled, checks are settled, and an open linked pull request is dirty, Kandev shall send or queue one auto-fix prompt.
  • AC-INTEGRATIONS-GITHUB-PR-AUTO-FIX-CONFLICTS-001.2: When a user enables auto-fix while the linked pull request is already dirty, the next eligible evaluation shall send or queue the conflict prompt.
  • AC-INTEGRATIONS-GITHUB-PR-AUTO-FIX-CONFLICTS-001.3: The conflict state, head commit, head branch, and base branch shall participate in the auto-fix checkpoint. Repeated observations of the same snapshot shall not send a duplicate prompt.
  • AC-INTEGRATIONS-GITHUB-PR-AUTO-FIX-CONFLICTS-001.4: When an authoritative mergeability state shows that the conflict cleared, Kandev shall clear it from the checkpoint without using another auto-fix round.
  • AC-INTEGRATIONS-GITHUB-PR-AUTO-FIX-CONFLICTS-001.5: When a conflict reappears after it clears, or the head commit or target branch changes while the pull request remains dirty, Kandev shall allow one new auto-fix round.
  • AC-INTEGRATIONS-GITHUB-PR-AUTO-FIX-CONFLICTS-001.6: When the auto-fix prompt includes {{pr.feedback}}, the visible snapshot shall identify the merge conflict and its head and base branches.
  • AC-INTEGRATIONS-GITHUB-PR-AUTO-FIX-CONFLICTS-001.7: Conflict prompts shall use the existing session selection, durable queue, coalescing, and 10-round limit for that linked pull request.
  • AC-INTEGRATIONS-GITHUB-PR-AUTO-FIX-CONFLICTS-001.8: Mergeability states other than dirty shall not start a conflict repair prompt.
  • AC-INTEGRATIONS-GITHUB-PR-AUTO-FIX-CONFLICTS-001.9: The desktop popover and mobile drawer help shall state that auto-fix handles ordinary merge conflicts and actionable merge-queue removals.

Out of scope

  • Changing the auto-fix switch label.
  • Starting a conflict repair round while pull-request checks are unsettled.
  • Selecting a merge strategy for the agent.
  • Editing branch protection, rulesets, or workflow files.
  • GitLab merge-request behavior.