Skip to content

Add an advisory “Ready to merge?” summary to the merge dialog #235

Description

@johannesjo

Context

Parallel Code already tracks several signals that help a user decide whether a task branch is safe to merge, but they are spread across the title bar, PR link, changed-files panel, and merge validation.

Add a compact summary to the merge dialog so the final decision is visible in one place.

This is inspired by GitHub Code Quality's pull-request quality gates, adapted to Parallel Code's local worktree workflow:
https://docs.github.com/en/code-security/concepts/code-quality/code-quality

Scope

  • Show one overall state: Ready, Needs attention, Not ready, or Checking.
  • Include these first-party signals:
    • merge safety (conflicts, branch mismatch, committed/uncommitted state)
    • structured task verification
    • GitHub PR check status, when available
  • Explain every result with visible text; do not rely on color alone.
  • Keep the panel advisory in this first increment.
  • Preserve all existing hard merge blockers and merge behavior.
  • Derive the presentation from a small, pure, unit-tested readiness model.

Non-goals

  • Coverage regression calculations
  • Automated code-quality scanning
  • New persistence or project settings
  • Changing which branches may be merged
  • GitHub-only behavior

Acceptance criteria

  • The merge dialog displays the overall readiness state before the branch contents.
  • Conflicts, detached/mismatched branches, and no committed changes show Not ready.
  • Uncommitted changes, failed/blocked verification, pending/failing PR checks, or unavailable verification show Needs attention.
  • Passing available checks with a mergeable branch show Ready.
  • Loading merge data shows Checking without flashing stale results.
  • Existing merge-button enablement remains unchanged.
  • Unit tests cover ready, checking, attention, and blocked combinations.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestuxUX / design improvements

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions