---
id: 6285a06f-dfa3-413e-98ad-f2d64e0abee9
title: 'merge branch: merge record links to fresh uuid, not the PR'
state: closed
labels:
- dogfood
- pri
assignees: []
milestone: null
created: 2026-09-08T04:42:15Z
updated: 2026-09-08T05:58:05Z
---
Evidence: 'f0rge merge dog-boot' wrote record pr:2a2f1add.. while the real PR was e769d904..; 'f0rge merge dog-pr' wrote pr:5c99b18d.., real PR 78e0c97e.. (folder payloads link correctly; branch payloads generate a fresh uuid because pr_by_head finds nothing on main). Fix in cmd/merge.rs from_branch: when a PR whose head == <branch> exists (reachable via the patch or a known list), use its uuid; fresh uuid only as last resort. Acceptance: 'f0rge merge <branch>' writes record pr: <canonical pr uuid> (temp-repo test). Bitter-lesson: pure resolution, no locks, no new stored state.
