You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
'dirty_worktree' => 'Inspect dirty files before applying cleanup; artifact-only dirt may be removable through artifact cleanup, source dirt needs review.',
250
+
'dirty_worktree' => 'Inspect dirty files before applying cleanup; classify artifact-only dirt versus source edits before preserving, committing, or cleaning up.',
240
251
'artifact_plan_mismatch', 'plan_mismatch' => 'Regenerate a fresh plan because the saved row no longer matches current filesystem or branch state.',
241
252
'artifact_plan_not_current', 'artifact_already_removed' => 'Regenerate artifact cleanup evidence; the saved artifact row is no longer a current candidate.',
242
253
'needs_metadata_reconcile' => 'Run metadata reconciliation so DMC can classify the worktree without a full cleanup scan.',
243
254
'lifecycle_reconciliation_candidate' => 'Run lifecycle reconciliation to collect PR/merge signals before emitting removal rows.',
244
-
'unpushed_commits' => 'Push, merge, or intentionally abandon commits before retrying cleanup.',
255
+
'unpushed_commits' => 'Inspect commits ahead of upstream so the operator can push, merge, preserve, or intentionally abandon before retrying cleanup.',
256
+
'stale_worktree_marker' => 'Preview stale git worktree metadata pruning and repair registry metadata only after confirming the marker is stale.',
257
+
'primary_missing' => 'Recover, adopt, or recreate the missing primary checkout before worktree removal can be routed through git safely.',
245
258
'probe_timeout' => 'Retry the review path with a smaller bounded page or investigate the git probe timeout.',
246
259
default => 'Run the review command to refresh evidence before applying cleanup.',
'primary_missing' => 'If the checkout is gone, recreate it with `studio wp datamachine-code workspace clone <remote-url> --name=<repo>` or adopt the existing primary checkout with `studio wp datamachine-code workspace adopt <path> --name=<repo>`.',
Copy file name to clipboardExpand all lines: inc/Workspace/WorkspaceWorktreeCleanupEngine.php
+28Lines changed: 28 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1729,6 +1729,34 @@ private function worktree_cleanup_skipped_next_commands( array $skipped_by_reaso
1729
1729
'why' => 'Dirty paths are limited to declared reconstructable artifact directories, so artifact cleanup can shed them without force-removing source worktrees.',
1730
1730
'destructive' => false,
1731
1731
),
1732
+
'dirty_worktree' => array(
1733
+
'label' => 'Inspect dirty files before retrying cleanup',
1734
+
'command' => 'git -C <worktree-path> status --short --branch --untracked-files=normal',
'why' => 'Shows the exact dirty paths so operators can distinguish generated artifacts from source edits and decide whether to clean, commit, or preserve the worktree.',
1737
+
'destructive' => false,
1738
+
),
1739
+
'unpushed_commits' => array(
1740
+
'label' => 'Inspect commits ahead of upstream before cleanup',
'why' => 'Confirms stale git metadata before any prune or registry repair, keeping cleanup non-destructive by default.',
1751
+
'destructive' => false,
1752
+
),
1753
+
'primary_missing' => array(
1754
+
'label' => 'Recover or adopt the missing primary checkout',
1755
+
'command' => 'studio wp datamachine-code workspace show <repo>',
1756
+
'alternative' => 'Recreate with `studio wp datamachine-code workspace clone <remote-url> --name=<repo>` or adopt an existing checkout with `studio wp datamachine-code workspace adopt <path> --name=<repo>`.',
1757
+
'why' => 'Git worktree removal must be routed through the primary checkout, so operators need primary path and remote evidence before repairing or preserving rows.',
1758
+
'destructive' => false,
1759
+
),
1732
1760
'lifecycle_reconciliation_candidate' => array(
1733
1761
'label' => 'Run DMC-owned lifecycle reconciliation before cleanup eligibility',
0 commit comments