gsxdsm
d10d91bae5
fix(engine): stop planning when a card is withdrawn; sweep stale pre-execution worktrees
...
Withdrawing a card from planning (todo -> Ideas) now stops the work:
- triage aborts and disposes the planning session through the same path
pause/delete already use, and clears status:"planning" so the planning badge
goes away and the card reads as a plain idea again;
- the executor aborts in-flight graph work on any backward move out of
todo/triage, so a Plan Review does not keep streaming against a card the
operator pulled back;
- moving it back to todo needs no new code: the existing column wake fires and,
with the status cleared, the card is an ordinary planning candidate again.
Pre-execution worktrees (planning acquires one now) are reclaimed two ways: an
immediate release on an explicit withdrawal, and a self-healing sweep
`reconcile-pre-execution-worktrees`. The sweep is deliberately timid — 30 days
of complete inactivity, and it skips anything active or waiting (todo,
executing, in-review, done, paused, carrying any status, blocked, or scheduled
for recovery). Every real safety condition lives in the executor: never
executed, no live session, clean branch, nothing uncommitted.
hasAdvancedPastPlanning no longer reads a worktree as execution evidence.
Planning owns a worktree now, so that signal would have made every planning
write skip; execution timestamps carry the meaning instead.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-25 15:20:17 -07:00
..
2026-07-25 15:20:17 -07:00
2026-07-14 22:16:16 -07:00
2026-07-15 13:34:30 -07:00
2026-07-13 19:07:58 -07:00
2026-07-22 20:07:48 -07:00
2026-06-29 04:12:13 -07:00
2026-07-24 22:32:49 -07:00
2026-07-20 10:13:57 -07:00
2026-07-25 15:20:17 -07:00
2026-07-06 19:03:07 -07:00
2026-06-13 04:54:59 -07:00
2026-06-04 22:53:02 -07:00
2026-07-20 16:08:00 -07:00
2026-07-25 14:59:53 -07:00
2026-07-22 13:36:23 -07:00
2026-07-12 10:04:29 -07:00
2026-07-16 00:01:17 -07:00
2026-07-21 23:09:30 -07:00
2026-07-24 23:57:49 -07:00
2026-07-10 07:46:52 -07:00
2026-07-22 13:43:55 -07:00
2026-07-24 22:32:49 -07:00
2026-07-15 11:13:56 -07:00
2026-07-22 14:28:02 -07:00
2026-07-23 15:25:09 -07:00
2026-06-30 12:56:03 -07:00
2026-07-03 22:04:45 -07:00
2026-07-16 17:05:29 -07:00
2026-07-24 22:38:15 -07:00
2026-06-21 16:23:42 -07:00
2026-06-07 20:43:44 -07:00
2026-07-19 12:08:10 -07:00
2026-07-14 22:16:16 -07:00
2026-06-22 03:04:21 -07:00
2026-07-16 13:48:00 -07:00
2026-06-15 12:34:44 -07:00
2026-06-26 16:14:44 -07:00
2026-06-15 02:30:41 -07:00
2026-06-04 16:16:50 -07:00
2026-07-21 15:30:31 -07:00
2026-07-22 08:53:31 -07:00
2026-07-21 17:14:30 -07:00
2026-07-14 22:16:16 -07:00
2026-07-22 08:53:31 -07:00
2026-07-21 17:08:44 -07:00
2026-07-13 19:07:58 -07:00
2026-07-14 22:16:16 -07:00
2026-06-26 00:57:32 -07:00
2026-07-25 15:20:17 -07:00
2026-07-13 19:07:58 -07:00
2026-07-15 12:54:16 -07:00
2026-07-22 13:36:23 -07:00
2026-07-13 19:07:58 -07:00
2026-07-14 17:02:47 -07:00
2026-06-25 08:35:44 -07:00
2026-07-13 19:07:58 -07:00
2026-07-25 09:52:18 -07:00
2026-07-18 01:23:31 -07:00
2026-07-24 23:57:49 -07:00
2026-07-02 13:07:16 -07:00
2026-07-23 10:31:22 -07:00
2026-07-23 10:31:22 -07:00
2026-06-26 11:56:12 -07:00
2026-07-22 15:25:20 -07:00
2026-07-14 08:18:52 -07:00
2026-07-18 21:58:29 -07:00
2026-06-26 00:57:32 -07:00
2026-07-15 22:43:24 -07:00
2026-07-02 11:38:32 -07:00
2026-07-15 10:06:32 -07:00
2026-06-22 19:48:50 -07:00
2026-07-21 17:08:17 -07:00
2026-06-25 20:12:20 -07:00
2026-07-23 15:55:03 -07:00
2026-07-16 15:42:22 -07:00
2026-07-16 00:01:17 -07:00
2026-07-18 14:42:59 -07:00
2026-07-16 00:01:17 -07:00
2026-07-15 14:44:35 -07:00
2026-07-19 16:00:28 -07:00
2026-07-15 14:44:35 -07:00
2026-07-13 19:07:58 -07:00
2026-07-16 00:01:17 -07:00
2026-07-11 22:16:48 -07:00
2026-07-19 16:00:28 -07:00
2026-07-23 15:55:03 -07:00
2026-07-14 22:13:30 -07:00
2026-07-23 15:25:09 -07:00
2026-07-23 16:12:44 -07:00
2026-07-19 22:43:13 -07:00
2026-07-19 22:43:13 -07:00
2026-06-13 16:16:52 -07:00
2026-06-19 23:50:37 +00:00
2026-07-21 17:14:30 -07:00
2026-07-22 20:07:48 -07:00
2026-07-14 20:27:35 -07:00
2026-07-14 20:27:35 -07:00
2026-07-14 20:27:35 -07:00
2026-07-09 19:58:06 -07:00
2026-07-16 21:42:44 -07:00
2026-07-14 20:27:35 -07:00
2026-07-14 20:27:35 -07:00
2026-07-15 13:32:33 -07:00
2026-07-22 13:36:23 -07:00
2026-07-24 19:06:14 -07:00
2026-07-04 21:28:16 -07:00
2026-07-19 17:25:02 -07:00
2026-07-21 23:32:18 -07:00
2026-07-22 15:25:20 -07:00
2026-06-07 21:19:10 -07:00
2026-07-14 12:41:10 -07:00
2026-07-17 17:28:09 -07:00
2026-07-13 19:07:58 -07:00
2026-07-16 21:07:06 -07:00
2026-07-13 19:07:58 -07:00
2026-07-23 21:43:58 -07:00
2026-07-19 16:52:02 -07:00
2026-07-21 23:32:18 -07:00
2026-07-13 19:07:58 -07:00
2026-07-19 16:52:02 -07:00
2026-06-11 21:00:23 -07:00
2026-07-22 14:42:04 -07:00
2026-07-21 17:14:30 -07:00
2026-06-04 22:53:02 -07:00
2026-07-21 17:08:44 -07:00
2026-07-21 17:08:44 -07:00
2026-07-25 15:20:17 -07:00
2026-07-24 23:57:49 -07:00
2026-07-21 17:06:26 -07:00
2026-07-13 19:07:58 -07:00
2026-07-13 19:07:58 -07:00
2026-07-10 22:25:21 -07:00
2026-07-15 20:53:05 -07:00
2026-07-21 17:08:44 -07:00
2026-07-01 16:38:27 -07:00
2026-07-22 08:53:31 -07:00
2026-07-16 16:34:09 -07:00
2026-07-16 16:34:09 -07:00
2026-07-23 15:55:03 -07:00
2026-07-15 08:44:11 -07:00
2026-07-15 19:43:08 -07:00
2026-07-08 12:29:14 -04:00
2026-07-25 09:27:26 -07:00
2026-07-16 00:01:17 -07:00
2026-07-16 00:01:17 -07:00
2026-07-16 15:42:22 -07:00
2026-07-16 15:42:22 -07:00
2026-07-25 15:20:17 -07:00
2026-07-15 10:38:04 -07:00
2026-07-19 15:38:31 -07:00
2026-07-21 19:17:20 -07:00
2026-07-22 11:02:57 -07:00
2026-07-22 13:43:55 -07:00
2026-07-22 13:43:55 -07:00
2026-06-23 10:30:50 -07:00
2026-07-05 11:31:48 -07:00
2026-07-16 01:52:10 -07:00
2026-07-14 08:17:36 -07:00
2026-07-25 14:59:53 -07:00
2026-07-25 14:59:53 -07:00
2026-07-15 20:14:25 -07:00
2026-07-25 15:20:17 -07:00
2026-07-17 17:28:36 -07:00
2026-07-23 17:27:59 -07:00
2026-07-15 08:44:11 -07:00
2026-07-15 08:44:11 -07:00
2026-07-21 12:17:47 -07:00
2026-06-29 10:32:51 -07:00
2026-07-01 00:51:01 -07:00
2026-07-25 14:59:53 -07:00
2026-06-29 18:05:44 -07:00
2026-06-25 22:33:08 -07:00
2026-07-21 12:17:47 -07:00
2026-06-11 08:43:27 -07:00
2026-07-15 15:34:43 -07:00
2026-07-22 15:07:59 -07:00
2026-07-01 00:51:01 -07:00
2026-07-01 00:51:01 -07:00
2026-07-01 00:51:01 -07:00
2026-07-01 00:51:01 -07:00
2026-06-30 00:09:36 -07:00
2026-07-21 17:06:26 -07:00
2026-07-19 22:07:55 -07:00
2026-07-19 22:07:55 -07:00
2026-07-07 10:25:11 -07:00
2026-06-21 23:02:46 -07:00
2026-07-19 17:05:05 -07:00
2026-07-16 13:48:00 -07:00
2026-06-25 08:34:44 -07:00
2026-07-14 22:16:16 -07:00
2026-06-26 13:13:46 -07:00
2026-06-12 12:49:34 -07:00
2026-07-19 23:47:53 -07:00
2026-07-19 23:47:53 -07:00
2026-07-13 19:07:58 -07:00