@cleocode/core 2026.10.26 → 2026.10.27
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/docs/docs-ops.d.ts.map +1 -1
- package/dist/docs/docs-ops.js +29 -11
- package/dist/docs/docs-ops.js.map +1 -1
- package/dist/resources/admission-ledger.d.ts +45 -1
- package/dist/resources/admission-ledger.d.ts.map +1 -1
- package/dist/resources/admission-ledger.js +232 -29
- package/dist/resources/admission-ledger.js.map +1 -1
- package/dist/resources/hook-footprint.d.ts +2 -1
- package/dist/resources/hook-footprint.d.ts.map +1 -1
- package/dist/resources/hook-footprint.js +11 -2
- package/dist/resources/hook-footprint.js.map +1 -1
- package/dist/resources/run-admission.d.ts +15 -0
- package/dist/resources/run-admission.d.ts.map +1 -1
- package/dist/resources/run-admission.js.map +1 -1
- package/dist/resources/run-class.d.ts +74 -7
- package/dist/resources/run-class.d.ts.map +1 -1
- package/dist/resources/run-class.js +147 -16
- package/dist/resources/run-class.js.map +1 -1
- package/dist/resources/run-governed.d.ts +33 -2
- package/dist/resources/run-governed.d.ts.map +1 -1
- package/dist/resources/run-governed.js +142 -28
- package/dist/resources/run-governed.js.map +1 -1
- package/dist/tasks/ac-immutability.d.ts +32 -4
- package/dist/tasks/ac-immutability.d.ts.map +1 -1
- package/dist/tasks/ac-immutability.js +62 -6
- package/dist/tasks/ac-immutability.js.map +1 -1
- package/dist/tasks/add.d.ts +3 -0
- package/dist/tasks/add.d.ts.map +1 -1
- package/dist/tasks/add.js +29 -0
- package/dist/tasks/add.js.map +1 -1
- package/dist/tasks/affected-scope.d.ts +10 -4
- package/dist/tasks/affected-scope.d.ts.map +1 -1
- package/dist/tasks/affected-scope.js +85 -40
- package/dist/tasks/affected-scope.js.map +1 -1
- package/dist/tasks/child-disposition.d.ts +18 -1
- package/dist/tasks/child-disposition.d.ts.map +1 -1
- package/dist/tasks/child-disposition.js +26 -1
- package/dist/tasks/child-disposition.js.map +1 -1
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +5 -2
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/compute-task-view.d.ts.map +1 -1
- package/dist/tasks/compute-task-view.js +8 -3
- package/dist/tasks/compute-task-view.js.map +1 -1
- package/dist/tasks/done-plan.d.ts.map +1 -1
- package/dist/tasks/done-plan.js +7 -1
- package/dist/tasks/done-plan.js.map +1 -1
- package/dist/tasks/evidence.d.ts +26 -7
- package/dist/tasks/evidence.d.ts.map +1 -1
- package/dist/tasks/evidence.js +46 -8
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/gate-notes.d.ts +93 -1
- package/dist/tasks/gate-notes.d.ts.map +1 -1
- package/dist/tasks/gate-notes.js +142 -0
- package/dist/tasks/gate-notes.js.map +1 -1
- package/dist/tasks/task-reparent.d.ts.map +1 -1
- package/dist/tasks/task-reparent.js +23 -0
- package/dist/tasks/task-reparent.js.map +1 -1
- package/dist/tasks/update.d.ts.map +1 -1
- package/dist/tasks/update.js +41 -1
- package/dist/tasks/update.js.map +1 -1
- package/dist/tasks/verification-policy.d.ts +7 -24
- package/dist/tasks/verification-policy.d.ts.map +1 -1
- package/dist/tasks/verification-policy.js +12 -29
- package/dist/tasks/verification-policy.js.map +1 -1
- package/dist/validation/engine-ops.d.ts.map +1 -1
- package/dist/validation/engine-ops.js +8 -7
- package/dist/validation/engine-ops.js.map +1 -1
- package/package.json +13 -13
|
@@ -94,6 +94,12 @@ export interface RunGovernedDeps {
|
|
|
94
94
|
readonly jobsDir: string;
|
|
95
95
|
/** The runner's parent pid, recorded with a signal the runner received (T13680). */
|
|
96
96
|
readonly ppid: number;
|
|
97
|
+
/**
|
|
98
|
+
* The runner's parent pid now (T14080). When it no longer equals
|
|
99
|
+
* {@link RunGovernedDeps.ppid}, the parent died (a wrapper shell SIGKILLed
|
|
100
|
+
* by a harness) and the runner stops its child. @defaultValue process.ppid
|
|
101
|
+
*/
|
|
102
|
+
readonly currentPpid: () => number;
|
|
97
103
|
/** The admission ledger's entries (for the `running[]` of a deferral). */
|
|
98
104
|
readonly ledger: () => readonly LedgerEntry[];
|
|
99
105
|
readonly pid: number;
|
|
@@ -105,11 +111,23 @@ export interface RunGovernedDeps {
|
|
|
105
111
|
readonly treeUsage: (pid: number, withCommands?: boolean) => ProcessTreeUsage | null;
|
|
106
112
|
/** Where hook measurements are kept (T13921). @defaultValue the admission directory */
|
|
107
113
|
readonly hookFootprintsDir: string;
|
|
114
|
+
/**
|
|
115
|
+
* Whether a git hook is installed for the run's checkout (T14093).
|
|
116
|
+
* @defaultValue probes `opts.cwd` with `gitHookInstalled`
|
|
117
|
+
*/
|
|
118
|
+
readonly hookInstalled?: (hook: string, globals: readonly string[]) => boolean;
|
|
108
119
|
}
|
|
109
120
|
/** How often the watchdog measures the child's process tree (T13563). */
|
|
110
121
|
export declare const TREE_SAMPLE_MS = 30000;
|
|
111
122
|
/** How often a run that measures its hook's peak samples its tree (T13921). */
|
|
112
123
|
export declare const HOOK_SAMPLE_MS = 5000;
|
|
124
|
+
/**
|
|
125
|
+
* How recently an enclosing runner must have forwarded a signal to its child's
|
|
126
|
+
* group for a nested runner to treat the same signal as that delivery (T13002).
|
|
127
|
+
*/
|
|
128
|
+
export declare const GROUP_SIGNAL_WINDOW_MS = 2000;
|
|
129
|
+
/** How long a run whose parent died gets after SIGTERM before SIGKILL (T14080). */
|
|
130
|
+
export declare const PARENT_GONE_KILL_MS = 10000;
|
|
113
131
|
/** Options for {@link runGoverned}. */
|
|
114
132
|
export interface RunGovernedOptions {
|
|
115
133
|
readonly argv: readonly string[];
|
|
@@ -157,11 +175,19 @@ export interface RunGovernedOptions {
|
|
|
157
175
|
* Never SIGSTOP this run (`cleo run --no-pause`, T14075): a test with
|
|
158
176
|
* wall-clock deadlines (an external database, a child timeout) fails if it
|
|
159
177
|
* is frozen mid-run. It is admitted and charged like any run of its class,
|
|
160
|
-
* and since pressure cannot pause it later,
|
|
161
|
-
*
|
|
178
|
+
* and since pressure cannot pause it later, at `backoff` the ledger starts
|
|
179
|
+
* it only by the idle rule (T14098): one at a time, in queue order, while no
|
|
180
|
+
* CLEO run is admitted and its charge fits the reclaimable memory. Otherwise
|
|
181
|
+
* it waits (with `wait`) or is deferred.
|
|
162
182
|
* @defaultValue false
|
|
163
183
|
*/
|
|
164
184
|
readonly noPause?: boolean;
|
|
185
|
+
/**
|
|
186
|
+
* The run is meant to outlive the process that started it (`nohup`, a
|
|
187
|
+
* launcher script that exits): it is exempt from the parent-death stop
|
|
188
|
+
* (T14080) and keeps running when its parent exits. @defaultValue false
|
|
189
|
+
*/
|
|
190
|
+
readonly detach?: boolean;
|
|
165
191
|
/**
|
|
166
192
|
* The git hook or heavy `node` script the command carries
|
|
167
193
|
* (`planRunFootprint`'s `hookKey`): its tree is sampled every
|
|
@@ -219,6 +245,11 @@ export type RunGovernedResult = {
|
|
|
219
245
|
readonly runnerSignal: RunnerSignal | null;
|
|
220
246
|
/** True exactly when the run waited in the queue and said "admitted after" (T13681). */
|
|
221
247
|
readonly queued: boolean;
|
|
248
|
+
/**
|
|
249
|
+
* Why the run was never paused under pressure, when it may not be
|
|
250
|
+
* (T14093): `--no-pause`, or it runs tests on wall-clock deadlines.
|
|
251
|
+
*/
|
|
252
|
+
readonly notPausable?: string;
|
|
222
253
|
};
|
|
223
254
|
export { governorIoError } from './governor.js';
|
|
224
255
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-governed.d.ts","sourceRoot":"","sources":["../../src/resources/run-governed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAyB,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjG,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"run-governed.d.ts","sourceRoot":"","sources":["../../src/resources/run-governed.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,12 +44,13 @@
|
|
|
44
44
|
import { spawn as nodeSpawn } from 'node:child_process';
|
|
45
45
|
import { setPriority } from 'node:os';
|
|
46
46
|
import { detectTestRunner, GovernedRunInTestRunnerError } from '../tasks/tool-runner-guard.js';
|
|
47
|
-
import { ADMISSION_ENV, admissionDir, admit, describeAdmissionIoError, footprintForClass, isLedgerClass, readLedger, } from './admission-ledger.js';
|
|
47
|
+
import { ADMISSION_ENV, admissionDir, admit, describeAdmissionIoError, footprintForClass, gitHookInstalled, isLedgerClass, readLedger, } from './admission-ledger.js';
|
|
48
48
|
import { admitFailOpen, governor } from './governor.js';
|
|
49
49
|
import { recordHookPeak } from './hook-footprint.js';
|
|
50
50
|
import { classifyPressure, pressureScore, ResourceMonitor } from './monitor.js';
|
|
51
51
|
import { MEMORY_GATE_RETRY_AFTER_MS, memoryGateReporter } from './pressure-gate.js';
|
|
52
52
|
import { buildRunDeferral, decidePause, isPausable, listRunJobs, parentRunJob, processAncestors, processGroupOf, processStart, processTreeUsage, RUN_WATCH_START, reapOrphans, redactCommand, removeRunJob, runJobsDir, runningEntries, runWatchLimits, signalGroup, signalPid, watchRun, writeRunJob, } from './run-admission.js';
|
|
53
|
+
import { testPauseExemption } from './run-class.js';
|
|
53
54
|
import { trackToolGroup } from './tool-groups.js';
|
|
54
55
|
import { memoryPressureCause } from './top-memory.js';
|
|
55
56
|
/** Niceness applied to the command (children inherit it). */
|
|
@@ -58,6 +59,13 @@ export const RUN_NICENESS = 10;
|
|
|
58
59
|
export const TREE_SAMPLE_MS = 30_000;
|
|
59
60
|
/** How often a run that measures its hook's peak samples its tree (T13921). */
|
|
60
61
|
export const HOOK_SAMPLE_MS = 5_000;
|
|
62
|
+
/**
|
|
63
|
+
* How recently an enclosing runner must have forwarded a signal to its child's
|
|
64
|
+
* group for a nested runner to treat the same signal as that delivery (T13002).
|
|
65
|
+
*/
|
|
66
|
+
export const GROUP_SIGNAL_WINDOW_MS = 2_000;
|
|
67
|
+
/** How long a run whose parent died gets after SIGTERM before SIGKILL (T14080). */
|
|
68
|
+
export const PARENT_GONE_KILL_MS = 10_000;
|
|
61
69
|
// The classifier moved to the governor, which every admission shares (R8-1).
|
|
62
70
|
export { governorIoError } from './governor.js';
|
|
63
71
|
/**
|
|
@@ -121,6 +129,7 @@ function defaultDeps() {
|
|
|
121
129
|
},
|
|
122
130
|
jobsDir: runJobsDir(),
|
|
123
131
|
ppid: process.ppid,
|
|
132
|
+
currentPpid: () => process.ppid,
|
|
124
133
|
ledger: () => readLedger(),
|
|
125
134
|
pid: process.pid,
|
|
126
135
|
groupOf: processGroupOf,
|
|
@@ -167,6 +176,11 @@ export async function runGoverned(opts) {
|
|
|
167
176
|
throw new GovernedRunInTestRunnerError(command, marker);
|
|
168
177
|
}
|
|
169
178
|
const d = { ...defaultDeps(), ...opts.deps };
|
|
179
|
+
// T14093: a run is never paused when asked (`--no-pause`, T14075) or when it
|
|
180
|
+
// runs tests on wall-clock deadlines (a test run, a hooked push or commit).
|
|
181
|
+
const hookInstalled = d.hookInstalled ??
|
|
182
|
+
((hook, globals) => gitHookInstalled(opts.cwd, hook, globals));
|
|
183
|
+
const neverPause = opts.noPause === true ? '--no-pause' : testPauseExemption(opts.cls, opts.argv, hookInstalled);
|
|
170
184
|
const notice = opts.notice ?? (() => { });
|
|
171
185
|
const t0 = d.now();
|
|
172
186
|
// ---- 1. admission -------------------------------------------------------
|
|
@@ -179,14 +193,31 @@ export async function runGoverned(opts) {
|
|
|
179
193
|
// its own slot (round 4, MED-1). Either way its child stays in the
|
|
180
194
|
// enclosing group, is never paused on its own, and is signalled by pid
|
|
181
195
|
// (round 5, N1). See {@link parentRunJob} for why this can't be forged.
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
196
|
+
// T12994: note whether `ps` failed, so a nested run that could not see its
|
|
197
|
+
// enclosing job re-checks on every queue poll instead of waiting on it.
|
|
198
|
+
let psFailed = false;
|
|
199
|
+
const detectEnclosing = () => {
|
|
200
|
+
psFailed = false;
|
|
201
|
+
return parentRunJob({
|
|
202
|
+
pid: d.pid,
|
|
203
|
+
jobsDir: d.jobsDir,
|
|
204
|
+
probes: probesOf(d),
|
|
205
|
+
groupOf: (pid) => {
|
|
206
|
+
const g = d.groupOf(pid);
|
|
207
|
+
if (g === null)
|
|
208
|
+
psFailed = true;
|
|
209
|
+
return g;
|
|
210
|
+
},
|
|
211
|
+
ancestorsOf: (pid) => {
|
|
212
|
+
const a = d.ancestorsOf(pid);
|
|
213
|
+
if (a === null)
|
|
214
|
+
psFailed = true;
|
|
215
|
+
return a;
|
|
216
|
+
},
|
|
217
|
+
});
|
|
218
|
+
};
|
|
219
|
+
let enclosing = detectEnclosing();
|
|
220
|
+
let nested = enclosing !== null;
|
|
190
221
|
// Fail open (#1781 review, HIGH): when admission state cannot be written (Codex's
|
|
191
222
|
// workspace-write sandbox, Claude Code's sandboxed Bash, a read-only CLEO home), run the command
|
|
192
223
|
// ungoverned instead of failing a test that would have passed. Only filesystem errors; anything
|
|
@@ -252,11 +283,14 @@ export async function runGoverned(opts) {
|
|
|
252
283
|
// T14075: a run that may never be paused starts only below backoff, so
|
|
253
284
|
// pressure keeps it queued instead of freezing it mid-run. A nested run
|
|
254
285
|
// rides its enclosing admission and is never paused on its own anyway.
|
|
255
|
-
|
|
286
|
+
// T14093: so is a run that executes tests on wall-clock deadlines.
|
|
287
|
+
// T14098: a ledger class is held by the ledger instead, whose idle rule
|
|
288
|
+
// starts it while CLEO holds nothing (the pressure is someone else's).
|
|
289
|
+
if (neverPause !== null && !nested && !isLedgerClass(opts.cls)) {
|
|
256
290
|
let said = false;
|
|
257
291
|
while (classifyPressure(sample).state === 'backoff') {
|
|
258
|
-
const reason = `machine at backoff (${classifyPressure(sample).reason}); a
|
|
259
|
-
|
|
292
|
+
const reason = `machine at backoff (${classifyPressure(sample).reason}); a run that is never paused ` +
|
|
293
|
+
`(${neverPause}) starts only below backoff`;
|
|
260
294
|
if (!opts.wait)
|
|
261
295
|
return deferral(opts, d, reason, MEMORY_GATE_RETRY_AFTER_MS, sample, null);
|
|
262
296
|
if (!said)
|
|
@@ -287,6 +321,7 @@ export async function runGoverned(opts) {
|
|
|
287
321
|
// T13237: one full-build machine-wide, whatever its footprint.
|
|
288
322
|
...(opts.cls === 'full-build' ? { exclusive: true } : {}),
|
|
289
323
|
...(opts.urgent === true ? { urgent: true } : {}),
|
|
324
|
+
...(neverPause !== null && !nested ? { neverPause: true } : {}),
|
|
290
325
|
command,
|
|
291
326
|
cwd: opts.cwd,
|
|
292
327
|
}, {
|
|
@@ -344,6 +379,11 @@ export async function runGoverned(opts) {
|
|
|
344
379
|
if (grant.nested) {
|
|
345
380
|
notice('nested in an admitted run: riding its admission, inside its process tree', 'info');
|
|
346
381
|
}
|
|
382
|
+
else if (grant.admittedBy === 'idle') {
|
|
383
|
+
queued = grant.waitedMs >= 1_000 && opts.wait === true;
|
|
384
|
+
notice('admitted by the idle rule: no CLEO run was admitted and its charge fits the reclaimable ' +
|
|
385
|
+
'memory, so it starts while pressure outside CLEO keeps the budget closed (one at a time)', 'warn');
|
|
386
|
+
}
|
|
347
387
|
else if (grant.waitedMs >= 1_000 && opts.wait) {
|
|
348
388
|
queued = true;
|
|
349
389
|
notice(`admitted after ${Math.round(grant.waitedMs / 1000)}s in the queue`, 'warn');
|
|
@@ -380,33 +420,54 @@ export async function runGoverned(opts) {
|
|
|
380
420
|
return Promise.race([pending, queueStopped]);
|
|
381
421
|
};
|
|
382
422
|
let result = await tryAcquire(sample);
|
|
423
|
+
let rideParent = null;
|
|
383
424
|
while (result?.deferred && opts.wait && !queueEnded()) {
|
|
384
425
|
await d.sleep(Math.min(opts.queuePollMs ?? 1000, deadline - d.now()), queueAbort.signal);
|
|
385
426
|
if (queueEnded())
|
|
386
427
|
return endQueue();
|
|
428
|
+
if (enclosing === null && psFailed) {
|
|
429
|
+
// T12994: the first detection could not read the process tree; a
|
|
430
|
+
// nested run must not wait for its own enclosing job's slot.
|
|
431
|
+
const found = detectEnclosing();
|
|
432
|
+
if (found !== null) {
|
|
433
|
+
enclosing = found;
|
|
434
|
+
nested = true;
|
|
435
|
+
if (found.class === opts.cls) {
|
|
436
|
+
rideParent = found;
|
|
437
|
+
break;
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
}
|
|
387
441
|
const next = await Promise.race([d.sample(), queueStopped]);
|
|
388
442
|
if (next === null || queueEnded())
|
|
389
443
|
return endQueue();
|
|
390
444
|
sample = next;
|
|
391
445
|
result = await tryAcquire(sample);
|
|
392
446
|
}
|
|
393
|
-
if (
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
}
|
|
398
|
-
return endQueue();
|
|
447
|
+
if (rideParent !== null) {
|
|
448
|
+
// T12994: nested in a job of the same class after all: ride its slot.
|
|
449
|
+
notice(`nested in a running ${rideParent.class} job (${rideParent.command}): running on its slot`, 'info');
|
|
450
|
+
admission = { release: async () => { }, slot: -1, token: '', holdsShare: false };
|
|
399
451
|
}
|
|
400
|
-
|
|
401
|
-
|
|
452
|
+
else {
|
|
453
|
+
if (result === null || queueEnded()) {
|
|
454
|
+
if (result !== null && !result.deferred) {
|
|
455
|
+
const acquired = result;
|
|
456
|
+
releaseLate(() => acquired.release());
|
|
457
|
+
}
|
|
458
|
+
return endQueue();
|
|
459
|
+
}
|
|
460
|
+
if (result.deferred) {
|
|
461
|
+
return deferral(opts, d, result.reason, result.retryAfterMs, sample, null, result.memoryPressure ?? null);
|
|
462
|
+
}
|
|
463
|
+
const granted = result;
|
|
464
|
+
admission = {
|
|
465
|
+
release: () => granted.release(),
|
|
466
|
+
slot: granted.slot,
|
|
467
|
+
token: '',
|
|
468
|
+
holdsShare: true,
|
|
469
|
+
};
|
|
402
470
|
}
|
|
403
|
-
const granted = result;
|
|
404
|
-
admission = {
|
|
405
|
-
release: () => granted.release(),
|
|
406
|
-
slot: granted.slot,
|
|
407
|
-
token: '',
|
|
408
|
-
holdsShare: true,
|
|
409
|
-
};
|
|
410
471
|
}
|
|
411
472
|
}
|
|
412
473
|
if (queueEnded()) {
|
|
@@ -428,7 +489,12 @@ export async function runGoverned(opts) {
|
|
|
428
489
|
const leadsGroup = !nested && opts.foreground !== true;
|
|
429
490
|
// Ungoverned, it holds no slot and keeps no reliable record: never paused
|
|
430
491
|
// either. T14075: nor is a run that asked not to be (`--no-pause`).
|
|
431
|
-
const pausable = leadsGroup &&
|
|
492
|
+
const pausable = leadsGroup &&
|
|
493
|
+
ungoverned === null &&
|
|
494
|
+
neverPause === null &&
|
|
495
|
+
isPausable(opts.cls, opts.argv, hookInstalled);
|
|
496
|
+
if (neverPause !== null && leadsGroup)
|
|
497
|
+
notice(`never paused: ${neverPause}`, 'info');
|
|
432
498
|
const [file, ...args] = opts.argv;
|
|
433
499
|
// No inherited grant marker (#1777 round 2): every nested `cleo run` is
|
|
434
500
|
// admitted on its own; verify joins the same budgets with #1775 (T12963).
|
|
@@ -456,6 +522,7 @@ export async function runGoverned(opts) {
|
|
|
456
522
|
parentJob: enclosing?.id ?? null,
|
|
457
523
|
holdsSlot: grant.holdsShare,
|
|
458
524
|
leadsGroup,
|
|
525
|
+
...(opts.detach === true ? { detached: true } : {}),
|
|
459
526
|
};
|
|
460
527
|
writeRunJob(job, d.jobsDir);
|
|
461
528
|
let exited = false;
|
|
@@ -515,6 +582,19 @@ export async function runGoverned(opts) {
|
|
|
515
582
|
// runners treat as force-quit (#1777 R8). SIGTERM and SIGHUP still go.
|
|
516
583
|
if (opts.foreground === true && signal === 'SIGINT')
|
|
517
584
|
return;
|
|
585
|
+
// T13002: a nested child shares this runner's group. When the enclosing
|
|
586
|
+
// runner just forwarded this signal to that whole group, or the enclosing
|
|
587
|
+
// job runs in a terminal's foreground group that a Ctrl-C reached, the
|
|
588
|
+
// child already got it: forwarding again would deliver it twice. A signal
|
|
589
|
+
// sent to this runner alone still goes to its child.
|
|
590
|
+
if (nested && enclosing !== null && groupAlreadyDelivered(signal, enclosing))
|
|
591
|
+
return;
|
|
592
|
+
if (leadsGroup) {
|
|
593
|
+
// T13002: tell nested runners in the child's group this delivery reached them.
|
|
594
|
+
job = { ...job, forwardedSignal: { signal, atMs: d.now() } };
|
|
595
|
+
if (!exited)
|
|
596
|
+
writeRunJob(job, d.jobsDir);
|
|
597
|
+
}
|
|
518
598
|
notice(`runner received ${signal} (its parent pid ${d.ppid}); forwarding it to pid ${childPid}`, 'warn');
|
|
519
599
|
forwardTo(childPid, 'SIGCONT');
|
|
520
600
|
forwardTo(childPid, signal);
|
|
@@ -563,6 +643,38 @@ export async function runGoverned(opts) {
|
|
|
563
643
|
hungAtMs: watch.hungAtMs,
|
|
564
644
|
};
|
|
565
645
|
};
|
|
646
|
+
/**
|
|
647
|
+
* T13002: whether a signal this nested runner received was a group delivery
|
|
648
|
+
* its child got too: the enclosing runner recorded forwarding it to the group
|
|
649
|
+
* moments ago, or it is a SIGINT in an enclosing foreground (terminal) group.
|
|
650
|
+
*/
|
|
651
|
+
function groupAlreadyDelivered(signal, parent) {
|
|
652
|
+
if (signal === 'SIGINT' && parent.leadsGroup === false && (parent.parentJob ?? null) === null) {
|
|
653
|
+
return true;
|
|
654
|
+
}
|
|
655
|
+
const current = listRunJobs(d.jobsDir, probesOf(d)).find((j) => j.id === parent.id);
|
|
656
|
+
const sent = current?.forwardedSignal;
|
|
657
|
+
return (sent !== undefined && sent.signal === signal && d.now() - sent.atMs <= GROUP_SIGNAL_WINDOW_MS);
|
|
658
|
+
}
|
|
659
|
+
// T14080: the runner's parent died (a wrapper shell SIGKILLed by a harness
|
|
660
|
+
// TaskStop): nothing will wait for this run, so stop its child. SIGTERM
|
|
661
|
+
// first, SIGKILL after a grace; the exit path then releases the charge.
|
|
662
|
+
let parentGoneAtMs = null;
|
|
663
|
+
const checkParent = (now) => {
|
|
664
|
+
if (childPid === undefined || exited || opts.detach === true)
|
|
665
|
+
return;
|
|
666
|
+
if (parentGoneAtMs === null) {
|
|
667
|
+
if (d.currentPpid() === d.ppid)
|
|
668
|
+
return;
|
|
669
|
+
parentGoneAtMs = now;
|
|
670
|
+
notice(`its parent process (pid ${d.ppid}) is gone; stopping the command (pid ${childPid}) and releasing its reservation`, 'warn');
|
|
671
|
+
forwardTo(childPid, 'SIGCONT');
|
|
672
|
+
forwardTo(childPid, 'SIGTERM');
|
|
673
|
+
}
|
|
674
|
+
else if (now - parentGoneAtMs >= PARENT_GONE_KILL_MS) {
|
|
675
|
+
forwardTo(childPid, 'SIGKILL');
|
|
676
|
+
}
|
|
677
|
+
};
|
|
566
678
|
const stopTimers = new AbortController();
|
|
567
679
|
void exit.then(() => stopTimers.abort());
|
|
568
680
|
const supervise = async () => {
|
|
@@ -573,6 +685,7 @@ export async function runGoverned(opts) {
|
|
|
573
685
|
]);
|
|
574
686
|
if (woke === 'exit' || exited || childPid === undefined)
|
|
575
687
|
return;
|
|
688
|
+
checkParent(d.now());
|
|
576
689
|
// Before the pressure sample: a failed sample must not hide a hung run.
|
|
577
690
|
watchdog(d.now());
|
|
578
691
|
let s;
|
|
@@ -651,6 +764,7 @@ export async function runGoverned(opts) {
|
|
|
651
764
|
ungoverned,
|
|
652
765
|
runnerSignal,
|
|
653
766
|
queued,
|
|
767
|
+
...(neverPause !== null ? { notPausable: neverPause } : {}),
|
|
654
768
|
};
|
|
655
769
|
}
|
|
656
770
|
function interrupted(signal) {
|
|
@@ -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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"}
|
|
@@ -59,7 +59,32 @@ export interface AcceptanceChangeAuditEntry {
|
|
|
59
59
|
* `CLEO_AGENT_ID` and falling back to `"cleo"` when unset.
|
|
60
60
|
*/
|
|
61
61
|
agent: string;
|
|
62
|
+
/**
|
|
63
|
+
* `append` when every existing criterion was kept byte-for-byte and new ones
|
|
64
|
+
* were added after them (T12237, no reason needed); `override` when an
|
|
65
|
+
* existing criterion was removed or altered under `--reason`. Absent on
|
|
66
|
+
* records written before T12237 (all overrides).
|
|
67
|
+
*/
|
|
68
|
+
change?: 'append' | 'override';
|
|
62
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Whether an acceptance update only appends: every existing criterion kept,
|
|
72
|
+
* byte-for-byte and in place, and one or more added after them (T12237). It
|
|
73
|
+
* makes closure strictly harder, the opposite of the reframing the lock stops.
|
|
74
|
+
*
|
|
75
|
+
* @param before - The criteria before the update.
|
|
76
|
+
* @param after - The criteria the update writes.
|
|
77
|
+
* @returns `true` for a pure append.
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```ts
|
|
81
|
+
* isAcceptanceAppend(['A', 'B'], ['A', 'B', 'C']); // true
|
|
82
|
+
* isAcceptanceAppend(['A', 'B'], ['A', 'C']); // false: B was removed
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* @task T12237
|
|
86
|
+
*/
|
|
87
|
+
export declare function isAcceptanceAppend(before: readonly AcceptanceItem[], after: readonly AcceptanceItem[]): boolean;
|
|
63
88
|
/**
|
|
64
89
|
* Check whether a task's pipeline stage locks acceptance-criteria changes.
|
|
65
90
|
*
|
|
@@ -111,10 +136,13 @@ export interface EnforceAcceptanceImmutabilityOptions {
|
|
|
111
136
|
* - When the task is not in a locked stage, the call is a no-op.
|
|
112
137
|
* - When the new AC is structurally identical to the existing AC, the call
|
|
113
138
|
* is a no-op (idempotent updates are always allowed).
|
|
114
|
-
* - When the
|
|
115
|
-
* a
|
|
116
|
-
* - When
|
|
117
|
-
*
|
|
139
|
+
* - When the update only appends criteria ({@link isAcceptanceAppend}), it is
|
|
140
|
+
* allowed without a reason and audited as `change: 'append'` (T12237).
|
|
141
|
+
* - When it removes or alters an existing criterion and `reason` is missing
|
|
142
|
+
* or empty, a {@link CleoError} with {@link ExitCode.AC_LOCKED} is thrown,
|
|
143
|
+
* naming the criteria it would change.
|
|
144
|
+
* - When it removes or alters one and `reason` is provided, an audit entry
|
|
145
|
+
* (`change: 'override'`) is appended to `.cleo/audit/ac-changes.jsonl`.
|
|
118
146
|
*
|
|
119
147
|
* @param options - {@link EnforceAcceptanceImmutabilityOptions}.
|
|
120
148
|
* @returns Authorization snapshot for the transaction audit, or undefined when no override applies.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ac-immutability.d.ts","sourceRoot":"","sources":["../../src/tasks/ac-immutability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAKhE;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAM/C,CAAC;AAEH,sEAAsE;AACtE,eAAO,MAAM,qBAAqB,iCAAiC,CAAC;AAEpE;;;;;;;;GAQG;AACH,MAAM,WAAW,0BAA0B;IACzC,qFAAqF;IACrF,MAAM,CAAC,EAAE,uBAAuB,GAAG,WAAW,CAAC;IAC/C,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,mEAAmE;IACnE,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ac-immutability.d.ts","sourceRoot":"","sources":["../../src/tasks/ac-immutability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAKhE;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAM/C,CAAC;AAEH,sEAAsE;AACtE,eAAO,MAAM,qBAAqB,iCAAiC,CAAC;AAEpE;;;;;;;;GAQG;AACH,MAAM,WAAW,0BAA0B;IACzC,qFAAqF;IACrF,MAAM,CAAC,EAAE,uBAAuB,GAAG,WAAW,CAAC;IAC/C,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,mEAAmE;IACnE,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,cAAc,EAAE,EACjC,KAAK,EAAE,SAAS,cAAc,EAAE,GAC/B,OAAO,CAIT;AAeD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE5E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,GAAG,SAAS,EACtC,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,GAAG,SAAS,GACrC,OAAO,CAcT;AAED;;;;GAIG;AACH,MAAM,WAAW,oCAAoC;IACnD,gFAAgF;IAChF,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,eAAe,GAAG,YAAY,CAAC,CAAC;IACxD,gFAAgF;IAChF,aAAa,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IAC5C,6EAA6E;IAC7E,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAsBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,oCAAoC,GAC5C,0BAA0B,GAAG,SAAS,CA6ExC"}
|