instar 1.3.1347 → 1.3.1348
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/core/SingleInstanceLock.d.ts +62 -0
- package/dist/core/SingleInstanceLock.d.ts.map +1 -1
- package/dist/core/SingleInstanceLock.js +89 -4
- package/dist/core/SingleInstanceLock.js.map +1 -1
- package/dist/data/standards-guard-index.json +1 -1
- package/dist/data/standards-guard-index.meta.json +2 -2
- package/dist/data/standards-registry.meta.json +1 -1
- package/dist/lifeline/ServerSupervisor.d.ts +2 -0
- package/dist/lifeline/ServerSupervisor.d.ts.map +1 -1
- package/dist/lifeline/ServerSupervisor.js +42 -3
- package/dist/lifeline/ServerSupervisor.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/src/data/standards-guard-index.json +1 -1
- package/src/data/standards-guard-index.meta.json +2 -2
- package/src/data/standards-registry.meta.json +1 -1
- package/upgrades/1.3.1348.md +24 -0
- package/upgrades/side-effects/single-instance-lock-pid-reuse.md +170 -0
|
@@ -32,6 +32,17 @@ interface InstanceLockRecord {
|
|
|
32
32
|
pid: number;
|
|
33
33
|
hostname: string;
|
|
34
34
|
heartbeat: number;
|
|
35
|
+
/**
|
|
36
|
+
* Holder process START TIME (ms epoch, 1s resolution, from `ps -o lstart=`). PID-REUSE GUARD: a
|
|
37
|
+
* pid alone cannot identify a process on a host that churns pids — Justin's
|
|
38
|
+
* laptop wraps the whole pid space every 5-11 minutes, so a dead holder's pid
|
|
39
|
+
* is continuously re-issued to unrelated live processes and `pidAlive()`
|
|
40
|
+
* answers "still running" forever. That wedged `inspec` dark for ~35h and
|
|
41
|
+
* ~3.5h on 2026-10-12 (42 consecutive refused spawns). Optional so a lock
|
|
42
|
+
* written by an older build still reads — such a record falls back to the
|
|
43
|
+
* historical pid-only verdict.
|
|
44
|
+
*/
|
|
45
|
+
startedAt?: number;
|
|
35
46
|
}
|
|
36
47
|
export interface SingleInstanceLockResult {
|
|
37
48
|
acquired: boolean;
|
|
@@ -48,6 +59,13 @@ export interface SingleInstanceLockDeps {
|
|
|
48
59
|
now?: () => number;
|
|
49
60
|
hostname?: () => string;
|
|
50
61
|
pidAlive?: (pid: number) => boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Start time (ms epoch) of an arbitrary pid, or null when it cannot be read.
|
|
64
|
+
* Backs the pid-reuse guard; tests override. Default: the shared `ps -o lstart=` read.
|
|
65
|
+
*/
|
|
66
|
+
pidStartedAt?: (pid: number) => number | null;
|
|
67
|
+
/** Start time (ms epoch) of THIS process, or null if unreadable (tests override). */
|
|
68
|
+
selfStartedAt?: () => number | null;
|
|
51
69
|
/** Host-local FS probe (tests override). */
|
|
52
70
|
isStateDirHostLocal?: (stateDir: string) => boolean;
|
|
53
71
|
/** Deploy-handoff grace (ms) to wait for an outgoing same-host holder. Default 8000. */
|
|
@@ -76,11 +94,37 @@ export interface SingleInstanceLockDeps {
|
|
|
76
94
|
}
|
|
77
95
|
/** `df -P` host-local classifier (FAIL-CLOSED) — same contract as ResumeQueue/semaphore. */
|
|
78
96
|
export declare function isStateDirHostLocalForLock(stateDir: string): boolean;
|
|
97
|
+
/**
|
|
98
|
+
* PID-REUSE GUARD tolerance. The test is ONE-SIDED: a candidate is "not the
|
|
99
|
+
* holder" only when its observed start POSTDATES the recorded start by more
|
|
100
|
+
* than this. A reused pid is always newer than the holder it replaced, so the
|
|
101
|
+
* backward direction carries no detection power and is the only direction that
|
|
102
|
+
* could ever evict a genuinely live holder — it is deliberately not tested.
|
|
103
|
+
* The skew reuses the host test-runner semaphore's value: both sides are
|
|
104
|
+
* `ps -o lstart=` readings (1s resolution), and the width absorbs a wall-clock
|
|
105
|
+
* step between the lock write and the probe (on Linux `lstart` is boot-relative
|
|
106
|
+
* and moves with the clock). A pid reused within this window of its holder's
|
|
107
|
+
* start is the accepted residual miss; pid reuse on a churning host happens
|
|
108
|
+
* minutes apart, which is exactly the case this exists to catch.
|
|
109
|
+
*/
|
|
110
|
+
export declare const PID_START_MISMATCH_MS = 120000;
|
|
111
|
+
/**
|
|
112
|
+
* Absolute start time (ms epoch) of `pid`, or null when it cannot be read
|
|
113
|
+
* (process gone, ps unavailable, unparseable). Rides the SAME primitive the host
|
|
114
|
+
* test-runner semaphore already uses for its own pid-reuse corroboration
|
|
115
|
+
* (`gatherPidEvidence` → `ps -o lstart=` + `Date.parse`), so the two call sites
|
|
116
|
+
* cannot drift apart in how they read a start time.
|
|
117
|
+
*/
|
|
118
|
+
export declare function readPidStartedAt(pid: number, pidAlive?: (pid: number) => boolean): number | null;
|
|
119
|
+
/** THIS process's absolute start time via the same `lstart` read; null if unreadable. */
|
|
120
|
+
export declare function readSelfStartedAt(): number | null;
|
|
79
121
|
export declare class SingleInstanceLock {
|
|
80
122
|
private readonly stateDir;
|
|
81
123
|
private readonly now;
|
|
82
124
|
private readonly host;
|
|
83
125
|
private readonly pidAlive;
|
|
126
|
+
private readonly pidStartedAt;
|
|
127
|
+
private readonly selfStartedAt;
|
|
84
128
|
private readonly isStateDirHostLocal;
|
|
85
129
|
private readonly handoffGraceMs;
|
|
86
130
|
private readonly pollIntervalMs;
|
|
@@ -92,6 +136,24 @@ export declare class SingleInstanceLock {
|
|
|
92
136
|
private held;
|
|
93
137
|
constructor(deps: SingleInstanceLockDeps);
|
|
94
138
|
lockPath(): string;
|
|
139
|
+
/** Per-`acquire()` memo: a process's start time is immutable, so one probe per pid is enough. */
|
|
140
|
+
private startProbeMemo;
|
|
141
|
+
/**
|
|
142
|
+
* Is `rec` held by a process that is genuinely still running?
|
|
143
|
+
*
|
|
144
|
+
* `pidAlive()` alone is NOT an answer on a pid-churning host: the holder's pid
|
|
145
|
+
* gets re-issued to an unrelated process and the lock reads LIVE forever (the
|
|
146
|
+
* 2026-10-12 inspec wedge). When the record carries a `startedAt`, a candidate
|
|
147
|
+
* whose observed start POSTDATES it by more than the skew is provably a
|
|
148
|
+
* different process.
|
|
149
|
+
*
|
|
150
|
+
* Conservative on every uncertainty — an unreadable start time, or a record
|
|
151
|
+
* from an older build with no `startedAt`, keeps the historical pid-only
|
|
152
|
+
* verdict, because wrongly declaring a live holder dead admits the duplicate
|
|
153
|
+
* instance this lock exists to prevent. The test is one-sided for the same
|
|
154
|
+
* reason (see PID_START_MISMATCH_MS).
|
|
155
|
+
*/
|
|
156
|
+
private holderIsLive;
|
|
95
157
|
/**
|
|
96
158
|
* Try to acquire the single-instance lock. Resolves with `acquired: false`
|
|
97
159
|
* (and a reason) on a genuine duplicate; `acquired: true` on success or a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleInstanceLock.d.ts","sourceRoot":"","sources":["../../src/core/SingleInstanceLock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;
|
|
1
|
+
{"version":3,"file":"SingleInstanceLock.d.ts","sourceRoot":"","sources":["../../src/core/SingleInstanceLock.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,7 @@ import path from 'node:path';
|
|
|
34
34
|
import { execFileSync } from 'node:child_process';
|
|
35
35
|
import { SafeFsExecutor } from './SafeFsExecutor.js';
|
|
36
36
|
import { isAlive } from './ProjectRoundLock.js';
|
|
37
|
+
import { gatherPidEvidence, selfProcessFingerprint, START_TIME_SKEW_MS } from './hostTestRunnerSemaphore.js';
|
|
37
38
|
/** `df -P` host-local classifier (FAIL-CLOSED) — same contract as ResumeQueue/semaphore. */
|
|
38
39
|
export function isStateDirHostLocalForLock(stateDir) {
|
|
39
40
|
let out;
|
|
@@ -61,11 +62,45 @@ export function isStateDirHostLocalForLock(stateDir) {
|
|
|
61
62
|
return true;
|
|
62
63
|
return false;
|
|
63
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* PID-REUSE GUARD tolerance. The test is ONE-SIDED: a candidate is "not the
|
|
67
|
+
* holder" only when its observed start POSTDATES the recorded start by more
|
|
68
|
+
* than this. A reused pid is always newer than the holder it replaced, so the
|
|
69
|
+
* backward direction carries no detection power and is the only direction that
|
|
70
|
+
* could ever evict a genuinely live holder — it is deliberately not tested.
|
|
71
|
+
* The skew reuses the host test-runner semaphore's value: both sides are
|
|
72
|
+
* `ps -o lstart=` readings (1s resolution), and the width absorbs a wall-clock
|
|
73
|
+
* step between the lock write and the probe (on Linux `lstart` is boot-relative
|
|
74
|
+
* and moves with the clock). A pid reused within this window of its holder's
|
|
75
|
+
* start is the accepted residual miss; pid reuse on a churning host happens
|
|
76
|
+
* minutes apart, which is exactly the case this exists to catch.
|
|
77
|
+
*/
|
|
78
|
+
export const PID_START_MISMATCH_MS = START_TIME_SKEW_MS;
|
|
79
|
+
/**
|
|
80
|
+
* Absolute start time (ms epoch) of `pid`, or null when it cannot be read
|
|
81
|
+
* (process gone, ps unavailable, unparseable). Rides the SAME primitive the host
|
|
82
|
+
* test-runner semaphore already uses for its own pid-reuse corroboration
|
|
83
|
+
* (`gatherPidEvidence` → `ps -o lstart=` + `Date.parse`), so the two call sites
|
|
84
|
+
* cannot drift apart in how they read a start time.
|
|
85
|
+
*/
|
|
86
|
+
export function readPidStartedAt(pid, pidAlive = isAlive) {
|
|
87
|
+
if (!Number.isInteger(pid) || pid <= 0)
|
|
88
|
+
return null;
|
|
89
|
+
const v = gatherPidEvidence([pid], pidAlive).startMs.get(pid);
|
|
90
|
+
return typeof v === 'number' && Number.isFinite(v) ? v : null;
|
|
91
|
+
}
|
|
92
|
+
/** THIS process's absolute start time via the same `lstart` read; null if unreadable. */
|
|
93
|
+
export function readSelfStartedAt() {
|
|
94
|
+
const parsed = Date.parse(selfProcessFingerprint().startedAt);
|
|
95
|
+
return Number.isFinite(parsed) ? parsed : null;
|
|
96
|
+
}
|
|
64
97
|
export class SingleInstanceLock {
|
|
65
98
|
stateDir;
|
|
66
99
|
now;
|
|
67
100
|
host;
|
|
68
101
|
pidAlive;
|
|
102
|
+
pidStartedAt;
|
|
103
|
+
selfStartedAt;
|
|
69
104
|
isStateDirHostLocal;
|
|
70
105
|
handoffGraceMs;
|
|
71
106
|
pollIntervalMs;
|
|
@@ -80,6 +115,8 @@ export class SingleInstanceLock {
|
|
|
80
115
|
this.now = deps.now ?? (() => Date.now());
|
|
81
116
|
this.host = (deps.hostname ?? (() => os.hostname()))();
|
|
82
117
|
this.pidAlive = deps.pidAlive ?? isAlive;
|
|
118
|
+
this.pidStartedAt = deps.pidStartedAt ?? ((pid) => readPidStartedAt(pid, this.pidAlive));
|
|
119
|
+
this.selfStartedAt = deps.selfStartedAt ?? readSelfStartedAt;
|
|
83
120
|
this.isStateDirHostLocal = deps.isStateDirHostLocal ?? isStateDirHostLocalForLock;
|
|
84
121
|
this.handoffGraceMs = deps.handoffGraceMs ?? 8000;
|
|
85
122
|
this.pollIntervalMs = deps.pollIntervalMs ?? 250;
|
|
@@ -92,6 +129,42 @@ export class SingleInstanceLock {
|
|
|
92
129
|
lockPath() {
|
|
93
130
|
return path.join(this.stateDir, 'local', 'server-instance.lock');
|
|
94
131
|
}
|
|
132
|
+
/** Per-`acquire()` memo: a process's start time is immutable, so one probe per pid is enough. */
|
|
133
|
+
startProbeMemo = new Map();
|
|
134
|
+
/**
|
|
135
|
+
* Is `rec` held by a process that is genuinely still running?
|
|
136
|
+
*
|
|
137
|
+
* `pidAlive()` alone is NOT an answer on a pid-churning host: the holder's pid
|
|
138
|
+
* gets re-issued to an unrelated process and the lock reads LIVE forever (the
|
|
139
|
+
* 2026-10-12 inspec wedge). When the record carries a `startedAt`, a candidate
|
|
140
|
+
* whose observed start POSTDATES it by more than the skew is provably a
|
|
141
|
+
* different process.
|
|
142
|
+
*
|
|
143
|
+
* Conservative on every uncertainty — an unreadable start time, or a record
|
|
144
|
+
* from an older build with no `startedAt`, keeps the historical pid-only
|
|
145
|
+
* verdict, because wrongly declaring a live holder dead admits the duplicate
|
|
146
|
+
* instance this lock exists to prevent. The test is one-sided for the same
|
|
147
|
+
* reason (see PID_START_MISMATCH_MS).
|
|
148
|
+
*/
|
|
149
|
+
holderIsLive(rec) {
|
|
150
|
+
if (!this.pidAlive(rec.pid))
|
|
151
|
+
return false;
|
|
152
|
+
if (typeof rec.startedAt !== 'number' || !Number.isFinite(rec.startedAt))
|
|
153
|
+
return true;
|
|
154
|
+
let observed = this.startProbeMemo.get(rec.pid);
|
|
155
|
+
if (observed === undefined) {
|
|
156
|
+
observed = this.pidStartedAt(rec.pid);
|
|
157
|
+
this.startProbeMemo.set(rec.pid, observed);
|
|
158
|
+
}
|
|
159
|
+
if (observed === null || !Number.isFinite(observed))
|
|
160
|
+
return true;
|
|
161
|
+
const later = observed - rec.startedAt;
|
|
162
|
+
if (later <= PID_START_MISMATCH_MS)
|
|
163
|
+
return true;
|
|
164
|
+
this.log(`[single-instance] pid ${rec.pid} is alive but started ${Math.round(later / 1000)}s AFTER the recorded ` +
|
|
165
|
+
`holder start — this is a REUSED pid, not the holder. Treating the lock as stale (pid-reuse guard).`);
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
95
168
|
/**
|
|
96
169
|
* Try to acquire the single-instance lock. Resolves with `acquired: false`
|
|
97
170
|
* (and a reason) on a genuine duplicate; `acquired: true` on success or a
|
|
@@ -106,6 +179,7 @@ export class SingleInstanceLock {
|
|
|
106
179
|
this.held = true;
|
|
107
180
|
return { acquired: true, overridden: true };
|
|
108
181
|
}
|
|
182
|
+
this.startProbeMemo.clear();
|
|
109
183
|
const deadline = this.now() + this.handoffGraceMs;
|
|
110
184
|
for (;;) {
|
|
111
185
|
const existing = this.readLock();
|
|
@@ -135,7 +209,7 @@ export class SingleInstanceLock {
|
|
|
135
209
|
// heartbeat is genuinely STALE, and the state dir is `df -P` host-local
|
|
136
210
|
// (the load-bearing guard: a host-local disk cannot be shared by a second
|
|
137
211
|
// host). Fail-closed: any unmet condition falls through to refuse-loud.
|
|
138
|
-
const holderDead = !this.
|
|
212
|
+
const holderDead = !this.holderIsLive(existing);
|
|
139
213
|
const hbStale = typeof existing.heartbeat === 'number' &&
|
|
140
214
|
existing.heartbeat > 0 &&
|
|
141
215
|
this.now() - existing.heartbeat > this.staleHostRenameMs;
|
|
@@ -158,7 +232,7 @@ export class SingleInstanceLock {
|
|
|
158
232
|
}
|
|
159
233
|
}
|
|
160
234
|
// Same-host lock (or an auto-heal-approved single-host rename). Is the holder alive?
|
|
161
|
-
if (this.
|
|
235
|
+
if (this.holderIsLive(existing)) {
|
|
162
236
|
// A LIVE same-host holder. Could be a normal restart's outgoing instance
|
|
163
237
|
// (it will exit + release shortly) OR a genuine duplicate. Wait a bounded
|
|
164
238
|
// grace for a handoff before refusing.
|
|
@@ -259,7 +333,8 @@ export class SingleInstanceLock {
|
|
|
259
333
|
if (typeof obj?.hostname !== 'string')
|
|
260
334
|
return null;
|
|
261
335
|
const heartbeat = typeof obj?.heartbeat === 'number' ? obj.heartbeat : 0;
|
|
262
|
-
|
|
336
|
+
const startedAt = typeof obj?.startedAt === 'number' && Number.isFinite(obj.startedAt) ? obj.startedAt : undefined;
|
|
337
|
+
return { pid: obj.pid, hostname: obj.hostname, heartbeat, ...(startedAt === undefined ? {} : { startedAt }) };
|
|
263
338
|
}
|
|
264
339
|
catch {
|
|
265
340
|
// @silent-fallback-ok: a missing/corrupt lock file reads as "no holder"
|
|
@@ -270,7 +345,17 @@ export class SingleInstanceLock {
|
|
|
270
345
|
/** Atomic O_CREAT|O_EXCL write. Returns false if another writer won the race. */
|
|
271
346
|
tryWriteLock() {
|
|
272
347
|
this.ensureDir();
|
|
273
|
-
const rec = {
|
|
348
|
+
const rec = {
|
|
349
|
+
pid: process.pid,
|
|
350
|
+
hostname: this.host,
|
|
351
|
+
heartbeat: this.now(),
|
|
352
|
+
};
|
|
353
|
+
// `ps -o lstart=` has 1s resolution; an unreadable self start leaves the
|
|
354
|
+
// legacy (pid-only) record shape rather than inventing a value.
|
|
355
|
+
const selfStart = this.selfStartedAt();
|
|
356
|
+
if (typeof selfStart === 'number' && Number.isFinite(selfStart)) {
|
|
357
|
+
rec.startedAt = Math.round(selfStart / 1000) * 1000;
|
|
358
|
+
}
|
|
274
359
|
const body = JSON.stringify(rec);
|
|
275
360
|
const tmp = `${this.lockPath()}.tmp.${process.pid}`;
|
|
276
361
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleInstanceLock.js","sourceRoot":"","sources":["../../src/core/SingleInstanceLock.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SingleInstanceLock.js","sourceRoot":"","sources":["../../src/core/SingleInstanceLock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAqE7G,4FAA4F;AAC5F,MAAM,UAAU,0BAA0B,CAAC,QAAgB;IACzD,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,6EAA6E;QAC7E,0EAA0E;QAC1E,4EAA4E;QAC5E,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;QACvE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,WAAqC,OAAO;IACxF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9D,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChE,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,iBAAiB;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC,SAAS,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED,MAAM,OAAO,kBAAkB;IACZ,QAAQ,CAAS;IACjB,GAAG,CAAe;IAClB,IAAI,CAAS;IACb,QAAQ,CAA2B;IACnC,YAAY,CAAiC;IAC7C,aAAa,CAAsB;IACnC,mBAAmB,CAAgC;IACnD,cAAc,CAAS;IACvB,cAAc,CAAS;IACvB,uBAAuB,CAAU;IACjC,iBAAiB,CAAS;IAC1B,KAAK,CAAgC;IACrC,GAAG,CAAoB;IACvB,GAAG,CAAwB;IACpC,IAAI,GAAG,KAAK,CAAC;IAErB,YAAY,IAA4B;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,iBAAiB,CAAC;QAC7D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,IAAI,0BAA0B,CAAC;QAClF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,GAAG,CAAC;QACjD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,IAAI,KAAK,CAAC;QACrE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,OAAO,CAAC;QAC3D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;QACnC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC;IACnE,CAAC;IAED,iGAAiG;IACzF,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE1D;;;;;;;;;;;;;;OAcG;IACK,YAAY,CAAC,GAAuB;QAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1C,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QACtF,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QACjE,MAAM,KAAK,GAAG,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC;QACvC,IAAI,KAAK,IAAI,qBAAqB;YAAE,OAAO,IAAI,CAAC;QAChD,IAAI,CAAC,GAAG,CACN,yBAAyB,GAAG,CAAC,GAAG,yBAAyB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,uBAAuB;YACxG,oGAAoG,CACrG,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACX,0DAA0D;QAC1D,IAAI,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC,KAAK,GAAG,EAAE,CAAC;YACrD,IAAI,CAAC,GAAG,CAAC,qHAAqH,CAAC,CAAC;YAChI,kEAAkE;YAClE,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QAClD,SAAS,CAAC;YACR,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEjC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,kBAAkB;gBAClB,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;oBACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oBACjB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAC5B,CAAC;gBACD,2CAA2C;gBAC3C,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;oBAC3B,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;gBAChE,CAAC;gBACD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACtC,SAAS;YACX,CAAC;YAED,yEAAyE;YACzE,2EAA2E;YAC3E,4EAA4E;YAC5E,2EAA2E;YAC3E,oEAAoE;YACpE,+EAA+E;YAC/E,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBACzD,sEAAsE;gBACtE,uEAAuE;gBACvE,qEAAqE;gBACrE,wEAAwE;gBACxE,0EAA0E;gBAC1E,wEAAwE;gBACxE,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAChD,MAAM,OAAO,GACX,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ;oBACtC,QAAQ,CAAC,SAAS,GAAG,CAAC;oBACtB,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC;gBAC3D,IACE,IAAI,CAAC,uBAAuB;oBAC5B,UAAU;oBACV,OAAO;oBACP,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,EACvC,CAAC;oBACD,IAAI,CAAC,GAAG,CACN,kEAAkE,QAAQ,CAAC,QAAQ,iBAAiB;wBACpG,IAAI,IAAI,CAAC,IAAI,0DAA0D,QAAQ,CAAC,GAAG,oBAAoB;wBACvG,gBAAgB,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,SAAS,uDAAuD;wBACtG,oEAAoE,CACrE,CAAC;oBACF,wEAAwE;oBACxE,qEAAqE;gBACvE,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CACN,gDAAgD,QAAQ,CAAC,QAAQ,iBAAiB,IAAI,CAAC,IAAI,MAAM;wBACjG,+EAA+E;wBAC/E,8EAA8E,CAC/E,CAAC;oBACF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;gBACvF,CAAC;YACH,CAAC;YAED,qFAAqF;YACrF,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,yEAAyE;gBACzE,0EAA0E;gBAC1E,uCAAuC;gBACvC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;oBAC3B,IAAI,CAAC,GAAG,CACN,6DAA6D,QAAQ,CAAC,GAAG,6BAA6B;wBACtG,gCAAgC,IAAI,CAAC,cAAc,uDAAuD;wBAC1G,6DAA6D,CAC9D,CAAC;oBACF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;gBACzF,CAAC;gBACD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACtC,SAAS;YACX,CAAC;YAED,0EAA0E;YAC1E,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,GAAG,CACN,gDAAgD,QAAQ,CAAC,GAAG,4CAA4C;oBACxG,mHAAmH,CACpH,CAAC;gBACF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;YACvF,CAAC;YACD,iDAAiD;YACjD,IAAI,CAAC;gBACH,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,0CAA0C,EAAE,CAAC,CAAC;YAC5G,CAAC;YAAC,MAAM,CAAC;gBACP,oDAAoD;YACtD,CAAC;YACD,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,GAAG,CAAC,gEAAgE,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC3F,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC5B,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC3B,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;YACzF,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QACvB,OAAO,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC;IAC/D,CAAC;IAED,4EAA4E;IAC5E,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACjE,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;YAClE,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1D,kEAAkE;YAClE,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,4BAA4B,EAAE,CAAC,CAAC;QAC9F,CAAC;QAAC,MAAM,CAAC;YACP,2EAA2E;QAC7E,CAAC;IACH,CAAC;IAED,qEAAqE;IAE7D,QAAQ;QACd,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;YACtD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,OAAO,GAAG,EAAE,GAAG,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAC9C,IAAI,OAAO,GAAG,EAAE,QAAQ,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YACnD,MAAM,SAAS,GAAG,OAAO,GAAG,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,MAAM,SAAS,GACb,OAAO,GAAG,EAAE,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YACnG,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAChH,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;YACxE,8EAA8E;YAC9E,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,iFAAiF;IACzE,YAAY;QAClB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,MAAM,GAAG,GAAuB;YAC9B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,yEAAyE;QACzE,gEAAgE;QAChE,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QACtD,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACzC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACvB,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;YACxE,yEAAyE;YACzE,IAAI,CAAC;gBAAC,cAAc,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,6CAA6C,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,qDAAqD,CAAC,CAAC;YACzK,OAAO,KAAK,CAAC;QACf,CAAC;QACD,4EAA4E;QAC5E,2EAA2E;QAC3E,wEAAwE;QACxE,2EAA2E;QAC3E,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACnC,gEAAgE;gBAChE,IAAI,CAAC;oBAAC,cAAc,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,gDAAgD,EAAE,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,qDAAqD,CAAC,CAAC;gBAC5K,OAAO,KAAK,CAAC;YACf,CAAC;YACD,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;YACzE,6EAA6E;YAC7E,IAAI,CAAC;gBAAC,cAAc,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,6CAA6C,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,qDAAqD,CAAC,CAAC;YACzK,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,SAAS;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAwB;IAC7D,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,IAAI,CAAC;YAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;IACjE,CAAC,CAAC;IACF,mEAAmE;IACnE,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,6EAA6E;IAC7E,2EAA2E;IAC3E,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,GAAS,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"generatedFrom": "source-tree",
|
|
4
4
|
"registrySha256": "35448db940d659661ebdfb09761439033f93a15157540ee2f6eecf825488e1e6",
|
|
5
|
-
"packageVersion": "1.3.
|
|
5
|
+
"packageVersion": "1.3.1348",
|
|
6
6
|
"guards": [
|
|
7
7
|
{
|
|
8
8
|
"ref": "docs/audits/phase-b/f10-triage.md",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"sha256": "
|
|
2
|
+
"sha256": "7092f64442b2a00efab859e40cdc2ff976800d089e6c8ff32e0f28bce47ad2f4",
|
|
3
3
|
"registrySha256": "35448db940d659661ebdfb09761439033f93a15157540ee2f6eecf825488e1e6",
|
|
4
|
-
"packageVersion": "1.3.
|
|
4
|
+
"packageVersion": "1.3.1348"
|
|
5
5
|
}
|
|
@@ -464,6 +464,8 @@ export declare class ServerSupervisor extends EventEmitter {
|
|
|
464
464
|
* 2. stderr crash log file (tee'd from server process)
|
|
465
465
|
*/
|
|
466
466
|
private captureCrashOutput;
|
|
467
|
+
/** Read at most the last `maxBytes` of a file (seek-based; never the whole file). */
|
|
468
|
+
static readTailBytes(filePath: string, maxBytes: number): string;
|
|
467
469
|
/**
|
|
468
470
|
* Kill child processes (cloudflared, etc.) that were spawned by the server
|
|
469
471
|
* but will become orphans when the tmux session is killed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerSupervisor.d.ts","sourceRoot":"","sources":["../../src/lifeline/ServerSupervisor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ServerSupervisor.d.ts","sourceRoot":"","sources":["../../src/lifeline/ServerSupervisor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA8B3C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,EAAE,CAAC;IACb,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpC,aAAa,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;IAChE,qBAAqB,EAAE,CAAC,OAAO,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClF,mBAAmB,EAAE,CAAC,IAAI,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE;wFACoF;IACpF,aAAa,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;CACxC;AAYD;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAC7C,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,gBAAgB,EAAE,MAAM,CAAC;IACzB,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;CACd;AAED,kEAAkE;AAClE,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB;oFACgF;IAChF,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,0BAA0B,EAAE,MAAM,CAAC;IACnC,4DAA4D;IAC5D,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAUD;;;;;;GAMG;AACH,MAAM,WAAW,qCAAqC;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,4EAA4E;IAC5E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,mCAAmC;IAClD,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/D;AAED,MAAM,WAAW,mCAAmC;IAClD,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAyDD,wEAAwE;AACxE,MAAM,WAAW,oBAAoB;IACnC,8DAA8D;IAC9D,iBAAiB,EAAE,CAAC,GAAG,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACxD,0EAA0E;IAC1E,oBAAoB,EAAE,MAAM,MAAM,CAAC;CACpC;AAED,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,mBAAmB,CAA+C;IAC1E,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAc;IAC7C,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAK;IAYxB,OAAO,CAAC,cAAc,CAAW;IACjC,OAAO,CAAC,SAAS,CAAK;IAStB,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAK;IAC5C,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAK;IAMxC,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAK;IACpD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAK;IAQ3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IACvD,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAM;IACjD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAe;IAUjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAK;IACtC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,2BAA2B,CAAK;IACxC,OAAO,CAAC,sBAAsB,CAAK;IAWnC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAoE;IAC3G,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAU;IAC/C,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,QAAQ,CAAgB;IAGhC,OAAO,CAAC,wBAAwB,CAAK;IACrC,OAAO,CAAC,iBAAiB,CAAc;IACvC,OAAO,CAAC,oBAAoB,CAAuB;IAQnD,OAAO,CAAC,KAAK,CAAS;IAGtB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAM;IAC9C,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAe;IACtD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,wBAAwB,CAAK;IACrC,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAe;IAC7D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAK;IAC9C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAmB;IACvD,OAAO,CAAC,kBAAkB,CAAK;IAC/B;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA8B;IACjE,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAG3C,0EAA0E;IAC1E,MAAM,CAAC,QAAQ,CAAC,0BAA0B,KAAK;IAC/C,yEAAyE;IACzE,MAAM,CAAC,QAAQ,CAAC,0BAA0B,SAAc;IACxD,OAAO,CAAC,oBAAoB,CAAqC;IACjE,qFAAqF;IACrF,OAAO,CAAC,yBAAyB,CAAmF;IACpH,oFAAoF;IACpF,OAAO,CAAC,iBAAiB,CAA+D;gBAE5E,OAAO,EAAE;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,yGAAyG;QACzG,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,uGAAuG;QACvG,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,+FAA+F;QAC/F,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC;QACjC,kGAAkG;QAClG,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC;;;;;;WAMG;QACH,sBAAsB,CAAC,EAAE,MAAM;YAAE,QAAQ,EAAE,OAAO,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,OAAO,CAAA;SAAE,GAAG,IAAI,CAAC;QAC3F;;;;;WAKG;QACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC;IA2BD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAyD/B;;OAEG;IACH;;;;;;;OAOG;IACH,aAAa,IAAI,IAAI;IAQf,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB3B;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,SAAS,IAAI;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,OAAO,CAAC;QACrB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,aAAa,EAAE,OAAO,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,wBAAwB,EAAE,MAAM,CAAC;QACjC,wBAAwB,EAAE,MAAM,CAAC;QACjC,iBAAiB,EAAE,OAAO,CAAC;QAC3B,wBAAwB,EAAE,MAAM,CAAC;QACjC,gBAAgB,EAAE,OAAO,CAAC;QAC1B,yBAAyB,EAAE,MAAM,CAAC;KACnC;IA2BD;;;OAGG;IACH,mBAAmB,IAAI,IAAI;IAc3B;;;OAGG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI5C;;;;;OAKG;IACG,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsC9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,oBAAoB,CACxB,GAAG,EAAE,qCAAqC,EAC1C,QAAQ,CAAC,EAAE,mCAAmC,GAC7C,OAAO,CAAC,mCAAmC,CAAC;IAmG/C;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAoRzB;;OAEG;IACH,OAAO,CAAC,WAAW;IAoBnB;;OAEG;IACH,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,WAAW;IAoGnB,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,iBAAiB;IA+CzB;;;;;OAKG;YACW,aAAa;IA2K3B,OAAO,CAAC,gBAAgB;YAWV,WAAW;IAoBzB;;;;;;;;;;OAUG;YACW,sBAAsB;IAoBpC,mFAAmF;IACnF,OAAO,CAAC,iBAAiB;IA8BzB,0FAA0F;IAC1F,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,gBAAgB;IAKxB,mFAAmF;IACnF,OAAO,CAAC,kBAAkB;IAO1B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IA2E3B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAiDhC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;;;;OAKG;IACH,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI;IAK1D,8DAA8D;IAC9D,2BAA2B,IAAI,MAAM;IAIrC,2DAA2D;IAC3D,oBAAoB,IAAI,MAAM;IAI9B,oEAAoE;IACpE,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK3C;;;;;;;;;;;;;;OAcG;IACG,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAwG9F;;;;;;OAMG;IACH,OAAO,CAAC,wCAAwC;IAkBhD;;;;;;;OAOG;IACH,OAAO,CAAC,4BAA4B;IAiBpC,kEAAkE;IAClE,gCAAgC,IAAI,MAAM;IAI1C,8EAA8E;IAC9E,0BAA0B,IAAI,IAAI;IAMlC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,uBAAuB;IA+C/B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,4BAA4B;IAoBpC;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,6BAA6B;IAiBrC,OAAO,CAAC,eAAe;IAuLvB;;;;OAIG;IAOH,OAAO,CAAC,kBAAkB;IAiC1B,qFAAqF;IACrF,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAchE;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAgC7B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,sBAAsB;IAa9B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,uBAAuB;IAwC/B;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAS/B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAqDpF;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAuCtF"}
|
|
@@ -33,6 +33,10 @@ import { SafeGitExecutor } from '../core/SafeGitExecutor.js';
|
|
|
33
33
|
// process boundary, so the supervisor reads the file the server's SessionManager
|
|
34
34
|
// mirrors on every depth transition.
|
|
35
35
|
import { defaultInflightMarkerReader } from '../core/InFlightSyncOpMarker.js';
|
|
36
|
+
/** Size cap for the appended server stderr crash log (see start()). */
|
|
37
|
+
const SERVER_STDERR_MAX_BYTES = 4 * 1024 * 1024;
|
|
38
|
+
/** Bytes retained from the end of the crash log when the cap trims it. */
|
|
39
|
+
const SERVER_STDERR_KEEP_BYTES = 512 * 1024;
|
|
36
40
|
/** Execute a shell command safely, returning stdout. */
|
|
37
41
|
function shellExec(cmd, timeout = 5000) {
|
|
38
42
|
const shell = process.env.SHELL || '/bin/zsh';
|
|
@@ -929,13 +933,31 @@ export class ServerSupervisor extends EventEmitter {
|
|
|
929
933
|
cliPath = shadowCli;
|
|
930
934
|
}
|
|
931
935
|
}
|
|
932
|
-
// Stderr capture: tee to crash log file for fast-exit diagnostics
|
|
936
|
+
// Stderr capture: tee to crash log file for fast-exit diagnostics.
|
|
937
|
+
//
|
|
938
|
+
// APPEND, never truncate (2026-10-12, inspec): a truncating `tee` keeps only
|
|
939
|
+
// the LAST spawn's stderr, so in a crash loop every attempt erases the
|
|
940
|
+
// evidence of the one before it and the surviving file describes whichever
|
|
941
|
+
// boot happened to succeed. inspec refused 42 consecutive spawns — each one
|
|
942
|
+
// printing its reason to stderr — and the file still held three unrelated
|
|
943
|
+
// lines from a prior boot, which is why the cause was invisible for hours.
|
|
944
|
+
// Bounded by a size cap so a tight crash loop cannot fill the disk.
|
|
933
945
|
const crashLogDir = this.stateDir ? path.join(this.stateDir, 'logs') : '/tmp';
|
|
934
946
|
try {
|
|
935
947
|
fs.mkdirSync(crashLogDir, { recursive: true });
|
|
936
948
|
}
|
|
937
949
|
catch { /* ignore */ }
|
|
938
950
|
const crashLogPath = path.join(crashLogDir, 'server-stderr.log');
|
|
951
|
+
try {
|
|
952
|
+
if (fs.statSync(crashLogPath).size > SERVER_STDERR_MAX_BYTES) {
|
|
953
|
+
// Keep the newest slice: at the moment a crash loop has produced the
|
|
954
|
+
// most evidence is exactly the wrong moment to discard all of it.
|
|
955
|
+
const tail = ServerSupervisor.readTailBytes(crashLogPath, SERVER_STDERR_KEEP_BYTES);
|
|
956
|
+
fs.writeFileSync(crashLogPath, tail, 'utf-8');
|
|
957
|
+
console.log(`[Supervisor] server-stderr.log exceeded ${SERVER_STDERR_MAX_BYTES} bytes — kept the last ${SERVER_STDERR_KEEP_BYTES} bytes.`);
|
|
958
|
+
}
|
|
959
|
+
}
|
|
960
|
+
catch { /* @silent-fallback-ok: no file yet, or unreadable — tee creates it */ }
|
|
939
961
|
// --no-telegram: lifeline owns the Telegram connection, server should not poll
|
|
940
962
|
// Use the agent's node symlink (.instar/bin/node) instead of bare `node` so the
|
|
941
963
|
// server runs the same Node version the native modules were compiled against.
|
|
@@ -946,7 +968,7 @@ export class ServerSupervisor extends EventEmitter {
|
|
|
946
968
|
const nodeExe = (nodeSymlink && fs.existsSync(nodeSymlink)) ? nodeSymlink : 'node';
|
|
947
969
|
const quotedNode = nodeExe.replace(/'/g, "'\\''");
|
|
948
970
|
const quotedCli = cliPath.replace(/'/g, "'\\''");
|
|
949
|
-
const nodeCmd = `'${quotedNode}' '${quotedCli}' 'server' 'start' '--foreground' '--no-telegram' 2> >(tee '${crashLogPath}' >&2)`;
|
|
971
|
+
const nodeCmd = `'${quotedNode}' '${quotedCli}' 'server' 'start' '--foreground' '--no-telegram' 2> >(tee -a '${crashLogPath}' >&2)`;
|
|
950
972
|
// GIT_TERMINAL_PROMPT=0 prevents git operations performed during startup
|
|
951
973
|
// (auto-pull / git-sync) from falling through to an interactive terminal
|
|
952
974
|
// prompt when GIT_ASKPASS fails. Without it, a missing/expired credential
|
|
@@ -2061,7 +2083,8 @@ export class ServerSupervisor extends EventEmitter {
|
|
|
2061
2083
|
const crashLogPath = path.join(this.stateDir, 'logs', 'server-stderr.log');
|
|
2062
2084
|
try {
|
|
2063
2085
|
if (fs.existsSync(crashLogPath)) {
|
|
2064
|
-
|
|
2086
|
+
// Bounded: the log now appends across spawns, so never read it whole.
|
|
2087
|
+
const content = ServerSupervisor.readTailBytes(crashLogPath, 65_536);
|
|
2065
2088
|
const last500 = content.slice(-500).trim();
|
|
2066
2089
|
if (last500) {
|
|
2067
2090
|
this.lastCrashOutput = last500;
|
|
@@ -2072,6 +2095,22 @@ export class ServerSupervisor extends EventEmitter {
|
|
|
2072
2095
|
catch { /* ignore */ }
|
|
2073
2096
|
}
|
|
2074
2097
|
}
|
|
2098
|
+
/** Read at most the last `maxBytes` of a file (seek-based; never the whole file). */
|
|
2099
|
+
static readTailBytes(filePath, maxBytes) {
|
|
2100
|
+
const size = fs.statSync(filePath).size;
|
|
2101
|
+
const want = Math.min(maxBytes, size);
|
|
2102
|
+
if (want <= 0)
|
|
2103
|
+
return '';
|
|
2104
|
+
const buf = Buffer.alloc(want);
|
|
2105
|
+
const fd = fs.openSync(filePath, 'r');
|
|
2106
|
+
try {
|
|
2107
|
+
fs.readSync(fd, buf, 0, want, size - want);
|
|
2108
|
+
}
|
|
2109
|
+
finally {
|
|
2110
|
+
fs.closeSync(fd);
|
|
2111
|
+
}
|
|
2112
|
+
return buf.toString('utf-8');
|
|
2113
|
+
}
|
|
2075
2114
|
/**
|
|
2076
2115
|
* Kill child processes (cloudflared, etc.) that were spawned by the server
|
|
2077
2116
|
* but will become orphans when the tmux session is killed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerSupervisor.js","sourceRoot":"","sources":["../../src/lifeline/ServerSupervisor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ServerSupervisor.js","sourceRoot":"","sources":["../../src/lifeline/ServerSupervisor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-10-
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-10-13T07:20:14.238Z",
|
|
5
|
+
"instarVersion": "1.3.1348",
|
|
6
6
|
"entryCount": 203,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"generatedFrom": "source-tree",
|
|
4
4
|
"registrySha256": "35448db940d659661ebdfb09761439033f93a15157540ee2f6eecf825488e1e6",
|
|
5
|
-
"packageVersion": "1.3.
|
|
5
|
+
"packageVersion": "1.3.1348",
|
|
6
6
|
"guards": [
|
|
7
7
|
{
|
|
8
8
|
"ref": "docs/audits/phase-b/f10-triage.md",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"sha256": "
|
|
2
|
+
"sha256": "7092f64442b2a00efab859e40cdc2ff976800d089e6c8ff32e0f28bce47ad2f4",
|
|
3
3
|
"registrySha256": "35448db940d659661ebdfb09761439033f93a15157540ee2f6eecf825488e1e6",
|
|
4
|
-
"packageVersion": "1.3.
|
|
4
|
+
"packageVersion": "1.3.1348"
|
|
5
5
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
- `SingleInstanceLock` decided whether the recorded lock holder was still running from the pid alone. On a host that recycles pids every few minutes, a dead holder's pid is re-issued to unrelated live processes, the lock reads LIVE indefinitely, and the agent's server refuses to boot until a spawn happens to land on a free pid. The lock record now also carries the holder's absolute process start time (`ps -o lstart=`, via the primitive `hostTestRunnerSemaphore` already uses for the same corroboration); a candidate pid whose start postdates the record by more than the shared 120s skew is treated as a different process and the stale lock is reclaimed. One-sided on purpose; every uncertain case (no recorded start, unreadable candidate start) keeps the previous pid-only verdict.
|
|
9
|
+
- `ServerSupervisor` now appends the spawned server's stderr to `logs/server-stderr.log` (`tee -a`) instead of truncating it on every spawn. Past 4 MB the newest 512 KB is kept. The crash-output reader takes a bounded tail rather than reading the whole file.
|
|
10
|
+
|
|
11
|
+
## What to Tell Your User
|
|
12
|
+
|
|
13
|
+
If one of your agents went quiet for hours and its log showed a long run of "spawns failed before binding", this is the fix. The agent believed a copy of itself was already running because it was identifying that copy by an operating-system ID number the machine had since handed to something else. It now also checks when that process started, so a stale note can no longer keep the agent off. Nothing to configure. Separately, the agent's crash log now keeps the reasons for every failed start instead of only the last one, so a repeat of this kind of outage can be explained in minutes rather than hours.
|
|
14
|
+
|
|
15
|
+
## Summary of New Capabilities
|
|
16
|
+
|
|
17
|
+
None — this is a reliability fix to an existing guard. No new setting, route, or surface.
|
|
18
|
+
|
|
19
|
+
## Evidence
|
|
20
|
+
|
|
21
|
+
- Measured on the `inspec` agent (monroe-workspace, laptop) 2026-10-12: 48 consecutive `Bind-failure escalation armed: N consecutive spawns failed before binding` in `lifeline-launchd.log`; outage windows from `activity-*.jsonl` `scheduler_start` events of ~35h (Oct 10 22:06 → Oct 12 08:53 PDT) and ~3.5h (Oct 12 12:58 → 16:30 PDT); the recovering boot logged `reclaimed a stale same-host lock (dead pid 86892)`.
|
|
22
|
+
- `server-stderr.log` on that host held three lines from an unrelated earlier boot — the truncation defect in one observation.
|
|
23
|
+
- Tests: `tests/unit/single-instance-lock.test.ts` (29, including a defaults-only round trip that exercises the real `lstart` write and read together) and `tests/unit/supervisor-crashlog-append.test.ts` (4).
|
|
24
|
+
- Side-effects review with an independent second pass: `upgrades/side-effects/single-instance-lock-pid-reuse.md`.
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# Side-Effects Review — single-instance lock identifies the holder by start time, not pid alone
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `single-instance-lock-pid-reuse`
|
|
4
|
+
**Date:** `2026-10-12`
|
|
5
|
+
**Author:** `Echo`
|
|
6
|
+
**Second-pass reviewer:** `independent reviewer subagent — concern raised, resolved; see the second-pass section`
|
|
7
|
+
|
|
8
|
+
## Summary of the change
|
|
9
|
+
|
|
10
|
+
`SingleInstanceLock` decided whether the recorded lock holder was still running from the pid alone (`pidAlive()` → `process.kill(pid, 0)`). A pid is not an identity on a host that recycles pids quickly: Justin's laptop wraps the whole pid space every 5–11 minutes (tracked as CMT-665), so after the holder died its pid kept being re-issued to unrelated live processes, the lock read LIVE indefinitely, and the server refused to boot until a spawn happened to land in a window where that pid was free. The lock record now also carries the holder's absolute process start time (`startedAt`, ms epoch, 1s resolution, from `ps -o lstart=`). A candidate pid whose observed start POSTDATES the record by more than the skew (`PID_START_MISMATCH_MS`, which reuses the host test-runner semaphore's `START_TIME_SKEW_MS` = 120s) is provably a different process and the lock is reclaimed. The test is one-sided and the start-time read is the repo's existing shared primitive (`gatherPidEvidence` / `selfProcessFingerprint` in `hostTestRunnerSemaphore.ts`), both changes made on the second-pass reviewer's findings. Files touched: `src/core/SingleInstanceLock.ts` (the liveness decision) and `src/lifeline/ServerSupervisor.ts` (the spawned server's stderr capture switched from a truncating `tee` to `tee -a`; past a 4 MB cap the newest 512 KB is kept rather than the file being emptied, and the crash-output reader takes a bounded tail instead of reading the whole file).
|
|
11
|
+
|
|
12
|
+
Measured on `inspec` (monroe-workspace, laptop) 2026-10-12: 42 consecutive `spawns failed before binding` (48 by the time this was written), ~3.5h dark that day and ~35h dark over the preceding weekend, ending when a boot finally logged `reclaimed a stale same-host lock (dead pid 86892)`.
|
|
13
|
+
|
|
14
|
+
## Decision-point inventory
|
|
15
|
+
|
|
16
|
+
- `SingleInstanceLock.acquire()` — **modify** — the same-host "is the holder alive?" branch now consults `holderIsLive()` instead of `pidAlive()` directly.
|
|
17
|
+
- `SingleInstanceLock.acquire()` single-host-rename auto-heal — **modify** — its `holderDead` input uses the same `holderIsLive()`, so a reused pid is seen as dead there too.
|
|
18
|
+
- `ServerSupervisor.spawnServer()` crash-log capture — **modify** — no decision surface; an observability change only.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 1. Over-block
|
|
23
|
+
|
|
24
|
+
**What legitimate inputs does this change reject that it shouldn't?**
|
|
25
|
+
|
|
26
|
+
Over-block here means refusing a *legitimate start*, which is the failure this change removes rather than adds. The change can only ever move a verdict from "refuse" to "acquire", never the reverse: `holderIsLive()` returns `false` strictly more often than `pidAlive()` did, and a `false` means "the lock is stale, take it".
|
|
27
|
+
|
|
28
|
+
A record with a matching start time refuses exactly as before; a record with no start time refuses exactly as before; an unreadable candidate start time refuses exactly as before.
|
|
29
|
+
|
|
30
|
+
One narrow path changes its *reason*, not its outcome (second-pass finding): a live pid whose start postdates the record on a state dir that `df -P` cannot confirm host-local now returns `foreign-host-conflict` immediately, where before it would have cycled the handoff-grace loop and returned `duplicate-live-instance`. Both are refusals; the input is a state dir the lock refuses to reclaim in every case anyway. Stated here because the first draft of this review claimed "no new refusal path", which was not precisely true.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## 2. Under-block
|
|
35
|
+
|
|
36
|
+
**What failure modes does this still miss?**
|
|
37
|
+
|
|
38
|
+
- **A pid reused within the 120s skew of the original holder's start.** If the holder died and its pid was re-issued to a process that started within two minutes *after* the holder's own start, the lock still reads LIVE. On a host wrapping the pid space every 5–11 minutes that is a coincidence, and the skew is deliberately as wide as the repo's existing precedent because the opposite error (declaring a live holder dead on a clock step) is worse. A candidate that reads as started *earlier* than the record is never treated as a different process — that direction has no detection value and is the only one that could evict a genuine holder.
|
|
39
|
+
- **A lock written by an older build.** Until an agent restarts once on the fixed version its record has no `startedAt`, so the original wedge is still reachable on that one boot. Self-clearing — the first successful boot on the new code writes the field.
|
|
40
|
+
- **A host where `ps` is unavailable or slow.** Every read failure falls back to the pid-only verdict, so the wedge remains reachable there. The probe is memoized per `acquire()` (a process's start time is immutable), so a slow `ps` costs one bounded 3s read per boot, not one per poll of the handoff-grace loop. No host in the fleet is in that state, and failing the other way would weaken the duplicate guard on every host to protect a hypothetical one.
|
|
41
|
+
- **The wedge's siblings.** A server that dies before binding for a reason *other* than the lock (a corrupt native module, a genuinely held port) is untouched by this change. The supervisor already distinguishes the native-module case; the appended crash log is what makes the remaining cases diagnosable.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 3. Level-of-abstraction fit
|
|
46
|
+
|
|
47
|
+
This is a detector at the right layer. "Is this recorded pid still the process that recorded it?" is a local, cheap, deterministic question about operating-system state, and it belongs in the lock that asks it — not in a higher gate, which has no better information and would only add latency to a boot path.
|
|
48
|
+
|
|
49
|
+
It does not re-implement an existing primitive — though the first draft did. `isAlive()` (from `ProjectRoundLock`) answers "does this pid exist", which is still the first half of the question and is still used. For the second half the second-pass reviewer pointed out that `hostTestRunnerSemaphore.ts` already reads pid start times for exactly this corroboration (`gatherPidEvidence()` → `ps -o lstart=` + `Date.parse`, and `selfProcessFingerprint()` for the holder's own start), with a one-sided `startMs > acquiredAt + START_TIME_SKEW_MS` test. The first draft had built a parallel `etime`-based reader that was two-sided, `now`-relative and 10s-tolerant — less safe on all three axes. The shipped version imports the existing primitives, so there is one start-time reader in the repo and both call sites share its semantics.
|
|
50
|
+
|
|
51
|
+
The one layer question worth naming: the lock's `heartbeat` field *could* have carried this instead — a stale heartbeat would also expose a dead holder. It cannot, because nothing refreshes it. `SingleInstanceLock.heartbeat()` has no caller in `src/`, so the recorded heartbeat is the acquire time and never advances; treating it as a liveness signal would declare every long-lived holder dead. Wiring a refresher would be a larger change with a worse failure mode (a stalled-but-live server losing its lock), so start time is the correct carrier.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 4. Signal vs authority compliance
|
|
56
|
+
|
|
57
|
+
**Required reference:** [docs/signal-vs-authority.md](../../docs/signal-vs-authority.md)
|
|
58
|
+
|
|
59
|
+
- [ ] No — this change produces a signal consumed by an existing smart gate.
|
|
60
|
+
- [ ] No — this change has no block/allow surface.
|
|
61
|
+
- [x] Yes — but the logic is deterministic by design: this is a safety guard on an irreversible action (starting a second server), where a static, fully-enumerable rule is the correct shape.
|
|
62
|
+
- [ ] ⚠️ Yes, with brittle logic.
|
|
63
|
+
|
|
64
|
+
The lock holds blocking authority — that is its whole purpose, and this change does not extend it. The question signal-vs-authority exists to catch is a *brittle* check holding block authority: a heuristic that can be wrong in unenumerable ways while refusing real work. The pre-existing check was exactly that, and this change makes it *less* brittle by adding the missing discriminator. The authority is unchanged; the evidence behind it improves. Every uncertain input degrades to the prior verdict rather than inventing a new one, and the only direction that could evict a live holder (an observed start *earlier* than the record, which a wall-clock step can produce) is not tested at all, so the change adds no new way for the guard to be wrong.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 4b. Judgment-point check (Judgment Within Floors standard)
|
|
69
|
+
|
|
70
|
+
No new static heuristic at a competing-signals decision point. "Is the recorded holder still running?" is an invariant with an enumerable answer (the process either is or is not the one that wrote the record), not a judgement among competing live signals. The 10s tolerance is a measurement-noise allowance on a single signal, not a weighting between signals. The surrounding decision — whether to start a second server — remains a deterministic safety guard on an irreversible action, which the standard explicitly admits as non-judgement.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 5. Interactions
|
|
75
|
+
|
|
76
|
+
- **Shadowing:** `holderIsLive()` runs where `pidAlive()` ran, in both the same-host branch and the rename auto-heal's `holderDead`. It shadows nothing: `pidAlive()` is still called first and short-circuits, so a genuinely absent pid never reaches the start-time probe.
|
|
77
|
+
- **Double-fire:** none. The lock is acquired once per server boot; the probe runs at most once per `acquire()` loop iteration, and only when a pid is alive and the record carries a start time.
|
|
78
|
+
- **Races:** the probe reads operating-system state, not shared files. A process that exits between `pidAlive()` and the `ps` read yields `null`, which keeps the prior verdict — a race resolves conservatively rather than reclaiming on a flicker. The existing `O_CREAT|O_EXCL` write and pid-guarded `release()` are untouched, so the reclaim path's atomicity is unchanged.
|
|
79
|
+
- **Feedback loops:** none. The lock's output does not feed anything that feeds the lock.
|
|
80
|
+
- **The crash-log change** interacts with the supervisor's restart loop by design: more spawns now mean a longer file rather than a replaced one. The 4 MB cap is evaluated before each spawn (the only spawn site is `spawnServer()`), so it bounds a *crash loop*; it does not bound a single long-lived server writing steadily to stderr between spawns — that file can grow until the next spawn, which is the same exposure the truncating version had within one server's lifetime. When the cap trims, the newest 512 KB is kept, so the evidence a loop has just produced survives the trim.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 6. External surfaces
|
|
85
|
+
|
|
86
|
+
- **Other agents on the same machine:** unaffected — the lock is per-agent (`<stateDir>/local/server-instance.lock`).
|
|
87
|
+
- **Other users of the install base:** the only visible change is that an agent whose previous server died restarts on the next supervisor attempt instead of waiting for a free pid. No new setting, no new message, no new route.
|
|
88
|
+
- **External systems:** none.
|
|
89
|
+
- **Persistent state:** the lock file gains one optional numeric field. Old code reading a new file ignores it; new code reading an old file treats it as absent. No migration, no cleanup.
|
|
90
|
+
- **Timing / runtime conditions:** the change depends on `ps -p <pid> -o etime=` being available and answering within 3s. Both macOS and Linux provide it; a failure degrades to the prior behaviour.
|
|
91
|
+
- **Operator surface (Mobile-Complete Operator Actions):** no operator-facing actions — this is a boot-path library with no route, form or approval.
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## 6b. Operator-surface quality (Operator-Surface Quality standard)
|
|
96
|
+
|
|
97
|
+
No operator surface — not applicable. No dashboard renderer, approval page, or grant/revoke/secret-drop form is touched.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## 7. Multi-machine posture (Cross-Machine Coherence)
|
|
102
|
+
|
|
103
|
+
**Machine-local BY DESIGN**, and the design is load-bearing rather than incidental: the lock answers "is another copy of this agent running *on this host*", and the record is explicitly refused when its `hostname` is foreign (a shared state dir across hosts is an unsupported configuration this code exists to refuse loudly). A pid is only meaningful on the host that issued it, so a start time compared across hosts would be meaningless — the comparison is correctly reachable only after the hostname check has established the record is this host's.
|
|
104
|
+
|
|
105
|
+
The single-host-rename auto-heal is the one path where a "foreign" record is treated as local, and it still fails closed on every unmet condition. Said plainly rather than as four independent protections: its `hbStale` term is vacuous for any holder older than `staleHostRenameMs`, because (as §3 establishes) nothing refreshes the heartbeat — so after this change its liveness evidence is the start-time-corroborated pid check, and the `df -P` host-local confirmation is the load-bearing guard against a shared volume.
|
|
106
|
+
|
|
107
|
+
- **User-facing notices:** none emitted — no one-voice gating needed.
|
|
108
|
+
- **Durable state:** the lock file is machine-local and intentionally not replicated; it does not strand on topic transfer because it is not bound to a topic.
|
|
109
|
+
- **Generated URLs:** none.
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## 8. Rollback cost
|
|
114
|
+
|
|
115
|
+
- **Hot-fix release:** revert the two files and ship as the next patch. Nothing else to undo.
|
|
116
|
+
- **Data migration:** none. A lock file written by this build is read correctly by the reverted code, which ignores the extra field; a lock file written by the reverted code is read correctly by this build as "no start time".
|
|
117
|
+
- **Agent state repair:** none. No agent needs notifying or resetting.
|
|
118
|
+
- **User visibility:** during a rollback window an agent whose previous server died returns to waiting for a free pid — i.e. the current behaviour. No new regression is introduced by reverting; the old one returns.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Conclusion
|
|
123
|
+
|
|
124
|
+
The review changed the design — the second pass found that the first draft's start-time comparison was two-sided, `now`-relative and tolerant only to 10s, and that the repo already carried a safer one-sided `lstart`-based reader; the shipped version reuses that reader and its 120s skew, memoizes the probe per acquire, and keeps the newest slice of the crash log instead of emptying it. Two further things were sharpened. First, the direction of error: the only dangerous outcome is declaring a *live* holder dead, so every uncertain input (no recorded start time, unreadable candidate start time, a process that vanishes mid-probe) deliberately keeps the old pid-only verdict, and the tolerance is set an order of magnitude wider than real measurement jitter. Second, the heartbeat alternative was considered and rejected on evidence rather than taste — `SingleInstanceLock.heartbeat()` has no caller in `src/`, so the field never advances and could not carry liveness without a separate refresher whose own failure mode (a busy-but-live server losing its lock) is worse than the bug being fixed.
|
|
125
|
+
|
|
126
|
+
Flagged for follow-up, not resolved here: the operator was never told the agent was dark. The lifeline counted 323 suppressed "server is down" notifications across this outage, which is the same gap as CMT-663 (an agent that never finishes launching produces nothing, so every health surface is silent rather than wrong). That is tracked as its own item and is deliberately not bundled into this fix.
|
|
127
|
+
|
|
128
|
+
Clear to ship once the second-pass review concurs.
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Second-pass review (if required)
|
|
133
|
+
|
|
134
|
+
**Reviewer:** independent reviewer subagent (Phase 5), 2026-10-12
|
|
135
|
+
**Independent read of the artifact: concern raised — resolved before commit**
|
|
136
|
+
|
|
137
|
+
Blocking findings and their resolutions:
|
|
138
|
+
- Two-sided drift test could evict a live holder on a backward-reading start → made one-sided (`observed - startedAt > skew` only).
|
|
139
|
+
- `now`-relative `etime` derivation moves with a wall-clock step on Linux between write and probe → replaced by absolute `ps -o lstart=` on both sides via the existing shared primitive; skew widened to the repo's `START_TIME_SKEW_MS` (120s).
|
|
140
|
+
- §3 claimed no existing start-time helper; `gatherPidEvidence()` / `selfProcessFingerprint()` already existed → reused; §3 corrected.
|
|
141
|
+
|
|
142
|
+
Should-fix findings and their resolutions:
|
|
143
|
+
- Inconsistent clock between write (`Date.now()`) and read (`this.now()`) → both sides now read the same `ps lstart` value; no `now` arithmetic remains in the comparison.
|
|
144
|
+
- The self-consistency test was calibrated to the guard's own tolerance → tightened to the 1s `lstart` resolution, and a defaults-only round trip (real write, real read, no overrides) added.
|
|
145
|
+
- §1 "no new refusal path" was not precisely true → corrected (reason-string change on a not-host-local state dir).
|
|
146
|
+
- One `ps` per poll of the handoff loop → memoized per `acquire()`; a test asserts one probe.
|
|
147
|
+
- 4 MB cap truncated to zero → keeps the newest 512 KB; the crash-output reader now takes a bounded tail instead of reading the whole file.
|
|
148
|
+
|
|
149
|
+
Minor: `parseEtimeMs` leniency — moot, the function was removed with the `etime` design. §7 `hbStale` overstatement — reworded.
|
|
150
|
+
|
|
151
|
+
Verified as claimed by the reviewer's own checks: `SingleInstanceLock.heartbeat()` has no caller in `src/`; all three conservative fallbacks are real in the code; no consumer pattern-scans the whole crash log.
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Evidence pointers
|
|
156
|
+
|
|
157
|
+
- `logs/lifeline-launchd.log` (monroe-workspace, laptop) — the `Bind-failure escalation armed: N consecutive spawns failed before binding` ladder, 42 → 48.
|
|
158
|
+
- `logs/server-stderr.log` (same) — three lines from an unrelated earlier boot, which is the truncation defect in one observation.
|
|
159
|
+
- The boot that recovered: `[single-instance] reclaimed a stale same-host lock (dead pid 86892)`.
|
|
160
|
+
- `.instar/logs/activity-2026-10-*.jsonl` `scheduler_start` events — the outage windows (Oct 10 22:06 PDT → Oct 12 08:53 PDT, and Oct 12 12:58 → 16:30 PDT).
|
|
161
|
+
- `tests/unit/single-instance-lock.test.ts` (26 tests), `tests/unit/supervisor-crashlog-append.test.ts` (4 tests).
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Class-Closure Declaration (display-only mirror)
|
|
166
|
+
|
|
167
|
+
- **`defectClass`** — `novel` is not claimed; this is an instance of **identity-by-unstable-handle**: a decision that treats a reusable operating-system handle (a pid) as a stable identity. Registered as `closure: gap` below because no class-level guard yet refuses that pattern repo-wide.
|
|
168
|
+
- **`closure`** — `gap`
|
|
169
|
+
- **`gap`** — ACT-095 (`SingleInstanceLock decides holder liveness by PID alone — PID reuse wedges an agent dark for hours`), which also carries the two sibling defects found in the same incident: the operator receiving no notice across a 35h dark window, and the truncating crash log. The class-level guard (a lint refusing a bare `pidAlive`-style check as an identity test, where a start-time or boot-id discriminator is available) is out of this fix's scope and is tracked there.
|
|
170
|
+
- **`guardEvidence`** — not applicable at `closure: gap`. The two ratchets added here (`tests/unit/single-instance-lock.test.ts`, `tests/unit/supervisor-crashlog-append.test.ts`) pin *this* instance against regression but do not make the class structurally unreachable, which is why this is honestly a gap and not a guard.
|