Skip to content

feat: surface merge conflicts as PR review-fix items with priority ordering #355

@itsmiso-ai

Description

@itsmiso-ai

Summary

Merge-conflicting PRs are invisible to the current worker system. Workers handle CI failures and review feedback via the PR review-fix queue, but PRs with mergeable=CONFLICTING / mergeStateStatus=DIRTY sit rotting until a human notices them.

As of right now there are 6 conflicting PRs across misospace repos that nobody has acted on because no automated path surfaces them.

Current behavior

  • Dispatch syncs issues and PRs from GitHub
  • Workers consume from the PR review-fix queue (explicit review/CI feedback) and the assignment queue (new issue work)
  • Merge conflicts are not ingested into the PR review-fix queue

Proposed behavior

Add a sync/ingestion step that detects open PRs with merge conflicts and creates pr-review-fix items for them. Priority ordering for the review-fix queue should be:

  1. Merge conflictsmergeable=CONFLICTING, needs rebase
  2. CI failures — checks/status failing
  3. Requested changes — explicit review feedback
  4. New work — normal assignment queue

This ensures conflicts surface first and workers rebased branches before retrying CI or applying review feedback on a dirty base.

Acceptance criteria

  • Dispatch detects open PRs where mergeable=CONFLICTING and creates pr-review-fix items with type: "merge-conflict" (or similar)
  • The review-fix queue returns items in priority order: conflicts > CI fails > requested changes
  • Workers can distinguish conflict items from review-feedback items and apply appropriate resolution (rebase, not patch)
  • Already-existing conflict items are not re-created on every sync pass (idempotent)
  • Conflict items are cleared/marked resolved when the PR becomes mergeable or is closed

Context

Discovered during workspace cleanup audit on 2026-06-11. Six PRs were sitting with merge conflicts across miso-chat and windowstead with no automated path to surface them:

Repo PR State
miso-chat #571 CONFLICTING/DIRTY
miso-chat #570 CONFLICTING/DIRTY
miso-chat #567 CONFLICTING/DIRTY
windowstead #198 CONFLICTING/DIRTY
windowstead #196 CONFLICTING/DIRTY
windowstead #194 CONFLICTING/DIRTY

Also KubeTix #101 is BLOCKED (not conflicting, just blocked by policy/CI).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions