@wildorder/nightshift 0.15.0 → 0.17.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 +22 -2
- package/dist/agent-runner.d.ts +56 -4
- package/dist/agent-runner.d.ts.map +1 -1
- package/dist/agent-runner.js +253 -28
- package/dist/agent-runner.js.map +1 -1
- package/dist/author.d.ts +12 -0
- package/dist/author.d.ts.map +1 -1
- package/dist/author.js +183 -88
- package/dist/author.js.map +1 -1
- package/dist/causal-analysis.d.ts +212 -0
- package/dist/causal-analysis.d.ts.map +1 -0
- package/dist/causal-analysis.js +733 -0
- package/dist/causal-analysis.js.map +1 -0
- package/dist/decider-review.d.ts +6 -1
- package/dist/decider-review.d.ts.map +1 -1
- package/dist/decider-review.js +19 -7
- package/dist/decider-review.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.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/run-analytics-report.d.ts +173 -0
- package/dist/run-analytics-report.d.ts.map +1 -0
- package/dist/run-analytics-report.js +650 -0
- package/dist/run-analytics-report.js.map +1 -0
- package/dist/run-analytics.d.ts +738 -0
- package/dist/run-analytics.d.ts.map +1 -0
- package/dist/run-analytics.js +545 -0
- package/dist/run-analytics.js.map +1 -0
- package/dist/run-program.d.ts +69 -1
- package/dist/run-program.d.ts.map +1 -1
- package/dist/run-program.js +1263 -716
- package/dist/run-program.js.map +1 -1
- 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/package.json +3 -3
package/README.md
CHANGED
|
@@ -33,7 +33,7 @@ npx --yes @wildorder/nightshift --help
|
|
|
33
33
|
|
|
34
34
|
What you need before anything else:
|
|
35
35
|
|
|
36
|
-
- **Node.js
|
|
36
|
+
- **Node.js 22+** and a **git repository** (an existing project or a fresh one).
|
|
37
37
|
- **At least one coding-agent CLI** installed and authenticated on the
|
|
38
38
|
machine that will run programs — `claude` (Claude Code) and `codex` are
|
|
39
39
|
the two exercised daily. Two different providers is the intended shape:
|
|
@@ -277,9 +277,29 @@ ref and never loses a ledger event. It ends by telling you the one command
|
|
|
277
277
|
to re-run — the rebuilt work honors your ruling, since the next run's
|
|
278
278
|
implementer brief carries it as binding.
|
|
279
279
|
|
|
280
|
+
## Where the time went
|
|
281
|
+
|
|
282
|
+
Every run report ends with a "Where the time went" section: total elapsed
|
|
283
|
+
time, reconciled bucket durations (preflight, authoring, implementation,
|
|
284
|
+
verification, review, recovery/fixes, git/persistence, whole-program review,
|
|
285
|
+
reporting, and an explicit unattributed residual), the largest measured
|
|
286
|
+
contributors, attempt and rerun counts by trigger, and observability gaps.
|
|
287
|
+
It is descriptive arithmetic over the run's own recorded observations, never
|
|
288
|
+
a score. See [docs/run-analytics.md](docs/run-analytics.md) for the full
|
|
289
|
+
contract, including how to read each figure and the limits of what it
|
|
290
|
+
claims.
|
|
291
|
+
|
|
292
|
+
Right after it, a report may carry `## Why the time went there`: an
|
|
293
|
+
optional, independent, read-only pass that traces those numbers toward
|
|
294
|
+
planner-actionable causes, citing retained evidence for every step and
|
|
295
|
+
saying plainly when it cannot close a chain. It never grades the run, never
|
|
296
|
+
gates anything, and needs no configuration beyond `reviewerAgent`. See
|
|
297
|
+
[docs/run-analytics.md](docs/run-analytics.md#reading-the-causal-analysis)
|
|
298
|
+
for the four layers and what the evidence gate does and does not prove.
|
|
299
|
+
|
|
280
300
|
## Development
|
|
281
301
|
|
|
282
|
-
Requires Node.js
|
|
302
|
+
Requires Node.js 22+.
|
|
283
303
|
|
|
284
304
|
```sh
|
|
285
305
|
npm ci
|
package/dist/agent-runner.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { AgentConfig, NightshiftConfig } from "./config.js";
|
|
2
2
|
import type { AgentRole, PermitsContext } from "./permits.js";
|
|
3
|
+
import { type NormalizedTelemetry } from "./provider-telemetry.js";
|
|
4
|
+
import { type Dimensions, type RunRecorder } from "./run-analytics.js";
|
|
3
5
|
/** A Bash command a Claude spawn actually ran, observed from its stream-json `tool_use` block. */
|
|
4
6
|
export interface TranscriptCommand {
|
|
5
7
|
command: string;
|
|
@@ -30,6 +32,13 @@ export interface AgentTranscript {
|
|
|
30
32
|
* never be silently blessed as fully authoritative alongside `observed: true`.
|
|
31
33
|
*/
|
|
32
34
|
corrupted?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* WS-03's provider-neutral normalization of this spawn's stream, when one
|
|
37
|
+
* was demultiplexed. Absent only for a spawn that never asked for
|
|
38
|
+
* stream-json output in the first place (`AgentTranscript` itself is
|
|
39
|
+
* absent then, so this field never needs to distinguish that case).
|
|
40
|
+
*/
|
|
41
|
+
telemetry?: NormalizedTelemetry;
|
|
33
42
|
}
|
|
34
43
|
export interface CommandResult {
|
|
35
44
|
exitCode: number;
|
|
@@ -39,6 +48,18 @@ export interface CommandResult {
|
|
|
39
48
|
/** Present only for a Claude spawn whose args requested stream-json output. */
|
|
40
49
|
transcript?: AgentTranscript;
|
|
41
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Retains a spawn's raw stdout, gitignored, for SC-08's raw-source-event
|
|
53
|
+
* requirement — never throws; a failure is routed to `onError` and the
|
|
54
|
+
* caller omits the raw evidence reference rather than losing the spawn.
|
|
55
|
+
*/
|
|
56
|
+
export interface RawTranscriptSink {
|
|
57
|
+
/** Appends one raw stdout chunk, in arrival order. */
|
|
58
|
+
write(chunk: string): void;
|
|
59
|
+
/** Flushes and closes; resolves once the bytes are durable (or the sink gave up). */
|
|
60
|
+
close(): Promise<void>;
|
|
61
|
+
onError(err: unknown): void;
|
|
62
|
+
}
|
|
42
63
|
export interface AgentInvocation {
|
|
43
64
|
command: string;
|
|
44
65
|
args: string[];
|
|
@@ -46,6 +67,8 @@ export interface AgentInvocation {
|
|
|
46
67
|
promptMode: "stdin" | "argument";
|
|
47
68
|
cwd: string;
|
|
48
69
|
onOutput?: (chunk: string) => void;
|
|
70
|
+
/** Teed a copy of this spawn's raw stdout, when the caller wants one retained (WS-03). */
|
|
71
|
+
rawTranscript?: RawTranscriptSink;
|
|
49
72
|
}
|
|
50
73
|
export type AgentRunner = (invocation: AgentInvocation) => Promise<CommandResult>;
|
|
51
74
|
export type VerifyRunner = (command: string, cwd: string) => Promise<CommandResult>;
|
|
@@ -75,6 +98,11 @@ export declare function runProcess(command: string, args: string[], options: {
|
|
|
75
98
|
onStdout?: (chunk: string) => void;
|
|
76
99
|
env?: NodeJS.ProcessEnv;
|
|
77
100
|
}): Promise<CommandResult>;
|
|
101
|
+
/** The demultiplexer's telemetry inputs — the derived invocation's argv and command, for model precedence and the provider fallback (SC-05). */
|
|
102
|
+
export interface TelemetryInputs {
|
|
103
|
+
configuredArgs: readonly string[];
|
|
104
|
+
command: string;
|
|
105
|
+
}
|
|
78
106
|
/**
|
|
79
107
|
* Demultiplexes a whole captured stream-json string in one call — what
|
|
80
108
|
* fixture-replay tests exercise. `undefined` means the input did not parse as
|
|
@@ -106,9 +134,15 @@ export interface TranscriptSink {
|
|
|
106
134
|
* invocation and so cannot go through `invokeAgent` itself). A no-op when the
|
|
107
135
|
* result carries no transcript at all (a non-Claude spawn, an operator-
|
|
108
136
|
* configured or operator-`--output-format` role — never asked to be
|
|
109
|
-
* observed).
|
|
137
|
+
* observed). Returns the repo-relative path actually written, so a caller
|
|
138
|
+
* (WS-03) can cite it as evidence; `undefined` when nothing was written.
|
|
139
|
+
*
|
|
140
|
+
* `nonce`, when given, names the file so it shares its stem with a raw
|
|
141
|
+
* sidecar `invokeAgent` allocated up front (WS-03); the probe has no such
|
|
142
|
+
* sidecar and lets this mint its own, exactly as it did before this
|
|
143
|
+
* parameter existed.
|
|
110
144
|
*/
|
|
111
|
-
export declare function recordAgentTranscript(observe: TranscriptSink, role: string, result: CommandResult): Promise<
|
|
145
|
+
export declare function recordAgentTranscript(observe: TranscriptSink, role: string, result: CommandResult, nonce?: string): Promise<string | undefined>;
|
|
112
146
|
/**
|
|
113
147
|
* Spawns a configured agent role with a prompt; shared by every brief
|
|
114
148
|
* spawner. `permits` derives the posture for this role/agent/host before the
|
|
@@ -119,9 +153,27 @@ export declare function recordAgentTranscript(observe: TranscriptSink, role: str
|
|
|
119
153
|
*
|
|
120
154
|
* `observe`, when given, writes the spawn's transcript (if one was observed)
|
|
121
155
|
* as JSONL under `build-logs/<programId>/` and logs the path — the one place
|
|
122
|
-
* this happens, rather than duplicated across every spawning call site.
|
|
156
|
+
* this happens, rather than duplicated across every spawning call site. It
|
|
157
|
+
* also names a raw stdout sidecar (WS-03, SC-08), teed during the spawn and
|
|
158
|
+
* `close()`-awaited before any evidence reference resolves to it.
|
|
159
|
+
*
|
|
160
|
+
* `recorder`, when given, opens a span around the spawn (WS-01) and — after
|
|
161
|
+
* the spawn returns — receives one `provider-telemetry` point per
|
|
162
|
+
* SC-08-enumerated metric (WS-03), correlated by the `role` dimension and
|
|
163
|
+
* the normalized/raw transcript paths as evidence. A caller with no
|
|
164
|
+
* run-scoped recorder to hand gets a shared, permanently disarmed default
|
|
165
|
+
* that buffers harmlessly and performs no I/O — telemetry emission is then
|
|
166
|
+
* simply a no-op, never a thrown error.
|
|
167
|
+
*
|
|
168
|
+
* `spanDims`, when given, overrides the role-derived default stage/dimensions
|
|
169
|
+
* (WS-02) — the call site is the only party that knows which of a reused
|
|
170
|
+
* role's several stages (e.g. `reviewerAgent` driving `test-critique`,
|
|
171
|
+
* `failure-diagnosis`, or `whole-program-review`) this particular spawn is,
|
|
172
|
+
* plus the workstream/attempt dimensions. A caller that passes nothing keeps
|
|
173
|
+
* today's `STAGE_FOR_ROLE` default, so every pre-WS-02 call site (the doctor
|
|
174
|
+
* probe, standalone tests) is unaffected.
|
|
123
175
|
*/
|
|
124
|
-
export declare function invokeAgent(runner: AgentRunner, agent: AgentConfig, prompt: string, cwd: string, permits: PermitsContext, role: AgentRole, observe?: TranscriptSink): Promise<CommandResult>;
|
|
176
|
+
export declare function invokeAgent(runner: AgentRunner, agent: AgentConfig, prompt: string, cwd: string, permits: PermitsContext, role: AgentRole, observe?: TranscriptSink, recorder?: RunRecorder, spanDims?: Partial<Dimensions>): Promise<CommandResult>;
|
|
125
177
|
/**
|
|
126
178
|
* The implementer: the `agent` block, or the environment fallback for hosts
|
|
127
179
|
* that have no config file yet.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../src/agent-runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../src/agent-runner.ts"],"names":[],"mappings":"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"}
|
package/dist/agent-runner.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
2
|
import { randomBytes } from "node:crypto";
|
|
3
|
+
import { createWriteStream } from "node:fs";
|
|
3
4
|
import { mkdir, writeFile } from "node:fs/promises";
|
|
4
|
-
import { join } from "node:path";
|
|
5
|
+
import { dirname, join } from "node:path";
|
|
5
6
|
import crossSpawn from "cross-spawn";
|
|
7
|
+
import { createTelemetryAccumulator, parseConfiguredModel, providerLabelFromCommand, providerTelemetryPoints, } from "./provider-telemetry.js";
|
|
8
|
+
import { NOOP_RUN_RECORDER, } from "./run-analytics.js";
|
|
6
9
|
// In-memory output is kept to a bounded tail; full output belongs in the
|
|
7
10
|
// per-workstream log via onOutput streaming.
|
|
8
11
|
const OUTPUT_TAIL_LIMIT = 200_000;
|
|
@@ -169,7 +172,7 @@ function toolResultText(block) {
|
|
|
169
172
|
* transcript's `commands` list therefore means "ran", never "asked to run" —
|
|
170
173
|
* a denied command appears under `denials` only.
|
|
171
174
|
*/
|
|
172
|
-
function createClaudeStreamJsonDemultiplexer() {
|
|
175
|
+
function createClaudeStreamJsonDemultiplexer(telemetryInputs) {
|
|
173
176
|
let carry = "";
|
|
174
177
|
let firstLineSeen = false;
|
|
175
178
|
let isNdjson = true;
|
|
@@ -180,10 +183,17 @@ function createClaudeStreamJsonDemultiplexer() {
|
|
|
180
183
|
const errorResults = new Map();
|
|
181
184
|
let resultText;
|
|
182
185
|
let assistantText = "";
|
|
186
|
+
const telemetry = createTelemetryAccumulator({
|
|
187
|
+
configuredModel: parseConfiguredModel(telemetryInputs?.configuredArgs ?? []),
|
|
188
|
+
commandProviderGuess: providerLabelFromCommand(telemetryInputs?.command),
|
|
189
|
+
});
|
|
183
190
|
function routeEvent(event) {
|
|
184
191
|
if (event === null || typeof event !== "object")
|
|
185
192
|
return;
|
|
186
193
|
const record = event;
|
|
194
|
+
// WS-03 rides the same already-parsed event this function routes for
|
|
195
|
+
// commands/denials — never a second parse of the underlying text.
|
|
196
|
+
telemetry.observeEvent(record);
|
|
187
197
|
if (record.type === "assistant") {
|
|
188
198
|
const content = record.message?.content;
|
|
189
199
|
if (Array.isArray(content)) {
|
|
@@ -329,6 +339,9 @@ function createClaudeStreamJsonDemultiplexer() {
|
|
|
329
339
|
},
|
|
330
340
|
};
|
|
331
341
|
},
|
|
342
|
+
finishTelemetry() {
|
|
343
|
+
return telemetry.finish({ observed: firstLineSeen && isNdjson, corrupted });
|
|
344
|
+
},
|
|
332
345
|
};
|
|
333
346
|
}
|
|
334
347
|
/**
|
|
@@ -346,7 +359,7 @@ export const defaultAgentRunner = async (invocation) => {
|
|
|
346
359
|
? [...invocation.args, invocation.prompt]
|
|
347
360
|
: invocation.args;
|
|
348
361
|
const demux = claudeStreamJsonRequested(invocation.args)
|
|
349
|
-
? createClaudeStreamJsonDemultiplexer()
|
|
362
|
+
? createClaudeStreamJsonDemultiplexer({ configuredArgs: invocation.args, command: invocation.command })
|
|
350
363
|
: undefined;
|
|
351
364
|
const result = await runProcess(invocation.command, finalArgs, {
|
|
352
365
|
cwd: invocation.cwd,
|
|
@@ -362,8 +375,19 @@ export const defaultAgentRunner = async (invocation) => {
|
|
|
362
375
|
// Stdout-only: stderr can carry plain-text CLI warnings ahead of or
|
|
363
376
|
// interleaved with the NDJSON stream, and feeding those into the line
|
|
364
377
|
// parser would corrupt or invalidate a stream that is, on stdout alone,
|
|
365
|
-
// perfectly well-formed.
|
|
366
|
-
|
|
378
|
+
// perfectly well-formed. The raw tee (when the caller wants one
|
|
379
|
+
// retained, WS-03) rides the same stdout-only callback, in arrival
|
|
380
|
+
// order, so the sidecar and the demultiplexer never disagree about what
|
|
381
|
+
// the process actually printed.
|
|
382
|
+
onStdout: (chunk) => {
|
|
383
|
+
demux?.feed(chunk);
|
|
384
|
+
try {
|
|
385
|
+
invocation.rawTranscript?.write(chunk);
|
|
386
|
+
}
|
|
387
|
+
catch (error) {
|
|
388
|
+
invocation.rawTranscript?.onError(error);
|
|
389
|
+
}
|
|
390
|
+
},
|
|
367
391
|
...(invocation.promptMode === "stdin"
|
|
368
392
|
? { input: invocation.prompt }
|
|
369
393
|
: {}),
|
|
@@ -371,12 +395,13 @@ export const defaultAgentRunner = async (invocation) => {
|
|
|
371
395
|
if (!demux)
|
|
372
396
|
return result;
|
|
373
397
|
const demultiplexed = demux.finish();
|
|
398
|
+
const telemetry = demux.finishTelemetry();
|
|
374
399
|
if (demultiplexed === undefined) {
|
|
375
400
|
// Not NDJSON at all (an older CLI ignored the flag, or the process
|
|
376
401
|
// crashed before its first event) — the raw tail stays `output` exactly
|
|
377
402
|
// as it works today; `observed: false` distinguishes this from a spawn
|
|
378
403
|
// this module never asked to be observed in the first place.
|
|
379
|
-
return { ...result, transcript: { observed: false, commands: [], denials: [] } };
|
|
404
|
+
return { ...result, transcript: { observed: false, commands: [], denials: [], telemetry } };
|
|
380
405
|
}
|
|
381
406
|
return {
|
|
382
407
|
...result,
|
|
@@ -385,7 +410,7 @@ export const defaultAgentRunner = async (invocation) => {
|
|
|
385
410
|
// falls back to the raw tail rather than handing the parsers an empty
|
|
386
411
|
// string.
|
|
387
412
|
output: demultiplexed.output !== "" ? demultiplexed.output : result.output,
|
|
388
|
-
transcript: demultiplexed.transcript,
|
|
413
|
+
transcript: { ...demultiplexed.transcript, telemetry },
|
|
389
414
|
};
|
|
390
415
|
};
|
|
391
416
|
export const defaultVerifyRunner = (command, cwd) => runProcess(command, [], { cwd, shell: true });
|
|
@@ -393,10 +418,9 @@ export function tail(output, limit = 2000) {
|
|
|
393
418
|
return output.length > limit ? output.slice(-limit) : output;
|
|
394
419
|
}
|
|
395
420
|
/** JSONL body: a header line naming role/label, then one line per command and one per denial. */
|
|
396
|
-
async function writeTranscript(sink, role, transcript) {
|
|
421
|
+
async function writeTranscript(sink, role, transcript, nonce) {
|
|
397
422
|
const dir = join(sink.root, "build-logs", sink.programId);
|
|
398
423
|
await mkdir(dir, { recursive: true });
|
|
399
|
-
const nonce = randomBytes(4).toString("hex");
|
|
400
424
|
const fileName = `${sink.label}-${nonce}.jsonl`;
|
|
401
425
|
const lines = [
|
|
402
426
|
JSON.stringify({ role, label: sink.label, ...(transcript.corrupted ? { corrupted: true } : {}) }),
|
|
@@ -413,22 +437,119 @@ async function writeTranscript(sink, role, transcript) {
|
|
|
413
437
|
* invocation and so cannot go through `invokeAgent` itself). A no-op when the
|
|
414
438
|
* result carries no transcript at all (a non-Claude spawn, an operator-
|
|
415
439
|
* configured or operator-`--output-format` role — never asked to be
|
|
416
|
-
* observed).
|
|
440
|
+
* observed). Returns the repo-relative path actually written, so a caller
|
|
441
|
+
* (WS-03) can cite it as evidence; `undefined` when nothing was written.
|
|
442
|
+
*
|
|
443
|
+
* `nonce`, when given, names the file so it shares its stem with a raw
|
|
444
|
+
* sidecar `invokeAgent` allocated up front (WS-03); the probe has no such
|
|
445
|
+
* sidecar and lets this mint its own, exactly as it did before this
|
|
446
|
+
* parameter existed.
|
|
417
447
|
*/
|
|
418
|
-
export async function recordAgentTranscript(observe, role, result) {
|
|
448
|
+
export async function recordAgentTranscript(observe, role, result, nonce = randomBytes(4).toString("hex")) {
|
|
419
449
|
if (!result.transcript)
|
|
420
|
-
return;
|
|
450
|
+
return undefined;
|
|
421
451
|
if (result.transcript.observed) {
|
|
422
|
-
const path = await writeTranscript(observe, role, result.transcript);
|
|
452
|
+
const path = await writeTranscript(observe, role, result.transcript, nonce);
|
|
423
453
|
observe.log(result.transcript.corrupted
|
|
424
454
|
? `transcript: ${path} (warning: a line mid-stream could not be parsed — ` +
|
|
425
455
|
"this transcript may be missing a command or denial)"
|
|
426
456
|
: `transcript: ${path}`);
|
|
457
|
+
return path;
|
|
458
|
+
}
|
|
459
|
+
observe.log(`transcript: ${observe.label}'s stream-json output did not parse as NDJSON — falling back to raw text`);
|
|
460
|
+
return undefined;
|
|
461
|
+
}
|
|
462
|
+
/**
|
|
463
|
+
* Ties a spawn's normalized transcript and raw sidecar to one `<label>-
|
|
464
|
+
* <nonce>` stem, allocated before the process starts (WS-03) — the nonce
|
|
465
|
+
* `writeTranscript` used to mint itself, after the process had already
|
|
466
|
+
* exited, could never be shared with a raw tee that must be live while the
|
|
467
|
+
* stream is still arriving.
|
|
468
|
+
*/
|
|
469
|
+
function allocateTranscriptStem(sink) {
|
|
470
|
+
const nonce = randomBytes(4).toString("hex");
|
|
471
|
+
const base = `${sink.label}-${nonce}`;
|
|
472
|
+
return {
|
|
473
|
+
nonce,
|
|
474
|
+
rawPath: join(sink.root, "build-logs", sink.programId, `${base}.raw.jsonl`),
|
|
475
|
+
rawRelPath: `build-logs/${sink.programId}/${base}.raw.jsonl`,
|
|
476
|
+
};
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* A gitignored write-stream sidecar for one spawn's raw stdout (WS-03,
|
|
480
|
+
* SC-08) — fail-open throughout: an open/write/close failure is logged and
|
|
481
|
+
* flips `failed()`, but never throws into the run.
|
|
482
|
+
*/
|
|
483
|
+
function createRawTranscriptSink(path, log) {
|
|
484
|
+
let failed = false;
|
|
485
|
+
let stream;
|
|
486
|
+
function fail(error) {
|
|
487
|
+
failed = true;
|
|
488
|
+
try {
|
|
489
|
+
log(`run-analytics: raw transcript sidecar failed: ${error.message}`);
|
|
490
|
+
}
|
|
491
|
+
catch {
|
|
492
|
+
// Logging must never be the reason this failure escapes fail-open.
|
|
493
|
+
}
|
|
427
494
|
}
|
|
428
|
-
|
|
429
|
-
|
|
495
|
+
try {
|
|
496
|
+
stream = createWriteStream(path);
|
|
497
|
+
stream.on("error", fail);
|
|
430
498
|
}
|
|
499
|
+
catch (error) {
|
|
500
|
+
fail(error);
|
|
501
|
+
}
|
|
502
|
+
return {
|
|
503
|
+
write(chunk) {
|
|
504
|
+
if (failed || !stream)
|
|
505
|
+
return;
|
|
506
|
+
try {
|
|
507
|
+
stream.write(chunk);
|
|
508
|
+
}
|
|
509
|
+
catch (error) {
|
|
510
|
+
fail(error);
|
|
511
|
+
}
|
|
512
|
+
},
|
|
513
|
+
async close() {
|
|
514
|
+
if (failed || !stream)
|
|
515
|
+
return;
|
|
516
|
+
try {
|
|
517
|
+
await new Promise((resolvePromise) => {
|
|
518
|
+
stream.once("error", (error) => {
|
|
519
|
+
fail(error);
|
|
520
|
+
resolvePromise();
|
|
521
|
+
});
|
|
522
|
+
stream.end(() => resolvePromise());
|
|
523
|
+
});
|
|
524
|
+
}
|
|
525
|
+
catch (error) {
|
|
526
|
+
// A synchronous throw out of `stream.end()` itself (a corrupted
|
|
527
|
+
// stream state, not just an emitted "error" event) rejects the
|
|
528
|
+
// executor's promise; caught here so `close()` never throws into
|
|
529
|
+
// `invokeAgent` (SC-13) and the raw evidence ref is correctly
|
|
530
|
+
// omitted via `failed()`.
|
|
531
|
+
fail(error);
|
|
532
|
+
}
|
|
533
|
+
},
|
|
534
|
+
onError: fail,
|
|
535
|
+
failed: () => failed,
|
|
536
|
+
};
|
|
431
537
|
}
|
|
538
|
+
/**
|
|
539
|
+
* A defensible, not-exhaustive default stage per spawn seat — enough for a
|
|
540
|
+
* WS-01 reference span proving the recorder API end-to-end (see the
|
|
541
|
+
* WS-01/WS-02 emission-boundary decision). WS-02 owns the full dimension set
|
|
542
|
+
* (attempt seat, index, reason, workstream) that distinguishes an
|
|
543
|
+
* implementer attempt from a recovery or informed-retry one; this mapping is
|
|
544
|
+
* not meant to survive that instrumentation unchanged.
|
|
545
|
+
*/
|
|
546
|
+
const STAGE_FOR_ROLE = {
|
|
547
|
+
agent: "implementer",
|
|
548
|
+
recoveryAgent: "recovery",
|
|
549
|
+
authorAgent: "author",
|
|
550
|
+
deciderAgent: "decision-review",
|
|
551
|
+
reviewerAgent: "test-critique",
|
|
552
|
+
};
|
|
432
553
|
/**
|
|
433
554
|
* Spawns a configured agent role with a prompt; shared by every brief
|
|
434
555
|
* spawner. `permits` derives the posture for this role/agent/host before the
|
|
@@ -439,20 +560,124 @@ export async function recordAgentTranscript(observe, role, result) {
|
|
|
439
560
|
*
|
|
440
561
|
* `observe`, when given, writes the spawn's transcript (if one was observed)
|
|
441
562
|
* as JSONL under `build-logs/<programId>/` and logs the path — the one place
|
|
442
|
-
* this happens, rather than duplicated across every spawning call site.
|
|
563
|
+
* this happens, rather than duplicated across every spawning call site. It
|
|
564
|
+
* also names a raw stdout sidecar (WS-03, SC-08), teed during the spawn and
|
|
565
|
+
* `close()`-awaited before any evidence reference resolves to it.
|
|
566
|
+
*
|
|
567
|
+
* `recorder`, when given, opens a span around the spawn (WS-01) and — after
|
|
568
|
+
* the spawn returns — receives one `provider-telemetry` point per
|
|
569
|
+
* SC-08-enumerated metric (WS-03), correlated by the `role` dimension and
|
|
570
|
+
* the normalized/raw transcript paths as evidence. A caller with no
|
|
571
|
+
* run-scoped recorder to hand gets a shared, permanently disarmed default
|
|
572
|
+
* that buffers harmlessly and performs no I/O — telemetry emission is then
|
|
573
|
+
* simply a no-op, never a thrown error.
|
|
574
|
+
*
|
|
575
|
+
* `spanDims`, when given, overrides the role-derived default stage/dimensions
|
|
576
|
+
* (WS-02) — the call site is the only party that knows which of a reused
|
|
577
|
+
* role's several stages (e.g. `reviewerAgent` driving `test-critique`,
|
|
578
|
+
* `failure-diagnosis`, or `whole-program-review`) this particular spawn is,
|
|
579
|
+
* plus the workstream/attempt dimensions. A caller that passes nothing keeps
|
|
580
|
+
* today's `STAGE_FOR_ROLE` default, so every pre-WS-02 call site (the doctor
|
|
581
|
+
* probe, standalone tests) is unaffected.
|
|
443
582
|
*/
|
|
444
|
-
export async function invokeAgent(runner, agent, prompt, cwd, permits, role, observe) {
|
|
445
|
-
const
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
583
|
+
export async function invokeAgent(runner, agent, prompt, cwd, permits, role, observe, recorder = NOOP_RUN_RECORDER, spanDims) {
|
|
584
|
+
const span = recorder.span({ stage: STAGE_FOR_ROLE[role], role, ...spanDims });
|
|
585
|
+
try {
|
|
586
|
+
const derived = await permits.derive(role, agent);
|
|
587
|
+
const stem = observe ? allocateTranscriptStem(observe) : undefined;
|
|
588
|
+
// Only a spawn that actually requests structured stream-json output has
|
|
589
|
+
// raw provider events worth retaining — a codex (or any non-Claude)
|
|
590
|
+
// spawn writes no plaintext sidecar, matching its already-`unavailable`
|
|
591
|
+
// telemetry rather than littering build-logs/ with an empty file.
|
|
592
|
+
let rawSink;
|
|
593
|
+
if (observe && stem && claudeStreamJsonRequested(derived.agent.args)) {
|
|
594
|
+
try {
|
|
595
|
+
await mkdir(dirname(stem.rawPath), { recursive: true });
|
|
596
|
+
rawSink = createRawTranscriptSink(stem.rawPath, observe.log);
|
|
597
|
+
}
|
|
598
|
+
catch (error) {
|
|
599
|
+
observe.log(`run-analytics: raw transcript sidecar could not be opened: ${error.message}`);
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
let result;
|
|
603
|
+
try {
|
|
604
|
+
result = await runner({
|
|
605
|
+
command: derived.agent.command,
|
|
606
|
+
args: derived.agent.args,
|
|
607
|
+
prompt,
|
|
608
|
+
promptMode: derived.agent.promptMode,
|
|
609
|
+
cwd,
|
|
610
|
+
...(rawSink ? { rawTranscript: rawSink } : {}),
|
|
611
|
+
});
|
|
612
|
+
}
|
|
613
|
+
finally {
|
|
614
|
+
// Awaited whether the runner resolved or rejected — a raw sink opened
|
|
615
|
+
// before the spawn must never be left dangling on a rejected promise
|
|
616
|
+
// (SC-13: fail-open, not leak-open), and awaited before the raw path
|
|
617
|
+
// is ever cited as evidence, so a reference to it never resolves
|
|
618
|
+
// before the bytes are durable (WS-03). `createRawTranscriptSink`'s
|
|
619
|
+
// own `close()` never throws, but this call site guards independently
|
|
620
|
+
// (defense in depth, SC-13) so a future sink implementation's close
|
|
621
|
+
// failure cannot escape into the run's outcome.
|
|
622
|
+
try {
|
|
623
|
+
await rawSink?.close();
|
|
624
|
+
}
|
|
625
|
+
catch (error) {
|
|
626
|
+
observe?.log(`run-analytics: raw transcript sidecar close failed: ${error.message}`);
|
|
627
|
+
}
|
|
628
|
+
}
|
|
629
|
+
let transcriptPath;
|
|
630
|
+
if (observe && stem) {
|
|
631
|
+
// A normalized-transcript write failure (full disk, EACCES) is a
|
|
632
|
+
// persistence defect, not a spawn failure — diagnosed and swallowed so
|
|
633
|
+
// it never flips a successful attempt's outcome (SC-13); the point
|
|
634
|
+
// still emits below, simply without this evidence ref.
|
|
635
|
+
try {
|
|
636
|
+
transcriptPath = await recordAgentTranscript(observe, role, result, stem.nonce);
|
|
637
|
+
}
|
|
638
|
+
catch (error) {
|
|
639
|
+
observe.log(`run-analytics: normalized transcript persistence failed: ${error.message}`);
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
const evidence = [];
|
|
643
|
+
if (transcriptPath)
|
|
644
|
+
evidence.push({ kind: "transcript", locality: "local", ref: transcriptPath });
|
|
645
|
+
if (stem && rawSink && !rawSink.failed()) {
|
|
646
|
+
evidence.push({ kind: "transcript", locality: "local", ref: stem.rawRelPath, note: "raw stdout" });
|
|
647
|
+
}
|
|
648
|
+
// Every spawn gets its enumerated provider-telemetry point set — a
|
|
649
|
+
// spawn whose runner attached no transcript at all (a non-Claude
|
|
650
|
+
// command, never asked for stream-json) still normalizes to a fully
|
|
651
|
+
// `unavailable` record rather than emitting nothing (the codex dogfood
|
|
652
|
+
// signal, SC-08). `recorder.point()` itself is guaranteed non-throwing
|
|
653
|
+
// (WS-01), but the telemetry it is fed here — a transcript's `.telemetry`
|
|
654
|
+
// shape, and the fan-out over it — comes from this workstream and is not;
|
|
655
|
+
// wrapped so a normalizer or fan-out defect is diagnosed and swallowed
|
|
656
|
+
// rather than propagating out of invokeAgent as if the agent itself had
|
|
657
|
+
// failed to spawn (SC-13).
|
|
658
|
+
try {
|
|
659
|
+
const telemetry = result.transcript?.telemetry ??
|
|
660
|
+
createTelemetryAccumulator({
|
|
661
|
+
configuredModel: parseConfiguredModel(derived.agent.args),
|
|
662
|
+
commandProviderGuess: providerLabelFromCommand(derived.agent.command),
|
|
663
|
+
}).finish({ observed: false, corrupted: false });
|
|
664
|
+
for (const point of providerTelemetryPoints(telemetry, { role }, evidence)) {
|
|
665
|
+
recorder.point(point);
|
|
666
|
+
}
|
|
667
|
+
}
|
|
668
|
+
catch (error) {
|
|
669
|
+
observe?.log(`run-analytics: provider telemetry emission failed: ${error.message}`);
|
|
670
|
+
}
|
|
671
|
+
span.close({
|
|
672
|
+
outcome: result.exitCode === 0 ? "success" : "failed",
|
|
673
|
+
...(evidence.length === 0 ? {} : { evidence }),
|
|
674
|
+
});
|
|
675
|
+
return result;
|
|
676
|
+
}
|
|
677
|
+
catch (error) {
|
|
678
|
+
span.close({ outcome: "failed" });
|
|
679
|
+
throw error;
|
|
680
|
+
}
|
|
456
681
|
}
|
|
457
682
|
/**
|
|
458
683
|
* The implementer: the `agent` block, or the environment fallback for hosts
|
package/dist/agent-runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../src/agent-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../src/agent-runner.ts"],"names":[],"mappings":"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"}
|