Teknium
74809b4e94
fix(cli): reap dead-locked worktrees so .worktrees/ can't grow unbounded ( #56288 )
...
hermes -w locks each worktree (reason 'hermes pid=<pid>'). git worktree
remove --force (single -f) refuses a locked tree, so a crashed session's
lock was never released and its worktree accumulated forever — a real
contributor to .worktrees/ bloat.
_prune_stale_worktrees now classifies each lock via _worktree_lock_is_live:
a live-owner pid is skipped at any age; a dead-owner (or foreign) lock is
unlocked first so the aggressive age-based cleanup can actually reap it.
The >72h reap tier is kept (that cleanup is intentional) but now guarded so
dirty/unpushed work is preserved, and branch deletion is gated on
git worktree remove succeeding. New fail-safe helpers _worktree_is_dirty
and _worktree_lock_is_live (pid liveness via gateway.status._pid_exists,
Windows-safe).
2026-07-01 03:43:20 -07:00
..
2026-04-07 17:19:07 -07:00
2026-05-25 05:07:11 -07:00
2026-05-28 22:26:25 -07:00
2026-04-26 18:21:29 -07:00
2026-06-19 16:59:43 -07:00
2026-06-30 04:49:29 -07:00
2026-06-23 11:09:08 -07:00
2026-05-28 22:26:25 -07:00
2026-04-26 21:47:40 -07:00
2026-06-08 02:13:07 -07:00
2026-05-24 23:23:12 -07:00
2026-04-09 17:19:36 -05:00
2026-06-25 19:57:58 -05:00
2026-04-07 17:19:07 -07:00
2026-04-20 02:53:40 -07:00
2026-05-28 22:26:25 -07:00
2026-06-19 08:43:42 -07:00
2026-06-22 06:27:29 -07:00
2026-04-09 16:24:53 -07:00
2026-06-28 02:05:13 -07:00
2026-05-12 14:56:47 -07:00
2026-07-01 00:12:32 -07:00
2026-05-28 22:26:25 -07:00
2026-05-30 11:55:12 -05:00
2026-04-29 23:53:17 -07:00
2026-05-18 20:08:36 -07:00
2026-04-07 17:19:07 -07:00
2026-05-23 17:46:55 -07:00
2026-06-20 14:18:33 -05:00
2026-04-07 17:19:07 -07:00
2026-04-07 17:19:07 -07:00
2026-06-26 19:15:18 -07:00
2026-04-29 21:07:47 -07:00
2026-07-01 01:25:43 -07:00
2026-04-07 17:19:07 -07:00
2026-05-09 17:55:12 -07:00
2026-05-25 01:20:33 -07:00
2026-05-08 16:26:51 -07:00
2026-06-21 07:25:56 -07:00
2026-04-28 18:47:14 -05:00
2026-06-28 04:16:25 -07:00
2026-04-15 17:52:03 -07:00
2026-04-20 23:05:38 -07:00
2026-04-29 22:10:18 -05:00
2026-05-29 00:31:44 -07:00
2026-05-28 22:26:25 -07:00
2026-04-20 02:53:40 -07:00
2026-05-28 12:10:21 -07:00
2026-04-11 19:23:29 -07:00
2026-05-29 17:49:15 -07:00
2026-05-14 15:14:29 -07:00
2026-05-28 23:30:39 -07:00
2026-05-28 22:26:25 -07:00
2026-05-24 16:13:03 -07:00
2026-05-24 16:13:03 -07:00
2026-05-16 12:51:08 -07:00
2026-05-25 01:41:54 -07:00
2026-06-02 19:09:41 -05:00
2026-05-05 04:42:48 -07:00
2026-06-27 03:09:09 -07:00
2026-05-29 17:49:15 -07:00
2026-05-28 22:26:25 -07:00
2026-06-03 23:51:44 -06:00
2026-06-01 20:30:08 -07:00
2026-06-19 01:53:32 +05:30
2026-06-26 19:15:18 -07:00
2026-05-17 02:29:41 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-05-28 22:26:25 -07:00
2026-06-03 06:36:46 -07:00
2026-06-09 22:41:04 -07:00
2026-05-28 22:26:25 -07:00
2026-06-08 15:53:28 -07:00
2026-05-29 19:04:40 -07:00
2026-07-01 03:25:02 -07:00
2026-05-28 22:26:25 -07:00
2026-06-28 01:08:09 -07:00
2026-06-27 12:45:23 -07:00
2026-06-01 23:27:44 +08:00
2026-05-18 20:10:46 -04:00
2026-06-05 18:05:05 -07:00
2026-04-07 17:19:07 -07:00
2026-06-21 12:42:11 -07:00
2026-07-01 03:43:20 -07:00