@cleocode/nexus 2026.9.13 → 2026.9.15

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.
@@ -40,6 +40,14 @@ export interface ScannedFile {
40
40
  */
41
41
  language: string | null;
42
42
  }
43
+ /** Floor for one ignore-assessment batch, before the per-path allowance. */
44
+ export declare const GIT_IGNORE_BASE_TIMEOUT_MS = 10000;
45
+ /** Added per path in the batch, so the budget scales with the work asked of git. */
46
+ export declare const GIT_IGNORE_PER_PATH_TIMEOUT_MS = 40;
47
+ /** Budget for the one-shot `rev-parse` ownership probe. */
48
+ export declare const GIT_PROBE_TIMEOUT_MS = 10000;
49
+ /** Operator override for the ignore-assessment budget, in milliseconds. */
50
+ export declare const GIT_IGNORE_TIMEOUT_ENV = "CLEO_NEXUS_GIT_TIMEOUT_MS";
43
51
  /**
44
52
  * Walk the repository directory tree and return a list of scanned files.
45
53
  *
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem-walker.d.ts","sourceRoot":"","sources":["../../../src/pipeline/filesystem-walker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAuDhE;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAyDD;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,EACvE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,EACrD,oBAAoB,GAAE,SAAS,MAAM,EAAO,GAC3C,OAAO,CAAC,WAAW,EAAE,CAAC,CAuKxB"}
1
+ {"version":3,"file":"filesystem-walker.d.ts","sourceRoot":"","sources":["../../../src/pipeline/filesystem-walker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAuDhE;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AA0BD,4EAA4E;AAC5E,eAAO,MAAM,0BAA0B,QAAS,CAAC;AAEjD,oFAAoF;AACpF,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD,2DAA2D;AAC3D,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAK3C,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAoHlE;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,EACvE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,EACrD,oBAAoB,GAAE,SAAS,MAAM,EAAO,GAC3C,OAAO,CAAC,WAAW,EAAE,CAAC,CAuKxB"}
@@ -90,31 +90,100 @@ async function readIgnorePatterns(ignorePath) {
90
90
  throw error;
91
91
  }
92
92
  }
93
- /** Ask Git itself to apply repository, info/exclude and configured global excludes. */
93
+ /** Paths handed to one `git check-ignore` invocation. */
94
+ const GIT_IGNORE_BATCH_SIZE = 256;
95
+ /** Floor for one ignore-assessment batch, before the per-path allowance. */
96
+ export const GIT_IGNORE_BASE_TIMEOUT_MS = 10_000;
97
+ /** Added per path in the batch, so the budget scales with the work asked of git. */
98
+ export const GIT_IGNORE_PER_PATH_TIMEOUT_MS = 40;
99
+ /** Budget for the one-shot `rev-parse` ownership probe. */
100
+ export const GIT_PROBE_TIMEOUT_MS = 10_000;
101
+ /** Multiplier applied to a batch's budget on its single retry. */
102
+ const GIT_IGNORE_RETRY_FACTOR = 4;
103
+ /** Operator override for the ignore-assessment budget, in milliseconds. */
104
+ export const GIT_IGNORE_TIMEOUT_ENV = 'CLEO_NEXUS_GIT_TIMEOUT_MS';
105
+ /**
106
+ * Milliseconds allowed for one ignore-assessment batch.
107
+ *
108
+ * Scales with batch size rather than standing at a constant, because the work
109
+ * git is asked to do scales with it and the filesystem underneath may be far
110
+ * slower than the one the constant was written on.
111
+ *
112
+ * @param batchSize - Paths in this invocation.
113
+ * @param env - Environment to read the operator override from.
114
+ * @returns The budget in milliseconds.
115
+ */
116
+ function gitIgnoreTimeoutMs(batchSize, env = process.env) {
117
+ const override = Number.parseInt(env[GIT_IGNORE_TIMEOUT_ENV] ?? '', 10);
118
+ if (Number.isFinite(override) && override > 0)
119
+ return override;
120
+ return GIT_IGNORE_BASE_TIMEOUT_MS + batchSize * GIT_IGNORE_PER_PATH_TIMEOUT_MS;
121
+ }
122
+ /**
123
+ * Ask Git itself to apply repository, info/exclude and configured global excludes.
124
+ *
125
+ * ## Why the budget is not a constant (T12312)
126
+ *
127
+ * This used to allow `git rev-parse` 1 s and each `git check-ignore` batch 2 s,
128
+ * and to `throw result.error` verbatim on an overrun. Measured 2026-09-23 on a
129
+ * fuseblk mount 23–49× slower than local disk, warm cache, idle machine:
130
+ * rev-parse 152/152/188 ms, and check-ignore over 256 paths 797/974/**1701** ms
131
+ * — one run at 85 % of its budget, a 2.1× spread between runs. A repository of
132
+ * 9 141 tracked files is 36 batches, so that budget was rolled 36 times per
133
+ * `nexus analyze` and one slow roll killed the entire index rebuild with the
134
+ * bare Node string `spawnSync git ETIMEDOUT`: no invocation named, no budget
135
+ * quoted, no remedy. Intermittent by construction, which is why it reproduced
136
+ * for one agent and not the next.
137
+ *
138
+ * The budget now scales with the batch, a transient overrun is retried once
139
+ * with a larger one, and a genuine timeout says what it was doing and how to
140
+ * raise the ceiling. Being ignored is not something git can be asked about
141
+ * approximately, so an exhausted retry still fails the scan — loudly, rather
142
+ * than by silently indexing a vendored tree.
143
+ *
144
+ * @param repoPath - Repository to assess; never inferred from cwd.
145
+ * @param paths - Repo-relative paths to classify.
146
+ * @returns The subset git considers ignored.
147
+ */
94
148
  function gitExcludedPaths(repoPath, paths) {
95
149
  const probe = spawnSync('git', ['rev-parse', '--is-inside-work-tree'], {
96
150
  cwd: repoPath,
97
151
  encoding: 'utf8',
98
- timeout: 1000,
152
+ timeout: GIT_PROBE_TIMEOUT_MS,
99
153
  });
100
- if (probe.error)
101
- throw probe.error;
154
+ if (probe.error) {
155
+ throw new Error(`Git ownership probe (git rev-parse --is-inside-work-tree) in ${repoPath} did not complete ` +
156
+ `within ${GIT_PROBE_TIMEOUT_MS}ms: ${probe.error.message}. ` +
157
+ `Raise the ignore-assessment budget with ${GIT_IGNORE_TIMEOUT_ENV}=<ms>, or run the scan ` +
158
+ `from a faster filesystem — a network or FUSE mount can exceed this on a loaded machine.`, { cause: probe.error });
159
+ }
102
160
  if (probe.status === 128 && !existsSync(path.join(repoPath, '.git')))
103
161
  return new Set();
104
162
  if (probe.status !== 0)
105
163
  throw new Error(`Git source ownership check failed: ${probe.stderr.trim()}`);
106
164
  const excluded = new Set();
107
- for (let offset = 0; offset < paths.length; offset += 256) {
108
- const batch = paths.slice(offset, offset + 256);
109
- const result = spawnSync('git', ['check-ignore', '--no-index', '-z', '--stdin'], {
110
- cwd: repoPath,
111
- encoding: 'utf8',
112
- input: `${batch.join('\0')}\0`,
113
- timeout: 2000,
114
- maxBuffer: 4 * 1024 * 1024,
115
- });
116
- if (result.error)
117
- throw result.error;
165
+ for (let offset = 0; offset < paths.length; offset += GIT_IGNORE_BATCH_SIZE) {
166
+ const batch = paths.slice(offset, offset + GIT_IGNORE_BATCH_SIZE);
167
+ const budget = gitIgnoreTimeoutMs(batch.length);
168
+ const batchNumber = Math.floor(offset / GIT_IGNORE_BATCH_SIZE) + 1;
169
+ const batchCount = Math.ceil(paths.length / GIT_IGNORE_BATCH_SIZE);
170
+ // One retry with a larger budget: an overrun under momentary load is not
171
+ // evidence that the budget is wrong, and abandoning a whole index rebuild
172
+ // on a single slow roll is the failure this replaces.
173
+ let result = runGitCheckIgnore(repoPath, batch, budget);
174
+ let elapsedBudget = budget;
175
+ if (result.error) {
176
+ elapsedBudget = budget * GIT_IGNORE_RETRY_FACTOR;
177
+ result = runGitCheckIgnore(repoPath, batch, elapsedBudget);
178
+ }
179
+ if (result.error) {
180
+ throw new Error(`Git ignore assessment (git check-ignore) timed out on batch ${batchNumber} of ` +
181
+ `${batchCount} (${batch.length} paths) in ${repoPath}: allowed ${budget}ms, then ` +
182
+ `${elapsedBudget}ms on retry, and neither completed (${result.error.message}). ` +
183
+ `Raise the per-batch budget with ${GIT_IGNORE_TIMEOUT_ENV}=<ms>. The scan is abandoned ` +
184
+ `rather than continued, because a batch git could not classify would otherwise be ` +
185
+ `indexed as if nothing in it were ignored.`, { cause: result.error });
186
+ }
118
187
  // Git documents exit 1 for no ignored paths; other failures invalidate the scan.
119
188
  if (result.status !== 0 && result.status !== 1)
120
189
  throw new Error(`Git ignore assessment failed: ${result.stderr.trim()}`);
@@ -124,6 +193,16 @@ function gitExcludedPaths(repoPath, paths) {
124
193
  }
125
194
  return excluded;
126
195
  }
196
+ /** One `git check-ignore` invocation over a batch, under an explicit budget. */
197
+ function runGitCheckIgnore(repoPath, batch, timeout) {
198
+ return spawnSync('git', ['check-ignore', '--no-index', '-z', '--stdin'], {
199
+ cwd: repoPath,
200
+ encoding: 'utf8',
201
+ input: `${batch.join('\0')}\0`,
202
+ timeout,
203
+ maxBuffer: 4 * 1024 * 1024,
204
+ });
205
+ }
127
206
  // ---------------------------------------------------------------------------
128
207
  // Core walker
129
208
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem-walker.js","sourceRoot":"","sources":["../../../src/pipeline/filesystem-walker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filesystem-walker.js","sourceRoot":"","sources":["../../../src/pipeline/filesystem-walker.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,10 @@ export interface WorkerPool {
37
37
  /** Number of workers in the pool. */
38
38
  readonly size: number;
39
39
  }
40
+ /** Operator override for the per-file parse budget, in milliseconds. */
41
+ export declare const PARSE_TIMEOUT_ENV = "CLEO_NEXUS_PARSE_TIMEOUT_MS";
42
+ /** Operator override for each parse worker's V8 old-space cap, in MiB. */
43
+ export declare const WORKER_HEAP_ENV = "CLEO_NEXUS_WORKER_HEAP_MB";
40
44
  /**
41
45
  * Create a pool of worker threads for parallel file parsing.
42
46
  *
@@ -1 +1 @@
1
- {"version":3,"file":"worker-pool.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/workers/worker-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EAEpB,MAAM,qBAAqB,CAAC;AAM7B;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;;;OASG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,EACtB,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,GAC5C,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEtB,sEAAsE;IACtE,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,qCAAqC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAkCD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,GAAG,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,GAAE,qBAA0B,EAClC,SAAS,CAAC,EAAE,mBAAmB,GAC9B,UAAU,CA2OZ"}
1
+ {"version":3,"file":"worker-pool.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/workers/worker-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EAEpB,MAAM,qBAAqB,CAAC;AAW7B;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;;;OASG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,EACtB,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,GAC5C,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEtB,sEAAsE;IACtE,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,qCAAqC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AA0CD,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,gCAAgC,CAAC;AAE/D,0EAA0E;AAC1E,eAAO,MAAM,eAAe,8BAA8B,CAAC;AAsD3D;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,GAAG,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,GAAE,qBAA0B,EAClC,SAAS,CAAC,EAAE,mBAAmB,GAC9B,UAAU,CAsRZ"}
@@ -20,6 +20,7 @@ import fs from 'node:fs';
20
20
  import os from 'node:os';
21
21
  import { fileURLToPath } from 'node:url';
22
22
  import { Worker } from 'node:worker_threads';
23
+ import { PARSER_WORKER_HEAP_DEFAULT_MB, PARSER_WORKER_HEAP_MAX_MB, PARSER_WORKER_HEAP_MIN_MB, } from '@cleocode/contracts';
23
24
  // ---------------------------------------------------------------------------
24
25
  // Constants
25
26
  // ---------------------------------------------------------------------------
@@ -29,10 +30,68 @@ import { Worker } from 'node:worker_threads';
29
30
  */
30
31
  const SUB_BATCH_SIZE = 1;
31
32
  /**
32
- * Per sub-batch timeout in milliseconds.
33
- * If a sub-batch takes longer than this, likely a pathological file.
33
+ * Per-file wall budget for a parse worker, in milliseconds.
34
+ *
35
+ * `SUB_BATCH_SIZE` is 1, so this is the time allowed for ONE file — and an
36
+ * overrun rejects the whole dispatch, discarding every file already parsed
37
+ * ("generation not published"). Measured 2026-09-23 on a fuseblk mount under
38
+ * concurrent load from other builds: `cleo nexus analyze` over 4 498 files died
39
+ * with `E_PARSE_WORKER_TIMEOUT: Worker 0 file timed out after 5000ms`, naming
40
+ * no file and no remedy, after 212 s of work.
41
+ *
42
+ * A normal parse is milliseconds; this budget exists to bound a pathological
43
+ * file, not to race a loaded machine. It is generous for that reason, and
44
+ * overridable per {@link PARSE_TIMEOUT_ENV}.
45
+ *
46
+ * @task T12312
34
47
  */
35
- const SUB_BATCH_TIMEOUT_MS = 5_000;
48
+ const SUB_BATCH_TIMEOUT_MS = 30_000;
49
+ /** Operator override for the per-file parse budget, in milliseconds. */
50
+ export const PARSE_TIMEOUT_ENV = 'CLEO_NEXUS_PARSE_TIMEOUT_MS';
51
+ /** Operator override for each parse worker's V8 old-space cap, in MiB. */
52
+ export const WORKER_HEAP_ENV = 'CLEO_NEXUS_WORKER_HEAP_MB';
53
+ /** Default V8 old-space cap per parse worker, in MiB. */
54
+ const DEFAULT_WORKER_HEAP_MB = PARSER_WORKER_HEAP_DEFAULT_MB;
55
+ /** Highest cap an operator may request; the default stays conservative. */
56
+ const MAX_WORKER_HEAP_MB = PARSER_WORKER_HEAP_MAX_MB;
57
+ /**
58
+ * V8 old-space cap for one parse worker, honouring the operator override.
59
+ *
60
+ * A worker that exceeds its cap exits with a null code and the dispatch
61
+ * rejects, discarding every file parsed in the run. Measured 2026-09-23 over
62
+ * 4 498 files: workers died both inside CLEO's `cleo-tool-*.scope` (a memcg
63
+ * kill at 251 MB RSS, confirmed in the kernel log) and outside it with no
64
+ * kernel OOM at all — the second being the V8 cap itself. The default is
65
+ * unchanged; what was missing was any way to raise it without editing source.
66
+ *
67
+ * @task T12312
68
+ */
69
+ function resolveWorkerHeapMb(explicit, env = process.env) {
70
+ if (explicit !== undefined)
71
+ return explicit;
72
+ const override = Number.parseInt(env[WORKER_HEAP_ENV] ?? '', 10);
73
+ if (Number.isFinite(override) && override > 0)
74
+ return override;
75
+ return DEFAULT_WORKER_HEAP_MB;
76
+ }
77
+ /** Per-file parse budget, honouring the operator override. */
78
+ function resolveParseTimeoutMs(explicit, env = process.env) {
79
+ if (explicit !== undefined)
80
+ return explicit;
81
+ const override = Number.parseInt(env[PARSE_TIMEOUT_ENV] ?? '', 10);
82
+ if (Number.isFinite(override) && override > 0)
83
+ return override;
84
+ return SUB_BATCH_TIMEOUT_MS;
85
+ }
86
+ /** Best-effort path of a dispatched work item, for diagnostics only. */
87
+ function describeWorkItem(item) {
88
+ if (typeof item === 'object' && item !== null && 'path' in item) {
89
+ const { path } = item;
90
+ if (typeof path === 'string' && path.length > 0)
91
+ return path;
92
+ }
93
+ return '<unknown file>';
94
+ }
36
95
  // ---------------------------------------------------------------------------
37
96
  // Factory
38
97
  // ---------------------------------------------------------------------------
@@ -55,16 +114,18 @@ export function createWorkerPool(workerUrl, poolSize, limits = {}, execution) {
55
114
  throw new Error(`Worker script not found: ${workerPath}`);
56
115
  }
57
116
  const size = poolSize ?? Math.min(8, Math.max(1, os.cpus().length - 1));
58
- const timeoutMs = limits.timeoutMs ?? SUB_BATCH_TIMEOUT_MS;
59
- const workerHeapMb = limits.workerHeapMb ?? 128;
117
+ const timeoutMs = resolveParseTimeoutMs(limits.timeoutMs);
118
+ const workerHeapMb = resolveWorkerHeapMb(limits.workerHeapMb);
60
119
  if (!Number.isSafeInteger(size) || size < 1 || size > 8) {
61
120
  throw new RangeError('Parser pool size must be an integer from 1 to 8');
62
121
  }
63
122
  if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
64
123
  throw new RangeError('Parser worker timeout must be positive and finite');
65
124
  }
66
- if (!Number.isSafeInteger(workerHeapMb) || workerHeapMb < 8 || workerHeapMb > 512) {
67
- throw new RangeError('Parser worker heap must be an integer from 8 to 512 MiB');
125
+ if (!Number.isSafeInteger(workerHeapMb) ||
126
+ workerHeapMb < PARSER_WORKER_HEAP_MIN_MB ||
127
+ workerHeapMb > MAX_WORKER_HEAP_MB) {
128
+ throw new RangeError(`Parser worker heap must be an integer from ${PARSER_WORKER_HEAP_MIN_MB} to ${MAX_WORKER_HEAP_MB} MiB`);
68
129
  }
69
130
  // V8's process-level flags silently override Worker.resourceLimits. A claimed
70
131
  // per-worker ceiling would otherwise be false even when resourceLimits reports it.
@@ -96,14 +157,30 @@ export function createWorkerPool(workerUrl, poolSize, limits = {}, execution) {
96
157
  owned.postMessage(message);
97
158
  else
98
159
  owned.child.send(message, (error) => {
99
- if (error)
100
- errorHandler(error);
160
+ if (!error)
161
+ return;
162
+ // A write error means the worker is already gone. Reporting EPIPE
163
+ // verbatim names the pipe, not the death — and settles the promise
164
+ // before the 'exit' handler can supply the actual reason (T12312).
165
+ const broken = /EPIPE|ERR_IPC_CHANNEL_CLOSED/.test(error.message);
166
+ errorHandler(broken
167
+ ? new Error(`Parse worker ${workerIndex} closed its channel while handling ` +
168
+ `${inFlightDescription} (${error.message}). The write failed because the ` +
169
+ `worker had already exited; the pipe is the symptom, not the cause. ` +
170
+ `Every file parsed so far is discarded. Check the kernel log for an ` +
171
+ `oom-kill naming this process, then raise ${WORKER_HEAP_ENV}=<MiB> or the ` +
172
+ `cgroup ceiling (CLEO_TOOL_MEMORY_MAX_MB); a native parser crash on one ` +
173
+ `file presents the same way.`, { cause: error })
174
+ : error);
101
175
  });
102
176
  };
103
177
  let settled = false;
104
178
  let ready = owned instanceof Worker;
105
179
  let subBatchTimer = null;
106
180
  let subBatchIdx = 0;
181
+ // Retained for diagnostics: a timeout that cannot name the file it was
182
+ // parsing sends the reader looking through 4 498 of them.
183
+ let inFlightDescription = '<not yet dispatched>';
107
184
  const cleanup = () => {
108
185
  if (subBatchTimer) {
109
186
  clearTimeout(subBatchTimer);
@@ -121,7 +198,11 @@ export function createWorkerPool(workerUrl, poolSize, limits = {}, execution) {
121
198
  if (!settled) {
122
199
  settled = true;
123
200
  cleanup();
124
- reject(new Error(`E_PARSE_WORKER_TIMEOUT: Worker ${workerIndex} file timed out after ${timeoutMs}ms.`));
201
+ reject(new Error(`E_PARSE_WORKER_TIMEOUT: worker ${workerIndex} exceeded ${timeoutMs}ms parsing ` +
202
+ `${inFlightDescription}. Every file parsed so far in this run is discarded, so ` +
203
+ `one slow file fails the whole index. Raise the per-file budget with ` +
204
+ `${PARSE_TIMEOUT_ENV}=<ms> — a loaded machine or a network/FUSE mount can ` +
205
+ `exceed the default, and a genuinely pathological file will still be bounded.`));
125
206
  }
126
207
  }, timeoutMs);
127
208
  };
@@ -133,6 +214,7 @@ export function createWorkerPool(workerUrl, poolSize, limits = {}, execution) {
133
214
  return;
134
215
  }
135
216
  const subBatch = chunk.slice(start, start + SUB_BATCH_SIZE);
217
+ inFlightDescription = subBatch.map(describeWorkItem).join(', ');
136
218
  subBatchIdx++;
137
219
  resetSubBatchTimer();
138
220
  send({ type: 'sub-batch', files: subBatch });
@@ -183,7 +265,18 @@ export function createWorkerPool(workerUrl, poolSize, limits = {}, execution) {
183
265
  if (!settled) {
184
266
  settled = true;
185
267
  cleanup();
186
- reject(new Error(`Worker ${workerIndex} exited with code ${code}. Possible OOM or native module failure.`));
268
+ reject(new Error(`Parse worker ${workerIndex} exited with code ${code} while handling ` +
269
+ `${inFlightDescription}. Every file parsed so far is discarded. ` +
270
+ (code === null
271
+ ? `A null code means it was KILLED rather than returning — most often the ` +
272
+ `${workerHeapMb}MiB V8 old-space cap, or a memory-cgroup ceiling when CLEO ` +
273
+ `confines the run. Raise ${WORKER_HEAP_ENV}=<MiB>; if the kernel log shows ` +
274
+ `an oom-kill with constraint=CONSTRAINT_MEMCG, raise CLEO_TOOL_MEMORY_MAX_MB ` +
275
+ `or disable confinement with CLEO_NO_TOOL_CGROUP=1.`
276
+ : `A non-null code means the worker THREW rather than being killed, so memory ` +
277
+ `limits are not the cause and raising them will not help. The named file is ` +
278
+ `the one dispatched to this worker; re-run with a single worker to confirm ` +
279
+ `it is the trigger rather than a coincidence of timing.`)));
187
280
  }
188
281
  };
189
282
  const abortHandler = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"worker-pool.js","sourceRoot":"","sources":["../../../../src/pipeline/workers/worker-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-pool.js","sourceRoot":"","sources":["../../../../src/pipeline/workers/worker-pool.ts"],"names":[],"mappings":"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"}