Tom Boucher
5f609762ed
fix( #2237 ): fail loud on ambiguous bare-number phase directory collision ( #2262 )
...
* fix(#2237 ): fail loud on ambiguous bare-number phase directory collision
When two unrelated projects share a .planning/phases/ tree, a bare phase
number silently resolved to the first 0N-* directory found — risking
cross-project file writes. The fix detects multiple matches for the same
phase number and surfaces an ambiguous_matches result instead of silently
taking the first.
Changes:
- src/phase-locator.cts: searchPhaseInDir uses filter() + ambiguity check
- src/phase.cts: cmdFindPhase same pattern
- src/init.cts: cmdInitPhaseOp surfaces ambiguous_matches in the result
- tests/phase-locator.test.cjs: 3 regression tests
* docs: backfill changeset PR number (#2262 )
* merge: keep up to date with next
* fix: regenerate stale capability-registry after next merge
2026-07-14 15:17:14 -04:00
..
2026-07-09 19:38:27 -04:00
2026-06-09 12:51:15 -04:00
2026-06-02 11:45:01 -04:00
2026-06-14 20:52:56 -04:00
2026-06-28 02:12:06 -04:00
2026-06-28 11:10:59 -04:00
2026-06-21 22:55:22 -04:00
2026-06-15 16:18:54 -04:00
2026-06-15 18:50:46 -04:00
2026-07-14 14:25:44 -04:00
2026-06-02 11:45:01 -04:00
2026-06-27 08:43:47 -04:00
2026-06-23 23:21:06 -04:00
2026-07-14 14:25:44 -04:00
2026-06-16 02:38:47 -04:00
2026-06-20 01:59:03 -04:00
2026-06-20 01:59:03 -04:00
2026-06-25 23:55:58 -04:00
2026-07-07 19:38:01 -04:00
2026-06-25 23:55:58 -04:00
2026-07-02 20:34:30 -04:00
2026-07-07 00:19:08 -04:00
2026-06-20 01:59:03 -04:00
2026-07-07 08:25:33 -04:00
2026-07-13 15:36:17 -04:00
2026-06-23 23:21:06 -04:00
2026-07-06 15:18:23 -04:00
2026-07-06 15:41:19 -04:00
2026-06-10 10:40:12 -04:00
2026-06-26 12:19:39 -04:00
2026-07-12 15:34:59 -04:00
2026-07-05 19:16:06 +00:00
2026-06-02 11:45:01 -04:00
2026-07-05 19:16:06 +00:00
2026-06-02 11:45:01 -04:00
2026-06-13 10:27:12 -04:00
2026-06-23 22:47:57 -04:00
2026-07-14 14:25:44 -04:00
2026-07-13 13:04:16 -04:00
2026-06-23 16:10:34 -04:00
2026-06-15 18:50:46 -04:00
2026-07-13 11:33:32 -06:00
2026-06-08 22:51:43 -04:00
2026-06-02 11:45:01 -04:00
2026-07-13 15:36:17 -04:00
2026-06-22 23:43:22 -04:00
2026-06-24 13:26:25 -04:00
2026-06-15 16:40:48 -04:00
2026-07-13 15:36:17 -04:00
2026-06-14 21:44:21 -04:00
2026-06-28 02:12:06 -04:00
2026-06-24 17:16:13 -04:00
2026-06-24 17:16:13 -04:00
2026-06-28 12:00:43 -04:00
2026-07-03 19:37:38 -04:00
2026-06-11 11:36:50 -04:00
2026-06-08 23:37:41 -04:00
2026-07-14 14:25:44 -04:00
2026-06-18 21:59:10 -04:00
2026-07-05 14:04:29 -04:00
2026-06-15 18:50:46 -04:00
2026-06-23 23:21:06 -04:00
2026-07-05 14:50:01 -04:00
2026-07-12 15:34:59 -04:00
2026-07-02 18:08:42 -04:00
2026-06-28 11:44:36 -04:00
2026-07-02 21:45:35 -04:00
2026-07-11 21:07:38 -04:00
2026-07-05 19:16:08 +00:00
2026-07-14 15:17:14 -04:00
2026-07-07 22:21:45 -04:00
2026-07-13 15:36:17 -04:00
2026-07-06 22:43:32 -04:00
2026-07-13 15:36:17 -04:00
2026-07-11 16:04:24 -04:00
2026-07-13 15:36:17 -04:00
2026-06-23 23:21:06 -04:00
2026-06-16 00:12:54 -04:00
2026-06-24 13:19:10 -04:00
2026-06-15 16:18:54 -04:00
2026-07-07 19:38:01 -04:00
2026-07-14 14:25:44 -04:00
2026-07-14 14:25:44 -04:00
2026-07-11 21:07:38 -04:00
2026-07-14 14:25:44 -04:00
2026-06-28 11:27:44 -04:00
2026-06-02 18:35:29 -04:00
2026-06-02 11:45:01 -04:00
2026-07-06 20:45:40 -04:00
2026-07-07 12:14:43 -04:00
2026-07-05 19:16:10 +00:00
2026-06-02 11:45:01 -04:00
2026-06-05 17:58:48 -04:00
2026-07-12 23:47:47 -04:00
2026-07-10 09:31:17 -04:00
2026-07-13 20:39:58 -04:00
2026-07-14 15:17:14 -04:00
2026-07-14 15:17:14 -04:00
2026-07-02 11:14:01 -04:00
2026-06-14 20:52:36 -04:00
2026-07-14 15:15:12 -04:00
2026-07-07 14:40:44 -04:00
2026-07-02 11:55:53 -04:00
2026-07-04 13:32:51 -04:00
2026-06-08 14:04:26 -04:00
2026-07-03 23:21:55 -04:00
2026-06-20 13:37:16 -04:00
2026-06-02 11:45:01 -04:00
2026-06-06 11:24:48 -04:00
2026-06-05 17:58:48 -04:00
2026-06-18 07:44:52 -04:00
2026-07-10 15:44:19 -04:00
2026-07-10 09:44:49 -04:00
2026-07-14 14:25:44 -04:00
2026-07-10 09:44:49 -04:00
2026-07-14 14:25:44 -04:00
2026-07-13 15:36:17 -04:00
2026-07-13 15:36:17 -04:00
2026-07-13 15:36:17 -04:00
2026-07-11 23:24:42 -04:00
2026-07-11 00:53:34 -04:00
2026-07-14 15:16:55 -04:00
2026-07-11 23:24:42 -04:00
2026-06-11 12:37:25 -04:00
2026-07-13 15:36:17 -04:00
2026-06-02 11:45:01 -04:00
2026-07-14 14:25:44 -04:00
2026-06-18 14:41:20 -04:00
2026-07-14 15:16:55 -04:00
2026-07-14 14:25:44 -04:00
2026-07-06 14:40:38 -04:00
2026-06-29 16:15:55 -04:00
2026-06-20 13:37:32 -04:00
2026-06-28 11:44:36 -04:00
2026-07-14 14:47:03 -04:00
2026-07-14 14:25:44 -04:00
2026-07-13 15:36:17 -04:00
2026-06-15 16:18:54 -04:00
2026-06-17 08:52:23 -04:00
2026-07-12 15:34:59 -04:00
2026-06-24 13:19:10 -04:00
2026-07-14 14:25:44 -04:00
2026-07-10 14:40:03 -04:00
2026-07-12 16:22:47 -04:00
2026-07-04 13:32:51 -04:00
2026-06-02 11:45:01 -04:00
2026-07-10 09:44:49 -04:00
2026-06-07 01:26:56 -04:00
2026-06-24 13:19:10 -04:00
2026-06-02 11:45:01 -04:00
2026-07-13 15:36:17 -04:00
2026-07-02 10:24:41 -04:00
2026-07-02 10:24:41 -04:00
2026-06-02 11:45:01 -04:00
2026-07-12 15:34:59 -04:00
2026-06-11 11:36:30 -04:00
2026-07-13 15:36:17 -04:00
2026-07-13 20:39:58 -04:00