wicked-crew 0.8.0 → 0.8.2

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.
Files changed (91) hide show
  1. package/dist/api/ask-paths.d.ts +90 -0
  2. package/dist/api/ask-paths.d.ts.map +1 -0
  3. package/dist/api/ask-paths.js +145 -0
  4. package/dist/api/ask-paths.js.map +1 -0
  5. package/dist/api/ask-relay.d.ts +150 -0
  6. package/dist/api/ask-relay.d.ts.map +1 -0
  7. package/dist/api/ask-relay.js +601 -0
  8. package/dist/api/ask-relay.js.map +1 -0
  9. package/dist/api/chat-scope.d.ts +25 -2
  10. package/dist/api/chat-scope.d.ts.map +1 -1
  11. package/dist/api/chat-scope.js +47 -4
  12. package/dist/api/chat-scope.js.map +1 -1
  13. package/dist/api/diagnostics.d.ts +5 -2
  14. package/dist/api/diagnostics.d.ts.map +1 -1
  15. package/dist/api/diagnostics.js +7 -3
  16. package/dist/api/diagnostics.js.map +1 -1
  17. package/dist/api/eval-sample.d.ts +12 -12
  18. package/dist/api/mcp.d.ts +10 -10
  19. package/dist/api/plan-schema.d.ts +14 -0
  20. package/dist/api/plan-schema.d.ts.map +1 -1
  21. package/dist/api/plan-schema.js +4 -0
  22. package/dist/api/plan-schema.js.map +1 -1
  23. package/dist/api/recording.d.ts +30 -1
  24. package/dist/api/recording.d.ts.map +1 -1
  25. package/dist/api/recording.js +54 -6
  26. package/dist/api/recording.js.map +1 -1
  27. package/dist/api/roster-standing.d.ts.map +1 -1
  28. package/dist/api/roster-standing.js +6 -2
  29. package/dist/api/roster-standing.js.map +1 -1
  30. package/dist/api/routes.d.ts +144 -14
  31. package/dist/api/routes.d.ts.map +1 -1
  32. package/dist/api/routes.js +341 -202
  33. package/dist/api/routes.js.map +1 -1
  34. package/dist/api/seat-standing.d.ts +9 -1
  35. package/dist/api/seat-standing.d.ts.map +1 -1
  36. package/dist/api/seat-standing.js +27 -1
  37. package/dist/api/seat-standing.js.map +1 -1
  38. package/dist/api/server.d.ts +5 -0
  39. package/dist/api/server.d.ts.map +1 -1
  40. package/dist/api/server.js +76 -5
  41. package/dist/api/server.js.map +1 -1
  42. package/dist/api/testing.d.ts +4 -4
  43. package/dist/campaigns/routes.d.ts +2 -2
  44. package/dist/cli/index.d.ts.map +1 -1
  45. package/dist/cli/index.js +9 -3
  46. package/dist/cli/index.js.map +1 -1
  47. package/dist/core/adapter.d.ts +1 -0
  48. package/dist/core/adapter.d.ts.map +1 -1
  49. package/dist/core/adapter.js +8 -0
  50. package/dist/core/adapter.js.map +1 -1
  51. package/dist/core/bridge-reaper.d.ts +50 -7
  52. package/dist/core/bridge-reaper.d.ts.map +1 -1
  53. package/dist/core/bridge-reaper.js +242 -42
  54. package/dist/core/bridge-reaper.js.map +1 -1
  55. package/dist/core/types.d.ts +2 -0
  56. package/dist/core/types.d.ts.map +1 -1
  57. package/dist/core/types.js.map +1 -1
  58. package/dist/decisions/chat-recorder.d.ts +18 -0
  59. package/dist/decisions/chat-recorder.d.ts.map +1 -1
  60. package/dist/decisions/chat-recorder.js +107 -14
  61. package/dist/decisions/chat-recorder.js.map +1 -1
  62. package/dist/decisions/consider.d.ts +13 -0
  63. package/dist/decisions/consider.d.ts.map +1 -1
  64. package/dist/decisions/consider.js +20 -4
  65. package/dist/decisions/consider.js.map +1 -1
  66. package/dist/interactive/bridge-pool.d.ts.map +1 -1
  67. package/dist/interactive/bridge-pool.js +3 -2
  68. package/dist/interactive/bridge-pool.js.map +1 -1
  69. package/dist/interactive/draft-events.d.ts +28 -1
  70. package/dist/interactive/draft-events.d.ts.map +1 -1
  71. package/dist/interactive/draft-events.js +79 -17
  72. package/dist/interactive/draft-events.js.map +1 -1
  73. package/dist/interactive/draft-skill.d.ts.map +1 -1
  74. package/dist/interactive/draft-skill.js +24 -6
  75. package/dist/interactive/draft-skill.js.map +1 -1
  76. package/dist/interactive/review-events.d.ts +1 -1
  77. package/dist/interactive/review-events.d.ts.map +1 -1
  78. package/dist/interactive/review-events.js +4 -2
  79. package/dist/interactive/review-events.js.map +1 -1
  80. package/dist/studio/assets/index-CGjbTpLl.css +32 -0
  81. package/dist/studio/assets/index-DRybGZtf.js +580 -0
  82. package/dist/studio/editors/wicked-page/editor.json +1 -1
  83. package/dist/studio/editors/wicked-page/index.html +1 -1
  84. package/dist/studio/index.html +2 -2
  85. package/dist/studio/testid-inventory.json +499 -19
  86. package/dist/team/routes.d.ts +38 -0
  87. package/dist/team/routes.d.ts.map +1 -1
  88. package/endpoint-manifest.json +1 -1
  89. package/package.json +3 -3
  90. package/dist/studio/assets/index-BnJlrMxp.css +0 -32
  91. package/dist/studio/assets/index-DG0nwF7c.js +0 -582
