Commit 4d11427
fix(devx): os-regen-merge picks the merge side per file, and refuses an uncommitted hand-off (#12895)
Step 2 took origin/main's side of every merge=os-regen path unconditionally,
which reverts a branch's own COMMITTED hand-deletions inside generated
artifacts — measured twice on one retirement branch, and step 3 then committed
the revert. The side is now chosen per file against the merge base captured
before the merge: a path only the branch moved keeps the branch's bytes, a path
both sides moved still takes main's side (that is the only case where the merge
driver ran and dropped a side) and says so loudly per path.
Step 2 also writes the worktree only, never the index, and the sequence ends
with a hand-off assertion that refuses while any regen path is uncommitted —
the MM state where a bare git commit lands the side nobody inspected.
Adds --self-test with 23 cases over synthetic fixture repos.
Co-authored-by: Claude <noreply@anthropic.com>1 parent 54c5f91 commit 4d11427
1 file changed
Lines changed: 479 additions & 89 deletions
0 commit comments