gsxdsm
20184acdfd
FN-7486: fix no-diff merge recovery ownership checks
Fix no-op task branch recovery by recognizing canonical branches with no unique diff before rejecting inherited foreign trailers.
- Add no-diff ownership classification for already-merged detection when canonical task branches inherit another task's landed commit.
- Teach self-healing and branch-misbound recovery to ignore foreign branch-tip trailers only for branches proven to have no unique task diff.
- Skip synthetic verify:fast typechecks for JavaScript alias packages without tsconfig files and cover the behavior with tests.
- Add regression coverage and a patch changeset for the recovery fix.
Files changed:
.changeset/fn-7486-merge-recovery-noop-ownership.md | 7 ++
.../already-merged-detector.real-git.test.ts | 68 +++++++++++++++++
.../self-healing-already-merged.real-git.test.ts | 89 ++++++++++++++++++++--
packages/engine/src/already-merged-detector.ts | 88 +++++++++++++++------
packages/engine/src/self-healing.ts | 61 +++++++++++++--
scripts/__tests__/verify-fast.test.mjs | 16 +++-
scripts/verify-fast.mjs | 15 +++-
7 files changed, 303 insertions(+), 41 deletions(-)
Fusion-Task-Id: FN-7486
Fusion-Task-Lineage: 4185c6ed-9731-4ffc-b033-34bf0c3a83ad
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-03 22:04:45 -07:00
..
2026-07-03 22:04:45 -07:00
2026-07-02 11:38:31 -07:00
2026-06-03 17:36:35 -07:00
2026-05-13 17:44:46 -07:00
2026-04-27 08:21:48 -07:00
2026-05-12 07:47:11 -07:00
2026-05-12 17:04:33 -07:00
2026-05-14 05:07:03 -07:00
2026-05-29 13:58:13 -07:00
2026-06-19 16:47:33 -07:00
2026-07-02 15:20:17 -07:00
2026-05-13 22:41:30 -07:00
2026-06-23 23:30:32 -07:00
2026-06-25 23:34:08 -07:00
2026-05-23 19:51:36 -07:00
2026-05-19 17:19:03 -07:00
2026-06-14 15:29:35 -07:00
2026-06-14 15:29:35 -07:00
2026-04-27 08:21:48 -07:00
2026-06-13 19:22:00 -07:00
2026-06-24 19:25:44 -07:00
2026-06-13 15:44:28 -07:00
2026-04-27 08:21:48 -07:00
2026-05-11 09:52:23 +02:00
2026-06-18 13:41:37 -07:00
2026-04-27 08:21:48 -07:00
2026-06-18 13:41:37 -07:00
2026-06-19 20:47:32 -07:00
2026-06-18 16:47:09 -07:00
2026-07-02 11:38:31 -07:00
2026-06-16 18:03:41 -07:00
2026-05-12 17:04:33 -07:00
2026-05-20 02:46:49 -07:00
2026-05-11 06:47:43 -07:00
2026-05-23 03:33:53 -07:00
2026-05-20 22:25:15 -07:00
2026-04-27 08:21:48 -07:00
2026-06-24 19:25:38 -07:00
2026-05-23 03:09:00 -07:00
2026-05-14 11:15:47 -07:00
2026-05-09 13:21:47 -07:00
2026-06-24 19:25:44 -07:00
2026-06-21 10:53:08 -07:00
2026-05-27 21:31:12 -07:00
2026-03-30 23:56:01 -07:00
2026-03-26 01:03:16 -04:00
2026-06-20 23:57:37 -07:00
2026-04-27 08:21:48 -07:00
2026-06-30 08:04:12 -07:00
2026-04-29 08:15:38 -07:00
2026-06-25 22:56:10 -07:00
2026-07-03 07:47:03 -07:00
2026-07-02 11:38:31 -07:00
2026-06-25 17:04:30 -07:00
2026-06-24 23:32:52 -07:00
2026-07-02 11:38:31 -07:00
2026-05-03 05:47:11 -07:00
2026-07-03 22:04:45 -07:00
2026-06-19 05:13:39 -07:00