@wildorder/nightshift 0.17.0 → 0.18.0
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 +269 -1
- package/dist/agent-runner.d.ts +41 -3
- package/dist/agent-runner.d.ts.map +1 -1
- package/dist/agent-runner.js +197 -12
- package/dist/agent-runner.js.map +1 -1
- package/dist/agent-session.d.ts +123 -0
- package/dist/agent-session.d.ts.map +1 -0
- package/dist/agent-session.js +114 -0
- package/dist/agent-session.js.map +1 -0
- package/dist/atomic-write.d.ts +18 -0
- package/dist/atomic-write.d.ts.map +1 -0
- package/dist/atomic-write.js +74 -0
- package/dist/atomic-write.js.map +1 -0
- package/dist/author.d.ts +112 -6
- package/dist/author.d.ts.map +1 -1
- package/dist/author.js +597 -137
- package/dist/author.js.map +1 -1
- package/dist/causal-analysis.d.ts +6 -2
- package/dist/causal-analysis.d.ts.map +1 -1
- package/dist/causal-analysis.js +55 -2
- package/dist/causal-analysis.js.map +1 -1
- package/dist/cli.js +22 -2
- package/dist/cli.js.map +1 -1
- package/dist/concurrency.d.ts +24 -0
- package/dist/concurrency.d.ts.map +1 -0
- package/dist/concurrency.js +28 -0
- package/dist/concurrency.js.map +1 -0
- package/dist/decider-review.d.ts +10 -3
- package/dist/decider-review.d.ts.map +1 -1
- package/dist/decider-review.js +6 -4
- package/dist/decider-review.js.map +1 -1
- package/dist/decision-ledger.d.ts +7 -0
- package/dist/decision-ledger.d.ts.map +1 -1
- package/dist/decision-ledger.js +25 -10
- package/dist/decision-ledger.js.map +1 -1
- package/dist/detect-package-manager.d.ts +10 -0
- package/dist/detect-package-manager.d.ts.map +1 -1
- package/dist/detect-package-manager.js +12 -0
- package/dist/detect-package-manager.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/manifest.d.ts +24 -5
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +254 -108
- package/dist/manifest.js.map +1 -1
- package/dist/permits.d.ts +18 -0
- package/dist/permits.d.ts.map +1 -1
- package/dist/permits.js +155 -0
- package/dist/permits.js.map +1 -1
- package/dist/preflight.d.ts +2 -2
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js.map +1 -1
- package/dist/review-pass.d.ts +52 -10
- package/dist/review-pass.d.ts.map +1 -1
- package/dist/review-pass.js +114 -30
- package/dist/review-pass.js.map +1 -1
- package/dist/run-analytics-report.d.ts +114 -1
- package/dist/run-analytics-report.d.ts.map +1 -1
- package/dist/run-analytics-report.js +606 -14
- package/dist/run-analytics-report.js.map +1 -1
- package/dist/run-analytics.d.ts +107 -1
- package/dist/run-analytics.d.ts.map +1 -1
- package/dist/run-analytics.js +257 -25
- package/dist/run-analytics.js.map +1 -1
- package/dist/run-log.d.ts +16 -0
- package/dist/run-log.d.ts.map +1 -0
- package/dist/run-log.js +32 -0
- package/dist/run-log.js.map +1 -0
- package/dist/run-program.d.ts +203 -7
- package/dist/run-program.d.ts.map +1 -1
- package/dist/run-program.js +1526 -320
- package/dist/run-program.js.map +1 -1
- package/dist/scheduler.d.ts +75 -0
- package/dist/scheduler.d.ts.map +1 -0
- package/dist/scheduler.js +126 -0
- package/dist/scheduler.js.map +1 -0
- package/dist/verify-cache.d.ts +64 -0
- package/dist/verify-cache.d.ts.map +1 -0
- package/dist/verify-cache.js +56 -0
- package/dist/verify-cache.js.map +1 -0
- package/dist/whole-program-review.d.ts +2 -2
- package/dist/whole-program-review.d.ts.map +1 -1
- package/dist/whole-program-review.js.map +1 -1
- package/dist/worktree.d.ts +124 -0
- package/dist/worktree.d.ts.map +1 -0
- package/dist/worktree.js +397 -0
- package/dist/worktree.js.map +1 -0
- package/dist/write-queue.d.ts +25 -0
- package/dist/write-queue.d.ts.map +1 -0
- package/dist/write-queue.js +52 -0
- package/dist/write-queue.js.map +1 -0
- package/package.json +2 -2
- package/skills/plan-program/SKILL.md +37 -5
- package/dist/worktree-guard.d.ts +0 -40
- package/dist/worktree-guard.d.ts.map +0 -1
- package/dist/worktree-guard.js +0 -91
- package/dist/worktree-guard.js.map +0 -1
package/dist/run-analytics.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { randomBytes } from "node:crypto";
|
|
2
|
-
import { appendFile, mkdir, readFile
|
|
2
|
+
import { appendFile, mkdir, readFile } from "node:fs/promises";
|
|
3
3
|
import { dirname, join, resolve } from "node:path";
|
|
4
4
|
import { z } from "zod";
|
|
5
|
+
import { atomicWriteFile } from "./atomic-write.js";
|
|
5
6
|
/**
|
|
6
7
|
* The versioned, provider-neutral run-observation contract (WS-01). This
|
|
7
8
|
* module defines the schema, the stage-to-bucket mapping, the injectable
|
|
@@ -64,6 +65,8 @@ export const STAGE_BUCKET = {
|
|
|
64
65
|
"analytics-persist": "git-and-persistence",
|
|
65
66
|
"git-diff": "git-and-persistence",
|
|
66
67
|
"git-commit": "git-and-persistence",
|
|
68
|
+
"worktree-setup": "git-and-persistence",
|
|
69
|
+
integration: "git-and-persistence",
|
|
67
70
|
"whole-program-review": "whole-program-review",
|
|
68
71
|
"as-built-snapshot": "whole-program-review",
|
|
69
72
|
"report-assembly": "reporting",
|
|
@@ -88,6 +91,47 @@ export const KNOWN_OUTCOMES = [
|
|
|
88
91
|
"skipped",
|
|
89
92
|
"interrupted",
|
|
90
93
|
];
|
|
94
|
+
/**
|
|
95
|
+
* The fixed scheduling-observation vocabulary (WS-01 SC-10): a workstream
|
|
96
|
+
* becomes ready, is scheduled, or waits, and why. `workstream-ready` and
|
|
97
|
+
* `workstream-scheduled` are instants, emitted at most once per workstream
|
|
98
|
+
* per run; `workstream-waiting` is emitted once per (workstream, cause)
|
|
99
|
+
* pair, when the wait ends, carrying `value` = milliseconds waited. No
|
|
100
|
+
* emitter runs yet in this workstream — WS-04 is the first caller — but the
|
|
101
|
+
* vocabulary, the schema support, and the typed emitters below are final.
|
|
102
|
+
*/
|
|
103
|
+
export const SCHEDULING_POINT_KINDS = [
|
|
104
|
+
"workstream-ready",
|
|
105
|
+
"workstream-scheduled",
|
|
106
|
+
"workstream-waiting",
|
|
107
|
+
];
|
|
108
|
+
/** Open vocabulary, exactly like KNOWN_OUTCOMES: documentation and a lint
|
|
109
|
+
* target, never a gate. A future wait cause is not a schema change. */
|
|
110
|
+
export const KNOWN_WAIT_CAUSES = [
|
|
111
|
+
"dependency",
|
|
112
|
+
"concurrency-cap",
|
|
113
|
+
"integration-mutex",
|
|
114
|
+
/**
|
|
115
|
+
* WS-05: a workstream whose dependencies had all integrated but whose own
|
|
116
|
+
* spec was still being authored. Measured on the build item, from the
|
|
117
|
+
* latest settle of any roster dependency's build item (or the scheduler's
|
|
118
|
+
* start, for a root workstream) to `workstream-ready`. Pre-`ready`, like
|
|
119
|
+
* `dependency`; distinguishes a run that was authoring-bound from one that
|
|
120
|
+
* was dependency-bound, which the critical path (WS-06) needs to tell
|
|
121
|
+
* apart.
|
|
122
|
+
*/
|
|
123
|
+
"spec-pending",
|
|
124
|
+
/**
|
|
125
|
+
* WS-05: the authoring half of the shared `--max-parallel` budget,
|
|
126
|
+
* measured on the author item (admissible to launched) rather than the
|
|
127
|
+
* build item — the only wait cause that answers "did the cap delay the
|
|
128
|
+
* *spec*?" A root workstream can accrue this with no `concurrency-cap`
|
|
129
|
+
* point at all, since its build item may never even queue. Nests inside
|
|
130
|
+
* `spec-pending`, never summed with it (see the wait-cause table in
|
|
131
|
+
* `docs/run-analytics.md`).
|
|
132
|
+
*/
|
|
133
|
+
"author-concurrency-cap",
|
|
134
|
+
];
|
|
91
135
|
/** The only evidence locality WS-01 defines: a build-logs reference resolves only on the machine that ran. */
|
|
92
136
|
export const evidenceReferenceSchema = z.object({
|
|
93
137
|
kind: z.enum(["transcript", "ledger-event", "commit", "diagnosis"]),
|
|
@@ -113,6 +157,8 @@ export const dimensionsSchema = z.object({
|
|
|
113
157
|
verifyCommand: z.string().optional(),
|
|
114
158
|
outcome: z.string().optional(),
|
|
115
159
|
evidence: z.array(evidenceReferenceSchema).optional(),
|
|
160
|
+
/** Present only on a `workstream-waiting` point (open vocabulary; see {@link KNOWN_WAIT_CAUSES}). */
|
|
161
|
+
waitCause: z.string().optional(),
|
|
116
162
|
});
|
|
117
163
|
const partialDimensionsSchema = dimensionsSchema.partial();
|
|
118
164
|
/**
|
|
@@ -216,6 +262,92 @@ export const runAnalyticsSchema = z
|
|
|
216
262
|
});
|
|
217
263
|
}
|
|
218
264
|
});
|
|
265
|
+
const spanById = new Map(artifact.spans.map((span) => [span.id, span]));
|
|
266
|
+
// Cycle detection over the raw `parentId` graph, deliberately independent
|
|
267
|
+
// of `dimensions.workstream`. A walk that only recurses while resolving
|
|
268
|
+
// *effective* ownership (below) stops at the first span in the chain
|
|
269
|
+
// that names its own workstream — so an a<->b cycle where both spans
|
|
270
|
+
// explicitly name the same workstream would never be walked far enough
|
|
271
|
+
// to be noticed (see WS-01 test-critique). This pass never looks at
|
|
272
|
+
// dimensions: it only asks whether following `parentId` from a span
|
|
273
|
+
// returns to a span already on the current path, and is memoized via
|
|
274
|
+
// `resolved` so no span's chain is walked more than once overall.
|
|
275
|
+
const cyclicSpanIds = new Set();
|
|
276
|
+
const resolved = new Set();
|
|
277
|
+
for (const span of artifact.spans) {
|
|
278
|
+
if (resolved.has(span.id))
|
|
279
|
+
continue;
|
|
280
|
+
const path = [];
|
|
281
|
+
let currentId = span.id;
|
|
282
|
+
while (currentId !== undefined && spanById.has(currentId) && !resolved.has(currentId)) {
|
|
283
|
+
const seenAt = path.indexOf(currentId);
|
|
284
|
+
if (seenAt !== -1) {
|
|
285
|
+
for (const id of path.slice(seenAt))
|
|
286
|
+
cyclicSpanIds.add(id);
|
|
287
|
+
break;
|
|
288
|
+
}
|
|
289
|
+
path.push(currentId);
|
|
290
|
+
currentId = spanById.get(currentId)?.parentId;
|
|
291
|
+
}
|
|
292
|
+
for (const id of path)
|
|
293
|
+
resolved.add(id);
|
|
294
|
+
}
|
|
295
|
+
artifact.spans.forEach((span, index) => {
|
|
296
|
+
if (cyclicSpanIds.has(span.id)) {
|
|
297
|
+
ctx.addIssue({
|
|
298
|
+
code: z.ZodIssueCode.custom,
|
|
299
|
+
message: `span "${span.id}" is part of a parentId cycle`,
|
|
300
|
+
path: ["spans", index, "parentId"],
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
});
|
|
304
|
+
// The effective-workstream rule (WS-01 §3.3, shared clause of SC-09): a
|
|
305
|
+
// span whose own `dimensions.workstream` is defined and whose nearest
|
|
306
|
+
// ancestor with a *defined* workstream names a *different* one is
|
|
307
|
+
// invalid — closed over an unattributed intermediary too, so a
|
|
308
|
+
// WS-01 → unattributed → WS-02 chain is rejected, not just a direct
|
|
309
|
+
// WS-01 → WS-02 one. Cycle safety is handled entirely by the pass above;
|
|
310
|
+
// any span not in `cyclicSpanIds` has a finite, acyclic parent chain, so
|
|
311
|
+
// this recursion always terminates.
|
|
312
|
+
const effectiveCache = new Map();
|
|
313
|
+
const effectiveWorkstreamOf = (id) => {
|
|
314
|
+
if (effectiveCache.has(id))
|
|
315
|
+
return effectiveCache.get(id);
|
|
316
|
+
if (cyclicSpanIds.has(id)) {
|
|
317
|
+
effectiveCache.set(id, undefined);
|
|
318
|
+
return undefined;
|
|
319
|
+
}
|
|
320
|
+
const span = spanById.get(id);
|
|
321
|
+
if (span === undefined)
|
|
322
|
+
return undefined;
|
|
323
|
+
if (span.dimensions.workstream !== undefined) {
|
|
324
|
+
effectiveCache.set(id, span.dimensions.workstream);
|
|
325
|
+
return span.dimensions.workstream;
|
|
326
|
+
}
|
|
327
|
+
if (span.parentId === undefined || !spanById.has(span.parentId)) {
|
|
328
|
+
effectiveCache.set(id, undefined);
|
|
329
|
+
return undefined;
|
|
330
|
+
}
|
|
331
|
+
const parentEffective = effectiveWorkstreamOf(span.parentId);
|
|
332
|
+
effectiveCache.set(id, parentEffective);
|
|
333
|
+
return parentEffective;
|
|
334
|
+
};
|
|
335
|
+
artifact.spans.forEach((span, index) => {
|
|
336
|
+
if (span.parentId === undefined || !ids.has(span.parentId) || cyclicSpanIds.has(span.id)) {
|
|
337
|
+
return;
|
|
338
|
+
}
|
|
339
|
+
const parentEffective = effectiveWorkstreamOf(span.parentId);
|
|
340
|
+
if (span.dimensions.workstream !== undefined &&
|
|
341
|
+
parentEffective !== undefined &&
|
|
342
|
+
parentEffective !== span.dimensions.workstream) {
|
|
343
|
+
ctx.addIssue({
|
|
344
|
+
code: z.ZodIssueCode.custom,
|
|
345
|
+
message: `span "${span.id}" (workstream "${span.dimensions.workstream}") is nested ` +
|
|
346
|
+
`under a span whose effective workstream is "${parentEffective}"`,
|
|
347
|
+
path: ["spans", index, "dimensions", "workstream"],
|
|
348
|
+
});
|
|
349
|
+
}
|
|
350
|
+
});
|
|
219
351
|
});
|
|
220
352
|
/** Mirrors `runReportPath` — the one canonical location for a program's analytics artifact. */
|
|
221
353
|
export function runAnalyticsPath(root, programId) {
|
|
@@ -228,26 +360,6 @@ function runAnalyticsSidecarPath(root, programId) {
|
|
|
228
360
|
function randomId() {
|
|
229
361
|
return randomBytes(8).toString("hex");
|
|
230
362
|
}
|
|
231
|
-
/**
|
|
232
|
-
* Write-temp-then-rename in the same directory as the target. Same-directory
|
|
233
|
-
* rename is atomic on POSIX and, via libuv's `MOVEFILE_REPLACE_EXISTING`,
|
|
234
|
-
* replaces atomically on Windows too — a crash mid-write can never leave a
|
|
235
|
-
* half-written artifact; a reader sees either the old file or the new one.
|
|
236
|
-
*/
|
|
237
|
-
async function atomicWriteFile(path, contents) {
|
|
238
|
-
await mkdir(dirname(path), { recursive: true });
|
|
239
|
-
const tmp = join(dirname(path), `.${randomId()}.tmp-${randomId()}`);
|
|
240
|
-
await writeFile(tmp, contents, "utf8");
|
|
241
|
-
try {
|
|
242
|
-
await rename(tmp, path);
|
|
243
|
-
}
|
|
244
|
-
catch (error) {
|
|
245
|
-
// A failed rename must never leave an orphaned temp file behind for a
|
|
246
|
-
// later `docs/programs` commit to sweep up as an untracked artifact.
|
|
247
|
-
await rm(tmp, { force: true }).catch(() => undefined);
|
|
248
|
-
throw error;
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
363
|
/**
|
|
252
364
|
* Reads any prior finalized artifact for `programId` purely to source
|
|
253
365
|
* `parentRunId` — a plain read with no durable effect, safe before the
|
|
@@ -276,6 +388,8 @@ export async function readPriorRunId(root, programId) {
|
|
|
276
388
|
*/
|
|
277
389
|
export class RunRecorder {
|
|
278
390
|
runId;
|
|
391
|
+
/** `RunRecorder` is a degenerate, unscoped `SpanScope` — always `undefined`; see the interface doc comment. */
|
|
392
|
+
workstream = undefined;
|
|
279
393
|
clock;
|
|
280
394
|
root;
|
|
281
395
|
programId;
|
|
@@ -290,6 +404,13 @@ export class RunRecorder {
|
|
|
290
404
|
points = [];
|
|
291
405
|
openStack = [];
|
|
292
406
|
sidecarQueue = Promise.resolve();
|
|
407
|
+
// Metadata for every span ever opened (open or closed), keyed by id — the
|
|
408
|
+
// effective-workstream guard (§3.3) needs to walk a parent chain even
|
|
409
|
+
// after an ancestor has closed. `effectiveWorkstream` is computed and
|
|
410
|
+
// cached once, at open time, from the span's own dimensions and its
|
|
411
|
+
// resolved parent's stored value — a span's parent never changes after
|
|
412
|
+
// it is opened, so the cached value cannot go stale.
|
|
413
|
+
spanMeta = new Map();
|
|
293
414
|
constructor(opts) {
|
|
294
415
|
this.clock = opts.clock;
|
|
295
416
|
this.root = opts.root;
|
|
@@ -394,7 +515,7 @@ export class RunRecorder {
|
|
|
394
515
|
this.diagnose(`analytics artifact failed validation and was not written: ${parsed.error.message}`);
|
|
395
516
|
return;
|
|
396
517
|
}
|
|
397
|
-
await atomicWriteFile(runAnalyticsPath(this.root, this.programId), `${JSON.stringify(parsed.data, null, 2)}\n
|
|
518
|
+
await atomicWriteFile(runAnalyticsPath(this.root, this.programId), `${JSON.stringify(parsed.data, null, 2)}\n`, { tempDir: join(resolve(this.root), "build-logs", this.programId, "tmp") });
|
|
398
519
|
}
|
|
399
520
|
catch (error) {
|
|
400
521
|
this.diagnose(`analytics finalize failed: ${error.message}`);
|
|
@@ -422,11 +543,49 @@ export class RunRecorder {
|
|
|
422
543
|
elapsedMs() {
|
|
423
544
|
return this.clock.monotonic() - this.monotonicAnchorMs;
|
|
424
545
|
}
|
|
546
|
+
/**
|
|
547
|
+
* Resolves the parent for a new span, explicit or implicit (§3.3). Starts
|
|
548
|
+
* from `requestedParentId` (a scope's own anchor span, or — for the
|
|
549
|
+
* implicit path — whatever is currently open on the stack). While the new
|
|
550
|
+
* span's `workstream` is defined, the candidate's *effective* workstream
|
|
551
|
+
* (walking through unattributed intermediaries) is defined, and the two
|
|
552
|
+
* differ, walks to the candidate's own parent. The first compatible
|
|
553
|
+
* ancestor is the parent; if the walk runs out, the span has none. A walk
|
|
554
|
+
* that actually moves the parent emits one diagnostic naming both stages
|
|
555
|
+
* and both workstreams.
|
|
556
|
+
*/
|
|
557
|
+
resolveParent(requestedParentId, dims) {
|
|
558
|
+
let candidateId = requestedParentId;
|
|
559
|
+
let walked = false;
|
|
560
|
+
while (dims.workstream !== undefined && candidateId !== undefined) {
|
|
561
|
+
const meta = this.spanMeta.get(candidateId);
|
|
562
|
+
if (meta === undefined ||
|
|
563
|
+
meta.effectiveWorkstream === undefined ||
|
|
564
|
+
meta.effectiveWorkstream === dims.workstream) {
|
|
565
|
+
break;
|
|
566
|
+
}
|
|
567
|
+
walked = true;
|
|
568
|
+
candidateId = meta.parentId;
|
|
569
|
+
}
|
|
570
|
+
if (walked && requestedParentId !== undefined) {
|
|
571
|
+
const from = this.spanMeta.get(requestedParentId);
|
|
572
|
+
this.diagnose(`span "${dims.stage}" (workstream "${dims.workstream}") would have nested under ` +
|
|
573
|
+
`"${from?.stage}" (workstream "${from?.effectiveWorkstream}") by timing accident; ` +
|
|
574
|
+
`reparented to the nearest compatible ancestor. A concurrent call site likely ` +
|
|
575
|
+
"forgot SpanHandle.scope().");
|
|
576
|
+
}
|
|
577
|
+
return candidateId;
|
|
578
|
+
}
|
|
425
579
|
openSpan(dims, parentId) {
|
|
426
580
|
try {
|
|
581
|
+
const resolvedParentId = this.resolveParent(parentId, dims);
|
|
582
|
+
const id = randomId();
|
|
583
|
+
const effectiveWorkstream = dims.workstream ??
|
|
584
|
+
(resolvedParentId === undefined ? undefined : this.spanMeta.get(resolvedParentId)?.effectiveWorkstream);
|
|
585
|
+
this.spanMeta.set(id, { parentId: resolvedParentId, stage: dims.stage, effectiveWorkstream });
|
|
427
586
|
const open = {
|
|
428
|
-
id
|
|
429
|
-
...(
|
|
587
|
+
id,
|
|
588
|
+
...(resolvedParentId === undefined ? {} : { parentId: resolvedParentId }),
|
|
430
589
|
stage: dims.stage,
|
|
431
590
|
bucket: STAGE_BUCKET[dims.stage],
|
|
432
591
|
startOffsetMs: this.elapsedMs(),
|
|
@@ -442,6 +601,7 @@ export class RunRecorder {
|
|
|
442
601
|
this.closeSpan(open, result);
|
|
443
602
|
},
|
|
444
603
|
child: (childDims) => this.openSpan(childDims, open.id),
|
|
604
|
+
scope: (options) => this.makeScope(open.id, options?.workstream),
|
|
445
605
|
};
|
|
446
606
|
}
|
|
447
607
|
catch (error) {
|
|
@@ -450,7 +610,41 @@ export class RunRecorder {
|
|
|
450
610
|
}
|
|
451
611
|
}
|
|
452
612
|
inertHandle() {
|
|
453
|
-
return {
|
|
613
|
+
return {
|
|
614
|
+
close: () => undefined,
|
|
615
|
+
child: () => this.inertHandle(),
|
|
616
|
+
scope: () => this.inertScope(),
|
|
617
|
+
};
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* Builds a `SpanScope` anchored to `anchorSpanId` (a specific span's id,
|
|
621
|
+
* or `undefined` for the recorder's own top-level scope), stamping
|
|
622
|
+
* `workstream` onto every span/point it opens whose own dimensions omit
|
|
623
|
+
* it — never overriding a dimension the call site supplied.
|
|
624
|
+
*/
|
|
625
|
+
makeScope(anchorSpanId, workstream) {
|
|
626
|
+
return {
|
|
627
|
+
workstream,
|
|
628
|
+
span: (dims) => {
|
|
629
|
+
const stamped = workstream !== undefined && dims.workstream === undefined
|
|
630
|
+
? { ...dims, workstream }
|
|
631
|
+
: dims;
|
|
632
|
+
return this.openSpan(stamped, anchorSpanId);
|
|
633
|
+
},
|
|
634
|
+
point: (obs) => {
|
|
635
|
+
const stamped = workstream !== undefined && obs.dimensions?.workstream === undefined
|
|
636
|
+
? { ...obs, dimensions: { ...(obs.dimensions ?? {}), workstream } }
|
|
637
|
+
: obs;
|
|
638
|
+
this.point(stamped);
|
|
639
|
+
},
|
|
640
|
+
};
|
|
641
|
+
}
|
|
642
|
+
inertScope() {
|
|
643
|
+
return {
|
|
644
|
+
workstream: undefined,
|
|
645
|
+
span: () => this.inertHandle(),
|
|
646
|
+
point: () => undefined,
|
|
647
|
+
};
|
|
454
648
|
}
|
|
455
649
|
closeSpan(open, result) {
|
|
456
650
|
try {
|
|
@@ -542,4 +736,42 @@ export const NOOP_RUN_RECORDER = RunRecorder.create({
|
|
|
542
736
|
log: () => undefined,
|
|
543
737
|
permanentlyDisarmed: true,
|
|
544
738
|
});
|
|
739
|
+
/**
|
|
740
|
+
* Typed emitters for the scheduling-observation vocabulary (§3.4). They
|
|
741
|
+
* take the workstream id explicitly rather than reading it off `scope`: a
|
|
742
|
+
* workstream becomes ready, and waits, *before* its own flow scope exists —
|
|
743
|
+
* these are called from the run-level scope with the subject named. No
|
|
744
|
+
* emitter runs yet in this workstream; WS-04 is the first caller.
|
|
745
|
+
*/
|
|
746
|
+
/** Emitted once per workstream per run, the instant its dependencies are integrated, its spec is complete, and it is not blocked. */
|
|
747
|
+
export function recordWorkstreamReady(scope, workstream) {
|
|
748
|
+
scope.point({
|
|
749
|
+
kind: "workstream-ready",
|
|
750
|
+
coverage: "observed",
|
|
751
|
+
dimensions: { workstream },
|
|
752
|
+
});
|
|
753
|
+
}
|
|
754
|
+
/** Emitted once per workstream per run, the instant its flow actually launches. */
|
|
755
|
+
export function recordWorkstreamScheduled(scope, workstream) {
|
|
756
|
+
scope.point({
|
|
757
|
+
kind: "workstream-scheduled",
|
|
758
|
+
coverage: "observed",
|
|
759
|
+
dimensions: { workstream },
|
|
760
|
+
});
|
|
761
|
+
}
|
|
762
|
+
/**
|
|
763
|
+
* Emitted when a wait *ends*, once per (workstream, cause) pair —
|
|
764
|
+
* `wait.waitedMs` is the milliseconds spent waiting on that cause. A
|
|
765
|
+
* workstream that waited on two causes emits two points; their sum should
|
|
766
|
+
* approximate `scheduled − ready`.
|
|
767
|
+
*/
|
|
768
|
+
export function recordWorkstreamWaiting(scope, workstream, wait) {
|
|
769
|
+
scope.point({
|
|
770
|
+
kind: "workstream-waiting",
|
|
771
|
+
coverage: "observed",
|
|
772
|
+
value: wait.waitedMs,
|
|
773
|
+
unit: "ms",
|
|
774
|
+
dimensions: { workstream, waitCause: wait.cause },
|
|
775
|
+
});
|
|
776
|
+
}
|
|
545
777
|
//# sourceMappingURL=run-analytics.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-analytics.js","sourceRoot":"","sources":["../src/run-analytics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-analytics.js","sourceRoot":"","sources":["../src/run-analytics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type LogFn = (line: string) => void;
|
|
2
|
+
/**
|
|
3
|
+
* Prefixes only the first physical line of an emission with `[prefix] `;
|
|
4
|
+
* later lines pass through byte-identical. One `log()` call is one write to
|
|
5
|
+
* the sink, so a multi-line blob never interleaves with another flow's
|
|
6
|
+
* output — the prefix on its first line is enough to attribute it, and
|
|
7
|
+
* leaving the body untouched keeps a pasted verify failure or stack trace
|
|
8
|
+
* pasteable. An empty or whitespace-only string passes through unchanged,
|
|
9
|
+
* so blank separator lines stay blank.
|
|
10
|
+
*/
|
|
11
|
+
export declare function prefixedLog(log: LogFn, prefix: string): LogFn;
|
|
12
|
+
/** `[WS-xx] …` — every line emitted inside a workstream flow. */
|
|
13
|
+
export declare function workstreamLog(log: LogFn, workstreamId: string): LogFn;
|
|
14
|
+
/** `[run] …` — the scheduler's own lines (WS-04 is the first caller). */
|
|
15
|
+
export declare function schedulerLog(log: LogFn): LogFn;
|
|
16
|
+
//# sourceMappingURL=run-log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-log.d.ts","sourceRoot":"","sources":["../src/run-log.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAE3C;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAa7D;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,KAAK,CAErE;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,GAAG,EAAE,KAAK,GAAG,KAAK,CAE9C"}
|
package/dist/run-log.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prefixes only the first physical line of an emission with `[prefix] `;
|
|
3
|
+
* later lines pass through byte-identical. One `log()` call is one write to
|
|
4
|
+
* the sink, so a multi-line blob never interleaves with another flow's
|
|
5
|
+
* output — the prefix on its first line is enough to attribute it, and
|
|
6
|
+
* leaving the body untouched keeps a pasted verify failure or stack trace
|
|
7
|
+
* pasteable. An empty or whitespace-only string passes through unchanged,
|
|
8
|
+
* so blank separator lines stay blank.
|
|
9
|
+
*/
|
|
10
|
+
export function prefixedLog(log, prefix) {
|
|
11
|
+
return (line) => {
|
|
12
|
+
if (line.trim() === "") {
|
|
13
|
+
log(line);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const newline = line.indexOf("\n");
|
|
17
|
+
if (newline === -1) {
|
|
18
|
+
log(`${prefix} ${line}`);
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
log(`${prefix} ${line.slice(0, newline)}${line.slice(newline)}`);
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/** `[WS-xx] …` — every line emitted inside a workstream flow. */
|
|
25
|
+
export function workstreamLog(log, workstreamId) {
|
|
26
|
+
return prefixedLog(log, `[${workstreamId}]`);
|
|
27
|
+
}
|
|
28
|
+
/** `[run] …` — the scheduler's own lines (WS-04 is the first caller). */
|
|
29
|
+
export function schedulerLog(log) {
|
|
30
|
+
return prefixedLog(log, "[run]");
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=run-log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-log.js","sourceRoot":"","sources":["../src/run-log.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,GAAU,EAAE,MAAc;IACpD,OAAO,CAAC,IAAY,EAAQ,EAAE;QAC5B,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,CAAC;YACV,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YACnB,GAAG,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QACD,GAAG,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC;AACJ,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,aAAa,CAAC,GAAU,EAAE,YAAoB;IAC5D,OAAO,WAAW,CAAC,GAAG,EAAE,IAAI,YAAY,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAAC,GAAU;IACrC,OAAO,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC"}
|