@cleocode/core 2026.10.12 → 2026.10.13-rc.ci.682
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.
- package/dist/build-provenance.json +2 -2
- package/dist/cloud/nexus-auth.d.ts.map +1 -1
- package/dist/cloud/nexus-auth.js +11 -2
- package/dist/cloud/nexus-auth.js.map +1 -1
- package/dist/cloud/nexus-cloud-status.d.ts.map +1 -1
- package/dist/cloud/nexus-cloud-status.js +18 -5
- package/dist/cloud/nexus-cloud-status.js.map +1 -1
- package/dist/cloud/nexus-credentials.d.ts +3 -2
- package/dist/cloud/nexus-credentials.d.ts.map +1 -1
- package/dist/cloud/nexus-credentials.js +58 -14
- package/dist/cloud/nexus-credentials.js.map +1 -1
- package/dist/cloud/nexus-logout.d.ts.map +1 -1
- package/dist/cloud/nexus-logout.js +12 -2
- package/dist/cloud/nexus-logout.js.map +1 -1
- package/dist/cloud/nexus-vault-state.d.ts.map +1 -1
- package/dist/cloud/nexus-vault-state.js +6 -26
- package/dist/cloud/nexus-vault-state.js.map +1 -1
- package/dist/config/registry.d.ts +21 -0
- package/dist/config/registry.d.ts.map +1 -1
- package/dist/config/registry.js +41 -0
- package/dist/config/registry.js.map +1 -1
- package/dist/dispatch/mvi-projection.d.ts.map +1 -1
- package/dist/dispatch/mvi-projection.js +2 -0
- package/dist/dispatch/mvi-projection.js.map +1 -1
- package/dist/docs/docs-ops.d.ts +15 -14
- package/dist/docs/docs-ops.d.ts.map +1 -1
- package/dist/docs/docs-ops.js +32 -96
- package/dist/docs/docs-ops.js.map +1 -1
- package/dist/docs/docs-read-model.d.ts +19 -10
- package/dist/docs/docs-read-model.d.ts.map +1 -1
- package/dist/docs/docs-read-model.js +31 -47
- package/dist/docs/docs-read-model.js.map +1 -1
- package/dist/docs/docs-update.d.ts +51 -1
- package/dist/docs/docs-update.d.ts.map +1 -1
- package/dist/docs/docs-update.js +235 -13
- package/dist/docs/docs-update.js.map +1 -1
- package/dist/docs/doctor.d.ts +26 -4
- package/dist/docs/doctor.d.ts.map +1 -1
- package/dist/docs/doctor.js +260 -102
- package/dist/docs/doctor.js.map +1 -1
- package/dist/docs/fetch-result.d.ts +30 -10
- package/dist/docs/fetch-result.d.ts.map +1 -1
- package/dist/docs/fetch-result.js +100 -15
- package/dist/docs/fetch-result.js.map +1 -1
- package/dist/docs/index.d.ts +1 -0
- package/dist/docs/index.d.ts.map +1 -1
- package/dist/docs/index.js +1 -0
- package/dist/docs/index.js.map +1 -1
- package/dist/docs/legacy-doc-migration.d.ts +182 -0
- package/dist/docs/legacy-doc-migration.d.ts.map +1 -0
- package/dist/docs/legacy-doc-migration.js +480 -0
- package/dist/docs/legacy-doc-migration.js.map +1 -0
- package/dist/docs/publications-store.d.ts +67 -0
- package/dist/docs/publications-store.d.ts.map +1 -0
- package/dist/docs/publications-store.js +193 -0
- package/dist/docs/publications-store.js.map +1 -0
- package/dist/docs/publish-pr.d.ts.map +1 -1
- package/dist/docs/publish-pr.js +31 -18
- package/dist/docs/publish-pr.js.map +1 -1
- package/dist/docs/section-leases.d.ts +233 -0
- package/dist/docs/section-leases.d.ts.map +1 -0
- package/dist/docs/section-leases.js +344 -0
- package/dist/docs/section-leases.js.map +1 -0
- package/dist/docs/section-merge.d.ts +159 -0
- package/dist/docs/section-merge.d.ts.map +1 -0
- package/dist/docs/section-merge.js +215 -0
- package/dist/docs/section-merge.js.map +1 -0
- package/dist/docs/section-write-path.d.ts +191 -0
- package/dist/docs/section-write-path.d.ts.map +1 -0
- package/dist/docs/section-write-path.js +423 -0
- package/dist/docs/section-write-path.js.map +1 -0
- package/dist/docs/stats.d.ts +56 -0
- package/dist/docs/stats.d.ts.map +1 -0
- package/dist/docs/stats.js +119 -0
- package/dist/docs/stats.js.map +1 -0
- package/dist/gc/cleanup.d.ts +1 -1
- package/dist/gc/cleanup.d.ts.map +1 -1
- package/dist/gc/cleanup.js +10 -1
- package/dist/gc/cleanup.js.map +1 -1
- package/dist/gc/janitor.js +1 -1
- package/dist/gc/janitor.js.map +1 -1
- package/dist/internal.d.ts +1 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +1 -1
- package/dist/internal.js.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.d.ts +34 -0
- package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.js +114 -0
- package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
- package/dist/nexus/analyze-orchestrator.d.ts +5 -1
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +25 -13
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/assessment-store.d.ts +8 -4
- package/dist/nexus/assessment-store.d.ts.map +1 -1
- package/dist/nexus/assessment-store.js +18 -27
- package/dist/nexus/assessment-store.js.map +1 -1
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/orchestration/index.js +6 -0
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/lean-change.d.ts +104 -5
- package/dist/orchestration/lean-change.d.ts.map +1 -1
- package/dist/orchestration/lean-change.js +162 -6
- package/dist/orchestration/lean-change.js.map +1 -1
- package/dist/orchestration/spawn-prompt.d.ts +6 -1
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +3 -1
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/orchestration/spawn.d.ts.map +1 -1
- package/dist/orchestration/spawn.js +6 -0
- package/dist/orchestration/spawn.js.map +1 -1
- package/dist/release/open.d.ts.map +1 -1
- package/dist/release/open.js +6 -2
- package/dist/release/open.js.map +1 -1
- package/dist/release/plan.d.ts.map +1 -1
- package/dist/release/plan.js +33 -2
- package/dist/release/plan.js.map +1 -1
- package/dist/resources/admission-ledger.d.ts +5 -0
- package/dist/resources/admission-ledger.d.ts.map +1 -1
- package/dist/resources/admission-ledger.js +1 -1
- package/dist/resources/admission-ledger.js.map +1 -1
- package/dist/resources/run-admission.d.ts.map +1 -1
- package/dist/resources/run-admission.js +4 -1
- package/dist/resources/run-admission.js.map +1 -1
- package/dist/resources/run-governed.d.ts +29 -4
- package/dist/resources/run-governed.d.ts.map +1 -1
- package/dist/resources/run-governed.js +113 -73
- package/dist/resources/run-governed.js.map +1 -1
- package/dist/sentient/worktree-dispatch.d.ts +12 -1
- package/dist/sentient/worktree-dispatch.d.ts.map +1 -1
- package/dist/sentient/worktree-dispatch.js +19 -0
- package/dist/sentient/worktree-dispatch.js.map +1 -1
- package/dist/spawn/branch-lock.d.ts +11 -1
- package/dist/spawn/branch-lock.d.ts.map +1 -1
- package/dist/spawn/branch-lock.js +54 -4
- package/dist/spawn/branch-lock.js.map +1 -1
- package/dist/sticky/archive.d.ts +1 -0
- package/dist/sticky/archive.d.ts.map +1 -1
- package/dist/sticky/archive.js +13 -0
- package/dist/sticky/archive.js.map +1 -1
- package/dist/sticky/engine-ops.d.ts.map +1 -1
- package/dist/sticky/engine-ops.js +7 -0
- package/dist/sticky/engine-ops.js.map +1 -1
- package/dist/store/attachment-repair.d.ts +10 -4
- package/dist/store/attachment-repair.d.ts.map +1 -1
- package/dist/store/attachment-repair.js +52 -25
- package/dist/store/attachment-repair.js.map +1 -1
- package/dist/store/attachment-store.d.ts.map +1 -1
- package/dist/store/attachment-store.js +27 -18
- package/dist/store/attachment-store.js.map +1 -1
- package/dist/store/blob-keep.d.ts +83 -0
- package/dist/store/blob-keep.d.ts.map +1 -1
- package/dist/store/blob-keep.js +139 -0
- package/dist/store/blob-keep.js.map +1 -1
- package/dist/store/blob-ops.d.ts +24 -0
- package/dist/store/blob-ops.d.ts.map +1 -1
- package/dist/store/blob-ops.js +47 -0
- package/dist/store/blob-ops.js.map +1 -1
- package/dist/store/conduit-doc-history.d.ts +209 -0
- package/dist/store/conduit-doc-history.d.ts.map +1 -1
- package/dist/store/conduit-doc-history.js +315 -3
- package/dist/store/conduit-doc-history.js.map +1 -1
- package/dist/store/decision-adr-links.d.ts +11 -0
- package/dist/store/decision-adr-links.d.ts.map +1 -1
- package/dist/store/decision-adr-links.js +20 -1
- package/dist/store/decision-adr-links.js.map +1 -1
- package/dist/store/display-id-alias.d.ts +8 -2
- package/dist/store/display-id-alias.d.ts.map +1 -1
- package/dist/store/display-id-alias.js +8 -3
- package/dist/store/display-id-alias.js.map +1 -1
- package/dist/store/lock.d.ts +18 -0
- package/dist/store/lock.d.ts.map +1 -1
- package/dist/store/lock.js +41 -0
- package/dist/store/lock.js.map +1 -1
- package/dist/store/row-identity-registry.d.ts.map +1 -1
- package/dist/store/row-identity-registry.js +17 -0
- package/dist/store/row-identity-registry.js.map +1 -1
- package/dist/store/schema/cleo-project/conduit.d.ts +16 -0
- package/dist/store/schema/cleo-project/conduit.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/conduit.js +8 -0
- package/dist/store/schema/cleo-project/conduit.js.map +1 -1
- package/dist/store/schema/cleo-project/docs.d.ts +294 -0
- package/dist/store/schema/cleo-project/docs.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/docs.js +82 -0
- package/dist/store/schema/cleo-project/docs.js.map +1 -1
- package/dist/store/sync/hlc.d.ts +9 -0
- package/dist/store/sync/hlc.d.ts.map +1 -1
- package/dist/store/sync/hlc.js +9 -0
- package/dist/store/sync/hlc.js.map +1 -1
- package/dist/store/sync/merge/engine.d.ts.map +1 -1
- package/dist/store/sync/merge/engine.js +4 -2
- package/dist/store/sync/merge/engine.js.map +1 -1
- package/dist/store/sync/merge/rules.d.ts +12 -1
- package/dist/store/sync/merge/rules.d.ts.map +1 -1
- package/dist/store/sync/merge/rules.js +76 -1
- package/dist/store/sync/merge/rules.js.map +1 -1
- package/dist/store/sync/replica-registry.d.ts +6 -2
- package/dist/store/sync/replica-registry.d.ts.map +1 -1
- package/dist/store/sync/replica-registry.js +21 -9
- package/dist/store/sync/replica-registry.js.map +1 -1
- package/dist/store/sync/timestamp-canon.d.ts.map +1 -1
- package/dist/store/sync/timestamp-canon.js +6 -0
- package/dist/store/sync/timestamp-canon.js.map +1 -1
- package/dist/store/table-classification.d.ts +58 -0
- package/dist/store/table-classification.d.ts.map +1 -1
- package/dist/store/table-classification.js +72 -0
- package/dist/store/table-classification.js.map +1 -1
- package/dist/store/twin-collapse.d.ts.map +1 -1
- package/dist/store/twin-collapse.js +4 -1
- package/dist/store/twin-collapse.js.map +1 -1
- package/dist/store/vault-manifest.d.ts +10 -1
- package/dist/store/vault-manifest.d.ts.map +1 -1
- package/dist/store/vault-manifest.js +59 -1
- package/dist/store/vault-manifest.js.map +1 -1
- package/dist/tasks/affected-scope.d.ts +11 -0
- package/dist/tasks/affected-scope.d.ts.map +1 -1
- package/dist/tasks/affected-scope.js +30 -11
- package/dist/tasks/affected-scope.js.map +1 -1
- package/dist/tasks/cancel-ops.d.ts.map +1 -1
- package/dist/tasks/cancel-ops.js +7 -2
- package/dist/tasks/cancel-ops.js.map +1 -1
- package/dist/tasks/change-set.d.ts +22 -0
- package/dist/tasks/change-set.d.ts.map +1 -1
- package/dist/tasks/change-set.js +119 -2
- package/dist/tasks/change-set.js.map +1 -1
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +7 -0
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/done-plan.d.ts +5 -0
- package/dist/tasks/done-plan.d.ts.map +1 -1
- package/dist/tasks/done-plan.js +54 -19
- package/dist/tasks/done-plan.js.map +1 -1
- package/dist/tasks/engine-wrap.d.ts +4 -0
- package/dist/tasks/engine-wrap.d.ts.map +1 -1
- package/dist/tasks/engine-wrap.js +20 -4
- package/dist/tasks/engine-wrap.js.map +1 -1
- package/dist/tasks/evidence-paths.d.ts +11 -0
- package/dist/tasks/evidence-paths.d.ts.map +1 -1
- package/dist/tasks/evidence-paths.js +12 -0
- package/dist/tasks/evidence-paths.js.map +1 -1
- package/dist/tools/fs.d.ts +7 -3
- package/dist/tools/fs.d.ts.map +1 -1
- package/dist/tools/fs.js +23 -8
- package/dist/tools/fs.js.map +1 -1
- package/dist/worktree/list.d.ts.map +1 -1
- package/dist/worktree/list.js +9 -0
- package/dist/worktree/list.js.map +1 -1
- package/dist/worktree/prune.d.ts.map +1 -1
- package/dist/worktree/prune.js +52 -1
- package/dist/worktree/prune.js.map +1 -1
- package/migrations/drizzle-cleo-project/20261013000000_t13360-migrated-doc-import/migration.sql +61 -0
- package/migrations/drizzle-cleo-project/20261014000000_t13362-docs-publications-ledger/migration.sql +45 -0
- package/package.json +13 -13
- package/templates/CLEO-INJECTION.md +1 -1
- package/templates/CLEO-REFERENCE.md +2 -2
|
@@ -116,6 +116,7 @@ function defaultDeps() {
|
|
|
116
116
|
};
|
|
117
117
|
},
|
|
118
118
|
jobsDir: runJobsDir(),
|
|
119
|
+
ppid: process.ppid,
|
|
119
120
|
ledger: () => readLedger(),
|
|
120
121
|
pid: process.pid,
|
|
121
122
|
groupOf: processGroupOf,
|
|
@@ -191,86 +192,115 @@ export async function runGoverned(opts) {
|
|
|
191
192
|
notice(`${describeAdmissionIoError(io)}: running ungoverned`, 'warn');
|
|
192
193
|
};
|
|
193
194
|
const deadline = t0 + (opts.timeoutMs ?? 30 * 60_000);
|
|
195
|
+
// T13681: a signal while queued leaves the queue and reports it, never a
|
|
196
|
+
// silent death with no envelope.
|
|
197
|
+
const queueAbort = new AbortController();
|
|
198
|
+
let queuedSignal = null;
|
|
199
|
+
const uninstallQueue = opts.wait
|
|
200
|
+
? d.onRunnerSignal((signal) => {
|
|
201
|
+
queuedSignal ??= signal;
|
|
202
|
+
queueAbort.abort();
|
|
203
|
+
})
|
|
204
|
+
: () => { };
|
|
194
205
|
let admission;
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
206
|
+
let queued = false;
|
|
207
|
+
try {
|
|
208
|
+
if (isLedgerClass(opts.cls)) {
|
|
209
|
+
// T13133: one budget and one FIFO queue for every heavy run. Nested in an
|
|
210
|
+
// admitted run's process tree (any class), it rides that admission; a
|
|
211
|
+
// memory-pressure wait and, after a minute, the holders are warnings, so
|
|
212
|
+
// --passthrough shows them.
|
|
213
|
+
const out = await d.admit({
|
|
214
|
+
label: `run:${opts.cls}`,
|
|
215
|
+
footprintBytes: opts.footprintBytes ?? footprintForClass(opts.cls),
|
|
216
|
+
...(opts.footprintReason !== undefined ? { footprintReason: opts.footprintReason } : {}),
|
|
217
|
+
...(opts.scope !== undefined ? { scope: opts.scope } : {}),
|
|
218
|
+
// T13237: one full-build machine-wide, whatever its footprint.
|
|
219
|
+
...(opts.cls === 'full-build' ? { exclusive: true } : {}),
|
|
220
|
+
command,
|
|
221
|
+
cwd: opts.cwd,
|
|
222
|
+
}, {
|
|
223
|
+
wait: opts.wait === true,
|
|
224
|
+
timeoutMs: Math.max(1, deadline - d.now()),
|
|
225
|
+
...(opts.queuePollMs !== undefined ? { pollMs: opts.queuePollMs } : {}),
|
|
226
|
+
memoryPressure: memoryGateReporter((line) => notice(line, 'warn'), `${opts.cls} job`, {
|
|
227
|
+
now: d.now,
|
|
228
|
+
}),
|
|
229
|
+
notice: (line) => notice(line, 'warn'),
|
|
214
230
|
now: d.now,
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
sayUngoverned(grant.ungoverned);
|
|
229
|
-
if (grant.nested) {
|
|
230
|
-
notice('nested in an admitted run: riding its admission, inside its process tree', 'info');
|
|
231
|
-
}
|
|
232
|
-
else if (grant.waitedMs >= 1_000 && opts.wait) {
|
|
233
|
-
notice(`admitted after ${Math.round(grant.waitedMs / 1000)}s in the queue`, 'info');
|
|
234
|
-
}
|
|
235
|
-
admission = {
|
|
236
|
-
release: () => grant.release(),
|
|
237
|
-
slot: grant.id === null ? -1 : 0,
|
|
238
|
-
token: grant.token,
|
|
239
|
-
holdsShare: grant.id !== null,
|
|
240
|
-
};
|
|
241
|
-
}
|
|
242
|
-
else {
|
|
243
|
-
// Classes outside the ledger (db-heavy) keep their governor slots. A run
|
|
244
|
-
// nested in a job of the SAME class rides its slot (#1777 round 3, M-2).
|
|
245
|
-
const parent = enclosing !== null && enclosing.class === opts.cls ? enclosing : null;
|
|
246
|
-
if (parent) {
|
|
247
|
-
notice(`nested in a running ${parent.class} job (${parent.command}): running on its slot`, 'info');
|
|
248
|
-
admission = { release: async () => { }, slot: -1, token: '', holdsShare: false };
|
|
249
|
-
}
|
|
250
|
-
else {
|
|
251
|
-
const tryAcquire = async (s) => {
|
|
252
|
-
const r = await admitFailOpen(opts.cls, () => d.tryAcquire(opts.cls, s));
|
|
253
|
-
if (r.ungoverned !== null)
|
|
254
|
-
sayUngoverned(r.ungoverned);
|
|
255
|
-
return r.admission;
|
|
256
|
-
};
|
|
257
|
-
let result = await tryAcquire(sample);
|
|
258
|
-
while (result.deferred && opts.wait && d.now() < deadline) {
|
|
259
|
-
await d.sleep(opts.queuePollMs ?? 1000);
|
|
260
|
-
sample = await d.sample();
|
|
261
|
-
result = await tryAcquire(sample);
|
|
231
|
+
sleep: (ms) => d.sleep(ms, queueAbort.signal),
|
|
232
|
+
signal: queueAbort.signal,
|
|
233
|
+
});
|
|
234
|
+
if (queuedSignal !== null) {
|
|
235
|
+
if (out.admitted)
|
|
236
|
+
await out.grant.release();
|
|
237
|
+
return interrupted(queuedSignal);
|
|
238
|
+
}
|
|
239
|
+
if (!out.admitted) {
|
|
240
|
+
const { refusal } = out;
|
|
241
|
+
return deferral(opts, d, opts.wait
|
|
242
|
+
? `timed out after ${Math.round((d.now() - t0) / 1000)}s waiting for the machine budget (position ${refusal.ahead + 1}): ${refusal.reason}`
|
|
243
|
+
: refusal.reason, refusal.retryAfterMs, sample, opts.wait ? refusal.ahead + 1 : null, refusal.memoryPressure);
|
|
262
244
|
}
|
|
263
|
-
|
|
264
|
-
|
|
245
|
+
const { grant } = out;
|
|
246
|
+
if (grant.ungoverned)
|
|
247
|
+
sayUngoverned(grant.ungoverned);
|
|
248
|
+
if (grant.nested) {
|
|
249
|
+
notice('nested in an admitted run: riding its admission, inside its process tree', 'info');
|
|
250
|
+
}
|
|
251
|
+
else if (grant.waitedMs >= 1_000 && opts.wait) {
|
|
252
|
+
queued = true;
|
|
253
|
+
notice(`admitted after ${Math.round(grant.waitedMs / 1000)}s in the queue`, 'warn');
|
|
265
254
|
}
|
|
266
|
-
const granted = result;
|
|
267
255
|
admission = {
|
|
268
|
-
release: () =>
|
|
269
|
-
slot:
|
|
270
|
-
token:
|
|
271
|
-
holdsShare:
|
|
256
|
+
release: () => grant.release(),
|
|
257
|
+
slot: grant.id === null ? -1 : 0,
|
|
258
|
+
token: grant.token,
|
|
259
|
+
holdsShare: grant.id !== null,
|
|
272
260
|
};
|
|
273
261
|
}
|
|
262
|
+
else {
|
|
263
|
+
// Classes outside the ledger (db-heavy) keep their governor slots. A run
|
|
264
|
+
// nested in a job of the SAME class rides its slot (#1777 round 3, M-2).
|
|
265
|
+
const parent = enclosing !== null && enclosing.class === opts.cls ? enclosing : null;
|
|
266
|
+
if (parent) {
|
|
267
|
+
notice(`nested in a running ${parent.class} job (${parent.command}): running on its slot`, 'info');
|
|
268
|
+
admission = { release: async () => { }, slot: -1, token: '', holdsShare: false };
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
const tryAcquire = async (s) => {
|
|
272
|
+
const r = await admitFailOpen(opts.cls, () => d.tryAcquire(opts.cls, s));
|
|
273
|
+
if (r.ungoverned !== null)
|
|
274
|
+
sayUngoverned(r.ungoverned);
|
|
275
|
+
return r.admission;
|
|
276
|
+
};
|
|
277
|
+
let result = await tryAcquire(sample);
|
|
278
|
+
while (result.deferred && opts.wait && d.now() < deadline && queuedSignal === null) {
|
|
279
|
+
await d.sleep(opts.queuePollMs ?? 1000, queueAbort.signal);
|
|
280
|
+
sample = await d.sample();
|
|
281
|
+
result = await tryAcquire(sample);
|
|
282
|
+
}
|
|
283
|
+
if (queuedSignal !== null) {
|
|
284
|
+
if (!result.deferred)
|
|
285
|
+
await result.release();
|
|
286
|
+
return interrupted(queuedSignal);
|
|
287
|
+
}
|
|
288
|
+
if (result.deferred) {
|
|
289
|
+
return deferral(opts, d, result.reason, result.retryAfterMs, sample, null, result.memoryPressure ?? null);
|
|
290
|
+
}
|
|
291
|
+
const granted = result;
|
|
292
|
+
admission = {
|
|
293
|
+
release: () => granted.release(),
|
|
294
|
+
slot: granted.slot,
|
|
295
|
+
token: '',
|
|
296
|
+
holdsShare: true,
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
finally {
|
|
302
|
+
// Every admission path, a throw or a nested ride included, drops the queue handler.
|
|
303
|
+
uninstallQueue();
|
|
274
304
|
}
|
|
275
305
|
const grant = admission;
|
|
276
306
|
const waitedMs = d.now() - t0;
|
|
@@ -311,6 +341,8 @@ export async function runGoverned(opts) {
|
|
|
311
341
|
};
|
|
312
342
|
writeRunJob(job, d.jobsDir);
|
|
313
343
|
let exited = false;
|
|
344
|
+
// Declared before the spawn: a spawn failure reports it too (null).
|
|
345
|
+
let runnerSignal = null;
|
|
314
346
|
let pausedAtMs = null;
|
|
315
347
|
let capResumedAtMs = null;
|
|
316
348
|
let pausedTotalMs = 0;
|
|
@@ -353,6 +385,7 @@ export async function runGoverned(opts) {
|
|
|
353
385
|
// 4, L-A).
|
|
354
386
|
const forwardTo = leadsGroup ? d.signal : d.signalPid;
|
|
355
387
|
const uninstall = d.onRunnerSignal((signal) => {
|
|
388
|
+
runnerSignal ??= { signal, atMs: d.now(), ppid: d.ppid };
|
|
356
389
|
if (childPid === undefined || exited)
|
|
357
390
|
return;
|
|
358
391
|
// A terminal's Ctrl-C already reached its whole foreground group, child
|
|
@@ -360,6 +393,7 @@ export async function runGoverned(opts) {
|
|
|
360
393
|
// runners treat as force-quit (#1777 R8). SIGTERM and SIGHUP still go.
|
|
361
394
|
if (opts.foreground === true && signal === 'SIGINT')
|
|
362
395
|
return;
|
|
396
|
+
notice(`runner received ${signal} (its parent pid ${d.ppid}); forwarding it to pid ${childPid}`, 'warn');
|
|
363
397
|
forwardTo(childPid, 'SIGCONT');
|
|
364
398
|
forwardTo(childPid, signal);
|
|
365
399
|
});
|
|
@@ -476,7 +510,13 @@ export async function runGoverned(opts) {
|
|
|
476
510
|
pauses,
|
|
477
511
|
slot: grant.slot,
|
|
478
512
|
ungoverned,
|
|
513
|
+
runnerSignal,
|
|
514
|
+
queued,
|
|
479
515
|
};
|
|
480
516
|
}
|
|
517
|
+
function interrupted(signal) {
|
|
518
|
+
notice(`${signal} while waiting in the queue: left the queue, nothing started`, 'warn');
|
|
519
|
+
return { kind: 'interrupted', signal, waitedMs: d.now() - t0, class: opts.cls, command };
|
|
520
|
+
}
|
|
481
521
|
}
|
|
482
522
|
//# sourceMappingURL=run-governed.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-governed.js","sourceRoot":"","sources":["../../src/resources/run-governed.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-governed.js","sourceRoot":"","sources":["../../src/resources/run-governed.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* @task T1161
|
|
21
21
|
* @adr ADR-055
|
|
22
22
|
*/
|
|
23
|
-
import type { CreateWorktreeOptions, CreateWorktreeResult, DestroyWorktreeOptions, DestroyWorktreeResult, ListWorktreesOptions, PruneWorktreesResult, WorktreeListEntry } from '@cleocode/contracts';
|
|
23
|
+
import type { CreateWorktreeOptions, CreateWorktreeResult, DestroyWorktreeOptions, DestroyWorktreeResult, ListWorktreesOptions, PruneWorktreesResult, WorktreeDisposalBlockers, WorktreeListEntry } from '@cleocode/contracts';
|
|
24
24
|
/**
|
|
25
25
|
* Admit one worktree dependency install as a `scoped-build` run, without
|
|
26
26
|
* waiting: the release on a grant, `null` when the budget is busy.
|
|
@@ -52,6 +52,17 @@ export declare function spawnWorktree(projectRoot: string, options: CreateWorktr
|
|
|
52
52
|
* @task T1161
|
|
53
53
|
*/
|
|
54
54
|
export declare function teardownWorktree(projectRoot: string, options: DestroyWorktreeOptions): Promise<DestroyWorktreeResult>;
|
|
55
|
+
/**
|
|
56
|
+
* Surface a kept worktree as a `W_WORKTREE_KEPT` envelope warning, so
|
|
57
|
+
* `cleo complete` and `cleo cancel` never keep one silently (T13701).
|
|
58
|
+
*
|
|
59
|
+
* @param taskId - The task whose worktree was kept.
|
|
60
|
+
* @param kept - What still needs the worktree's files.
|
|
61
|
+
* @param message - The disposal's explanation (names the path and blockers).
|
|
62
|
+
*
|
|
63
|
+
* @task T13701
|
|
64
|
+
*/
|
|
65
|
+
export declare function warnWorktreeKept(taskId: string, kept: WorktreeDisposalBlockers, message: string | undefined): Promise<void>;
|
|
55
66
|
/**
|
|
56
67
|
* List worktrees scoped to a project via the native backend.
|
|
57
68
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-dispatch.d.ts","sourceRoot":"","sources":["../../src/sentient/worktree-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAoB7B;;;;;GAKG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAUlF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CAsB/B;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAGhC;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,oBAAyB,GAAG,iBAAiB,EAAE,CAE5F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,oBAAoB,CAEtB;AA6CD;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAO3D"}
|
|
1
|
+
{"version":3,"file":"worktree-dispatch.d.ts","sourceRoot":"","sources":["../../src/sentient/worktree-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAoB7B;;;;;GAKG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAUlF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CAsB/B;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAGhC;AAED;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,wBAAwB,EAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,oBAAyB,GAAG,iBAAiB,EAAE,CAE5F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,oBAAoB,CAEtB;AA6CD;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAO3D"}
|
|
@@ -101,6 +101,25 @@ export async function teardownWorktree(projectRoot, options) {
|
|
|
101
101
|
const mod = await backend();
|
|
102
102
|
return mod.destroyWorktree(projectRoot, options);
|
|
103
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Surface a kept worktree as a `W_WORKTREE_KEPT` envelope warning, so
|
|
106
|
+
* `cleo complete` and `cleo cancel` never keep one silently (T13701).
|
|
107
|
+
*
|
|
108
|
+
* @param taskId - The task whose worktree was kept.
|
|
109
|
+
* @param kept - What still needs the worktree's files.
|
|
110
|
+
* @param message - The disposal's explanation (names the path and blockers).
|
|
111
|
+
*
|
|
112
|
+
* @task T13701
|
|
113
|
+
*/
|
|
114
|
+
export async function warnWorktreeKept(taskId, kept, message) {
|
|
115
|
+
const { pushWarning } = await import('../output.js');
|
|
116
|
+
pushWarning({
|
|
117
|
+
// @sync-invariant none:local-only a warning about a worktree on this machine's disk; never replicated
|
|
118
|
+
code: 'W_WORKTREE_KEPT',
|
|
119
|
+
message: message ?? `Worktree for ${taskId} kept: something still needs its files.`,
|
|
120
|
+
context: { taskId, dependents: kept.dependents, evidence: kept.evidence },
|
|
121
|
+
});
|
|
122
|
+
}
|
|
104
123
|
/**
|
|
105
124
|
* List worktrees scoped to a project via the native backend.
|
|
106
125
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-dispatch.js","sourceRoot":"","sources":["../../src/sentient/worktree-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"worktree-dispatch.js","sourceRoot":"","sources":["../../src/sentient/worktree-dispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* @adr ADR-055
|
|
19
19
|
* @adr ADR-062
|
|
20
20
|
*/
|
|
21
|
-
import type { AgentWorktreeState, FsHardenCapabilities, FsHardenState, WorktreeCleanupResult, WorktreeMergeResult, WorktreeSpawnResult } from '@cleocode/contracts';
|
|
21
|
+
import type { AgentWorktreeState, EvidenceAtom, FsHardenCapabilities, FsHardenState, WorktreeCleanupResult, WorktreeDisposalBlockers, WorktreeMergeResult, WorktreeSpawnResult } from '@cleocode/contracts';
|
|
22
22
|
import { getGitRoot } from '@cleocode/worktree';
|
|
23
23
|
export { getGitRoot };
|
|
24
24
|
/**
|
|
@@ -118,6 +118,8 @@ export interface PruneWorktreeResult {
|
|
|
118
118
|
wasDirty: boolean;
|
|
119
119
|
/** Error message if any step failed. */
|
|
120
120
|
error?: string;
|
|
121
|
+
/** Set (with `status: 'skipped'`) when the worktree was kept because something still needs its files (T13696). */
|
|
122
|
+
kept?: WorktreeDisposalBlockers;
|
|
121
123
|
}
|
|
122
124
|
/**
|
|
123
125
|
* Prune the worktree for a single completed or cancelled task.
|
|
@@ -138,11 +140,14 @@ export interface PruneWorktreeResult {
|
|
|
138
140
|
* the result — callers should use `completeAgentWorktreeViaMerge` first.
|
|
139
141
|
* - Always writes a `--force` remove with an audit log entry (`.cleo/audit/worktree-prune.jsonl`)
|
|
140
142
|
* when the worktree is detected as dirty.
|
|
143
|
+
* - Keeps the worktree (`{ status: 'skipped', kept }`) while another checkout
|
|
144
|
+
* symlinks into it or it holds evidence found nowhere else (T13696).
|
|
141
145
|
* - Never throws — failures are returned in `{ status: 'error', error }`.
|
|
142
146
|
*
|
|
143
147
|
* @param taskId - The CLEO task ID (e.g. "T1462").
|
|
144
148
|
* @param projectRoot - Absolute path to the project root.
|
|
145
149
|
* @param opts.auditLogPath - Override path for the audit JSONL (testing).
|
|
150
|
+
* @param opts.evidence - The task's recorded evidence atoms (T13696).
|
|
146
151
|
* @returns Prune outcome.
|
|
147
152
|
*
|
|
148
153
|
* @task T1462
|
|
@@ -150,6 +155,7 @@ export interface PruneWorktreeResult {
|
|
|
150
155
|
*/
|
|
151
156
|
export declare function pruneWorktree(taskId: string, projectRoot: string, opts?: {
|
|
152
157
|
auditLogPath?: string;
|
|
158
|
+
evidence?: readonly EvidenceAtom[];
|
|
153
159
|
}): PruneWorktreeResult;
|
|
154
160
|
/**
|
|
155
161
|
* Resolve the project's default integration branch in a project-agnostic way.
|
|
@@ -299,6 +305,7 @@ export declare function assessUpstreamIntegration(gitRoot: string, branch: strin
|
|
|
299
305
|
* @param opts.targetBranch - Override the resolved default branch.
|
|
300
306
|
* @param opts.taskTitle - Task title used in the merge commit message subject.
|
|
301
307
|
* @param opts.skipFetch - Skip every `git fetch` (test fixtures).
|
|
308
|
+
* @param opts.evidence - The task's evidence atoms; the prune keeps a worktree holding the only copy (T13696).
|
|
302
309
|
* @param opts.fetchTimeoutMs - Timeout for the upstream fetch (default
|
|
303
310
|
* {@link UPSTREAM_FETCH_TIMEOUT_MS}).
|
|
304
311
|
* @returns Merge integration result.
|
|
@@ -311,6 +318,7 @@ export declare function completeAgentWorktreeViaMerge(taskId: string, projectRoo
|
|
|
311
318
|
taskTitle?: string;
|
|
312
319
|
skipFetch?: boolean;
|
|
313
320
|
fetchTimeoutMs?: number;
|
|
321
|
+
evidence?: readonly EvidenceAtom[];
|
|
314
322
|
}): WorktreeMergeResult;
|
|
315
323
|
/**
|
|
316
324
|
* Result of a complete post-merge worktree integration.
|
|
@@ -343,6 +351,7 @@ export interface WorktreeIntegrationResult extends WorktreeMergeResult {
|
|
|
343
351
|
* @param opts.taskTitle - Task title used in the merge commit message subject.
|
|
344
352
|
* @param opts.skipFetch - Skip the `git fetch origin` step (test fixtures).
|
|
345
353
|
* @param opts.auditLogPath - Override the audit JSONL path (testing).
|
|
354
|
+
* @param opts.evidence - The task's evidence atoms; the prune keeps a worktree holding the only copy (T13696).
|
|
346
355
|
* @returns Integration result including audit log path.
|
|
347
356
|
*
|
|
348
357
|
* @task T9043
|
|
@@ -353,6 +362,7 @@ export declare function completeAgentWorktreeIntegration(taskId: string, project
|
|
|
353
362
|
taskTitle?: string;
|
|
354
363
|
skipFetch?: boolean;
|
|
355
364
|
auditLogPath?: string;
|
|
365
|
+
evidence?: readonly EvidenceAtom[];
|
|
356
366
|
}): WorktreeIntegrationResult;
|
|
357
367
|
/** Result of {@link ensureGitShimDir}. */
|
|
358
368
|
export interface GitShimInstall {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-lock.d.ts","sourceRoot":"","sources":["../../src/spawn/branch-lock.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;GAmBG;AAiBH,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAc7B,OAAO,
|
|
1
|
+
{"version":3,"file":"branch-lock.d.ts","sourceRoot":"","sources":["../../src/spawn/branch-lock.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ import { computeProjectHash, findOnPath, pathEnvKey, prependPathEntry, resolveWo
|
|
|
28
28
|
// ---------------------------------------------------------------------------
|
|
29
29
|
// Re-exports from @cleocode/worktree
|
|
30
30
|
// ---------------------------------------------------------------------------
|
|
31
|
-
import { acquireWorktreeTaskLock, getGitRoot, gitSilent, gitSync, integrateWorktree, napiDestroyWorktree, pruneWorktrees, releaseWorktreeTaskLock, } from '@cleocode/worktree';
|
|
31
|
+
import { acquireWorktreeTaskLock, describeDisposalBlockers, getGitRoot, gitSilent, gitSync, guardWorktreeDisposal, integrateWorktree, napiDestroyWorktree, pruneWorktrees, releaseWorktreeTaskLock, } from '@cleocode/worktree';
|
|
32
32
|
import { resolveSpawnLockHolder } from './worktree-lock-holder.js';
|
|
33
33
|
// Re-export getGitRoot for barrel consumers
|
|
34
34
|
export { getGitRoot };
|
|
@@ -288,11 +288,14 @@ function leaveDirectoryBeforeRemoval(dir, to) {
|
|
|
288
288
|
* the result — callers should use `completeAgentWorktreeViaMerge` first.
|
|
289
289
|
* - Always writes a `--force` remove with an audit log entry (`.cleo/audit/worktree-prune.jsonl`)
|
|
290
290
|
* when the worktree is detected as dirty.
|
|
291
|
+
* - Keeps the worktree (`{ status: 'skipped', kept }`) while another checkout
|
|
292
|
+
* symlinks into it or it holds evidence found nowhere else (T13696).
|
|
291
293
|
* - Never throws — failures are returned in `{ status: 'error', error }`.
|
|
292
294
|
*
|
|
293
295
|
* @param taskId - The CLEO task ID (e.g. "T1462").
|
|
294
296
|
* @param projectRoot - Absolute path to the project root.
|
|
295
297
|
* @param opts.auditLogPath - Override path for the audit JSONL (testing).
|
|
298
|
+
* @param opts.evidence - The task's recorded evidence atoms (T13696).
|
|
296
299
|
* @returns Prune outcome.
|
|
297
300
|
*
|
|
298
301
|
* @task T1462
|
|
@@ -335,6 +338,43 @@ export function pruneWorktree(taskId, projectRoot, opts = {}) {
|
|
|
335
338
|
}
|
|
336
339
|
return { taskId, status: 'skipped', worktreeRemoved: false, branchDeleted, wasDirty: false };
|
|
337
340
|
}
|
|
341
|
+
// T13696: removal deletes the whole directory, so refuse while another
|
|
342
|
+
// checkout links into it or it holds the only copy of the task's evidence.
|
|
343
|
+
const kept = guardWorktreeDisposal(worktreePath, {
|
|
344
|
+
taskId,
|
|
345
|
+
reason: 'complete',
|
|
346
|
+
gitRoot,
|
|
347
|
+
projectRoot,
|
|
348
|
+
evidence: opts.evidence,
|
|
349
|
+
});
|
|
350
|
+
if (kept !== null) {
|
|
351
|
+
const error = describeDisposalBlockers(worktreePath, kept);
|
|
352
|
+
try {
|
|
353
|
+
const logPath = opts.auditLogPath ?? join(projectRoot, '.cleo', 'audit', 'worktree-prune.jsonl');
|
|
354
|
+
mkdirSync(dirname(logPath), { recursive: true });
|
|
355
|
+
const entry = JSON.stringify({
|
|
356
|
+
timestamp: new Date().toISOString(),
|
|
357
|
+
taskId,
|
|
358
|
+
worktreePath,
|
|
359
|
+
action: 'kept',
|
|
360
|
+
...kept,
|
|
361
|
+
agent: process.env['CLEO_AGENT_ID'] ?? 'cleo',
|
|
362
|
+
});
|
|
363
|
+
appendFileSync(logPath, entry + '\n', 'utf-8');
|
|
364
|
+
}
|
|
365
|
+
catch {
|
|
366
|
+
/* audit is best-effort */
|
|
367
|
+
}
|
|
368
|
+
return {
|
|
369
|
+
taskId,
|
|
370
|
+
status: 'skipped',
|
|
371
|
+
worktreeRemoved: false,
|
|
372
|
+
branchDeleted: false,
|
|
373
|
+
wasDirty: false,
|
|
374
|
+
error,
|
|
375
|
+
kept,
|
|
376
|
+
};
|
|
377
|
+
}
|
|
338
378
|
// Detect dirty state: uncommitted changes in the worktree.
|
|
339
379
|
let wasDirty = false;
|
|
340
380
|
try {
|
|
@@ -773,6 +813,7 @@ export function assessUpstreamIntegration(gitRoot, branch, targetBranch, opts =
|
|
|
773
813
|
* @param opts.targetBranch - Override the resolved default branch.
|
|
774
814
|
* @param opts.taskTitle - Task title used in the merge commit message subject.
|
|
775
815
|
* @param opts.skipFetch - Skip every `git fetch` (test fixtures).
|
|
816
|
+
* @param opts.evidence - The task's evidence atoms; the prune keeps a worktree holding the only copy (T13696).
|
|
776
817
|
* @param opts.fetchTimeoutMs - Timeout for the upstream fetch (default
|
|
777
818
|
* {@link UPSTREAM_FETCH_TIMEOUT_MS}).
|
|
778
819
|
* @returns Merge integration result.
|
|
@@ -852,7 +893,9 @@ export function completeAgentWorktreeViaMerge(taskId, projectRoot, opts = {}) {
|
|
|
852
893
|
// worktree unless it holds uncommitted work, which is left for the
|
|
853
894
|
// operator. The checkout itself is never moved (hint-only).
|
|
854
895
|
const dirty = existsSync(worktreePath) && isWorktreeDirty(worktreePath);
|
|
855
|
-
const pruneResult = dirty
|
|
896
|
+
const pruneResult = dirty
|
|
897
|
+
? null
|
|
898
|
+
: pruneWorktree(taskId, projectRoot, { evidence: opts.evidence });
|
|
856
899
|
let branchDeleted = pruneResult?.branchDeleted ?? false;
|
|
857
900
|
// pruneWorktree only deletes a branch with zero commits ahead of the
|
|
858
901
|
// checkout HEAD, so a stale local default branch, a squash merge, or a
|
|
@@ -873,13 +916,16 @@ export function completeAgentWorktreeViaMerge(taskId, projectRoot, opts = {}) {
|
|
|
873
916
|
commitCount: 0,
|
|
874
917
|
rebased: false,
|
|
875
918
|
worktreeRemoved: pruneResult?.worktreeRemoved ?? false,
|
|
919
|
+
...(pruneResult?.kept ? { worktreeKept: pruneResult.kept } : {}),
|
|
876
920
|
branchDeleted,
|
|
877
921
|
nothingToIntegrate: true,
|
|
878
922
|
...(upstream.kind === 'landed' ? { landedUpstream: true } : {}),
|
|
879
923
|
...(upstream.syncCommand ? { syncCommand: upstream.syncCommand } : {}),
|
|
880
924
|
hint: dirty
|
|
881
925
|
? `${upstream.hint} Worktree ${worktreePath} has uncommitted changes and was preserved.`
|
|
882
|
-
:
|
|
926
|
+
: pruneResult?.kept
|
|
927
|
+
? `${upstream.hint} ${pruneResult.error}`
|
|
928
|
+
: upstream.hint,
|
|
883
929
|
};
|
|
884
930
|
}
|
|
885
931
|
if (upstream.kind === 'stale-target') {
|
|
@@ -923,7 +969,7 @@ export function completeAgentWorktreeViaMerge(taskId, projectRoot, opts = {}) {
|
|
|
923
969
|
error: result.error,
|
|
924
970
|
};
|
|
925
971
|
}
|
|
926
|
-
const pruneResult = pruneWorktree(taskId, projectRoot);
|
|
972
|
+
const pruneResult = pruneWorktree(taskId, projectRoot, { evidence: opts.evidence });
|
|
927
973
|
return {
|
|
928
974
|
taskId,
|
|
929
975
|
targetBranch,
|
|
@@ -932,6 +978,7 @@ export function completeAgentWorktreeViaMerge(taskId, projectRoot, opts = {}) {
|
|
|
932
978
|
commitCount: result.commitCount,
|
|
933
979
|
rebased: result.rebased,
|
|
934
980
|
worktreeRemoved: pruneResult.worktreeRemoved,
|
|
981
|
+
...(pruneResult.kept ? { worktreeKept: pruneResult.kept } : {}),
|
|
935
982
|
branchDeleted: pruneResult.branchDeleted,
|
|
936
983
|
error: pruneResult.error,
|
|
937
984
|
};
|
|
@@ -955,6 +1002,7 @@ export function completeAgentWorktreeViaMerge(taskId, projectRoot, opts = {}) {
|
|
|
955
1002
|
* @param opts.taskTitle - Task title used in the merge commit message subject.
|
|
956
1003
|
* @param opts.skipFetch - Skip the `git fetch origin` step (test fixtures).
|
|
957
1004
|
* @param opts.auditLogPath - Override the audit JSONL path (testing).
|
|
1005
|
+
* @param opts.evidence - The task's evidence atoms; the prune keeps a worktree holding the only copy (T13696).
|
|
958
1006
|
* @returns Integration result including audit log path.
|
|
959
1007
|
*
|
|
960
1008
|
* @task T9043
|
|
@@ -965,6 +1013,7 @@ export function completeAgentWorktreeIntegration(taskId, projectRoot, opts = {})
|
|
|
965
1013
|
targetBranch: opts.targetBranch,
|
|
966
1014
|
taskTitle: opts.taskTitle,
|
|
967
1015
|
skipFetch: opts.skipFetch,
|
|
1016
|
+
evidence: opts.evidence,
|
|
968
1017
|
});
|
|
969
1018
|
// Write audit log entry.
|
|
970
1019
|
let auditLogEntry = null;
|
|
@@ -980,6 +1029,7 @@ export function completeAgentWorktreeIntegration(taskId, projectRoot, opts = {})
|
|
|
980
1029
|
mergeCommit: mergeResult.mergeCommit,
|
|
981
1030
|
merged: mergeResult.merged,
|
|
982
1031
|
worktreeRemoved: mergeResult.worktreeRemoved,
|
|
1032
|
+
worktreeKept: mergeResult.worktreeKept ?? null,
|
|
983
1033
|
branchDeleted: mergeResult.branchDeleted,
|
|
984
1034
|
error: mergeResult.error ?? null,
|
|
985
1035
|
agent: process.env['CLEO_AGENT_ID'] ?? 'cleo',
|