Skip to content

feat: distinguish new vs. previously reported conflicts in step summary #45

@zkoppert

Description

@zkoppert

Problem

The GitHub Actions step summary reports the total conflict count (e.g., "Found 37 potential conflicts across 2 repositories") but does not indicate which conflicts are new since the last run. Users scanning the summary have no way to tell what changed without comparing to the previous run manually.

For example, a recent run on github/new-user-experience showed:

Total: 37 potential conflict(s) across 2 repo(s)
Deduplication: 6 new, 0 changed, 31 unchanged, 1 resolved

The deduplication data is in the logs but not surfaced in the step summary. Only 6 of the 37 conflicts were new, yet the summary treats them all equally.

Proposed Solution

Add a section to the step summary that highlights what changed since the last run:

  • New conflicts (6) - listed prominently at the top
  • Changed conflicts (0) - conflicts where the overlapping files/lines changed
  • Unchanged conflicts (31) - collapsed or in a separate section
  • Resolved conflicts (1) - conflicts that are no longer detected

This would let users quickly see "6 new conflicts to review" instead of having to mentally diff 37 total conflicts against the last run.

Example summary structure

## PR Conflict Report

### 🆕 6 New Conflict(s)
[table of new conflicts]

### 🔄 0 Changed Conflict(s)

### ✅ 1 Resolved Conflict(s)
[table of resolved conflicts]

<details>
<summary>31 Unchanged Conflict(s)</summary>
[table of unchanged conflicts]
</details>

Additional Context

  • The deduplication module already categorizes conflicts as new/changed/unchanged/resolved
  • This data is passed through as DeduplicationResult but the markdown writer does not use it
  • The step summary and output report currently just list all conflicts without differentiation

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions