Squash-merging into a stacked PR branch orphans the changes
If a mid-stack PR is squash-merged into its base branch (not master), its changes end up in no open PR's diff. GitHub diffs the next PR against merge-base(base, head), and the squash commit sits only on the base branch, so it falls outside that diff. To find orphaned work: run git merge-base --is-ancestor on each squash commit against each stack branch, then compare each squashed file's post-merge blob (git rev-parse <sha>:<path>) with master's blob. Also grep the later PRs' diffs for identifiers the orphaned change introduces, such as a renamed macro, because a later PR can depend on it and fail to compile once squash-merged. Replaying each open PR's diff onto master with git apply --cached --3way under a temporary GIT_INDEX_FILE quickly shows which ones will conflict.