@cleocode/worktree 2026.6.14 → 2026.6.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-prune.d.ts","sourceRoot":"","sources":["../src/worktree-prune.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAKH,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEvF,OAAO,EAEL,cAAc,IAAI,SAAS,EAE5B,MAAM,mBAAmB,CAAC;AAI3B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,
|
|
1
|
+
{"version":3,"file":"worktree-prune.d.ts","sourceRoot":"","sources":["../src/worktree-prune.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAKH,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEvF,OAAO,EAEL,cAAc,IAAI,SAAS,EAE5B,MAAM,mBAAmB,CAAC;AAI3B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CA4DnF;AAmZD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,GACxB,UAAU,CAAC,OAAO,SAAS,CAAC,GAAG,IAAI,CAMrC"}
|
package/dist/worktree-prune.js
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
* @task T10204
|
|
25
25
|
*/
|
|
26
26
|
import { execFileSync } from 'node:child_process';
|
|
27
|
-
import { existsSync, readdirSync } from 'node:fs';
|
|
27
|
+
import { appendFileSync, existsSync, mkdirSync, readdirSync } from 'node:fs';
|
|
28
28
|
import { join } from 'node:path';
|
|
29
29
|
import { getGitRoot, gitSilent } from './git.js';
|
|
30
30
|
import { destroyWorktree as napiDestroyWorktree, pruneWorktrees as napiPrune, removeDir as napiRemoveDir, } from './napi-binding.js';
|
|
@@ -56,18 +56,57 @@ export function pruneWorktrees(options) {
|
|
|
56
56
|
const worktreeRoot = resolveWorktreeRootForHash(projectHash);
|
|
57
57
|
const gitRoot = resolveGitRootOrFallback(projectRoot);
|
|
58
58
|
const removed = [];
|
|
59
|
+
const quarantined = [];
|
|
59
60
|
const errors = [];
|
|
60
61
|
const gitPruneRan = gitPrune ? runGitPruneAdminCleanup(gitRoot) : false;
|
|
61
62
|
if ((preserveTaskIds === undefined && idleDays === undefined) || !existsSync(worktreeRoot)) {
|
|
62
|
-
return {
|
|
63
|
+
return {
|
|
64
|
+
removed: 0,
|
|
65
|
+
removedPaths: [],
|
|
66
|
+
quarantined: 0,
|
|
67
|
+
quarantinedPaths: [],
|
|
68
|
+
errors,
|
|
69
|
+
gitPruneRan,
|
|
70
|
+
};
|
|
63
71
|
}
|
|
64
|
-
|
|
72
|
+
const entries = safeReaddir(worktreeRoot);
|
|
73
|
+
// T11996 Amendment 2 — fail-closed: if the preserve set is empty AND
|
|
74
|
+
// worktree directories exist, skip pruning entirely to prevent mass-deletion
|
|
75
|
+
// (e.g. fresh/post-exodus DB). Write a structured audit warning.
|
|
76
|
+
if (preserveTaskIds !== undefined && preserveTaskIds.size === 0 && entries.length > 0) {
|
|
77
|
+
const existingDirs = entries.filter((e) => existsSync(join(worktreeRoot, e)));
|
|
78
|
+
if (existingDirs.length > 0) {
|
|
79
|
+
appendWorktreeAuditLog(projectRoot, {
|
|
80
|
+
action: 'prune-skip',
|
|
81
|
+
xdgPath: worktreeRoot,
|
|
82
|
+
reason: 'preserve set empty while worktrees exist — skipping to prevent mass-deletion (T11996 fail-closed)',
|
|
83
|
+
success: false,
|
|
84
|
+
});
|
|
85
|
+
return {
|
|
86
|
+
removed: 0,
|
|
87
|
+
removedPaths: [],
|
|
88
|
+
quarantined: 0,
|
|
89
|
+
quarantinedPaths: [],
|
|
90
|
+
errors,
|
|
91
|
+
gitPruneRan,
|
|
92
|
+
skippedFailClosed: true,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
for (const entry of entries) {
|
|
65
97
|
const decision = classifyPruneCandidate(entry, preserveTaskIds, idleDays, worktreeRoot);
|
|
66
98
|
if (decision === null)
|
|
67
99
|
continue;
|
|
68
|
-
pruneSingleEntry(decision, gitRoot, projectRoot, removed, errors);
|
|
100
|
+
pruneSingleEntry(decision, gitRoot, projectRoot, removed, quarantined, errors);
|
|
69
101
|
}
|
|
70
|
-
return {
|
|
102
|
+
return {
|
|
103
|
+
removed: removed.length,
|
|
104
|
+
removedPaths: removed,
|
|
105
|
+
quarantined: quarantined.length,
|
|
106
|
+
quarantinedPaths: quarantined,
|
|
107
|
+
errors,
|
|
108
|
+
gitPruneRan,
|
|
109
|
+
};
|
|
71
110
|
}
|
|
72
111
|
/**
|
|
73
112
|
* Resolve the git root for `projectRoot`, falling back to `projectRoot` when
|
|
@@ -115,18 +154,28 @@ function safeReaddir(dir) {
|
|
|
115
154
|
* `preserveTaskIds`/`idleDays` business logic that lives outside the
|
|
116
155
|
* worktrunk-core SDK by design (ADR-061).
|
|
117
156
|
*
|
|
157
|
+
* T11996 Amendment 1 (PREDICATE BLOCKER): if `preserveTaskIds` is provided and
|
|
158
|
+
* the entry IS in the set, it is ALWAYS preserved — idle age NEVER overrides
|
|
159
|
+
* the preserve list. Only entries NOT in the preserve set are eligible for
|
|
160
|
+
* idle-age pruning when `idleDays` is set.
|
|
161
|
+
*
|
|
118
162
|
* @internal
|
|
119
163
|
*/
|
|
120
164
|
function classifyPruneCandidate(entry, preserveTaskIds, idleDays, worktreeRoot) {
|
|
121
165
|
const path = join(worktreeRoot, entry);
|
|
122
166
|
if (preserveTaskIds !== undefined) {
|
|
123
|
-
|
|
124
|
-
|
|
167
|
+
// T11996: entries in the preserve set are NEVER eligible for pruning,
|
|
168
|
+
// regardless of idle age. Idle-age is only applied to orphan entries
|
|
169
|
+
// (entries not in the preserve set).
|
|
170
|
+
if (preserveTaskIds.has(entry)) {
|
|
171
|
+
return null;
|
|
125
172
|
}
|
|
126
|
-
|
|
127
|
-
|
|
173
|
+
// Entry is not in the preserve set — it is an orphan.
|
|
174
|
+
// Check idle age only when idleDays is specified; otherwise remove immediately.
|
|
175
|
+
if (idleDays !== undefined && !isWorktreeIdle(path, idleDays)) {
|
|
176
|
+
return null; // orphan but not yet idle — wait longer
|
|
128
177
|
}
|
|
129
|
-
return
|
|
178
|
+
return { taskId: entry, path, reason: idleDays !== undefined ? `idle-${idleDays}d` : 'orphan' };
|
|
130
179
|
}
|
|
131
180
|
if (idleDays !== undefined && isWorktreeIdle(path, idleDays)) {
|
|
132
181
|
return { taskId: entry, path, reason: `idle-${idleDays}d` };
|
|
@@ -134,17 +183,196 @@ function classifyPruneCandidate(entry, preserveTaskIds, idleDays, worktreeRoot)
|
|
|
134
183
|
return null;
|
|
135
184
|
}
|
|
136
185
|
/**
|
|
137
|
-
*
|
|
138
|
-
*
|
|
186
|
+
* Check whether a worktree has uncommitted changes (dirty state).
|
|
187
|
+
*
|
|
188
|
+
* Runs `git status --porcelain -uall` inside the worktree. `-uall` expands
|
|
189
|
+
* untracked directories so no file (including .env, local artifacts, etc.) is
|
|
190
|
+
* missed. Returns `false` when git is unavailable so we never block cleanup
|
|
191
|
+
* on a git error.
|
|
192
|
+
*
|
|
193
|
+
* @param worktreePath - Absolute path to the worktree directory.
|
|
194
|
+
* @returns `true` when uncommitted changes are present; `false` otherwise.
|
|
195
|
+
*
|
|
196
|
+
* @task T11996
|
|
197
|
+
* @internal
|
|
198
|
+
*/
|
|
199
|
+
function isWorktreeDirty(worktreePath) {
|
|
200
|
+
try {
|
|
201
|
+
const out = execFileSync('git', ['-C', worktreePath, 'status', '--porcelain', '-uall'], {
|
|
202
|
+
encoding: 'utf-8',
|
|
203
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
204
|
+
timeout: 10_000,
|
|
205
|
+
});
|
|
206
|
+
return out.trim().length > 0;
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
return false;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Check whether a worktree has commits not pushed to any remote ref.
|
|
214
|
+
*
|
|
215
|
+
* Two cases (T11996 Amendment 3):
|
|
216
|
+
* (a) Branch with a configured upstream: commits ahead of `@{upstream}`.
|
|
217
|
+
* (b) Branch with no upstream (never pushed): commits not reachable from any
|
|
218
|
+
* remote-tracking ref.
|
|
219
|
+
* (c) Detached HEAD: commits not reachable from any remote-tracking ref.
|
|
220
|
+
*
|
|
221
|
+
* Returns `false` when git is unavailable or the worktree has no commits.
|
|
222
|
+
*
|
|
223
|
+
* @param worktreePath - Absolute path to the worktree directory.
|
|
224
|
+
* @returns `true` when unpushed commits exist; `false` otherwise.
|
|
225
|
+
*
|
|
226
|
+
* @task T11996
|
|
227
|
+
* @internal
|
|
228
|
+
*/
|
|
229
|
+
function hasUnpushedCommits(worktreePath) {
|
|
230
|
+
// Case (a): branch has a tracking upstream — check ahead count.
|
|
231
|
+
try {
|
|
232
|
+
const aheadStr = execFileSync('git', ['-C', worktreePath, 'rev-list', '--count', '@{upstream}..HEAD'], {
|
|
233
|
+
encoding: 'utf-8',
|
|
234
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
235
|
+
timeout: 10_000,
|
|
236
|
+
}).trim();
|
|
237
|
+
const aheadCount = Number.parseInt(aheadStr, 10);
|
|
238
|
+
if (!Number.isNaN(aheadCount) && aheadCount > 0)
|
|
239
|
+
return true;
|
|
240
|
+
// Upstream exists and ahead count is 0 — no unpushed commits.
|
|
241
|
+
return false;
|
|
242
|
+
}
|
|
243
|
+
catch {
|
|
244
|
+
// No upstream configured — fall through to case (b)/(c).
|
|
245
|
+
}
|
|
246
|
+
// Case (b)/(c): no upstream configured — check whether HEAD is reachable
|
|
247
|
+
// from the union of all remote-tracking refs.
|
|
248
|
+
try {
|
|
249
|
+
const remoteRefsOut = execFileSync('git', ['-C', worktreePath, 'for-each-ref', '--format=%(refname)', 'refs/remotes/'], {
|
|
250
|
+
encoding: 'utf-8',
|
|
251
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
252
|
+
timeout: 10_000,
|
|
253
|
+
}).trim();
|
|
254
|
+
const remoteRefs = remoteRefsOut.split('\n').filter(Boolean);
|
|
255
|
+
if (remoteRefs.length === 0) {
|
|
256
|
+
// No remotes configured — any local commit is "unpushed".
|
|
257
|
+
try {
|
|
258
|
+
const headOut = execFileSync('git', ['-C', worktreePath, 'rev-parse', 'HEAD'], {
|
|
259
|
+
encoding: 'utf-8',
|
|
260
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
261
|
+
timeout: 5_000,
|
|
262
|
+
}).trim();
|
|
263
|
+
return headOut.length > 0;
|
|
264
|
+
}
|
|
265
|
+
catch {
|
|
266
|
+
return false;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
// Count commits reachable from HEAD but not from any remote ref.
|
|
270
|
+
const args = ['-C', worktreePath, 'rev-list', '--count', 'HEAD', '--not', ...remoteRefs];
|
|
271
|
+
const countOut = execFileSync('git', args, {
|
|
272
|
+
encoding: 'utf-8',
|
|
273
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
274
|
+
timeout: 15_000,
|
|
275
|
+
}).trim();
|
|
276
|
+
const count = Number.parseInt(countOut, 10);
|
|
277
|
+
return !Number.isNaN(count) && count > 0;
|
|
278
|
+
}
|
|
279
|
+
catch {
|
|
280
|
+
return false;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Quarantine a dirty/unpushed worktree by packing it into a `.tar.gz` archive
|
|
285
|
+
* in `<projectRoot>/.cleo/quarantine/worktrees/`. The original directory is
|
|
286
|
+
* LEFT INTACT (never deleted). An audit JSONL entry is written.
|
|
287
|
+
*
|
|
288
|
+
* The archive is created with `tar -czf ... -C <parent> <taskId>` so the
|
|
289
|
+
* archive root is `<taskId>/`. `--dereference` captures symlink targets.
|
|
290
|
+
* No exclusions are applied — the archive captures ALL files including
|
|
291
|
+
* `.env`, ignored artifacts, etc. (T11996 AC: untracked + ignored files).
|
|
292
|
+
*
|
|
293
|
+
* @returns Absolute path to the created archive, or `null` on failure.
|
|
294
|
+
*
|
|
295
|
+
* @task T11996
|
|
296
|
+
* @internal
|
|
297
|
+
*/
|
|
298
|
+
function quarantineWorktreeDir(worktreePath, taskId, projectRoot, reason) {
|
|
299
|
+
try {
|
|
300
|
+
const quarantineDir = join(projectRoot, '.cleo', 'quarantine', 'worktrees');
|
|
301
|
+
mkdirSync(quarantineDir, { recursive: true });
|
|
302
|
+
const ts = new Date().toISOString().replace(/[:.]/g, '-');
|
|
303
|
+
const archiveName = `${taskId}-${ts}.tar.gz`;
|
|
304
|
+
const archivePath = join(quarantineDir, archiveName);
|
|
305
|
+
// Capture untracked AND ignored files by not excluding anything.
|
|
306
|
+
execFileSync('tar', ['-czf', archivePath, '--dereference', '-C', join(worktreePath, '..'), taskId], {
|
|
307
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
308
|
+
timeout: 120_000,
|
|
309
|
+
});
|
|
310
|
+
// Write audit entry — ZERO desktop output (T11996 Amendment 6).
|
|
311
|
+
const auditPath = join(quarantineDir, 'audit.jsonl');
|
|
312
|
+
const entry = JSON.stringify({
|
|
313
|
+
ts: new Date().toISOString(),
|
|
314
|
+
action: 'quarantine',
|
|
315
|
+
worktreePath,
|
|
316
|
+
taskId,
|
|
317
|
+
archivePath,
|
|
318
|
+
reason,
|
|
319
|
+
agentId: process.env['CLEO_AGENT_ID'] ?? 'cleo',
|
|
320
|
+
});
|
|
321
|
+
appendFileSync(auditPath, `${entry}\n`, { encoding: 'utf-8' });
|
|
322
|
+
return archivePath;
|
|
323
|
+
}
|
|
324
|
+
catch {
|
|
325
|
+
return null;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Remove a single worktree entry: check dirty/unpushed state first, then
|
|
330
|
+
* either quarantine (if unsafe) or unlock+remove via napi-backed directory
|
|
331
|
+
* removal, then write audit + sentinel-index entries.
|
|
332
|
+
*
|
|
333
|
+
* T11996: dirty or unpushed worktrees are QUARANTINED (tar archive in
|
|
334
|
+
* `<projectRoot>/.cleo/quarantine/worktrees/`), never deleted. The original
|
|
335
|
+
* directory is left on disk after quarantine.
|
|
139
336
|
*
|
|
140
|
-
* Mutates `removed` and `errors` in place
|
|
141
|
-
* thin. Both audit-log and sentinel-index updates are best-effort and never
|
|
142
|
-
* block successful removal.
|
|
337
|
+
* Mutates `removed`, `quarantined`, and `errors` in place.
|
|
143
338
|
*
|
|
144
339
|
* @internal
|
|
145
340
|
*/
|
|
146
|
-
function pruneSingleEntry(decision, gitRoot, projectRoot, removed, errors) {
|
|
341
|
+
function pruneSingleEntry(decision, gitRoot, projectRoot, removed, quarantined, errors) {
|
|
147
342
|
const { taskId, path, reason } = decision;
|
|
343
|
+
// T11996: Dirty/unpushed guard — quarantine instead of deleting.
|
|
344
|
+
const dirty = isWorktreeDirty(path);
|
|
345
|
+
const unpushed = dirty ? false : hasUnpushedCommits(path);
|
|
346
|
+
const shouldQuarantine = dirty || unpushed;
|
|
347
|
+
const quarantineReason = dirty ? 'dirty' : 'unpushed';
|
|
348
|
+
if (shouldQuarantine) {
|
|
349
|
+
const archivePath = quarantineWorktreeDir(path, taskId, projectRoot, quarantineReason);
|
|
350
|
+
if (archivePath !== null) {
|
|
351
|
+
quarantined.push(path);
|
|
352
|
+
appendWorktreeAuditLog(projectRoot, {
|
|
353
|
+
action: 'quarantine',
|
|
354
|
+
xdgPath: path,
|
|
355
|
+
taskId,
|
|
356
|
+
reason: `${reason}+${quarantineReason}`,
|
|
357
|
+
success: true,
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
else {
|
|
361
|
+
errors.push({
|
|
362
|
+
path,
|
|
363
|
+
reason: `quarantine tar failed — worktree preserved (T11996, was ${quarantineReason})`,
|
|
364
|
+
});
|
|
365
|
+
appendWorktreeAuditLog(projectRoot, {
|
|
366
|
+
action: 'quarantine',
|
|
367
|
+
xdgPath: path,
|
|
368
|
+
taskId,
|
|
369
|
+
reason: `${reason}+${quarantineReason}`,
|
|
370
|
+
success: false,
|
|
371
|
+
error: 'tar archive creation failed',
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
return;
|
|
375
|
+
}
|
|
148
376
|
// T11123: Use NAPI destroyWorktree (Rust worktrunk-core) instead of raw
|
|
149
377
|
// git worktree unlock + remove shell-outs. The NAPI binding handles
|
|
150
378
|
// unlock + force-remove atomically in Rust.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-prune.js","sourceRoot":"","sources":["../src/worktree-prune.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worktree-prune.js","sourceRoot":"","sources":["../src/worktree-prune.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cleocode/worktree",
|
|
3
|
-
"version": "2026.6.
|
|
3
|
+
"version": "2026.6.17",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Native CLEO worktree backend SDK",
|
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
"author": "CLEO Code <hello@cleocode.dev>",
|
|
26
26
|
"license": "MIT",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@cleocode/
|
|
29
|
-
"@cleocode/
|
|
28
|
+
"@cleocode/contracts": "2026.6.17",
|
|
29
|
+
"@cleocode/paths": "2026.6.17"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@types/node": "^24.3.0",
|
|
33
33
|
"typescript": "^6.0.2",
|
|
34
34
|
"vitest": "^4.1.4",
|
|
35
|
-
"@cleocode/core": "2026.6.
|
|
35
|
+
"@cleocode/core": "2026.6.17"
|
|
36
36
|
},
|
|
37
37
|
"repository": {
|
|
38
38
|
"type": "git",
|