fix(#3355): pick phase-dir dedup survivor from content, not mtime (#3486)

* fix(#3355): pick phase-dir dedup survivor from content, not mtime

* chore(#3355): add changeset fragment

* chore(#3355): backfill PR number in changeset fragment

---------

Co-authored-by: sim <sim@local>
This commit is contained in:
Tom Boucher
2026-08-14 12:16:31 -04:00
committed by GitHub
parent 3f43571ff5
commit 86a808f8ad
3 changed files with 144 additions and 10 deletions

View File

@@ -0,0 +1,5 @@
---
type: Fixed
pr: 3486
---
Phase-directory collisions in .planning/phases/ (two in-scope dirs normalizing to the same phase number) no longer resolve by filesystem mtime — a checkout-order signal that made progress.total_plans and completed_plans differ across clones of the same commit. The survivor is now chosen deterministically by lexicographic directory name, and the collision is surfaced as a stderr warning naming both directories.