@@ -52,6 +52,22 @@
52
52
  * operator's own `serve`) is never matched either. Crew-spawned bridges therefore live exactly as
53
53
  * long as a crew daemon owns them: adopt-or-kill, never leak.
54
54
  *
55
+ * A fifth (crew#806): the orphan sweeps probed each candidate's cwd with a SYNCHRONOUS per-pid
56
+ * `lsof` inside a timer callback, with no timeout. On a loaded macOS host one `lsof -p <pid>` of a
57
+ * crashpad handler took over 80 s, and the candidate set included processes that are not ours at
58
+ * all (`Claude.app`, its crashpad handlers, ChatGPT's "Codex Framework", the `codex app-server
59
+ * daemon`) — five such probes per 30 s tick, so the tick never finished before the next was due and
60
+ * the event loop starved: `/health` never answered, a fresh daemon never reached `listen`, SIGTERM
61
+ * was not honoured (the handler cannot run inside `spawnSync`). Now the sweeps are ASYNC, the cwd of
62
+ * every candidate is read with ONE batched `lsof` (`/proc` on Linux) under a hard timeout that
63
+ * SIGKILLs the probe, a tick whose predecessor is still in flight is skipped, a probe that fails or
64
+ * times out reads as "cwd unknown → do not reap", the boot sweep no longer blocks the boot, and the
65
+ * candidate match is narrowed to the PROGRAM region of a command line (before its first `-flag`
66
+ * token, quote-aware), is case-sensitive on POSIX, and a pid is re-checked against a fresh
67
+ * listing after the probe's await (a recycled pid is nobody's orphan) — a path segment deep in a
68
+ * `--database=…/Claude/…` flag, or `/Applications/Claude.app/Contents/MacOS/Claude`, is not a
69
+ * worker CLI.
70
+ *
55
71
  * # Why a process-table sweep rather than tracked pids alone
56
72
  *
57
73
  * The spawn happens inside the engine (the native actor thread), which reports no pid
@@ -62,7 +78,8 @@
62
78
  * fails OPEN (returns nothing) when the platform tooling is unavailable: a shutdown
63
79
  * that cannot enumerate children must still shut down.
64
80
  */
65
- import { spawnSync } from 'node:child_process';
81
+ import { execFile, spawnSync } from 'node:child_process';
82
+ import { readlink } from 'node:fs/promises';
66
83
  import { isAbsolute } from 'node:path';
67
84
  import { ownerAlive, readCrewSidecar, readLock, sidecarNamesBridge, } from '../interactive/bridge-pool.js';
68
85
  import { childEnvWithBootEstateDb } from './governance-store.js';
@@ -114,7 +131,43 @@ const POLL_INTERVAL_MS = 100;
114
131
  */
115
132
  function bridgeTokenRe(bin) {
116
133
  const esc = bin.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
117
- return new RegExp(`(?:^|[\\s/\\\\"'])${esc}(?:\\.(?:cmd|exe|bat|mjs))?(?:[\\s/\\\\"']|$)`, 'i');
134
+ // Case-insensitive only where the filesystem is (Windows launchers): on POSIX the CLIs are
135
+ // installed in lower case, and `…/Claude.app/Contents/MacOS/Claude` is a desktop app (crew#806).
136
+ return new RegExp(`(?:^|[\\s/\\\\"'])${esc}(?:\\.(?:cmd|exe|bat|mjs))?(?:[\\s/\\\\"']|$)`, TOKEN_FLAGS);
137
+ }
138
+ /** Regex flags of every token matcher: `i` on Windows (case-insensitive launchers), none elsewhere. */
139
+ const TOKEN_FLAGS = process.platform === 'win32' ? 'i' : '';
140
+ /**
141
+ * The PROGRAM region of a command line — everything before its first `-flag` token (the whole
142
+ * line when there is none). The orphan matchers test this region alone (crew#806): an
143
+ * engine-spawned bridge or worker CLI names its binary THERE (`/x/.bin/claude-agent-acp`,
144
+ * `node …/wicked-pi.mjs --mode rpc`, `claude -p …`, `sh /x/.bin/pi-acp`, a quoted Windows `.cmd`,
145
+ * and a path with spaces — POSIX `ps` prints argv unquoted, so no split on whitespace), while
146
+ * `chrome_crashpad_handler --database=/…/Claude/Crashpad` names ours only inside a flag of a process
147
+ * that is nobody's worker. A node option before the script (`node --inspect …/claude`) ends the
148
+ * region early; the engine spawns its bridges and workers with none.
149
+ */
150
+ export function programRegionOf(command) {
151
+ // Quote-aware (codex r2 on crew#806): a ` -` inside a quoted executable (`"/x/My - Project/claude"`)
152
+ // is part of the path, not the first flag.
153
+ let quote = null;
154
+ for (let i = 0; i < command.length; i++) {
155
+ const ch = command[i];
156
+ if (quote !== null) {
157
+ if (ch === quote)
158
+ quote = null;
159
+ continue;
160
+ }
161
+ // A quote opens only at a token start (codex r3): POSIX `ps` prints argv unquoted, so the
162
+ // apostrophe in `/home/op/John's/bin/helper` is a character, not a quote.
163
+ if ((ch === '"' || ch === "'") && (i === 0 || /\s/.test(command[i - 1]))) {
164
+ quote = ch;
165
+ continue;
166
+ }
167
+ if (/\s/.test(ch) && command[i + 1] === '-')
168
+ return command.slice(0, i).trimEnd();
169
+ }
170
+ return command.trimEnd();
118
171
  }
119
172
  /** Precompiled per-bin matchers — the scan loops run one test per line, no per-line RegExp churn. */
120
173
  const BRIDGE_TOKEN_RES = BRIDGE_BINS.map((bin) => bridgeTokenRe(bin));
@@ -199,12 +252,23 @@ function listProcesses() {
199
252
  '-NoProfile',
200
253
  '-Command',
201
254
  "Get-CimInstance Win32_Process | ForEach-Object { '{0} {1} {2}' -f $_.ProcessId, $_.ParentProcessId, $_.CommandLine }",
202
- ], { encoding: 'utf8', windowsHide: true, maxBuffer: 16 * 1024 * 1024, env: childEnvWithBootEstateDb() })
255
+ ], {
256
+ encoding: 'utf8',
257
+ windowsHide: true,
258
+ maxBuffer: 16 * 1024 * 1024,
259
+ // Bounded like the POSIX listing (crew#806); CIM is slower than `ps`, so four caps.
260
+ timeout: PROBE_TIMEOUT_MS * 4,
261
+ killSignal: 'SIGKILL',
262
+ env: childEnvWithBootEstateDb(),
263
+ })
203
264
  : // POSIX keywords (`args`, not the BSD/procps-specific `command`): same spelling
