Skip to content

Improved Conflict Resolution UX with Per-File Diff #110

@lloydrichards

Description

@lloydrichards

Motivation

When the Plan detects conflicts, users provide ApplyDecision entries (override or skip) but can't see a diff, can't resolve per-file interactively, and don't know which module is causing the conflict. This makes conflict resolution a leap of faith, especially for composed outcomes where multiple operations merge into existing files.

Inspiration

  • Yeoman: Per-file conflict resolution with options: overwrite, skip, diff, overwrite-all, abort. Shows unified diff on request
  • git: Three-way merge with conflict markers and external merge tool support

User Story

As a developer adding modules to an existing project, I want to see exactly what will change in my files before accepting, and resolve conflicts one at a time with full context.

Notes

Current model: PlanConflict[] -> ApplyDecision[] (path + override/skip). Enriching this needs diff generation between current files and planned outcomes, plus a richer interactive UI. Worth considering whether ApplyDecision should support more granular choices or stay simple.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions