gsxdsm
408e20bdc6
fix(merger): prevent tasks landing in Done with no commit on main
...
Two root-cause fixes for the "fake done" patterns surfaced while debugging
FN-5475's stuck preflight (it depended on FN-5233, which the board reported
as Done but whose squash had stranded on a sibling fusion/fn-* branch).
1. resolveTaskMergeTarget rejects fusion/fn-* sibling branches as a merge
destination — when a task's baseBranch was inherited from a sibling/dependent
dispatch, the merger detached onto and squashed against that branch instead
of advancing main. New audit event surfaces the steering miss so the
underlying baseBranch-propagation bug stays observable.
2. self-healing findLandedTaskCommit verifies ownership against each grep
candidate's body before attribution. The previous code blindly accepted the
first hit of `git log --grep=FN-XXXX` (which matches the entire commit
message); FN-5441 and FN-5446 were both marked done against an unrelated
FN-5483 commit whose body merely mentioned them in prose. commitOwnedByTask
is also tightened: trailers must be line-anchored and the subject fallback
must match conventional-commit form, not a bare substring.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-23 17:16:45 -07:00
..
2026-05-21 00:17:33 -07:00
2026-05-16 23:31:56 -07:00
2026-05-21 12:04:58 -07:00
2026-05-23 17:07:14 -07:00
2026-05-23 13:37:41 -07:00
2026-05-16 20:54:39 -07:00
2026-05-06 17:25:19 -07:00
2026-05-21 09:06:23 -07:00
2026-05-15 07:55:22 -07:00
2026-05-11 06:47:42 -07:00
2026-05-13 06:29:34 -07:00
2026-05-01 00:33:17 -07:00
2026-05-14 13:59:10 -07:00
2026-05-14 03:23:42 -07:00
2026-05-13 06:29:34 -07:00
2026-05-13 23:41:35 -07:00
2026-05-11 21:48:26 -07:00
2026-05-13 23:41:35 -07:00
2026-04-24 19:39:20 -07:00
2026-05-10 16:03:32 -04:00
2026-05-05 06:32:33 -07:00
2026-05-20 02:48:39 -07:00
2026-05-22 00:15:14 -07:00
2026-05-23 12:14:07 -07:00
2026-04-25 13:21:02 -07:00
2026-05-18 23:50:00 -07:00
2026-05-08 19:15:10 -07:00
2026-05-18 19:44:33 -07:00
2026-05-18 23:50:00 -07:00
2026-05-18 23:50:00 -07:00
2026-05-10 23:36:10 -07:00
2026-05-08 18:59:08 -07:00
2026-05-23 03:05:46 -07:00
2026-05-05 20:51:44 -07:00
2026-05-20 02:47:34 -07:00
2026-05-14 01:10:47 -07:00
2026-05-23 02:29:38 -07:00
2026-05-17 17:07:01 -07:00
2026-05-14 22:16:44 -07:00
2026-05-15 16:19:42 -07:00
2026-05-18 12:31:21 -07:00
2026-05-20 08:23:40 -07:00
2026-05-23 00:03:12 -07:00
2026-05-18 23:14:27 -07:00
2026-05-16 22:36:57 -07:00
2026-05-17 17:29:29 -07:00
2026-05-23 02:29:38 -07:00
2026-05-14 11:23:43 -07:00
2026-05-16 22:36:57 -07:00
2026-05-23 02:59:23 -07:00
2026-05-12 07:47:10 -07:00
2026-05-03 11:06:27 -07:00
2026-05-20 20:05:08 -07:00
2026-05-16 20:48:00 -07:00
2026-05-07 17:26:51 +02:00
2026-05-19 03:21:17 -07:00
2026-05-06 18:04:19 -07:00
2026-04-30 10:19:54 -07:00
2026-05-16 17:31:09 -07:00
2026-05-07 23:21:05 -07:00
2026-04-30 19:11:38 -07:00
2026-05-12 20:39:01 -07:00
2026-05-19 22:50:39 -07:00
2026-05-13 12:30:45 -07:00
2026-05-19 19:28:05 -07:00
2026-05-13 20:03:02 -07:00
2026-05-06 19:55:55 -07:00
2026-05-22 23:12:49 -07:00
2026-05-18 15:51:01 -07:00
2026-05-13 18:44:41 -07:00
2026-05-18 18:26:52 -07:00
2026-05-18 08:07:06 -07:00
2026-05-23 02:41:08 -07:00
2026-05-18 05:29:10 -07:00
2026-05-18 05:29:10 -07:00
2026-05-18 00:27:44 -07:00
2026-05-18 00:27:44 -07:00
2026-05-21 09:06:23 -07:00
2026-05-18 05:29:10 -07:00
2026-05-22 20:38:11 -07:00
2026-05-16 16:01:23 -07:00
2026-05-18 02:43:32 -07:00
2026-05-14 15:25:08 -07:00
2026-05-18 02:43:33 -07:00
2026-05-18 02:43:33 -07:00
2026-05-10 23:36:09 -07:00
2026-05-21 10:14:38 -07:00
2026-05-20 02:47:34 -07:00
2026-05-21 10:58:28 -07:00
2026-05-17 00:38:07 -07:00
2026-05-18 18:26:52 -07:00
2026-05-17 00:38:07 -07:00
2026-05-20 01:01:08 -07:00
2026-05-22 22:34:32 -07:00
2026-05-18 02:43:33 -07:00
2026-05-18 00:27:44 -07:00
2026-05-18 05:29:10 -07:00
2026-05-22 08:31:12 -07:00
2026-05-13 22:03:38 -07:00
2026-05-21 10:14:38 -07:00
2026-05-12 07:47:10 -07:00
2026-05-18 08:07:06 -07:00
2026-05-21 09:06:23 -07:00
2026-05-17 15:02:35 -07:00
2026-05-22 22:43:26 -07:00
2026-05-14 00:58:44 -07:00
2026-05-14 04:25:06 -07:00
2026-05-14 04:01:49 -07:00
2026-05-14 04:01:49 -07:00
2026-05-14 04:25:06 -07:00
2026-05-14 00:58:44 -07:00
2026-05-20 15:54:44 -07:00
2026-05-20 15:54:44 -07:00
2026-05-03 23:08:05 -07:00
2026-05-14 04:01:49 -07:00
2026-05-11 06:47:42 -07:00
2026-05-15 20:24:58 -07:00
2026-04-30 00:20:51 -07:00
2026-05-23 03:50:05 -07:00
2026-05-20 20:15:43 -07:00
2026-05-16 09:36:39 -07:00
2026-05-14 04:32:42 -07:00
2026-05-14 04:32:43 -07:00
2026-05-21 00:17:33 -07:00
2026-05-13 16:38:00 -07:00
2026-05-18 21:08:04 -07:00
2026-05-13 06:29:34 -07:00
2026-05-04 17:22:21 -07:00
2026-05-07 23:21:05 -07:00
2026-05-06 13:38:23 -07:00
2026-05-16 11:32:55 -07:00
2026-05-16 12:33:10 -07:00
2026-05-16 11:32:55 -07:00
2026-05-16 17:31:09 -07:00
2026-05-16 14:23:14 -07:00
2026-05-15 02:23:26 -07:00
2026-05-22 10:37:21 -07:00
2026-05-21 12:04:58 -07:00
2026-05-13 06:29:36 -07:00
2026-05-19 10:07:44 -07:00
2026-05-17 15:02:35 -07:00
2026-04-26 12:45:05 -07:00
2026-05-21 18:29:03 -07:00
2026-05-19 19:28:05 -07:00
2026-05-20 09:42:40 -07:00
2026-05-22 22:42:57 -07:00
2026-05-18 06:20:52 -07:00
2026-05-23 15:13:17 -07:00
2026-05-12 17:04:33 -07:00
2026-05-16 17:08:09 -07:00
2026-05-18 21:44:35 -07:00
2026-05-20 09:42:40 -07:00
2026-05-20 09:42:40 -07:00
2026-05-22 14:38:29 -07:00
2026-05-20 09:42:40 -07:00
2026-05-23 07:47:17 -07:00
2026-05-20 09:42:40 -07:00
2026-05-20 09:42:40 -07:00
2026-05-19 23:00:11 -07:00
2026-05-20 17:54:26 -07:00
2026-05-20 09:42:40 -07:00
2026-05-23 03:50:05 -07:00
2026-05-20 09:42:40 -07:00
2026-05-18 01:30:15 -07:00
2026-05-17 00:53:02 -07:00
2026-05-21 12:04:58 -07:00
2026-05-23 11:08:08 -07:00
2026-05-22 20:20:42 -07:00
2026-05-23 09:59:50 -07:00
2026-05-23 07:51:08 -07:00
2026-05-22 22:42:57 -07:00
2026-05-20 09:42:40 -07:00
2026-05-20 09:42:40 -07:00
2026-05-22 20:38:11 -07:00
2026-05-20 09:42:40 -07:00
2026-05-23 09:49:34 -07:00
2026-05-21 16:30:31 -07:00
2026-05-20 09:42:40 -07:00
2026-05-20 09:42:40 -07:00
2026-05-20 09:42:40 -07:00
2026-05-17 18:45:50 -07:00
2026-05-23 07:47:17 -07:00
2026-05-12 21:52:58 -07:00
2026-05-22 20:20:42 -07:00
2026-05-22 21:32:10 -07:00
2026-05-16 23:45:17 -07:00
2026-05-12 09:41:24 -07:00
2026-05-12 09:41:24 -07:00
2026-04-24 19:39:20 -07:00
2026-05-12 17:04:33 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-05-23 03:09:00 -07:00
2026-05-07 23:21:05 -07:00
2026-05-10 19:13:05 -07:00
2026-04-29 17:30:39 -07:00
2026-05-17 09:51:49 -07:00
2026-05-13 15:15:41 -07:00
2026-05-16 13:46:42 -07:00
2026-05-07 23:21:05 -07:00
2026-05-07 18:00:18 -07:00
2026-05-16 17:31:10 -07:00
2026-05-16 23:45:17 -07:00
2026-05-07 23:21:05 -07:00
2026-04-27 11:58:31 -07:00
2026-05-06 18:04:19 -07:00
2026-05-10 19:13:05 -07:00
2026-05-15 20:24:58 -07:00
2026-05-13 06:29:36 -07:00
2026-05-15 09:08:05 -07:00
2026-05-10 16:03:32 -04:00
2026-05-12 07:47:10 -07:00
2026-05-17 16:33:19 -07:00
2026-05-17 09:07:28 -07:00
2026-05-09 13:55:05 -07:00
2026-05-17 09:07:28 -07:00
2026-05-13 06:29:35 -07:00
2026-05-07 04:17:52 -07:00
2026-05-02 00:04:29 -07:00
2026-05-13 10:45:52 -07:00
2026-05-13 23:59:19 -07:00
2026-05-17 11:39:19 -07:00
2026-05-19 19:28:05 -07:00
2026-04-24 19:39:20 -07:00
2026-05-23 00:22:19 -07:00
2026-05-20 01:16:06 -07:00
2026-05-21 18:29:03 -07:00
2026-04-24 19:39:20 -07:00
2026-04-04 13:59:08 -07:00
2026-05-10 16:03:32 -04:00
2026-05-10 16:03:32 -04:00
2026-05-10 16:03:32 -04:00
2026-04-26 02:20:28 -07:00
2026-04-24 19:39:20 -07:00
2026-04-30 10:19:54 -07:00
2026-04-24 19:39:20 -07:00
2026-05-13 21:52:40 -07:00
2026-05-04 13:17:57 -07:00
2026-05-04 13:17:57 -07:00
2026-05-15 12:51:41 -07:00
2026-05-22 22:43:26 -07:00
2026-05-14 15:25:08 -07:00
2026-05-10 16:03:32 -04:00
2026-05-21 08:43:57 -07:00
2026-05-17 02:08:01 -07:00
2026-05-21 00:17:33 -07:00
2026-05-15 16:38:45 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-05-17 13:54:32 -07:00
2026-05-23 12:14:07 -07:00
2026-05-20 07:44:57 -07:00
2026-04-24 19:39:20 -07:00
2026-05-15 16:19:42 -07:00
2026-05-23 13:37:41 -07:00
2026-04-30 10:19:54 -07:00
2026-04-26 16:14:35 -07:00
2026-05-20 02:48:39 -07:00
2026-05-15 16:38:45 -07:00
2026-05-15 16:38:45 -07:00
2026-05-20 23:48:57 -07:00
2026-05-13 06:29:34 -07:00
2026-05-16 23:45:17 -07:00
2026-05-16 23:45:17 -07:00
2026-05-13 06:29:33 -07:00
2026-05-22 10:58:44 -07:00
2026-05-16 21:15:10 -07:00
2026-05-17 23:29:21 -07:00
2026-05-14 05:35:35 -07:00
2026-05-21 09:06:23 -07:00
2026-05-20 16:43:27 -07:00
2026-05-17 06:23:00 -07:00
2026-05-20 16:43:27 -07:00
2026-05-22 11:32:17 -07:00
2026-05-17 17:07:01 -07:00
2026-05-20 16:43:27 -07:00
2026-05-20 16:43:27 -07:00
2026-05-20 16:43:27 -07:00
2026-05-18 12:46:23 -07:00
2026-05-13 14:22:23 -07:00
2026-05-15 11:41:35 -07:00
2026-05-21 19:15:27 -07:00
2026-05-18 18:26:52 -07:00
2026-05-14 12:44:10 -07:00
2026-05-20 01:01:08 -07:00
2026-05-13 06:29:34 -07:00
2026-05-15 16:50:00 -07:00
2026-05-18 21:54:39 -07:00
2026-05-15 21:57:57 -07:00
2026-05-21 09:06:23 -07:00
2026-05-23 17:16:45 -07:00
2026-05-02 00:04:29 -07:00
2026-05-13 22:41:29 -07:00
2026-05-06 09:43:51 -07:00
2026-04-27 08:33:03 -07:00
2026-05-17 10:45:41 -07:00
2026-05-23 14:26:57 -07:00
2026-04-26 12:45:05 -07:00
2026-05-20 15:54:44 -07:00
2026-05-19 01:02:38 -07:00
2026-05-14 05:55:16 -07:00
2026-05-22 22:43:26 -07:00
2026-05-19 16:15:24 -07:00
2026-05-14 05:35:35 -07:00
2026-05-12 17:24:44 -07:00
2026-05-11 11:41:19 -07:00
2026-05-14 08:24:01 -07:00
2026-04-24 19:39:20 -07:00
2026-05-10 16:03:32 -04:00
2026-05-11 12:04:20 -07:00
2026-05-17 02:46:46 -07:00
2026-05-20 14:28:45 -07:00
2026-05-20 02:46:49 -07:00
2026-05-18 00:53:24 -07:00
2026-05-15 14:45:17 -07:00
2026-05-19 01:02:38 -07:00
2026-05-20 15:54:44 -07:00
2026-05-20 01:16:06 -07:00
2026-05-19 19:23:47 -07:00
2026-05-20 02:46:49 -07:00
2026-05-20 02:46:49 -07:00
2026-04-30 05:43:13 -07:00
2026-04-24 19:39:20 -07:00
2026-05-19 19:28:05 -07:00
2026-05-10 23:36:10 -07:00
2026-05-09 10:31:04 -07:00
2026-05-08 18:59:08 -07:00
2026-05-12 17:04:33 -07:00
2026-05-15 09:31:00 -07:00
2026-05-14 12:30:19 -07:00
2026-05-14 11:15:47 -07:00
2026-05-22 08:31:12 -07:00
2026-05-17 23:29:21 -07:00
2026-05-22 08:31:12 -07:00
2026-05-23 03:06:11 -07:00
2026-05-18 11:01:32 -07:00
2026-05-15 19:37:48 -07:00
2026-05-22 22:43:26 -07:00
2026-05-19 05:57:57 -07:00
2026-05-18 01:50:24 -07:00
2026-05-22 22:43:26 -07:00
2026-05-22 08:31:12 -07:00
2026-04-24 19:39:20 -07:00
2026-05-16 00:19:18 -07:00
2026-05-17 22:11:42 -07:00
2026-05-17 15:02:35 -07:00
2026-05-17 23:29:21 -07:00
2026-05-20 16:43:27 -07:00
2026-05-16 20:54:33 -07:00
2026-05-18 15:51:01 -07:00
2026-05-15 20:53:54 -07:00
2026-05-20 07:44:57 -07:00