gsxdsm
df01ab71dd
FN-6402: detect PR preflight conflicts by exit code
Use merge-tree exit status and empty-commit handling so PR conflict remediation reports clean states correctly.
- Treat git merge-tree exit code 1, not stdout, as the PR preflight conflict signal.
- Skip conflict-resolution commits when the branch already contains the selected base or the AI pass leaves no staged changes.
- Cover the preflight and resolver no-op paths with dashboard route and conflict resolver tests.
- Document the no-empty-commit conflict remediation behavior and add a published package changeset.
Files changed:
.changeset/fn-6402-pr-conflict-detection.md | 5 +
docs/dashboard-guide.md | 2 +-
.../src/__tests__/pr-conflict-resolver.test.ts | 130 +++++++++++++++++++++
...it-github.pr-options-preflight-metadata.test.ts | 22 +++-
.../register-git-github.pr-push-branch.test.ts | 2 +-
...egister-git-github.pr-resolve-conflicts.test.ts | 2 +-
packages/dashboard/src/pr-conflict-resolver.ts | 57 +++++++--
.../dashboard/src/routes/register-git-github.ts | 8 +-
8 files changed, 212 insertions(+), 16 deletions(-)
Fusion-Task-Id: FN-6402
Fusion-Task-Lineage: 9e709fb8-204a-4d88-8351-260a356c7520
2026-06-13 17:46:11 -07:00
..
2026-06-13 17:17:25 -07:00
2026-06-13 12:11:05 -07:00
2026-06-13 16:36:57 -07:00
2026-06-13 17:46:11 -07:00
2026-06-13 12:11:05 -07:00
2026-06-13 12:11:05 -07:00
2026-06-13 16:36:57 -07:00
2026-06-13 16:30:28 -07:00
2026-06-13 12:11:05 -07:00
2026-06-13 12:11:05 -07:00
2026-06-08 15:19:27 -07:00
2026-06-13 12:11:05 -07:00