@opensip-cli/graph 0.1.6 → 0.1.8
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/README.md +2 -2
- package/dist/__tests__/cli/graph-execute.test.js +7 -5
- package/dist/__tests__/cli/graph-execute.test.js.map +1 -1
- package/dist/__tests__/cli/graph.test.js +18 -12
- package/dist/__tests__/cli/graph.test.js.map +1 -1
- package/dist/__tests__/internal-surface.test.js +3 -0
- package/dist/__tests__/internal-surface.test.js.map +1 -1
- package/dist/__tests__/persistence/session-replay.test.js +7 -4
- package/dist/__tests__/persistence/session-replay.test.js.map +1 -1
- package/dist/__tests__/rules/registry.test.js +2 -2
- package/dist/__tests__/rules/registry.test.js.map +1 -1
- package/dist/__tests__/test-utils/with-graph-scope.d.ts.map +1 -1
- package/dist/__tests__/test-utils/with-graph-scope.js +2 -2
- package/dist/__tests__/test-utils/with-graph-scope.js.map +1 -1
- package/dist/__tests__/tool-branches.test.d.ts +3 -3
- package/dist/__tests__/tool-branches.test.js +25 -14
- package/dist/__tests__/tool-branches.test.js.map +1 -1
- package/dist/__tests__/tool-register.test.js +61 -77
- package/dist/__tests__/tool-register.test.js.map +1 -1
- package/dist/__tests__/tool.test.d.ts +4 -4
- package/dist/__tests__/tool.test.js +31 -16
- package/dist/__tests__/tool.test.js.map +1 -1
- package/dist/cli/__tests__/build-envelope.test.js +77 -0
- package/dist/cli/__tests__/build-envelope.test.js.map +1 -1
- package/dist/cli/__tests__/graph-envelope-view.test.d.ts +2 -0
- package/dist/cli/__tests__/graph-envelope-view.test.d.ts.map +1 -0
- package/dist/cli/__tests__/graph-envelope-view.test.js +97 -0
- package/dist/cli/__tests__/graph-envelope-view.test.js.map +1 -0
- package/dist/cli/__tests__/graph-list.test.d.ts +2 -0
- package/dist/cli/__tests__/graph-list.test.d.ts.map +1 -0
- package/dist/cli/__tests__/graph-list.test.js +20 -0
- package/dist/cli/__tests__/graph-list.test.js.map +1 -0
- package/dist/cli/__tests__/shard-worker.test.js +22 -0
- package/dist/cli/__tests__/shard-worker.test.js.map +1 -1
- package/dist/cli/equivalence-check-command.d.ts.map +1 -1
- package/dist/cli/equivalence-check-command.js +0 -2
- package/dist/cli/equivalence-check-command.js.map +1 -1
- package/dist/cli/graph/graph-aux-command-specs.d.ts +54 -27
- package/dist/cli/graph/graph-aux-command-specs.d.ts.map +1 -1
- package/dist/cli/graph/graph-aux-command-specs.js +359 -265
- package/dist/cli/graph/graph-aux-command-specs.js.map +1 -1
- package/dist/cli/graph-envelope-view.d.ts +41 -0
- package/dist/cli/graph-envelope-view.d.ts.map +1 -0
- package/dist/cli/graph-envelope-view.js +133 -0
- package/dist/cli/graph-envelope-view.js.map +1 -0
- package/dist/cli/graph-list.d.ts +29 -0
- package/dist/cli/graph-list.d.ts.map +1 -0
- package/dist/cli/graph-list.js +44 -0
- package/dist/cli/graph-list.js.map +1 -0
- package/dist/cli/graph-report.d.ts +16 -6
- package/dist/cli/graph-report.d.ts.map +1 -1
- package/dist/cli/graph-report.js +10 -6
- package/dist/cli/graph-report.js.map +1 -1
- package/dist/cli/graph-runner.d.ts.map +1 -1
- package/dist/cli/graph-runner.js +23 -10
- package/dist/cli/graph-runner.js.map +1 -1
- package/dist/cli/graph-worker.d.ts.map +1 -1
- package/dist/cli/graph-worker.js +1 -0
- package/dist/cli/graph-worker.js.map +1 -1
- package/dist/cli/graph.d.ts.map +1 -1
- package/dist/cli/graph.js +30 -25
- package/dist/cli/graph.js.map +1 -1
- package/dist/cli/lookup.d.ts.map +1 -1
- package/dist/cli/lookup.js +0 -2
- package/dist/cli/lookup.js.map +1 -1
- package/dist/cli/orchestrate/__tests__/shard-runner-correlation.test.d.ts +22 -0
- package/dist/cli/orchestrate/__tests__/shard-runner-correlation.test.d.ts.map +1 -0
- package/dist/cli/orchestrate/__tests__/shard-runner-correlation.test.js +208 -0
- package/dist/cli/orchestrate/__tests__/shard-runner-correlation.test.js.map +1 -0
- package/dist/cli/orchestrate/shard-model.d.ts +17 -0
- package/dist/cli/orchestrate/shard-model.d.ts.map +1 -1
- package/dist/cli/orchestrate/shard-runner.d.ts +31 -1
- package/dist/cli/orchestrate/shard-runner.d.ts.map +1 -1
- package/dist/cli/orchestrate/shard-runner.js +215 -11
- package/dist/cli/orchestrate/shard-runner.js.map +1 -1
- package/dist/cli/orchestrate/sharded-graph.d.ts.map +1 -1
- package/dist/cli/orchestrate/sharded-graph.js +32 -3
- package/dist/cli/orchestrate/sharded-graph.js.map +1 -1
- package/dist/cli/shard-worker.d.ts.map +1 -1
- package/dist/cli/shard-worker.js +127 -11
- package/dist/cli/shard-worker.js.map +1 -1
- package/dist/cli/symbol-index.d.ts.map +1 -1
- package/dist/cli/symbol-index.js +0 -2
- package/dist/cli/symbol-index.js.map +1 -1
- package/dist/internal.d.ts +1 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +5 -0
- package/dist/internal.js.map +1 -1
- package/dist/persistence/schema.d.ts.map +1 -1
- package/dist/persistence/schema.js +18 -0
- package/dist/persistence/schema.js.map +1 -1
- package/dist/persistence/session-replay.d.ts +9 -4
- package/dist/persistence/session-replay.d.ts.map +1 -1
- package/dist/persistence/session-replay.js +8 -12
- package/dist/persistence/session-replay.js.map +1 -1
- package/dist/tool.d.ts.map +1 -1
- package/dist/tool.js +37 -118
- package/dist/tool.js.map +1 -1
- package/package.json +22 -26
|
@@ -16,10 +16,83 @@ import { spawn } from 'node:child_process';
|
|
|
16
16
|
import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
|
|
17
17
|
import { cpus, tmpdir } from 'node:os';
|
|
18
18
|
import { join } from 'node:path';
|
|
19
|
-
import { currentTraceparent,
|
|
19
|
+
import { correlationToEnv, currentLogger, currentScope, currentTraceparent, } from '@opensip-cli/core';
|
|
20
20
|
import { stampEngineVersion } from '../../cache/engine-version.js';
|
|
21
21
|
import { computeFilesFingerprint } from '../../cache/invalidate.js';
|
|
22
22
|
import { runWorkerPool } from './worker-pool.js';
|
|
23
|
+
/**
|
|
24
|
+
* A fixed, conservative wall-clock floor (10 minutes) after which a hung shard
|
|
25
|
+
* worker is SIGKILLed so it is DIAGNOSABLE (`failureClass: 'timeout'`) instead
|
|
26
|
+
* of stalling `runWorkerPool` — and therefore the whole build — forever. Before
|
|
27
|
+
* this, `spawnShardWorker` only reacted to `close`/`error`/parse failure, so a
|
|
28
|
+
* child stuck on a deadlocked parse never settled its `await run(item)`.
|
|
29
|
+
*
|
|
30
|
+
* This is deliberately a single named constant, NOT yet user-configurable: the
|
|
31
|
+
* tunable retry/backoff/per-shard-budget policy is a separate resilience spec
|
|
32
|
+
* (spec Q3/M3). Keeping it a constant lets that spec make it configurable later
|
|
33
|
+
* without re-discovering the call site.
|
|
34
|
+
*/
|
|
35
|
+
const SHARD_HARD_KILL_TIMEOUT_MS = 10 * 60_000;
|
|
36
|
+
/**
|
|
37
|
+
* Project a (possibly absent) parent {@link RunCorrelation} onto the flat set of
|
|
38
|
+
* structured-log fields every `graph.shard.runner.*` event stamps. Centralized
|
|
39
|
+
* so `start`, `shard_failed`, and `complete` stamp IDENTICALLY and `traceId` is
|
|
40
|
+
* present on all three whenever OTel is on (GAP d). Absent optionals are omitted
|
|
41
|
+
* (no empty sentinels).
|
|
42
|
+
*
|
|
43
|
+
* `traceId` is derived LIVE here (Task 3.3 / GAP d): the runner runs INSIDE the
|
|
44
|
+
* sharded-build span (`buildShardedGraph`'s `withSpanAsync`), a child of the
|
|
45
|
+
* bootstrap-time context the assembled `c.traceId` captured. Preferring the live
|
|
46
|
+
* `currentTraceparent()` makes every runner event carry the SAME traceparent the
|
|
47
|
+
* merge stage and worker-spawn sites derive (which already read it live) — so the
|
|
48
|
+
* value cannot drift between events. Falls back to the bootstrap-stamped
|
|
49
|
+
* `c.traceId`, then omitted when OTel is off (no active recording span).
|
|
50
|
+
*/
|
|
51
|
+
function correlationLogFields(c) {
|
|
52
|
+
if (!c)
|
|
53
|
+
return {};
|
|
54
|
+
const fields = {
|
|
55
|
+
runId: c.runId,
|
|
56
|
+
tool: c.tool,
|
|
57
|
+
parentCommand: c.parentCommand,
|
|
58
|
+
};
|
|
59
|
+
const traceId = currentTraceparent() ?? c.traceId;
|
|
60
|
+
if (traceId !== undefined)
|
|
61
|
+
fields.traceId = traceId;
|
|
62
|
+
if (c.repo !== undefined)
|
|
63
|
+
fields.repo = c.repo;
|
|
64
|
+
if (c.repoId !== undefined)
|
|
65
|
+
fields.repoId = c.repoId;
|
|
66
|
+
if (c.tenantId !== undefined)
|
|
67
|
+
fields.tenantId = c.tenantId;
|
|
68
|
+
return fields;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Project the parent {@link RunCorrelation} onto the subset stamped on the
|
|
72
|
+
* `subprocess.*` diagnostics milestones, with the LIVE `traceId` (Task 3.3 /
|
|
73
|
+
* GAP d) so the snapshot's events pivot to the same trace as the JSONL events
|
|
74
|
+
* (which derive it live via {@link correlationLogFields}). Returns `undefined`
|
|
75
|
+
* when no parent correlation was assembled (tests / bare runs) so the milestones
|
|
76
|
+
* are omitted, matching `correlationLogFields` returning `{}`.
|
|
77
|
+
*/
|
|
78
|
+
function diagnosticsMilestoneCorrelation(c) {
|
|
79
|
+
if (c === undefined)
|
|
80
|
+
return undefined;
|
|
81
|
+
const traceId = currentTraceparent();
|
|
82
|
+
return { ...c, ...(traceId === undefined ? {} : { traceId }) };
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Synchronously emit one `subprocess.spawn|complete|failed` milestone on the
|
|
86
|
+
* scope-owned diagnostics bus (ADR-0024, Phase 3) — a `void`, fire-and-forget
|
|
87
|
+
* sync call; a no-op when the bus or the parent correlation is absent. Collapses
|
|
88
|
+
* the bus-lookup + correlation-presence guard to a single call so the runner's
|
|
89
|
+
* hot path stays flat.
|
|
90
|
+
*/
|
|
91
|
+
function emitShardMilestone(diagnostics, correlation, level, message, data) {
|
|
92
|
+
if (diagnostics === undefined || correlation === undefined)
|
|
93
|
+
return;
|
|
94
|
+
diagnostics.emitSubprocessEvent('load', level, message, correlation, data);
|
|
95
|
+
}
|
|
23
96
|
/**
|
|
24
97
|
* Build every shard in a bounded parallel pool. Always resolves; per-shard
|
|
25
98
|
* failures are collected in `failures` (never thrown) so one bad shard
|
|
@@ -27,29 +100,97 @@ import { runWorkerPool } from './worker-pool.js';
|
|
|
27
100
|
*/
|
|
28
101
|
export async function runShardsInParallel(input) {
|
|
29
102
|
const concurrency = Math.max(1, input.concurrency ?? Math.max(1, cpus().length - 1));
|
|
30
|
-
|
|
103
|
+
// The parent's correlation bag (assembled at the bootstrap composition root,
|
|
104
|
+
// Phase 0) — stamped identically on all three runner events so an operator can
|
|
105
|
+
// pivot from any one to the run/trace.
|
|
106
|
+
const correlation = currentScope()?.correlation;
|
|
107
|
+
const correlationFields = correlationLogFields(correlation);
|
|
108
|
+
// The scope-owned diagnostics bus (ADR-0024): the JSONL logs above are for
|
|
109
|
+
// `jq` grep; these milestones ride `CommandOutcome.diagnostics.events` for the
|
|
110
|
+
// structured `--json` snapshot (Phase 3). Both surfaces are required. The
|
|
111
|
+
// milestone correlation carries the LIVE `traceId` (Task 3.3 / GAP d) so the
|
|
112
|
+
// snapshot's events pivot to the same trace as the JSONL events.
|
|
113
|
+
const diagnostics = currentScope()?.diagnostics;
|
|
114
|
+
const diagnosticsCorrelation = diagnosticsMilestoneCorrelation(correlation);
|
|
115
|
+
// Emit through the per-run logger (ADR-0053) — the singleton has no file sink,
|
|
116
|
+
// so the JSONL `graph.shard.runner.*` lines the 2am playbook greps for would be
|
|
117
|
+
// dropped. `currentLogger()` resolves `currentScope().logger`, the instance the
|
|
118
|
+
// bootstrap configured with the daily logs file.
|
|
119
|
+
const runLogger = currentLogger();
|
|
120
|
+
runLogger.info({
|
|
31
121
|
evt: 'graph.shard.runner.start',
|
|
32
122
|
module: 'graph:shard-runner',
|
|
123
|
+
...correlationFields,
|
|
33
124
|
shards: input.shards.length,
|
|
34
125
|
concurrency,
|
|
35
126
|
});
|
|
36
|
-
|
|
127
|
+
// `subprocess.spawn` milestone — the pool is starting N shard workers.
|
|
128
|
+
emitShardMilestone(diagnostics, diagnosticsCorrelation, 'debug', 'subprocess.spawn', {
|
|
129
|
+
shards: input.shards.length,
|
|
130
|
+
concurrency,
|
|
131
|
+
});
|
|
132
|
+
const hardKillTimeoutMs = input.hardKillTimeoutMs ?? SHARD_HARD_KILL_TIMEOUT_MS;
|
|
133
|
+
// Run-constant inputs shared by every shard worker — built once, passed to each.
|
|
134
|
+
const spawnCtx = {
|
|
135
|
+
projectRoot: input.projectRoot,
|
|
136
|
+
cliScript: input.cliScript,
|
|
137
|
+
resolutionMode: input.resolutionMode,
|
|
138
|
+
hardKillTimeoutMs,
|
|
139
|
+
...(input.language === undefined ? {} : { language: input.language }),
|
|
140
|
+
};
|
|
141
|
+
const outcomes = await runWorkerPool(input.shards, concurrency, (shard) => spawnShardWorker(shard, spawnCtx));
|
|
37
142
|
const fragments = [];
|
|
38
143
|
const failures = [];
|
|
39
144
|
for (const o of outcomes) {
|
|
40
145
|
if (o.result)
|
|
41
146
|
fragments.push(o.result);
|
|
42
147
|
else
|
|
43
|
-
failures.push({
|
|
148
|
+
failures.push({
|
|
149
|
+
shardId: o.shardId,
|
|
150
|
+
exitCode: o.exitCode,
|
|
151
|
+
stderr: o.stderr,
|
|
152
|
+
...(o.failureClass ? { failureClass: o.failureClass } : {}),
|
|
153
|
+
});
|
|
44
154
|
}
|
|
45
155
|
// Deterministic order regardless of completion order.
|
|
46
156
|
fragments.sort((a, b) => Number(a.shardId > b.shardId) - Number(a.shardId < b.shardId));
|
|
47
157
|
failures.sort((a, b) => Number(a.shardId > b.shardId) - Number(a.shardId < b.shardId));
|
|
48
|
-
|
|
158
|
+
// One structured per-shard event per failure (the runner is the emitter, not
|
|
159
|
+
// the merge stage). `stderrPreview` is a SEPARATE ~500c cap for the structured
|
|
160
|
+
// log; the full `failure.stderr` stays untouched on the returned ShardFailure
|
|
161
|
+
// (M4) so the user-facing message keeps the complete output.
|
|
162
|
+
for (const failure of failures) {
|
|
163
|
+
runLogger.error({
|
|
164
|
+
evt: 'graph.shard.runner.shard_failed',
|
|
165
|
+
module: 'graph:shard-runner',
|
|
166
|
+
...correlationFields,
|
|
167
|
+
shardId: failure.shardId,
|
|
168
|
+
exitCode: failure.exitCode,
|
|
169
|
+
...(failure.failureClass ? { failureClass: failure.failureClass } : {}),
|
|
170
|
+
stderrPreview: failure.stderr.slice(0, 500),
|
|
171
|
+
});
|
|
172
|
+
// `subprocess.failed` milestone — one per failed shard, keyed by `shardId`
|
|
173
|
+
// so a `--json` consumer can filter `events` down to a single shard.
|
|
174
|
+
emitShardMilestone(diagnostics, diagnosticsCorrelation, 'warn', 'subprocess.failed', {
|
|
175
|
+
shardId: failure.shardId,
|
|
176
|
+
exitCode: failure.exitCode,
|
|
177
|
+
...(failure.failureClass ? { failureClass: failure.failureClass } : {}),
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
runLogger.info({
|
|
49
181
|
evt: 'graph.shard.runner.complete',
|
|
50
182
|
module: 'graph:shard-runner',
|
|
183
|
+
...correlationFields,
|
|
184
|
+
built: fragments.length,
|
|
185
|
+
failed: failures.length,
|
|
186
|
+
failedShardIds: failures.map((f) => f.shardId),
|
|
187
|
+
});
|
|
188
|
+
// `subprocess.complete` milestone — the pool drained; carries the same
|
|
189
|
+
// built/failed/failedShardIds summary as the structured log line.
|
|
190
|
+
emitShardMilestone(diagnostics, diagnosticsCorrelation, 'debug', 'subprocess.complete', {
|
|
51
191
|
built: fragments.length,
|
|
52
192
|
failed: failures.length,
|
|
193
|
+
failedShardIds: failures.map((f) => f.shardId),
|
|
53
194
|
});
|
|
54
195
|
return { fragments, failures };
|
|
55
196
|
}
|
|
@@ -84,26 +225,50 @@ export function planShardWork(shards, repo, adapter, resolutionMode, useCache) {
|
|
|
84
225
|
else
|
|
85
226
|
toBuild.push(shard);
|
|
86
227
|
}
|
|
87
|
-
|
|
228
|
+
currentLogger().info({
|
|
88
229
|
evt: 'graph.shard.plan',
|
|
89
230
|
module: 'graph:shard-runner',
|
|
231
|
+
// Stamp the same correlation bag (incl. `parentCommand`) as the other
|
|
232
|
+
// `graph.shard.*` lines so an operator's `runId`/`parentCommand` filter
|
|
233
|
+
// returns this run's plan line too (GAP e — no un-attributed shard lines).
|
|
234
|
+
...correlationLogFields(currentScope()?.correlation),
|
|
90
235
|
reused: cached.length,
|
|
91
236
|
rebuild: toBuild.length,
|
|
92
237
|
});
|
|
93
238
|
return { cached, toBuild };
|
|
94
239
|
}
|
|
95
|
-
|
|
240
|
+
/**
|
|
241
|
+
* Strip the env-only `runId` off a correlation bag for the spec JSON: per B1,
|
|
242
|
+
* `runId` travels via `OPENSIP_RUN_ID` env ONLY and is `Omit`ed from
|
|
243
|
+
* `ShardWorkerSpec.correlation`. Everything else (tool/parentCommand/traceId/…)
|
|
244
|
+
* is carried in the spec so the worker can stamp it on spans/logs.
|
|
245
|
+
*/
|
|
246
|
+
function stripRunId({ runId: _runId, ...rest }) {
|
|
247
|
+
return rest;
|
|
248
|
+
}
|
|
249
|
+
function spawnShardWorker(shard, ctx) {
|
|
250
|
+
const { projectRoot, cliScript, resolutionMode, language, hardKillTimeoutMs } = ctx;
|
|
96
251
|
return new Promise((resolvePromise) => {
|
|
97
252
|
const specDir = mkdtempSync(join(tmpdir(), 'graph-shard-'));
|
|
98
253
|
const specPath = join(specDir, 'spec.json');
|
|
254
|
+
// Build this shard's correlation from the parent run's bag (Phase 0,
|
|
255
|
+
// composition root) + this shard's id + workerKind. Absent when no scope
|
|
256
|
+
// correlation was assembled (tests / bare runs) — the spec then omits the
|
|
257
|
+
// `correlation` field and the worker degrades observably (M2).
|
|
258
|
+
const baseCorrelation = currentScope()?.correlation;
|
|
259
|
+
const correlation = baseCorrelation
|
|
260
|
+
? { ...baseCorrelation, shardId: shard.id, workerKind: 'shard' }
|
|
261
|
+
: undefined;
|
|
99
262
|
const spec = {
|
|
100
263
|
shard,
|
|
101
264
|
projectRoot,
|
|
102
265
|
resolutionMode,
|
|
103
266
|
...(language ? { language } : {}),
|
|
267
|
+
// `runId` is env-only (B1) — stripped from the spec; the rest is carried so
|
|
268
|
+
// the worker stamps tool/parentCommand/traceId/shardId on its spans/logs.
|
|
269
|
+
...(correlation ? { correlation: stripRunId(correlation) } : {}),
|
|
104
270
|
};
|
|
105
271
|
writeFileSync(specPath, JSON.stringify(spec), 'utf8');
|
|
106
|
-
const cleanup = () => rmSync(specDir, { recursive: true, force: true });
|
|
107
272
|
// Propagate the active trace context (the parent's sharded-build span) to
|
|
108
273
|
// the worker as TRACEPARENT, so the worker's per-stage spans nest under our
|
|
109
274
|
// build trace instead of forming orphan traces. `currentTraceparent()` is
|
|
@@ -115,14 +280,32 @@ function spawnShardWorker(shard, projectRoot, cliScript, resolutionMode, languag
|
|
|
115
280
|
// shard's own files are built from `shard.rootDir` in the spec, not from
|
|
116
281
|
// cwd — so the shard need not be a project itself. The full parent env is
|
|
117
282
|
// forwarded (the child needs PATH/HOME/OTEL_* etc.) into spawn's env option
|
|
118
|
-
// only — never logged.
|
|
283
|
+
// only — never logged. Correlation env (`OPENSIP_*`, incl. OPENSIP_RUN_ID so
|
|
284
|
+
// the child inherits the parent run, B1) is spread LAST; the `{ ...process.env }`
|
|
285
|
+
// base already preserves PATH/HOME/OTEL_*, and `correlationToEnv` only adds
|
|
286
|
+
// `OPENSIP_*` keys (and NEVER the API key, M1), so it can never clobber them (M2).
|
|
119
287
|
const child = spawn(process.execPath, [cliScript, 'graph-shard-worker', specPath], {
|
|
120
288
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
121
289
|
env: {
|
|
122
290
|
...process.env,
|
|
123
291
|
...(traceparent ? { TRACEPARENT: traceparent } : {}),
|
|
292
|
+
...(correlation ? correlationToEnv(correlation) : {}),
|
|
124
293
|
},
|
|
125
294
|
});
|
|
295
|
+
// Arm the hard kill-timeout (M3): a hung child is SIGKILLed after a fixed
|
|
296
|
+
// wall-clock floor so `runWorkerPool` settles (with failureClass 'timeout')
|
|
297
|
+
// instead of hanging forever. `unref()` so a pending timer never keeps the
|
|
298
|
+
// event loop alive past a clean settle; `cleanup` clears it on EVERY path.
|
|
299
|
+
let timedOut = false;
|
|
300
|
+
const killTimer = setTimeout(() => {
|
|
301
|
+
timedOut = true;
|
|
302
|
+
child.kill('SIGKILL');
|
|
303
|
+
}, hardKillTimeoutMs);
|
|
304
|
+
killTimer.unref?.();
|
|
305
|
+
const cleanup = () => {
|
|
306
|
+
clearTimeout(killTimer);
|
|
307
|
+
rmSync(specDir, { recursive: true, force: true });
|
|
308
|
+
};
|
|
126
309
|
let stdout = '';
|
|
127
310
|
let stderr = '';
|
|
128
311
|
// setEncoding routes chunks through a StringDecoder that buffers
|
|
@@ -141,13 +324,33 @@ function spawnShardWorker(shard, projectRoot, cliScript, resolutionMode, languag
|
|
|
141
324
|
child.on('error', (err) => {
|
|
142
325
|
/* v8 ignore start */
|
|
143
326
|
cleanup();
|
|
144
|
-
resolvePromise({
|
|
327
|
+
resolvePromise({
|
|
328
|
+
shardId: shard.id,
|
|
329
|
+
exitCode: -1,
|
|
330
|
+
stderr: `spawn failed: ${err.message}`,
|
|
331
|
+
failureClass: 'spawn',
|
|
332
|
+
});
|
|
145
333
|
/* v8 ignore stop */
|
|
146
334
|
});
|
|
147
335
|
child.on('close', (code) => {
|
|
148
336
|
cleanup();
|
|
337
|
+
if (timedOut) {
|
|
338
|
+
resolvePromise({
|
|
339
|
+
shardId: shard.id,
|
|
340
|
+
exitCode: code ?? -1,
|
|
341
|
+
stderr: stderr +
|
|
342
|
+
`\ngraph shard worker killed after ${String(hardKillTimeoutMs)}ms hard kill-timeout`,
|
|
343
|
+
failureClass: 'timeout',
|
|
344
|
+
});
|
|
345
|
+
return;
|
|
346
|
+
}
|
|
149
347
|
if (code !== 0) {
|
|
150
|
-
resolvePromise({
|
|
348
|
+
resolvePromise({
|
|
349
|
+
shardId: shard.id,
|
|
350
|
+
exitCode: code ?? -1,
|
|
351
|
+
stderr,
|
|
352
|
+
failureClass: 'exit_nonzero',
|
|
353
|
+
});
|
|
151
354
|
return;
|
|
152
355
|
}
|
|
153
356
|
try {
|
|
@@ -160,6 +363,7 @@ function spawnShardWorker(shard, projectRoot, cliScript, resolutionMode, languag
|
|
|
160
363
|
shardId: shard.id,
|
|
161
364
|
exitCode: 1,
|
|
162
365
|
stderr: `unparseable worker output: ${error instanceof Error ? error.message : String(error)}`,
|
|
366
|
+
failureClass: 'stdout_parse',
|
|
163
367
|
});
|
|
164
368
|
/* v8 ignore stop */
|
|
165
369
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shard-runner.js","sourceRoot":"","sources":["../../../src/cli/orchestrate/shard-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,
|
|
1
|
+
{"version":3,"file":"shard-runner.js","sourceRoot":"","sources":["../../../src/cli/orchestrate/shard-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharded-graph.d.ts","sourceRoot":"","sources":["../../../src/cli/orchestrate/sharded-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"sharded-graph.d.ts","sourceRoot":"","sources":["../../../src/cli/orchestrate/sharded-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAML,KAAK,MAAM,EAEZ,MAAM,mBAAmB,CAAC;AAsB3B,OAAO,KAAK,EAAE,KAAK,EAAoB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAc,MAAM,YAAY,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,YAAY,EACZ,WAAW,EACX,OAAO,EACP,cAAc,EACd,eAAe,EACf,IAAI,EACL,MAAM,gBAAgB,CAAC;AAExB;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACvC,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACjD;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC;CAC7C;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,oEAAoE;IACpE,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C;wCACoC;IACpC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;CACpC;AAED,mFAAmF;AACnF,wBAAsB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAWvF"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* (semantic, in exact mode) fidelity; cross-package edges are recovered
|
|
12
12
|
* by the boundary pass and labeled `crossShard: true` / `'syntactic'`.
|
|
13
13
|
*/
|
|
14
|
-
import {
|
|
14
|
+
import { currentLogger, currentScope, currentTraceparent, ValidationError, withSpanAsync, } from '@opensip-cli/core';
|
|
15
15
|
import { buildPackageManifestIndex } from '../../cross-package/export-index.js';
|
|
16
16
|
import { unionFeatureDeps } from '../../pipeline/feature-deps.js';
|
|
17
17
|
import { buildFeatures, isPersistedFeaturesEmpty, toPersistedFeatures, } from '../../pipeline/features.js';
|
|
@@ -65,12 +65,19 @@ async function buildShardedGraph(input, span) {
|
|
|
65
65
|
concurrency: input.concurrency,
|
|
66
66
|
...(input.language === undefined ? {} : { language: input.language }),
|
|
67
67
|
});
|
|
68
|
+
// Per-run logger (ADR-0053): the singleton has no daily-logs file sink, so
|
|
69
|
+
// these merge-stage JSONL lines (`graph.sharded.shard_failed`/`graph.shard.merge`)
|
|
70
|
+
// must go through `currentScope().logger` to land in the file the operator greps.
|
|
71
|
+
const mergeLogger = currentLogger();
|
|
68
72
|
for (const failure of built.failures) {
|
|
69
|
-
|
|
73
|
+
mergeLogger.error({
|
|
70
74
|
evt: 'graph.sharded.shard_failed',
|
|
71
75
|
module: 'graph:sharded',
|
|
72
76
|
shardId: failure.shardId,
|
|
73
77
|
exitCode: failure.exitCode,
|
|
78
|
+
// Complementary to the runner's structured `shard_failed`; enriched with
|
|
79
|
+
// the failureClass now carried on ShardFailure (Task 1.2) when present.
|
|
80
|
+
...(failure.failureClass ? { failureClass: failure.failureClass } : {}),
|
|
74
81
|
stderr: failure.stderr.slice(0, 500),
|
|
75
82
|
});
|
|
76
83
|
}
|
|
@@ -80,6 +87,28 @@ async function buildShardedGraph(input, span) {
|
|
|
80
87
|
// single-program walk: it assembles the per-file occurrences into one
|
|
81
88
|
// catalog, so its sub-label reports the resulting function count.
|
|
82
89
|
const fragments = [...plan.cached, ...built.fragments];
|
|
90
|
+
// Structured merge milestone (subprocess-correlation Event Catalog): the
|
|
91
|
+
// fragment count being merged + the ids of any shards whose worker failed,
|
|
92
|
+
// stamped with the run/trace ids so it pivots to the same run as the runner's
|
|
93
|
+
// events. `traceId` is omitted when OTel is off (currentTraceparent → undefined).
|
|
94
|
+
// `parentCommand` (+ tool/repo) is stamped so the operator's
|
|
95
|
+
// `runId`/`parentCommand` filter returns the merge line too (GAP e — no
|
|
96
|
+
// un-attributed shard lines).
|
|
97
|
+
const mergeCorrelation = currentScope()?.correlation;
|
|
98
|
+
const mergeTraceId = currentTraceparent() ?? mergeCorrelation?.traceId;
|
|
99
|
+
mergeLogger.info({
|
|
100
|
+
evt: 'graph.shard.merge',
|
|
101
|
+
module: 'graph:sharded',
|
|
102
|
+
runId: mergeCorrelation?.runId ?? currentScope()?.runId ?? '',
|
|
103
|
+
...(mergeCorrelation?.parentCommand === undefined
|
|
104
|
+
? {}
|
|
105
|
+
: { parentCommand: mergeCorrelation.parentCommand }),
|
|
106
|
+
...(mergeCorrelation?.tool === undefined ? {} : { tool: mergeCorrelation.tool }),
|
|
107
|
+
...(mergeCorrelation?.repo === undefined ? {} : { repo: mergeCorrelation.repo }),
|
|
108
|
+
...(mergeTraceId === undefined ? {} : { traceId: mergeTraceId }),
|
|
109
|
+
fragmentCount: fragments.length,
|
|
110
|
+
failedShardIds: built.failures.map((f) => f.shardId),
|
|
111
|
+
});
|
|
83
112
|
// The export linker keys packages by name; build the manifest index once from
|
|
84
113
|
// the resolved shard set (each shard.rootDir holds a package.json) so the
|
|
85
114
|
// boundary resolver can turn a bare specifier into a target package group.
|
|
@@ -184,7 +213,7 @@ function persistShardedCatalog(catalogRepo, builtFragments, shards, catalogToPer
|
|
|
184
213
|
// Best-effort write: the freshly-built catalog is returned regardless.
|
|
185
214
|
// replaceAll already logged the underlying error; note the continuation
|
|
186
215
|
// so the swallow isn't silent.
|
|
187
|
-
|
|
216
|
+
currentLogger().debug({
|
|
188
217
|
evt: 'graph.sharded.cache_write_skipped',
|
|
189
218
|
module: 'graph:sharded',
|
|
190
219
|
err: error instanceof Error ? error.message : String(error),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharded-graph.js","sourceRoot":"","sources":["../../../src/cli/orchestrate/sharded-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"sharded-graph.js","sourceRoot":"","sources":["../../../src/cli/orchestrate/sharded-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shard-worker.d.ts","sourceRoot":"","sources":["../../src/cli/shard-worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shard-worker.d.ts","sourceRoot":"","sources":["../../src/cli/shard-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAqBH,OAAO,KAAK,EAA8B,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA4EpF;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAwD7F"}
|