@wildorder/nightshift 0.16.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 +289 -1
- package/dist/agent-runner.d.ts +95 -5
- package/dist/agent-runner.d.ts.map +1 -1
- package/dist/agent-runner.js +442 -32
- 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 +118 -4
- package/dist/author.d.ts.map +1 -1
- package/dist/author.js +650 -163
- package/dist/author.js.map +1 -1
- package/dist/causal-analysis.d.ts +216 -0
- package/dist/causal-analysis.d.ts.map +1 -0
- package/dist/causal-analysis.js +786 -0
- package/dist/causal-analysis.js.map +1 -0
- 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 +13 -1
- package/dist/decider-review.d.ts.map +1 -1
- package/dist/decider-review.js +21 -7
- 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 +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -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 +3 -0
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +73 -57
- package/dist/preflight.js.map +1 -1
- package/dist/prompt-telemetry.d.ts +64 -0
- package/dist/prompt-telemetry.d.ts.map +1 -0
- package/dist/prompt-telemetry.js +112 -0
- package/dist/prompt-telemetry.js.map +1 -0
- package/dist/provider-telemetry.d.ts +106 -0
- package/dist/provider-telemetry.d.ts.map +1 -0
- package/dist/provider-telemetry.js +423 -0
- package/dist/provider-telemetry.js.map +1 -0
- 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 +286 -0
- package/dist/run-analytics-report.d.ts.map +1 -0
- package/dist/run-analytics-report.js +1242 -0
- package/dist/run-analytics-report.js.map +1 -0
- package/dist/run-analytics.d.ts +844 -0
- package/dist/run-analytics.d.ts.map +1 -0
- package/dist/run-analytics.js +777 -0
- package/dist/run-analytics.js.map +1 -0
- 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 +268 -4
- package/dist/run-program.d.ts.map +1 -1
- package/dist/run-program.js +2508 -762
- 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 +3 -0
- package/dist/whole-program-review.d.ts.map +1 -1
- package/dist/whole-program-review.js +8 -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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-pass.d.ts","sourceRoot":"","sources":["../src/review-pass.ts"],"names":[],"mappings":"AAGA,OAAO,EAML,KAAK,OAAO,EACZ,KAAK,QAAQ,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AA0CxD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,qFAAqF;IACrF,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAID,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAoC9D;AA2CD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAMhE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAChC,OAAO,EAAE,CAQX;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAI7D;AAgDD,qFAAqF;AACrF,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE3E;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,kBAAkB,CAUzE;AAED,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"review-pass.d.ts","sourceRoot":"","sources":["../src/review-pass.ts"],"names":[],"mappings":"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"}
|
package/dist/review-pass.js
CHANGED
|
@@ -233,7 +233,45 @@ export function findingDestination(severity) {
|
|
|
233
233
|
return "report";
|
|
234
234
|
}
|
|
235
235
|
}
|
|
236
|
-
|
|
236
|
+
/** Test critique gets one reviewer-then-fix cycle at every size (SC-16). */
|
|
237
|
+
export const TEST_CRITIQUE_CYCLES = 1;
|
|
238
|
+
/**
|
|
239
|
+
* Total, never-throwing normalization of the manifest's optional free-string
|
|
240
|
+
* `size` (`manifest.ts`). Accepts the `plan-program` skill's `S`/`M`/`L` in
|
|
241
|
+
* any case with surrounding whitespace, and the long forms a human might
|
|
242
|
+
* type by hand. Anything else — absent, empty, "XL", a sentence — is M, the
|
|
243
|
+
* middle, because an unknown size must not silently buy or lose a cycle.
|
|
244
|
+
*/
|
|
245
|
+
export function normalizeWorkstreamSize(size) {
|
|
246
|
+
switch (size?.trim().toLowerCase()) {
|
|
247
|
+
case "s":
|
|
248
|
+
case "small":
|
|
249
|
+
return "S";
|
|
250
|
+
case "l":
|
|
251
|
+
case "large":
|
|
252
|
+
return "L";
|
|
253
|
+
default:
|
|
254
|
+
return "M";
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* The spec-critique cycle budget and the sentence the run report prints to
|
|
259
|
+
* disclose it (SC-16). Constants, never config keys.
|
|
260
|
+
* S, M -> 1 "size S — one reviewer-then-fix cycle (S and M get one, L gets two)"
|
|
261
|
+
* L -> 2 "size L — two reviewer-then-fix cycles"
|
|
262
|
+
*/
|
|
263
|
+
export function specCritiqueBudget(size) {
|
|
264
|
+
const normalized = normalizeWorkstreamSize(size);
|
|
265
|
+
if (normalized === "L") {
|
|
266
|
+
return { cycles: 2, note: "size L — two reviewer-then-fix cycles" };
|
|
267
|
+
}
|
|
268
|
+
return {
|
|
269
|
+
cycles: 1,
|
|
270
|
+
note: `size ${normalized} — one reviewer-then-fix cycle (S and M get one, L gets two)`,
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
/** Test critique's cycle budget note — the constant string every size shares (SC-16). */
|
|
274
|
+
export const TEST_CRITIQUE_CYCLE_NOTE = "one cycle for every size";
|
|
237
275
|
function emptySeverityCounts() {
|
|
238
276
|
return countBySeverity([]);
|
|
239
277
|
}
|
|
@@ -248,21 +286,26 @@ export function reviewerAbsentOutcome() {
|
|
|
248
286
|
errors: [],
|
|
249
287
|
writerNotes: [],
|
|
250
288
|
severityCounts: emptySeverityCounts(),
|
|
289
|
+
fixesRun: 0,
|
|
290
|
+
cyclesAllotted: 0,
|
|
291
|
+
cycleNote: "",
|
|
292
|
+
openReReadAfterFix: true,
|
|
251
293
|
};
|
|
252
294
|
}
|
|
253
295
|
export async function runReviewPass(options) {
|
|
254
|
-
const
|
|
296
|
+
const { cycles, cycleNote } = options;
|
|
255
297
|
const seen = new Set();
|
|
256
298
|
const latest = new Map();
|
|
257
299
|
const errors = [];
|
|
258
300
|
const writerNotes = [];
|
|
301
|
+
let fixesRun = 0;
|
|
259
302
|
let priorOpen = [];
|
|
260
|
-
let
|
|
303
|
+
let cycle = 1;
|
|
261
304
|
for (;;) {
|
|
262
|
-
const result = await options.review(
|
|
305
|
+
const result = await options.review(cycle, priorOpen);
|
|
263
306
|
errors.push(...result.errors);
|
|
264
307
|
if (!result.ran) {
|
|
265
|
-
if (
|
|
308
|
+
if (cycle === 1) {
|
|
266
309
|
return {
|
|
267
310
|
ran: false,
|
|
268
311
|
roundsRun: 0,
|
|
@@ -272,55 +315,77 @@ export async function runReviewPass(options) {
|
|
|
272
315
|
errors,
|
|
273
316
|
writerNotes,
|
|
274
317
|
severityCounts: emptySeverityCounts(),
|
|
318
|
+
fixesRun,
|
|
319
|
+
cyclesAllotted: cycles,
|
|
320
|
+
cycleNote,
|
|
321
|
+
openReReadAfterFix: true,
|
|
275
322
|
};
|
|
276
323
|
}
|
|
277
324
|
return finish({
|
|
278
325
|
ran: true,
|
|
279
|
-
roundsRun:
|
|
326
|
+
roundsRun: cycle - 1,
|
|
280
327
|
stopReason: "reviewer-error",
|
|
281
328
|
open: priorOpen,
|
|
282
329
|
errors,
|
|
283
330
|
writerNotes,
|
|
284
331
|
seen,
|
|
285
332
|
latest,
|
|
333
|
+
fixesRun,
|
|
334
|
+
cyclesAllotted: cycles,
|
|
335
|
+
cycleNote,
|
|
336
|
+
// A fix ran on `priorOpen` but the reviewer errored before reading
|
|
337
|
+
// the result — no post-fix re-read confirmed the fixer's work, so
|
|
338
|
+
// this is a raised-and-handed-to-fix residue, not a fresh read.
|
|
339
|
+
openReReadAfterFix: false,
|
|
286
340
|
});
|
|
287
341
|
}
|
|
288
342
|
for (const finding of result.findings) {
|
|
289
343
|
latest.set(fingerprint(finding), finding);
|
|
290
344
|
}
|
|
291
|
-
const
|
|
292
|
-
const newFingerprints = [...
|
|
345
|
+
const cycleFingerprints = new Set(result.findings.map((f) => fingerprint(f)));
|
|
346
|
+
const newFingerprints = [...cycleFingerprints].filter((fp) => !seen.has(fp));
|
|
293
347
|
if (newFingerprints.length === 0) {
|
|
294
348
|
return finish({
|
|
295
349
|
ran: true,
|
|
296
|
-
roundsRun:
|
|
350
|
+
roundsRun: cycle,
|
|
297
351
|
stopReason: "converged",
|
|
298
352
|
open: result.findings,
|
|
299
353
|
errors,
|
|
300
354
|
writerNotes,
|
|
301
355
|
seen,
|
|
302
356
|
latest,
|
|
357
|
+
fixesRun,
|
|
358
|
+
cyclesAllotted: cycles,
|
|
359
|
+
cycleNote,
|
|
360
|
+
// `open` is this cycle's own fresh read — a genuine re-read, whether
|
|
361
|
+
// or not an earlier cycle fixed something.
|
|
362
|
+
openReReadAfterFix: true,
|
|
303
363
|
});
|
|
304
364
|
}
|
|
305
|
-
|
|
365
|
+
for (const fp of newFingerprints)
|
|
366
|
+
seen.add(fp);
|
|
367
|
+
const response = await options.respond(cycle, result.findings);
|
|
368
|
+
fixesRun += 1;
|
|
369
|
+
if (response.note !== undefined)
|
|
370
|
+
writerNotes.push(response.note);
|
|
371
|
+
priorOpen = result.findings;
|
|
372
|
+
if (cycle === cycles) {
|
|
306
373
|
return finish({
|
|
307
374
|
ran: true,
|
|
308
|
-
roundsRun:
|
|
309
|
-
stopReason: "
|
|
310
|
-
open:
|
|
375
|
+
roundsRun: cycle,
|
|
376
|
+
stopReason: "cycles-spent",
|
|
377
|
+
open: priorOpen,
|
|
311
378
|
errors,
|
|
312
379
|
writerNotes,
|
|
313
380
|
seen,
|
|
314
381
|
latest,
|
|
382
|
+
fixesRun,
|
|
383
|
+
cyclesAllotted: cycles,
|
|
384
|
+
cycleNote,
|
|
385
|
+
openReReadAfterFix: false,
|
|
315
386
|
});
|
|
316
387
|
}
|
|
317
|
-
|
|
318
|
-
seen.add(fp);
|
|
319
|
-
const response = await options.respond(round, result.findings);
|
|
320
|
-
if (response.note !== undefined)
|
|
321
|
-
writerNotes.push(response.note);
|
|
322
|
-
priorOpen = result.findings;
|
|
323
|
-
round += 1;
|
|
388
|
+
cycle += 1;
|
|
324
389
|
}
|
|
325
390
|
}
|
|
326
391
|
function finish(args) {
|
|
@@ -335,6 +400,10 @@ function finish(args) {
|
|
|
335
400
|
errors: args.errors,
|
|
336
401
|
writerNotes: args.writerNotes,
|
|
337
402
|
severityCounts: countBySeverity([...args.latest.values()]),
|
|
403
|
+
fixesRun: args.fixesRun,
|
|
404
|
+
cyclesAllotted: args.cyclesAllotted,
|
|
405
|
+
cycleNote: args.cycleNote,
|
|
406
|
+
openReReadAfterFix: args.openReReadAfterFix,
|
|
338
407
|
};
|
|
339
408
|
}
|
|
340
409
|
/** Blocker/major findings -> finding-recorded events; minor/advisory dropped (report-only). */
|
|
@@ -372,10 +441,14 @@ function describeSubjects(findings) {
|
|
|
372
441
|
/**
|
|
373
442
|
* A human-facing summary of one completed (or absent) pass, for the run
|
|
374
443
|
* report. `label` is the pass name the stage supplies ("Spec critique",
|
|
375
|
-
* "Test critique").
|
|
376
|
-
*
|
|
444
|
+
* "Test critique"). `verifyStepLabel` names what ends each cycle — "runner
|
|
445
|
+
* verify" (the configured verify suite, the build side) or "runner spec
|
|
446
|
+
* check" (the runner's own deterministic artifact/scope/change gate, the
|
|
447
|
+
* authoring side, §3.7.3) — defaulting to the build side's phrase since that
|
|
448
|
+
* is the more common caller. Returns markdown lines; the caller splices them
|
|
449
|
+
* under its own section heading.
|
|
377
450
|
*/
|
|
378
|
-
export function renderPassReport(label, outcome) {
|
|
451
|
+
export function renderPassReport(label, outcome, verifyStepLabel = "runner verify") {
|
|
379
452
|
if (outcome.stopReason === "no-reviewer") {
|
|
380
453
|
return [
|
|
381
454
|
`**${label}:** disabled — no reviewer is configured, and the pass was`,
|
|
@@ -389,15 +462,20 @@ export function renderPassReport(label, outcome) {
|
|
|
389
462
|
];
|
|
390
463
|
}
|
|
391
464
|
const lines = [];
|
|
392
|
-
const
|
|
393
|
-
|
|
394
|
-
|
|
465
|
+
const cycleWord = outcome.cyclesAllotted === 1 ? "cycle" : "cycles";
|
|
466
|
+
lines.push(`**${label}:** reviewer -> decider triage -> one fix -> ${verifyStepLabel}. ` +
|
|
467
|
+
`Ran ${outcome.roundsRun} of ${outcome.cyclesAllotted} ${cycleWord} (${outcome.cycleNote}).`);
|
|
468
|
+
if (outcome.stopReason === "converged" && outcome.fixesRun === 0) {
|
|
469
|
+
lines.push("The reviewer raised nothing, so no fix pass ran.");
|
|
395
470
|
}
|
|
396
|
-
else if (outcome.stopReason === "
|
|
397
|
-
lines.push(
|
|
471
|
+
else if (outcome.stopReason === "converged") {
|
|
472
|
+
lines.push("A later read raised nothing new.");
|
|
473
|
+
}
|
|
474
|
+
else if (outcome.stopReason === "cycles-spent") {
|
|
475
|
+
lines.push("The pass used its whole cycle budget.");
|
|
398
476
|
}
|
|
399
477
|
else {
|
|
400
|
-
lines.push(
|
|
478
|
+
lines.push("The reviewer did not produce a further readable read, so the last verified cycle stands.");
|
|
401
479
|
}
|
|
402
480
|
const counts = outcome.severityCounts;
|
|
403
481
|
lines.push(`Findings raised: ${counts.blocker} blocker, ${counts.major} major, ${counts.minor} minor, ${counts.advisory} advisory.`);
|
|
@@ -405,7 +483,13 @@ export function renderPassReport(label, outcome) {
|
|
|
405
483
|
lines.push(`Fixed: ${describeSubjects(outcome.resolved)}.`);
|
|
406
484
|
}
|
|
407
485
|
if (outcome.open.length > 0) {
|
|
408
|
-
|
|
486
|
+
if (outcome.openReReadAfterFix) {
|
|
487
|
+
lines.push(`Still open: ${describeSubjects(outcome.open)}.`);
|
|
488
|
+
}
|
|
489
|
+
else {
|
|
490
|
+
lines.push(`Raised and handed to one fix pass (no reviewer re-read the fix): ${describeSubjects(outcome.open)}.`);
|
|
491
|
+
lines.push("The fixer's account of what it fixed and declined is below; each of these is a ledger entry a human can act on.");
|
|
492
|
+
}
|
|
409
493
|
const unverifiable = outcome.open.filter((f) => !hasRoutableEvidence(f));
|
|
410
494
|
if (unverifiable.length > 0) {
|
|
411
495
|
lines.push(`Unverifiable evidence (reported, not routed): ${describeSubjects(unverifiable)}.`);
|
package/dist/review-pass.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-pass.js","sourceRoot":"","sources":["../src/review-pass.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"review-pass.js","sourceRoot":"","sources":["../src/review-pass.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
import { type Bucket, type Coverage, type RunAnalytics } from "./run-analytics.js";
|
|
2
|
+
/**
|
|
3
|
+
* WS-04: reads the WS-01/WS-02/WS-03 observation contract back and turns it
|
|
4
|
+
* into an answer a human can act on. Everything here is pure, deterministic
|
|
5
|
+
* arithmetic over already-recorded observations (SC-09) — it never decides
|
|
6
|
+
* *why* a bucket is large (WS-05's optional, evidence-cited job), never
|
|
7
|
+
* grades a run, and never emits a score. See
|
|
8
|
+
* tasks/run-analytics/ws-04-time-analytics-report.md for the full contract.
|
|
9
|
+
*
|
|
10
|
+
* WS-06 extends this same pure layer to count overlap correctly and to
|
|
11
|
+
* surface concurrency: a cumulative (non-conserved) figure beside every
|
|
12
|
+
* conserved one, a critical path reconstructed from observed time, and the
|
|
13
|
+
* per-cause scheduling waits WS-03/WS-04/WS-05 record. See
|
|
14
|
+
* tasks/turbo-boost/ws-06-concurrency-aware-analytics.md.
|
|
15
|
+
*/
|
|
16
|
+
export interface IntervalDiagnostic {
|
|
17
|
+
kind: "overlap" | "invalid-interval" | "unresolved-parent" | "interval-exceeds-total" | "open-span"
|
|
18
|
+
/** Two scheduling points share a (workstream, kind, cause) that the
|
|
19
|
+
* emitters guarantee is unique — reported, never silently merged. */
|
|
20
|
+
| "duplicate-scheduling-point"
|
|
21
|
+
/** `scheduled − ready` disagreed with the `concurrency-cap` wait beyond
|
|
22
|
+
* the tolerance, or a scheduled instant had no ready instant. */
|
|
23
|
+
| "scheduling-identity"
|
|
24
|
+
/** A scheduling point was malformed and could not be used: no
|
|
25
|
+
* `dimensions.workstream`, a wait with no `waitCause`, or a missing,
|
|
26
|
+
* negative or non-finite `value`/`atOffsetMs`. The point is skipped;
|
|
27
|
+
* `invalid-interval` is the span-side analogue and is not reused here. */
|
|
28
|
+
| "scheduling-observation";
|
|
29
|
+
message: string;
|
|
30
|
+
spanIds: string[];
|
|
31
|
+
/** Point ids for a point-derived diagnostic; `spanIds` stays empty there. */
|
|
32
|
+
pointIds?: string[];
|
|
33
|
+
}
|
|
34
|
+
export interface BucketSummary {
|
|
35
|
+
bucket: Bucket;
|
|
36
|
+
/** The conserved partition: this bucket's share of the wall-clock union of
|
|
37
|
+
* top-level spans. Σ over all ten buckets === totalElapsedMs, always. */
|
|
38
|
+
durationMs: number;
|
|
39
|
+
/** The non-conserved sum of every top-level interval in this bucket, using
|
|
40
|
+
* the same clamped intervals as `durationMs`. Equal to `durationMs` when
|
|
41
|
+
* nothing overlapped; larger when concurrent flows shared wall-clock time
|
|
42
|
+
* this bucket also covers. Never summed across buckets. */
|
|
43
|
+
cumulativeMs: number;
|
|
44
|
+
/** 0–100, of `totalElapsedMs`; 0 when `totalElapsedMs` is 0. */
|
|
45
|
+
percent: number;
|
|
46
|
+
/** Count of top-level spans whose own `bucket` equals this one — not a sub-interval count. */
|
|
47
|
+
spanCount: number;
|
|
48
|
+
}
|
|
49
|
+
export interface DrillDownSpan {
|
|
50
|
+
id: string;
|
|
51
|
+
stage: string;
|
|
52
|
+
workstream?: string;
|
|
53
|
+
role?: string;
|
|
54
|
+
outcome?: string;
|
|
55
|
+
durationMs: number;
|
|
56
|
+
}
|
|
57
|
+
export interface DrillDownGroup {
|
|
58
|
+
ownerSpanId: string;
|
|
59
|
+
ownerStage: string;
|
|
60
|
+
spans: DrillDownSpan[];
|
|
61
|
+
}
|
|
62
|
+
export interface Ranked {
|
|
63
|
+
key: string;
|
|
64
|
+
durationMs: number;
|
|
65
|
+
count: number;
|
|
66
|
+
}
|
|
67
|
+
export interface VerifyCommandSummary {
|
|
68
|
+
command: string;
|
|
69
|
+
invocations: number;
|
|
70
|
+
totalMs: number;
|
|
71
|
+
largestMs: number;
|
|
72
|
+
}
|
|
73
|
+
export interface DispositionSummary {
|
|
74
|
+
outcome: string;
|
|
75
|
+
count: number;
|
|
76
|
+
durationMs: number;
|
|
77
|
+
}
|
|
78
|
+
export interface RerunGroup {
|
|
79
|
+
key: string;
|
|
80
|
+
count: number;
|
|
81
|
+
durationMs: number;
|
|
82
|
+
}
|
|
83
|
+
export interface RoleProviderInfo {
|
|
84
|
+
role: string;
|
|
85
|
+
provider?: {
|
|
86
|
+
value?: string;
|
|
87
|
+
coverage: Coverage;
|
|
88
|
+
};
|
|
89
|
+
model?: {
|
|
90
|
+
value?: string;
|
|
91
|
+
coverage: Coverage;
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
export interface CoverageSummary {
|
|
95
|
+
counts: Record<Coverage, number>;
|
|
96
|
+
/** Roles whose provider-telemetry is `unavailable` — expected coverage for a non-Claude role, never a missing-time signal. */
|
|
97
|
+
unavailableRoles: string[];
|
|
98
|
+
byRole: RoleProviderInfo[];
|
|
99
|
+
}
|
|
100
|
+
export interface PromptComponentSummary {
|
|
101
|
+
label: string;
|
|
102
|
+
bytes: number;
|
|
103
|
+
}
|
|
104
|
+
export interface AgentAttemptSummary {
|
|
105
|
+
spanId: string;
|
|
106
|
+
stage: string;
|
|
107
|
+
workstream?: string;
|
|
108
|
+
attemptSeat?: string;
|
|
109
|
+
attemptIndex?: number;
|
|
110
|
+
durationMs: number;
|
|
111
|
+
}
|
|
112
|
+
export interface EvidenceSample {
|
|
113
|
+
kind: string;
|
|
114
|
+
locality: "local";
|
|
115
|
+
ref: string;
|
|
116
|
+
note?: string;
|
|
117
|
+
}
|
|
118
|
+
export interface WaitObservation {
|
|
119
|
+
workstream: string;
|
|
120
|
+
/** Read from `dimensions.waitCause`, or `"dependency-landing"` when derived. */
|
|
121
|
+
cause: string;
|
|
122
|
+
waitedMs: number;
|
|
123
|
+
/** The instant the wait ended; its interval is [endMs − waitedMs, endMs). */
|
|
124
|
+
endMs: number;
|
|
125
|
+
/** true = computed by this layer (§3.4); false = read from an emitted point. */
|
|
126
|
+
derived: boolean;
|
|
127
|
+
/** The emitted point's id, for citation. Absent when `derived`. */
|
|
128
|
+
pointId?: string;
|
|
129
|
+
}
|
|
130
|
+
export interface WaitCauseTotal {
|
|
131
|
+
cause: string;
|
|
132
|
+
totalMs: number;
|
|
133
|
+
/** Distinct workstreams that waited on this cause. */
|
|
134
|
+
workstreams: number;
|
|
135
|
+
derived: boolean;
|
|
136
|
+
}
|
|
137
|
+
export interface WorkstreamSchedule {
|
|
138
|
+
workstream: string;
|
|
139
|
+
/** `workstream-ready`'s offset. Absent when the run never recorded one. */
|
|
140
|
+
readyMs?: number;
|
|
141
|
+
/** `readyMs − specPendingMs` — the instant this workstream's dependencies
|
|
142
|
+
* had settled, derived per §3.4. Absent when `readyMs` is. */
|
|
143
|
+
depsReadyMs?: number;
|
|
144
|
+
/** `workstream-scheduled`'s offset. Absent is honest (rule 7, §3.3). */
|
|
145
|
+
scheduledMs?: number;
|
|
146
|
+
/** `scheduledMs − readyMs`, only when both were observed. */
|
|
147
|
+
queuedMs?: number;
|
|
148
|
+
/** This workstream's waits, sorted by cause. Never summed into a total. */
|
|
149
|
+
waits: WaitObservation[];
|
|
150
|
+
}
|
|
151
|
+
export interface CriticalPathLeg {
|
|
152
|
+
startMs: number;
|
|
153
|
+
endMs: number;
|
|
154
|
+
durationMs: number;
|
|
155
|
+
kind: "stage" | "wait" | "gap";
|
|
156
|
+
/** Absent for a run-level leg and for a gap. */
|
|
157
|
+
workstream?: string;
|
|
158
|
+
/** `kind === "stage"`. */
|
|
159
|
+
stage?: string;
|
|
160
|
+
spanId?: string;
|
|
161
|
+
/** `kind === "wait"`. */
|
|
162
|
+
waitCause?: string;
|
|
163
|
+
/** The emitted point behind a wait leg; absent when the wait was derived. */
|
|
164
|
+
pointId?: string;
|
|
165
|
+
/** Set on a leg whose owner took the wall clock over from another flow.
|
|
166
|
+
* `fromWorkstream` is the flow that held the clock immediately before this
|
|
167
|
+
* leg, chosen from observed intervals — it is not a recorded causal edge
|
|
168
|
+
* (§3.6). `cause` is this leg's own workstream's observed wait across the
|
|
169
|
+
* boundary when `causeObserved`, and the literal `"concurrent-work"`
|
|
170
|
+
* otherwise. `pointId` cites the wait point when one was observed. */
|
|
171
|
+
handoff?: {
|
|
172
|
+
fromWorkstream?: string;
|
|
173
|
+
cause: string;
|
|
174
|
+
causeObserved: boolean;
|
|
175
|
+
pointId?: string;
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
export interface ConcurrencySummary {
|
|
179
|
+
/** Time-weighted mean distinct workstreams live; 1 for a serial run. */
|
|
180
|
+
meanWorkstreamConcurrency: number;
|
|
181
|
+
peakWorkstreamConcurrency: number;
|
|
182
|
+
overlappedMs: number;
|
|
183
|
+
/** Non-conserved sums — see §3.1. */
|
|
184
|
+
cumulativeAgentMs: number;
|
|
185
|
+
agentSpanCount: number;
|
|
186
|
+
cumulativeVerificationMs: number;
|
|
187
|
+
verificationSpanCount: number;
|
|
188
|
+
cumulativeWorkstreamMs: number;
|
|
189
|
+
/** The derived baseline from §3.4 — `min` over observed workstreams of
|
|
190
|
+
* `ready − specPending`. Absent when no `workstream-ready` was observed.
|
|
191
|
+
* Present so a reader can recompute every `dependency-landing` by hand. */
|
|
192
|
+
schedulerStartMs?: number;
|
|
193
|
+
/** By workstream id, ascending. */
|
|
194
|
+
schedules: WorkstreamSchedule[];
|
|
195
|
+
/** Per-cause totals — NOT a partition, and deliberately with no run total.
|
|
196
|
+
* Known causes in `KNOWN_WAIT_CAUSES` order, then derived, then any
|
|
197
|
+
* unknown cause alphabetically. */
|
|
198
|
+
waitsByCause: WaitCauseTotal[];
|
|
199
|
+
/** Chronological; tiles [0, totalElapsedMs) exactly. */
|
|
200
|
+
criticalPath: CriticalPathLeg[];
|
|
201
|
+
}
|
|
202
|
+
export interface RunAnalyticsSummary {
|
|
203
|
+
totalElapsedMs: number;
|
|
204
|
+
/** The union of top-level span intervals — never a sum, so overlaps are never double-counted (SC-03). */
|
|
205
|
+
attributedMs: number;
|
|
206
|
+
unattributedMs: number;
|
|
207
|
+
/** In `BUCKETS` order; `unattributed` is the residual and always the last entry. */
|
|
208
|
+
buckets: BucketSummary[];
|
|
209
|
+
diagnostics: IntervalDiagnostic[];
|
|
210
|
+
drillDowns: DrillDownGroup[];
|
|
211
|
+
/** The six `KNOWN_OUTCOMES` (always present, `{count: 0}` when unreached), plus any open-vocabulary extras, alphabetized. */
|
|
212
|
+
dispositions: DispositionSummary[];
|
|
213
|
+
rerun: {
|
|
214
|
+
agent: {
|
|
215
|
+
totalMs: number;
|
|
216
|
+
byReason: RerunGroup[];
|
|
217
|
+
};
|
|
218
|
+
verification: {
|
|
219
|
+
totalMs: number;
|
|
220
|
+
byPhase: RerunGroup[];
|
|
221
|
+
byCommand: RerunGroup[];
|
|
222
|
+
};
|
|
223
|
+
};
|
|
224
|
+
rankings: {
|
|
225
|
+
byStage: Ranked[];
|
|
226
|
+
byWorkstream: Ranked[];
|
|
227
|
+
byRole: Ranked[];
|
|
228
|
+
/** Duration totals by provider/model identity (§3.5), joined from role duration totals via WS-03's `provider-telemetry` points. `"unavailable"` when a role's provider telemetry is unavailable — never a dropped or blanked total. */
|
|
229
|
+
byProvider: Ranked[];
|
|
230
|
+
byModel: Ranked[];
|
|
231
|
+
byVerifyCommand: VerifyCommandSummary[];
|
|
232
|
+
largestAgentAttempt?: AgentAttemptSummary;
|
|
233
|
+
};
|
|
234
|
+
coverage: CoverageSummary;
|
|
235
|
+
/** Largest prompt-component labels by exact bytes, descending; capped, never a claim of totality. */
|
|
236
|
+
promptComponents: PromptComponentSummary[];
|
|
237
|
+
/** The non-conserved `analytics-overhead` footnote (WS-02) — never folded into any bucket. */
|
|
238
|
+
analyticsOverheadMs?: number;
|
|
239
|
+
/** Present only when the aggregated artifact already carries a `publish-duration` point (D5) — never the current run's own report. */
|
|
240
|
+
publish?: {
|
|
241
|
+
durationMs: number;
|
|
242
|
+
invocations: number;
|
|
243
|
+
};
|
|
244
|
+
evidence: EvidenceSample[];
|
|
245
|
+
evidenceTotalCount: number;
|
|
246
|
+
/** Always present — see §3.8. All-zero/empty for a run with no workstream
|
|
247
|
+
* spans and no scheduling points; rendering is gated on `peakWorkstreamConcurrency > 1`. */
|
|
248
|
+
concurrency: ConcurrencySummary;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Deterministically reconciles a `RunAnalytics` artifact into conserved
|
|
252
|
+
* wall-clock and repetition analytics (SC-09). Pure: no clock, no I/O, no
|
|
253
|
+
* randomness. A shuffled `spans`/`points` array yields a byte-identical
|
|
254
|
+
* summary, because every grouping keys off span/point fields — never array
|
|
255
|
+
* position — and every list is explicitly sorted before it is returned.
|
|
256
|
+
*/
|
|
257
|
+
export declare function aggregateRunAnalytics(artifact: RunAnalytics): RunAnalyticsSummary;
|
|
258
|
+
/**
|
|
259
|
+
* Renders the aggregated summary into the "Where the time went" section
|
|
260
|
+
* (SC-10, SC-11) — human-first, concise, and never a score or a grade.
|
|
261
|
+
*/
|
|
262
|
+
export declare function renderWhereTheTimeWent(summary: RunAnalyticsSummary): string[];
|
|
263
|
+
/**
|
|
264
|
+
* The run's own fail-open isolation boundary for analytics (D4, SC-13):
|
|
265
|
+
* always returns a `## Where the time went` section, never throws. A throw
|
|
266
|
+
* from `aggregate` (real or injected via `deps`, for tests), an `undefined`
|
|
267
|
+
* snapshot, or a throw while *obtaining* the snapshot all degrade to an
|
|
268
|
+
* explicit "analytics unavailable" placeholder — never suppress the rest of
|
|
269
|
+
* the report, which is built independently of this function's output.
|
|
270
|
+
*
|
|
271
|
+
* `artifact` accepts either a plain value (the common case, and every
|
|
272
|
+
* existing pure test) or a thunk. The thunk form matters at the real call
|
|
273
|
+
* site: `recorder.snapshot()` is documented as non-throwing, but evaluating
|
|
274
|
+
* it as a plain argument — `renderAnalyticsSection(recorder.snapshot())` —
|
|
275
|
+
* would run it *before* this function's own try/catch is reached, so any
|
|
276
|
+
* violation of that contract (a bug, or a test double standing in for the
|
|
277
|
+
* recorder) would still escape this boundary and, through the caller's own
|
|
278
|
+
* try/catch, suppress the whole report. Wrapping it in a thunk —
|
|
279
|
+
* `renderAnalyticsSection(() => recorder.snapshot())` — keeps that call
|
|
280
|
+
* inside the try below, so this function's "never throws" is true no matter
|
|
281
|
+
* what actually produced the artifact.
|
|
282
|
+
*/
|
|
283
|
+
export declare function renderAnalyticsSection(artifact: RunAnalytics | undefined | (() => RunAnalytics | undefined), deps?: {
|
|
284
|
+
aggregate?: typeof aggregateRunAnalytics;
|
|
285
|
+
}): string[];
|
|
286
|
+
//# sourceMappingURL=run-analytics-report.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-analytics-report.d.ts","sourceRoot":"","sources":["../src/run-analytics-report.ts"],"names":[],"mappings":"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"}
|