Files
nucleic/Sources/NucleicCore
abkslmandClaude Opus 4.8 955658f693 Conflict: release a session's file lock once its work is merged
The check_conflict footprint was computed as git diff <baseSHA> — every
change since the worktree was created. baseSHA never moves and the worktree
only goes away on delete, so a session kept 'holding' its files forever;
committing or even merging never released them.

Compute the footprint as unmergedFiles instead: the files the session
touched since it forked, intersected with the files that still differ from
the merge target's tip. Once the work lands (content-identical in target)
those files drop out and the lock is released. Content-based, so it works
for merge/squash/rebase, and intersecting with the since-base set keeps
other sessions' merges into target from being misattributed.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-13 21:47:47 -07:00
..