204
- // works on macOS and Linux.
265
+ // works on macOS and Linux. Bounded (crew#806): this sync listing serves the `exit`
266
+ // sweep, which has no async option — a `ps` that hangs must not hang the exit.
205
267
  spawnSync('ps', ['-A', '-o', 'pid=,ppid=,args='], {
206
268
  encoding: 'utf8',
207
269
  maxBuffer: 16 * 1024 * 1024,
270
+ timeout: PROBE_TIMEOUT_MS,
271
+ killSignal: 'SIGKILL',
208
272
  env: childEnvWithBootEstateDb(),
209
273
  });
210
274
  if (out.error !== undefined || out.status !== 0 || typeof out.stdout !== 'string')
@@ -215,6 +279,51 @@ function listProcesses() {
215
279
  return null;
216
280
  }
217
281
  }
282
+ /** Hard ceiling on any one process probe (`ps`, `lsof`) the sweeps run (crew#806). A probe past it
283
+ * is SIGKILLed and reads as "unknown" — the sweeps fail open on it (nothing is reaped on a guess). */
284
+ export const PROBE_TIMEOUT_MS = 5_000;
285
+ /** Run a probe off the event loop: its stdout on success, `null` when it failed, was signalled
286
+ * (our SIGKILL at {@link PROBE_TIMEOUT_MS}, or anyone else's) or could not start. `lsof` exits 1
287
+ * when one of the pids has already gone and still prints the rest, so with `okOnNonZero` a plain
288
+ * non-zero EXIT STATUS with output is output — a signal never is (codex on crew#806: a probe cut
289
+ * short by a signal has partial output, and partial output must not license a kill). */
290
+ function probe(file, args, okOnNonZero, timeoutMs = PROBE_TIMEOUT_MS) {
291
+ return new Promise((resolve) => {
292
+ try {
293
+ execFile(file, args, {
294
+ encoding: 'utf8',
295
+ timeout: timeoutMs,
296
+ killSignal: 'SIGKILL',
297
+ maxBuffer: 16 * 1024 * 1024,
298
+ windowsHide: true,
299
+ env: childEnvWithBootEstateDb(),
300
+ }, (err, stdout) => {
301
+ if (err !== null) {
302
+ const e = err;
303
+ const exitedNonZero = e.killed !== true && (e.signal === null || e.signal === undefined) && typeof e.code === 'number';
304
+ if (!(okOnNonZero && exitedNonZero))
305
+ return resolve(null);
306
+ }
307
+ resolve(typeof stdout === 'string' ? stdout : null);
308
+ });
309
+ }
310
+ catch {
311
+ resolve(null);
312
+ }
313
+ });
314
+ }
315
+ /** The async `pid ppid command` listing the orphan sweeps use — never on the event loop (crew#806),
316
+ * on Windows too (codex r4: the sync CIM listing kept for the `exit` path must not serve a sweep). */
317
+ async function listProcessesAsync() {
318
+ if (process.platform === 'win32') {
319
+ return probe('powershell', [
320
+ '-NoProfile',
321
+ '-Command',
322
+ "Get-CimInstance Win32_Process | ForEach-Object { '{0} {1} {2}' -f $_.ProcessId, $_.ParentProcessId, $_.CommandLine }",
323
+ ], false, PROBE_TIMEOUT_MS * 4);
324
+ }
325
+ return probe('ps', ['-A', '-o', 'pid=,ppid=,args='], false);
326
+ }
218
327
  /**
219
328
  * Pids of every live bridge process that is a direct child of `parentPid`. Fails open:
220
329
  * an unreadable process table yields `[]`, never a throw — shutdown must proceed.
@@ -236,9 +345,15 @@ export function discoverBridgeChildren(parentPid = process.pid) {
236
345
  export function parseOrphanedRunProcesses(listing) {
237
346
  const pids = [];
238
347
  for (const { pid, ppid, command } of parseListing(listing)) {
239
- if (ppid !== 1 || pid === process.pid)
348
+ // Never this daemon's OWN children (codex r2 on crew#806): a daemon running as pid 1 (a
349
+ // container's init) sees every child of its own with ppid 1 — those are the shutdown reaper's
350
+ // business, never an orphan's.
351
+ if (ppid !== 1 || pid === process.pid || ppid === process.pid)
240
352
  continue;
241
- if (ORPHAN_TOKEN_RES.some((re) => re.test(command)))
353
+ // The PROGRAM region only (crew#806): a desktop app whose crash handler names `Claude` inside
354
+ // a `--database=` flag is not a candidate, so it is never probed.
355
+ const program = programRegionOf(command);
356
+ if (ORPHAN_TOKEN_RES.some((re) => re.test(program)))
242
357
  pids.push(pid);
243
358
  }
244
359
  return pids;
@@ -308,30 +423,101 @@ function orphanedInteractiveTargets(listing, io) {
308
423
  }
309
424
  return targets;
310
425
  }
426
+ /** The cwd contract of every engine-spawned bridge and worker CLI: a run worktree. */
427
+ export function inRunWorktree(cwd) {
428
+ return cwd !== undefined && cwd.includes('wicked-worktrees');
429
+ }
311
430
  /**
312
- * True when `pid`'s working directory sits inside an engine run worktree — the cwd
313
- * contract of every engine-spawned bridge. A user's own nohup'd `*-acp` process also
314
- * reparents to init but runs from an arbitrary cwd, so this is the discriminator that
315
- * keeps the boot sweep from shooting it (Copilot review on #300). POSIX only (lsof);
316
- * anywhere the cwd cannot be read the answer is false — never kill on uncertainty.
431
+ * The working directory of each of `pids` that has a readable one — ONE batched read for the whole
432
+ * candidate set (crew#806): `/proc/<pid>/cwd` on Linux, a single `lsof -a -d cwd -p <p1,p2,…> -Fpn -w`
433
+ * elsewhere on POSIX (the same shape `api/run-liveness.ts` reads), bounded by {@link PROBE_TIMEOUT_MS}
434
+ * and SIGKILLed past it. A pid the probe could not answer for is simply absent — the sweeps treat
435
+ * absence as "cwd unknown → do not reap". Windows has no reading (an empty map): never kill on
436
+ * uncertainty. A user's own nohup'd `*-acp` also reparents to init but runs from an arbitrary cwd,
437
+ * so the cwd is the discriminator that keeps the sweeps from shooting it (Copilot review on #300).
317
438
  */
