instar 1.3.1302 → 1.3.1304
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/cli.js +37 -18
- package/dist/cli.js.map +1 -1
- package/dist/core/SessionManager.d.ts +9 -0
- package/dist/core/SessionManager.d.ts.map +1 -1
- package/dist/core/SessionManager.js +34 -2
- package/dist/core/SessionManager.js.map +1 -1
- package/dist/core/processIdentity.d.ts +39 -0
- package/dist/core/processIdentity.d.ts.map +1 -0
- package/dist/core/processIdentity.js +72 -0
- package/dist/core/processIdentity.js.map +1 -0
- 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/feedback-factory/drain/FeedbackDrainStore.d.ts +6 -0
- package/dist/feedback-factory/drain/FeedbackDrainStore.d.ts.map +1 -1
- package/dist/feedback-factory/drain/FeedbackDrainStore.js +18 -5
- package/dist/feedback-factory/drain/FeedbackDrainStore.js.map +1 -1
- package/dist/lifeline/TelegramLifeline.d.ts.map +1 -1
- package/dist/lifeline/TelegramLifeline.js +1 -119
- package/dist/lifeline/TelegramLifeline.js.map +1 -1
- package/dist/lifeline/lifelineLock.d.ts +38 -0
- package/dist/lifeline/lifelineLock.d.ts.map +1 -0
- package/dist/lifeline/lifelineLock.js +153 -0
- package/dist/lifeline/lifelineLock.js.map +1 -0
- package/dist/lifeline/startupMarker.d.ts +3 -0
- package/dist/lifeline/startupMarker.d.ts.map +1 -1
- package/dist/lifeline/startupMarker.js +2 -0
- package/dist/lifeline/startupMarker.js.map +1 -1
- package/dist/monitoring/OrphanProcessReaper.d.ts +21 -1
- package/dist/monitoring/OrphanProcessReaper.d.ts.map +1 -1
- package/dist/monitoring/OrphanProcessReaper.js +59 -12
- package/dist/monitoring/OrphanProcessReaper.js.map +1 -1
- package/dist/threadline/PipeSessionSpawner.d.ts.map +1 -1
- package/dist/threadline/PipeSessionSpawner.js +66 -45
- package/dist/threadline/PipeSessionSpawner.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +37 -37
- 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.1302.md → 1.3.1303.md} +26 -0
- package/upgrades/1.3.1304.md +89 -0
- package/upgrades/side-effects/feedback-drain-identity.md +78 -0
- package/upgrades/side-effects/test-instance-foreign-kills.md +261 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The lifeline's single-instance lock (`state/lifeline.lock`).
|
|
3
|
+
*
|
|
4
|
+
* The lock records `{ pid, startedAt, procStart }`. `procStart` (the holder's
|
|
5
|
+
* process start time, see core/processIdentity) is what lets a later lifeline
|
|
6
|
+
* prove the live process at `pid` is still the holder before signalling it —
|
|
7
|
+
* a pid on its own may by then belong to any unrelated process.
|
|
8
|
+
*/
|
|
9
|
+
import { spawnSync } from 'node:child_process';
|
|
10
|
+
import fs from 'node:fs';
|
|
11
|
+
import { checkRecordedProcess, ownProcessIdentity } from '../core/processIdentity.js';
|
|
12
|
+
/**
|
|
13
|
+
* Acquire an exclusive lock file to prevent multiple lifeline instances.
|
|
14
|
+
* Returns true if lock acquired, false if another instance holds it.
|
|
15
|
+
*
|
|
16
|
+
* Cases:
|
|
17
|
+
* 1. No lock file → acquire immediately
|
|
18
|
+
* 2. Lock holder dead, or its pid now belongs to a process that started after
|
|
19
|
+
* the lock was written (pid reuse) → take over WITHOUT signalling anything
|
|
20
|
+
* 3. Lock holder alive and PROVEN to be the recorded holder (same start time)
|
|
21
|
+
* → check age. If it has held the lock >5 minutes and is zombie/stopped or
|
|
22
|
+
* wedged sleeping (post-sleep/wake), terminate it and take over. This
|
|
23
|
+
* prevents permanently stuck lifelines from blocking new instances.
|
|
24
|
+
* 4. Holder alive but identity unproven (legacy lock without `procStart`) →
|
|
25
|
+
* respect the lock and never signal: that pid may be someone else's process.
|
|
26
|
+
*/
|
|
27
|
+
export function acquireLockFile(lockPath) {
|
|
28
|
+
try {
|
|
29
|
+
// Check if lock file exists and if the PID is still alive
|
|
30
|
+
if (fs.existsSync(lockPath)) {
|
|
31
|
+
const raw = fs.readFileSync(lockPath, 'utf-8');
|
|
32
|
+
const data = JSON.parse(raw);
|
|
33
|
+
if (data.pid && typeof data.pid === 'number') {
|
|
34
|
+
const identity = checkRecordedProcess(data);
|
|
35
|
+
if (identity === 'gone') {
|
|
36
|
+
console.log(`[Lifeline] Removing stale lock (PID ${data.pid} is dead)`);
|
|
37
|
+
}
|
|
38
|
+
else if (identity === 'reused') {
|
|
39
|
+
console.log(`[Lifeline] Removing stale lock (PID ${data.pid} now belongs to a process started after the lock was written — not signalling it)`);
|
|
40
|
+
}
|
|
41
|
+
else if (identity === 'unproven') {
|
|
42
|
+
// Alive, but nothing proves it is the process that wrote this lock.
|
|
43
|
+
console.log(`[Lifeline] Lock PID ${data.pid} is alive but its identity is unproven — respecting the lock, not signalling`);
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// Proven to be the recorded holder — but is it actually functional?
|
|
48
|
+
// We have three "stuck" states to detect:
|
|
49
|
+
// 1. Zombie (Z) or stopped (T) — clearly dead-but-not-reaped.
|
|
50
|
+
// 2. Sleeping (S) for >5 min without responding to SIGTERM —
|
|
51
|
+
// observed in the 2026-05-20 b2lead-insights incident: the
|
|
52
|
+
// previous lifeline received SIGTERM via the CLI's pkill
|
|
53
|
+
// fallback path and went to 'S' state but never exited,
|
|
54
|
+
// holding the lock for >5 min until manual SIGKILL.
|
|
55
|
+
// 3. A live, healthy lifeline (R/S < 5 min) — DON'T touch it.
|
|
56
|
+
if (!data.startedAt)
|
|
57
|
+
return false;
|
|
58
|
+
const lockAge = Date.now() - new Date(data.startedAt).getTime();
|
|
59
|
+
const fiveMinutes = 5 * 60_000;
|
|
60
|
+
if (lockAge <= fiveMinutes) {
|
|
61
|
+
// Lock is fresh — another lifeline is running
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
const procInfo = spawnSync('/bin/ps', ['-p', String(data.pid), '-o', 'stat='], {
|
|
65
|
+
encoding: 'utf-8', timeout: 3000,
|
|
66
|
+
}).stdout?.trim() ?? '';
|
|
67
|
+
// Z (zombie) / T (stopped) — always recoverable.
|
|
68
|
+
const isZombieOrStopped = procInfo.includes('Z') || procInfo.includes('T');
|
|
69
|
+
// Sustained 'S' for 5+ min after the lock write with no progress is
|
|
70
|
+
// the wedged state we observed: a healthy lifeline writes the lock
|
|
71
|
+
// and starts running tasks within seconds, leaving 'R' or short 'S'
|
|
72
|
+
// bursts.
|
|
73
|
+
const isWedgedSleeping = /^S/i.test(procInfo);
|
|
74
|
+
if (isZombieOrStopped) {
|
|
75
|
+
console.log(`[Lifeline] Lock holder PID ${data.pid} is zombie/stopped (state: ${procInfo}) — taking over`);
|
|
76
|
+
try {
|
|
77
|
+
process.kill(data.pid, 'SIGKILL');
|
|
78
|
+
}
|
|
79
|
+
catch { /* ignore */ }
|
|
80
|
+
}
|
|
81
|
+
else if (isWedgedSleeping) {
|
|
82
|
+
// Try SIGTERM with a short grace window, then SIGKILL.
|
|
83
|
+
console.log(`[Lifeline] Lock holder PID ${data.pid} sleeping >5min after lock write (state: ${procInfo}) — sending SIGTERM`);
|
|
84
|
+
try {
|
|
85
|
+
process.kill(data.pid, 'SIGTERM');
|
|
86
|
+
}
|
|
87
|
+
catch { /* ignore */ }
|
|
88
|
+
// Synchronously poll for exit up to 3s, then SIGKILL.
|
|
89
|
+
const killDeadline = Date.now() + 3000;
|
|
90
|
+
while (Date.now() < killDeadline && checkRecordedProcess(data) === 'same') {
|
|
91
|
+
spawnSync('/bin/sleep', ['0.25'], { timeout: 500 });
|
|
92
|
+
}
|
|
93
|
+
// Re-prove identity before escalating: the holder may have exited
|
|
94
|
+
// during the grace window and its pid been reused.
|
|
95
|
+
const afterGrace = checkRecordedProcess(data);
|
|
96
|
+
if (afterGrace === 'same') {
|
|
97
|
+
console.log(`[Lifeline] PID ${data.pid} survived SIGTERM grace — SIGKILL`);
|
|
98
|
+
try {
|
|
99
|
+
process.kill(data.pid, 'SIGKILL');
|
|
100
|
+
}
|
|
101
|
+
catch { /* ignore */ }
|
|
102
|
+
}
|
|
103
|
+
else if (afterGrace === 'unproven') {
|
|
104
|
+
// Identity became unreadable while the pid is still there: the
|
|
105
|
+
// holder may be alive — neither escalate nor take its lock.
|
|
106
|
+
console.log(`[Lifeline] PID ${data.pid} identity unreadable after SIGTERM grace — respecting the lock, not signalling`);
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
// Process is alive and not a zombie — another lifeline is truly running
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
// Write our PID and start time
|
|
118
|
+
const tmpPath = `${lockPath}.${process.pid}.tmp`;
|
|
119
|
+
fs.writeFileSync(tmpPath, JSON.stringify({ ...ownProcessIdentity(), startedAt: new Date().toISOString() }));
|
|
120
|
+
fs.renameSync(tmpPath, lockPath);
|
|
121
|
+
return true;
|
|
122
|
+
}
|
|
123
|
+
catch (err) {
|
|
124
|
+
console.error(`[Lifeline] Lock acquisition failed: ${err}`);
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* The lifeline processes `lifeline restart` may signal: the lock holder (the
|
|
130
|
+
* process actually wedging the respawn) and the startup-marker pid, each kept
|
|
131
|
+
* ONLY while the live process at that pid is proven to be the one that wrote
|
|
132
|
+
* the record (same start time). Legacy records without a start time, dead
|
|
133
|
+
* pids and reused pids are dropped — they are never signalled.
|
|
134
|
+
*/
|
|
135
|
+
export function provenLifelineRecords(lockPath, marker) {
|
|
136
|
+
const records = [];
|
|
137
|
+
try {
|
|
138
|
+
const lock = JSON.parse(fs.readFileSync(lockPath, 'utf-8'));
|
|
139
|
+
if (typeof lock?.pid === 'number')
|
|
140
|
+
records.push(lock);
|
|
141
|
+
}
|
|
142
|
+
catch { /* no lock file — nothing holds it */ }
|
|
143
|
+
if (marker && typeof marker.pid === 'number')
|
|
144
|
+
records.push(marker);
|
|
145
|
+
const seen = new Set();
|
|
146
|
+
return records.filter((r) => {
|
|
147
|
+
if (r.pid === process.pid || seen.has(r.pid))
|
|
148
|
+
return false;
|
|
149
|
+
seen.add(r.pid);
|
|
150
|
+
return checkRecordedProcess(r) === 'same';
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=lifelineLock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifelineLock.js","sourceRoot":"","sources":["../../src/lifeline/lifelineLock.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,9 @@ export interface StartupMarker {
|
|
|
13
13
|
startedAt: string;
|
|
14
14
|
pid: number;
|
|
15
15
|
version: string;
|
|
16
|
+
/** Process start time of `pid` (core/processIdentity) — lets a restart prove
|
|
17
|
+
* the pid is still this lifeline before signalling it. Absent on old markers. */
|
|
18
|
+
procStart?: number | null;
|
|
16
19
|
}
|
|
17
20
|
export declare function markerPath(stateDir: string): string;
|
|
18
21
|
export declare function writeStartupMarker(stateDir: string, version: string): StartupMarker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startupMarker.d.ts","sourceRoot":"","sources":["../../src/lifeline/startupMarker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"startupMarker.d.ts","sourceRoot":"","sources":["../../src/lifeline/startupMarker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB;sFACkF;IAClF,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa,CAiBnF;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAiBxE"}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import fs from 'node:fs';
|
|
13
13
|
import path from 'node:path';
|
|
14
|
+
import { processStartMs } from '../core/processIdentity.js';
|
|
14
15
|
export function markerPath(stateDir) {
|
|
15
16
|
return path.join(stateDir, 'lifeline-started-at.json');
|
|
16
17
|
}
|
|
@@ -19,6 +20,7 @@ export function writeStartupMarker(stateDir, version) {
|
|
|
19
20
|
startedAt: new Date().toISOString(),
|
|
20
21
|
pid: process.pid,
|
|
21
22
|
version,
|
|
23
|
+
procStart: processStartMs(process.pid),
|
|
22
24
|
};
|
|
23
25
|
const p = markerPath(stateDir);
|
|
24
26
|
const tmp = `${p}.${process.pid}.tmp`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startupMarker.js","sourceRoot":"","sources":["../../src/lifeline/startupMarker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"startupMarker.js","sourceRoot":"","sources":["../../src/lifeline/startupMarker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAW5D,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,OAAe;IAClE,MAAM,MAAM,GAAkB;QAC5B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,OAAO;QACP,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC;KACvC,CAAC;IACF,MAAM,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;IACtC,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACxE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,8CAA8C,GAAG,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IACE,MAAM;YACN,OAAO,MAAM,KAAK,QAAQ;YAC1B,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;YACpC,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;YAC9B,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAClC,CAAC;YACD,OAAO,MAAuB,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -40,6 +40,12 @@ export type ProcessClassification = 'tracked' | 'instar-orphan' | 'external';
|
|
|
40
40
|
export interface ClassifiedProcess extends FrameworkProcess {
|
|
41
41
|
classification: ProcessClassification;
|
|
42
42
|
reason: string;
|
|
43
|
+
/**
|
|
44
|
+
* For an `instar-orphan`: the process start time (epoch ms) read when its
|
|
45
|
+
* ownership was established. The automatic kill signals only while the pid
|
|
46
|
+
* still has this start time; null (unreadable) never authorizes a signal.
|
|
47
|
+
*/
|
|
48
|
+
procStart?: number | null;
|
|
43
49
|
}
|
|
44
50
|
export interface ReaperReport {
|
|
45
51
|
timestamp: string;
|
|
@@ -110,7 +116,12 @@ export declare class OrphanProcessReaper extends EventEmitter {
|
|
|
110
116
|
*/
|
|
111
117
|
private isClaudeCodeProcess;
|
|
112
118
|
/**
|
|
113
|
-
* List all tmux sessions and map pane PIDs to session names.
|
|
119
|
+
* List all tmux sessions and map LIVE pane PIDs to session names.
|
|
120
|
+
*
|
|
121
|
+
* A dead pane retained by remain-on-exit keeps reporting its old pane_pid,
|
|
122
|
+
* which the kernel may already have handed to an unrelated process — so only
|
|
123
|
+
* panes tmux reports as live (pane_dead=0) are mapped; dead or indeterminate
|
|
124
|
+
* panes map nothing.
|
|
114
125
|
*/
|
|
115
126
|
private listAllTmuxSessions;
|
|
116
127
|
/**
|
|
@@ -126,6 +137,15 @@ export declare class OrphanProcessReaper extends EventEmitter {
|
|
|
126
137
|
private classifyProcesses;
|
|
127
138
|
private getParentPid;
|
|
128
139
|
private getProcessCommand;
|
|
140
|
+
/**
|
|
141
|
+
* SIGTERM `pid`, then SIGKILL after 5 s if the same process is still there.
|
|
142
|
+
*
|
|
143
|
+
* `expectedStart` is the start time observed when ownership was established
|
|
144
|
+
* (automatic orphan reaping): the SIGTERM is sent only if the live process
|
|
145
|
+
* still has exactly that start time — null or a mismatch sends nothing.
|
|
146
|
+
* `'operator-requested'` is the explicit user-command path
|
|
147
|
+
* (killExternalProcess), where the user named the pid.
|
|
148
|
+
*/
|
|
129
149
|
private killProcess;
|
|
130
150
|
/**
|
|
131
151
|
* §P0 #6 work-check: does the process have at least one active child? Used as
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrphanProcessReaper.d.ts","sourceRoot":"","sources":["../../src/monitoring/OrphanProcessReaper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"OrphanProcessReaper.d.ts","sourceRoot":"","sources":["../../src/monitoring/OrphanProcessReaper.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
import { spawnSync } from 'node:child_process';
|
|
21
21
|
import { EventEmitter } from 'node:events';
|
|
22
22
|
import { listProcessSignals, matchProcessSignal, } from './frameworkProcessSignals.js';
|
|
23
|
+
import { processStartMs } from '../core/processIdentity.js';
|
|
23
24
|
/** Drop-in replacement for execSync that avoids its security concerns. */
|
|
24
25
|
function shellExec(cmd, timeout = 5000) {
|
|
25
26
|
return spawnSync('/bin/sh', ['-c', cmd], { encoding: 'utf-8', timeout }).stdout ?? '';
|
|
@@ -111,7 +112,15 @@ export class OrphanProcessReaper extends EventEmitter {
|
|
|
111
112
|
console.log(`[OrphanReaper] ${msg}`);
|
|
112
113
|
continue;
|
|
113
114
|
}
|
|
114
|
-
this
|
|
115
|
+
// Signal only the process whose ownership this scan established: same
|
|
116
|
+
// pid AND same start time. Unreadable or changed identity → no signal,
|
|
117
|
+
// and the tmux session is left alone too.
|
|
118
|
+
if (!this.killProcess(orphan.pid, orphan.procStart ?? null)) {
|
|
119
|
+
const msg = `Skipped orphan PID ${orphan.pid} (tmux: ${orphan.tmuxSession || 'none'}) — process identity unreadable or changed since ownership was established, not signalling`;
|
|
120
|
+
report.actionsPerformed.push(msg);
|
|
121
|
+
console.log(`[OrphanReaper] ${msg}`);
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
115
124
|
// Also kill the tmux session if it exists — but NEVER the server session.
|
|
116
125
|
// §P0 #6 route through ReapAuthority when the orphan's tmuxSession
|
|
117
126
|
// matches a CURRENTLY-tracked session (a race between this scan and a
|
|
@@ -128,7 +137,9 @@ export class OrphanProcessReaper extends EventEmitter {
|
|
|
128
137
|
finalStatus: 'killed',
|
|
129
138
|
});
|
|
130
139
|
}
|
|
131
|
-
else {
|
|
140
|
+
else if (this.sessionManager.ownsLiveTmuxSession(orphan.tmuxSession)) {
|
|
141
|
+
// Re-proven just now: the session under this name is still the
|
|
142
|
+
// incarnation this agent spawned (not a replacement under the name).
|
|
132
143
|
this.killTmuxSession(orphan.tmuxSession);
|
|
133
144
|
}
|
|
134
145
|
}
|
|
@@ -283,17 +294,22 @@ export class OrphanProcessReaper extends EventEmitter {
|
|
|
283
294
|
return matchProcessSignal(command)?.framework === 'claude-code';
|
|
284
295
|
}
|
|
285
296
|
/**
|
|
286
|
-
* List all tmux sessions and map pane PIDs to session names.
|
|
297
|
+
* List all tmux sessions and map LIVE pane PIDs to session names.
|
|
298
|
+
*
|
|
299
|
+
* A dead pane retained by remain-on-exit keeps reporting its old pane_pid,
|
|
300
|
+
* which the kernel may already have handed to an unrelated process — so only
|
|
301
|
+
* panes tmux reports as live (pane_dead=0) are mapped; dead or indeterminate
|
|
302
|
+
* panes map nothing.
|
|
287
303
|
*/
|
|
288
304
|
listAllTmuxSessions() {
|
|
289
305
|
const pidToSession = new Map();
|
|
290
306
|
try {
|
|
291
|
-
const output = shellExec(`${this.config.sessions.tmuxPath} list-panes -a -F "#{session_name}||#{pane_pid}" 2>/dev/null`).trim();
|
|
307
|
+
const output = shellExec(`${this.config.sessions.tmuxPath} list-panes -a -F "#{session_name}||#{pane_pid}||#{pane_dead}" 2>/dev/null`).trim();
|
|
292
308
|
if (!output)
|
|
293
309
|
return pidToSession;
|
|
294
310
|
for (const line of output.split('\n')) {
|
|
295
|
-
const [sessionName, pidStr] = line.split('||');
|
|
296
|
-
if (sessionName && pidStr) {
|
|
311
|
+
const [sessionName, pidStr, paneDead] = line.split('||');
|
|
312
|
+
if (sessionName && pidStr && paneDead === '0') {
|
|
297
313
|
const pid = parseInt(pidStr, 10);
|
|
298
314
|
if (!isNaN(pid)) {
|
|
299
315
|
pidToSession.set(pid, sessionName);
|
|
@@ -345,11 +361,25 @@ export class OrphanProcessReaper extends EventEmitter {
|
|
|
345
361
|
// This replaces the old prefix-startsWith match per
|
|
346
362
|
// UNIFIED-SESSION-LIFECYCLE §P0 #6 — a user-created session that happens
|
|
347
363
|
// to share the project prefix is NOT classified as orphan.
|
|
364
|
+
//
|
|
365
|
+
// A historical NAME match is still not ownership: another agent, a test
|
|
366
|
+
// instance or a user can create a session under a name this agent once
|
|
367
|
+
// used. Only a live session carrying the INSTAR_SESSION_ID of this
|
|
368
|
+
// agent's own record for that name is the incarnation this agent
|
|
369
|
+
// spawned; anything else is reported, never auto-killed.
|
|
348
370
|
if (knownInstarSessions.has(tmuxSession)) {
|
|
371
|
+
if (this.sessionManager.ownsLiveTmuxSession(tmuxSession)) {
|
|
372
|
+
return {
|
|
373
|
+
...proc,
|
|
374
|
+
classification: 'instar-orphan',
|
|
375
|
+
reason: `In instar-owned tmux "${tmuxSession}" but not currently tracked by SessionManager`,
|
|
376
|
+
procStart: processStartMs(proc.pid),
|
|
377
|
+
};
|
|
378
|
+
}
|
|
349
379
|
return {
|
|
350
380
|
...proc,
|
|
351
|
-
classification: '
|
|
352
|
-
reason: `In
|
|
381
|
+
classification: 'external',
|
|
382
|
+
reason: `In tmux "${tmuxSession}", a name instar once used, but the session carries no matching INSTAR_SESSION_ID — ownership unproven, report only`,
|
|
353
383
|
};
|
|
354
384
|
}
|
|
355
385
|
// In some other tmux session — likely user's own
|
|
@@ -425,13 +455,30 @@ export class OrphanProcessReaper extends EventEmitter {
|
|
|
425
455
|
return null;
|
|
426
456
|
}
|
|
427
457
|
}
|
|
428
|
-
|
|
458
|
+
/**
|
|
459
|
+
* SIGTERM `pid`, then SIGKILL after 5 s if the same process is still there.
|
|
460
|
+
*
|
|
461
|
+
* `expectedStart` is the start time observed when ownership was established
|
|
462
|
+
* (automatic orphan reaping): the SIGTERM is sent only if the live process
|
|
463
|
+
* still has exactly that start time — null or a mismatch sends nothing.
|
|
464
|
+
* `'operator-requested'` is the explicit user-command path
|
|
465
|
+
* (killExternalProcess), where the user named the pid.
|
|
466
|
+
*/
|
|
467
|
+
killProcess(pid, expectedStart) {
|
|
429
468
|
try {
|
|
469
|
+
// Record which process this is before signalling: the SIGKILL below is
|
|
470
|
+
// sent only if the pid still has the same start time — once the target
|
|
471
|
+
// exits, its pid can be handed to an unrelated process within the grace.
|
|
472
|
+
const startedAt = processStartMs(pid);
|
|
473
|
+
if (expectedStart !== 'operator-requested' && (expectedStart === null || startedAt !== expectedStart)) {
|
|
474
|
+
return false;
|
|
475
|
+
}
|
|
430
476
|
process.kill(pid, 'SIGTERM');
|
|
431
477
|
// Give it 5 seconds, then SIGKILL if needed
|
|
432
478
|
setTimeout(() => {
|
|
433
479
|
try {
|
|
434
|
-
|
|
480
|
+
if (startedAt === null || processStartMs(pid) !== startedAt)
|
|
481
|
+
return; // exited (or pid reused)
|
|
435
482
|
process.kill(pid, 'SIGKILL');
|
|
436
483
|
console.log(`[OrphanReaper] SIGKILL sent to PID ${pid} (SIGTERM wasn't enough)`);
|
|
437
484
|
}
|
|
@@ -490,7 +537,7 @@ export class OrphanProcessReaper extends EventEmitter {
|
|
|
490
537
|
if (!process) {
|
|
491
538
|
return { success: false, message: `PID ${pid} is not in the external process list.` };
|
|
492
539
|
}
|
|
493
|
-
const killed = this.killProcess(pid);
|
|
540
|
+
const killed = this.killProcess(pid, 'operator-requested');
|
|
494
541
|
if (process.tmuxSession) {
|
|
495
542
|
this.killTmuxSession(process.tmuxSession);
|
|
496
543
|
}
|
|
@@ -512,7 +559,7 @@ export class OrphanProcessReaper extends EventEmitter {
|
|
|
512
559
|
const details = [];
|
|
513
560
|
let freedKB = 0;
|
|
514
561
|
for (const proc of report.external) {
|
|
515
|
-
const killed = this.killProcess(proc.pid);
|
|
562
|
+
const killed = this.killProcess(proc.pid, 'operator-requested');
|
|
516
563
|
if (proc.tmuxSession) {
|
|
517
564
|
this.killTmuxSession(proc.tmuxSession);
|
|
518
565
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrphanProcessReaper.js","sourceRoot":"","sources":["../../src/monitoring/OrphanProcessReaper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OrphanProcessReaper.js","sourceRoot":"","sources":["../../src/monitoring/OrphanProcessReaper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PipeSessionSpawner.d.ts","sourceRoot":"","sources":["../../src/threadline/PipeSessionSpawner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAgDpF,MAAM,WAAW,iBAAiB;IAChC,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,SAAS,EAAE,qBAAqB,CAAC;IACjC;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACzD;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,EAAE,MAAM,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IACzD;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"PipeSessionSpawner.d.ts","sourceRoot":"","sources":["../../src/threadline/PipeSessionSpawner.ts"],"names":[],"mappings":"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"}
|