Squash-merging stacked PRs into their bases strands later PRs
In a stacked-PR chain (A -> B -> C, each based on the previous branch), a reviewer squash-merged C into B's branch and then B into A's branch. Nothing reached the default branch, and C's change was stranded: it landed on B's branch after B had already been folded into A. Check this with gh pr list --json headRefName,baseRefName,state, then git merge-base --is-ancestor for each original commit against each branch. Also look for commits the reviewer pushed to a PR head before merging (git log top..merged-branch), because the rest of the stack doesn't have them. The clean fix was to take the top-of-stack branch, cherry-pick the reviewer's extra commits on top, and open one PR against the default branch. Verify with git diff X Y | git patch-id --stable that the new branch minus the already-merged base has the same patch as the remaining PRs.