318
- function pidRunsInRunWorktree(pid) {
319
- if (process.platform === 'win32')
320
- return false;
321
- try {
322
- const out = spawnSync('lsof', ['-a', '-p', String(pid), '-d', 'cwd', '-Fn'], {
323
- encoding: 'utf8',
324
- maxBuffer: 1024 * 1024,
325
- env: childEnvWithBootEstateDb(),
326
- });
327
- if (out.error !== undefined || out.status !== 0 || typeof out.stdout !== 'string')
328
- return false;
329
- const cwd = out.stdout.split('\n').find((l) => l.startsWith('n'))?.slice(1) ?? '';
330
- return cwd.includes('wicked-worktrees');
439
+ export async function probeCwds(pids) {
440
+ const out = new Map();
441
+ if (pids.length === 0 || process.platform === 'win32')
442
+ return out;
443
+ if (process.platform === 'linux') {
444
+ await Promise.all(pids.map(async (pid) => {
445
+ try {
446
+ out.set(pid, await readlink(`/proc/${pid}/cwd`));
447
+ }
448
+ catch {
449
+ // gone, or not ours to read
450
+ }
451
+ }));
452
+ return out;
331
453
  }
332
- catch {
333
- return false;
454
+ const text = await probe('lsof', ['-a', '-d', 'cwd', '-p', pids.join(','), '-Fpn', '-w'], true);
455
+ if (text === null)
456
+ return out;
457
+ let pid;
458
+ for (const line of text.split('\n')) {
459
+ if (line.startsWith('p'))
460
+ pid = Number(line.slice(1));
461
+ else if (line.startsWith('n') && pid !== undefined)
462
+ out.set(pid, line.slice(1));
334
463
  }
464
+ return out;
465
+ }
466
+ /** `value` settled within `ms`, else a rejection — the timer never holds the process open. */
467
+ function withDeadline(value, ms) {
468
+ return new Promise((resolve, reject) => {
469
+ const timer = setTimeout(() => reject(new Error(`process probe did not settle within ${ms} ms`)), ms);
470
+ timer.unref?.();
471
+ Promise.resolve(value).then((v) => {
472
+ clearTimeout(timer);
473
+ resolve(v);
474
+ }, (err) => {
475
+ clearTimeout(timer);
476
+ reject(err instanceof Error ? err : new Error(String(err)));
477
+ });
478
+ });
479
+ }
480
+ /**
481
+ * Every orphan this sweep may signal — run processes (ppid 1, program-region token, cwd inside a run
482
+ * worktree) and crew-recorded interactive trees (ppid 1, sidecar names the pid, owner gone) — judged
483
+ * on ONE listing, then CONFIRMED against a fresh listing after the cwd probe's await (codex r2/r3 on
484
+ * crew#806): the await is a window in which an orphan can exit and its pid be reused, and a
485
+ * recycled pid is nobody's orphan. A target is confirmed when the fresh listing shows the same pid
486
+ * with the same command line and the same parent. Both arms go through the re-check, so an
487
+ * interactive wrapper that died during the probe is never signalled by its pid's new owner.
488
+ */
489
+ async function orphanTargets(listing, io) {
490
+ const runCandidates = parseOrphanedRunProcesses(listing);
491
+ const interactive = orphanedInteractiveTargets(listing, io);
492
+ if (runCandidates.length === 0 && interactive.length === 0)
493
+ return [];
494
+ let inWorktree = [];
495
+ if (runCandidates.length > 0) {
496
+ try {
497
+ // The default reader is bounded by its own probe timeout; the race bounds an injected one
498
+ // too, so the sweep's in-flight guard can never be held open by a read that does not settle.
499
+ const cwds = await withDeadline((io.cwds ?? probeCwds)(runCandidates), PROBE_TIMEOUT_MS + 1_000);
500
+ inWorktree = runCandidates.filter((pid) => inRunWorktree(cwds.get(pid)));
501
+ }
502
+ catch {
503
+ inWorktree = []; // a probe that failed or timed out answers nothing — never kill on uncertainty
504
+ }
505
+ }
506
+ const targets = [...new Set([...inWorktree, ...interactive])];
507
+ if (targets.length === 0)
508
+ return [];
509
+ const again = await (io.list ?? listProcessesAsync)();
510
+ if (again === null)
511
+ return []; // cannot confirm → do not reap
512
+ // Same pid, same command line, same parent as when it was judged: a run orphan keeps ppid 1, an
513
+ // interactive server keeps its (orphaned) wrapper as parent — a recycled pid matches neither.
514
+ const before = new Map(parseListing(listing).map((r) => [r.pid, r]));
515
+ const now = new Map(parseListing(again).map((r) => [r.pid, r]));
516
+ return targets.filter((pid) => {
517
+ const was = before.get(pid);
518
+ const row = now.get(pid);
519
+ return was !== undefined && row !== undefined && row.ppid === was.ppid && row.command === was.command;
520
+ });
335
521
  }
336
522
  /**
337
523
  * Boot-time sweep: SIGTERM orphaned bridges from a prior daemon generation AND orphaned
@@ -339,14 +525,11 @@ function pidRunsInRunWorktree(pid) {
339
525
  * run worktree, so user-started processes are never matched — AND crew-spawned interactive
340
526
  * bridge trees whose owning daemon is gone (ppid 1 AND crew's sidecar names them, F-W1-103).
341
527
  */
342
- export function reapOrphansAtBoot(io = {}) {
343
- const listing = (io.list ?? listProcesses)();
528
+ export async function reapOrphansAtBoot(io = {}) {
529
+ const listing = await (io.list ?? listProcessesAsync)();
344
530
  if (listing === null)
345
531
  return [];
346
- const orphans = [
347
- ...parseOrphanedRunProcesses(listing).filter((pid) => (io.cwdInWorktree ?? pidRunsInRunWorktree)(pid)),
348
- ...orphanedInteractiveTargets(listing, io),
349
- ];
532
+ const orphans = await orphanTargets(listing, io);
350
533
  const reaped = [];
351
534
  for (const pid of orphans) {
352
535
  try {
@@ -386,14 +569,11 @@ export function orphanSweepMs(raw = process.env['WICKED_CREW_ORPHAN_SWEEP_SECS']
386
569
  * STILL in the table now ignored its SIGTERM for a whole interval and gets SIGKILL — the
387
570
  * same escalation `shutdown()` runs, at sweep-interval granularity. Exported for tests.
388
571
  */
389
- export function sweepOrphanedRunProcesses(pendingKill, io = {}) {
390
- const listing = (io.list ?? listProcesses)();
572
+ export async function sweepOrphanedRunProcesses(pendingKill, io = {}) {
573
+ const listing = await (io.list ?? listProcessesAsync)();
391
574
  if (listing === null)
392
575
  return { terminated: [], killed: [] };
393
- const alive = new Set([
394
- ...parseOrphanedRunProcesses(listing).filter((pid) => (io.cwdInWorktree ?? pidRunsInRunWorktree)(pid)),
395
- ...orphanedInteractiveTargets(listing, io),
396
- ]);
576
+ const alive = new Set(await orphanTargets(listing, io));
397
577
  const kill = io.kill ?? process.kill;
398
578
  const terminated = [];
399
579
  const killed = [];
@@ -432,16 +612,36 @@ export function startOrphanSweep(intervalMs = orphanSweepMs(), io = {}) {
432
612
  if (intervalMs <= 0)
433
613
  return () => { };
434
614
  const pendingKill = new Set();
615
+ let inFlight = false;
616
+ let stopped = false;
435
617
  const timer = setInterval(() => {
436
- const { terminated, killed } = sweepOrphanedRunProcesses(pendingKill, io);
437
- if (terminated.length > 0 || killed.length > 0) {
618
+ // One sweep at a time (crew#806): a tick whose predecessor is still probing is skipped, so a
619
+ // slow host can never stack sweeps — the stall-watchdog's own rule.
620
+ if (inFlight) {
621
+ console.warn('[bridge-reaper] orphan sweep SKIPPED — the previous sweep is still in flight (a slow process probe?)');
622
+ return;
623
+ }
624
+ inFlight = true;
625
+ sweepOrphanedRunProcesses(pendingKill, io)
626
+ .then(({ terminated, killed }) => {
627
+ if (stopped || (terminated.length === 0 && killed.length === 0))
628
+ return;
438
629
  const killNote = killed.length > 0 ? `; SIGKILLed unresponsive: ${killed.join(', ')}` : '';
439
630
  console.warn(`[bridge-reaper] reaped orphaned worker/bridge process(es) (crew#340): ` +
440
631
  `SIGTERMed ${terminated.join(', ') || '(none)'}${killNote}`);
441
- }
632
+ })
633
+ .catch(() => {
634
+ /* a sweep never throws by contract; a surprise is not worth a crashed daemon */
635
+ })
636
+ .finally(() => {
637
+ inFlight = false;
638
+ });
442
639
  }, intervalMs);
443
640
  timer.unref?.();
444
- return () => clearInterval(timer);
641
+ return () => {
642
+ stopped = true;
643
+ clearInterval(timer);
644
+ };
445
645
  }
446
646
  const defaultSleep = (ms) => new Promise((r) => setTimeout(r, ms));
447
647
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-reaper.js","sourceRoot":"","sources":["../../src/core/bridge-reaper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge-reaper.js","sourceRoot":"","sources":["../../src/core/bridge-reaper.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,8 @@ export interface LaunchRunInput {
40
40
  sessionId: string;
41
41
  /** JSON array of `AgenticCli` seats — the council roster. */
42
42
  clisJson: string;
43
+ /** (DES-TEAMING-002 §8.1; core ASK-K1a) The PA the operator chose; omitted ⇒ a random eligible seat. */
44
+ primary?: string;
43
45
  /** `shared` (default) | `isolated`. */
44
46
  entityMode?: string;
45
47
  /** Human-confirm gate policy: `none` (default) | `all` | `before:<ord>`. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mBAAmB,uBAAuB,CAAC;AAE3C,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE1F;6DAC6D;AAC7D,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC,GAAG;IAC3F,SAAS,EAAE,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;IACrD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;CACpD,CAAC;AAEF,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEvF,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,8FAA8F;AAC9F,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,uBAAuB,EAAE,UAAU,CAAC;IAClD;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,YAAY,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC;IACf;;;;;;;;;;;;;;OAcG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,+FAA+F;AAC/F,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qCAAqC,KAAK,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,oCAAoC,EAAG,UAAmB,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,oCAAoC,IAAI,CAAC;AAEtD;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD;;;;;;;;;OASG;IACH,CAAC,GAAG,EAAE,UAAU,MAAM,EAAE,GAAG,OAAO,CAAC;IACnC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,eAAO,MAAM,gBAAgB,EAAE,kBAqB9B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mBAAmB,uBAAuB,CAAC;AAE3C,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE1F;6DAC6D;AAC7D,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC,GAAG;IAC3F,SAAS,EAAE,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;IACrD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;CACpD,CAAC;AAEF,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEvF,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,8FAA8F;AAC9F,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,wGAAwG;IACxG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,uBAAuB,EAAE,UAAU,CAAC;IAClD;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,YAAY,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC;IACf;;;;;;;;;;;;;;OAcG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,+FAA+F;AAC/F,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qCAAqC,KAAK,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,oCAAoC,EAAG,UAAmB,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,oCAAoC,IAAI,CAAC;AAEtD;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD;;;;;;;;;OASG;IACH,CAAC,GAAG,EAAE,UAAU,MAAM,EAAE,GAAG,OAAO,CAAC;IACnC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,eAAO,MAAM,gBAAgB,EAAE,kBAqB9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAaH,OAAO,EAAE,sBAAsB,EAAwB,MAAM,yBAAyB,CAAC;AAsIvF,+FAA+F;AAC/F,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAE/C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,EAAE,CAAC;AAExD;;;;GAIG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,UAAmB,CAAC;AAExE;;;GAGG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,CAAC;AAkCtD,MAAM,CAAC,MAAM,gBAAgB,GAAuB;IAClD,cAAc,EAAE,GAAG;IACnB,kBAAkB,EAAE,4BAA4B;IAChD,8FAA8F;IAC9F,+FAA+F;IAC/F,0BAA0B,EAAE,qCAAqC;IACjE,6FAA6F;IAC7F,gFAAgF;IAChF,8DAA8D;IAC9D,cAAc,EAAE,IAAI;IACpB,+FAA+F;IAC/F,8FAA8F;IAC9F,6FAA6F;IAC7F,6FAA6F;IAC7F,wFAAwF;IACxF,YAAY,EAAE,sBAAsB;IACpC,eAAe,EAAE,SAAS;IAC1B,2FAA2F;IAC3F,8FAA8F;IAC9F,6EAA6E;IAC7E,oBAAoB,EAAE,EAAE;CACzB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAaH,OAAO,EAAE,sBAAsB,EAAwB,MAAM,yBAAyB,CAAC;AAwIvF,+FAA+F;AAC/F,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAE/C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,EAAE,CAAC;AAExD;;;;GAIG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,UAAmB,CAAC;AAExE;;;GAGG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,CAAC;AAkCtD,MAAM,CAAC,MAAM,gBAAgB,GAAuB;IAClD,cAAc,EAAE,GAAG;IACnB,kBAAkB,EAAE,4BAA4B;IAChD,8FAA8F;IAC9F,+FAA+F;IAC/F,0BAA0B,EAAE,qCAAqC;IACjE,6FAA6F;IAC7F,gFAAgF;IAChF,8DAA8D;IAC9D,cAAc,EAAE,IAAI;IACpB,+FAA+F;IAC/F,8FAA8F;IAC9F,6FAA6F;IAC7F,6FAA6F;IAC7F,wFAAwF;IACxF,YAAY,EAAE,sBAAsB;IACpC,eAAe,EAAE,SAAS;IAC1B,2FAA2F;IAC3F,8FAA8F;IAC9F,6EAA6E;IAC7E,oBAAoB,EAAE,EAAE;CACzB,CAAC"}
@@ -84,6 +84,10 @@ export interface ChatRecorderDeps {
84
84
  now?: () => number;
85
85
  /** A turn whose seats never all answer is closed after this (default: the turn index's stale budget). */
86
86
  staleAfterMs?: number;
87
+ /** How long `closed()` waits for the chat's recordings in flight before the close proceeds
88
+ * (default 15 s). A recording that outlives it is FENCED: it writes nothing to the chat's
89
+ * transcript or /ws (the chat's epoch moved), only the ledger under the project it captured. */
90
+ closeDrainMs?: number;
87
91
  /** DC-S7: every finalized turn is handed on (the Consideration + its fact), before the words are judged. */
88
92
  onTurnRecorded?: (chat: string, turnId: string) => Promise<void>;
89
93
  log?: (msg: string) => void;
@@ -108,14 +112,28 @@ export declare class ChatDecisionRecorder {
108
112
  private readonly now;
109
113
  private readonly staleAfterMs;
110
114
  private readonly inFlight;
115
+ /** Per chat: the recordings in flight (a sweep's or a reply's), so a close can drain them. */
116
+ private readonly inFlightByChat;
117
+ /** Per chat: bumped by `closed()` — a recording started under an older epoch writes nothing
118
+ * to the transcript or /ws (the id may belong to a newer conversation by then). */
119
+ private readonly epochs;
120
+ private readonly closeDrainMs;
121
+ /** (chat, turnId) → replies that arrived BEFORE the route recorded the send (ASK-C2: the PA can
122
+ * answer while the route still awaits the engine's acceptance). Replayed by `noteSend`. */
123
+ private readonly early;
111
124
  constructor(deps: ChatRecorderDeps);
112
125
  private static key;
113
126
  private log;
114
127
  private counter;
115
128
  /** The route recorded a send: who said it (the actor), to whom (the audience the engine reached). */
116
129
  noteSend(chat: string, turnId: string, actor: Actor, text: string, seats: ReadonlyArray<string>): void;
130
+ /** ASK-C2: the turn's audience as the engine settled it (a random pick's PA, a re-pick) — the
131
+ * recorder is chosen from THIS set, so a turn reserved for the eligible roster records the
132
+ * PA's block, not a seat that never answered. */
133
+ reconcile(chat: string, turnId: string, seats: readonly string[]): void;
117
134
  /** A seat ended its part of a turn. Resolves once any recording it triggered has settled. */
118
135
  onReply(input: ChatReplyInput): Promise<void>;
136
+ private fold;
119
137
  /** The chat is gone: whatever its open turns gathered is recorded now. */
120
138
  closed(chat: string): Promise<void>;
121
139
  private track;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-recorder.d.ts","sourceRoot":"","sources":["../../src/decisions/chat-recorder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-recorder.d.ts","sourceRoot":"","sources":["../../src/decisions/chat-recorder.ts"],"names":[],"mappings":"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"}