@wildorder/nightshift 0.3.1 → 0.4.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.
@@ -1 +1 @@
1
- {"version":3,"file":"run-program.d.ts","sourceRoot":"","sources":["../src/run-program.ts"],"names":[],"mappings":"AAIA,OAAO,EAQL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAOjE,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,eAAe,CAAC;AAIvB;;;;;GAKG;AACH,MAAM,WAAW,MAAM;IACrB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxD,+EAA+E;IAC/E,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACrE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,oEAAoE;IACpE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC5C;AAED,eAAO,MAAM,aAAa,EAAE,MA4D3B,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1C,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gEAAgE;IAChE,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB;AAgJD,2EAA2E;AAC3E,wBAAgB,cAAc,CAC5B,WAAW,EAAE,SAAS,UAAU,EAAE,EAClC,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,GAAG,CAAC,MAAM,CAAC,CAeb;AAED;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAsU3B"}
1
+ {"version":3,"file":"run-program.d.ts","sourceRoot":"","sources":["../src/run-program.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,12 @@ import { execFile } from "node:child_process";
2
2
  import { readFile, writeFile } from "node:fs/promises";
3
3
  import { join, resolve } from "node:path";
4
4
  import { promisify } from "node:util";
5
- import { defaultAgentRunner, defaultVerifyRunner, describeAgent, resolveAgent, resolveDeciderAgent, resolveRecoveryAgent, tail, } from "./agent-runner.js";
5
+ import { defaultAgentRunner, defaultVerifyRunner, describeAgent, invokeAgent, resolveAgent, resolveDeciderAgent, resolveRecoveryAgent, tail, } from "./agent-runner.js";
6
6
  import { resolveSummary, summaryContract } from "./agent-summary.js";
7
+ import { authorProgram } from "./author.js";
7
8
  import { decisionContract, decisionFingerprint, extractDecisions, } from "./decision.js";
8
9
  import { appendLedgerEvents, readDecisionLedger, } from "./decision-ledger.js";
10
+ import { reviewDecisions } from "./decider-review.js";
9
11
  import { findCycles, stableTopologicalOrder } from "./graph.js";
10
12
  import { loadManifest, saveManifest, } from "./manifest.js";
11
13
  const execFileAsync = promisify(execFile);
@@ -64,15 +66,56 @@ export const defaultGitOps = {
64
66
  return [];
65
67
  }
66
68
  },
69
+ async isAncestor(cwd, ancestor, descendant) {
70
+ try {
71
+ await execFileAsync("git", ["merge-base", "--is-ancestor", ancestor, descendant], { cwd });
72
+ return true;
73
+ }
74
+ catch {
75
+ return false;
76
+ }
77
+ },
78
+ async resetHard(cwd, commit) {
79
+ await execFileAsync("git", ["reset", "--hard", commit], { cwd });
80
+ },
81
+ async createRef(cwd, ref, commit) {
82
+ await execFileAsync("git", ["update-ref", ref, commit], { cwd });
83
+ },
67
84
  };
68
- const DIFF_LIMIT = 20_000;
69
- function implementerBrief(manifest, workstream, spec, priorFailure) {
85
+ /**
86
+ * Ledger decisions for one workstream, projected into its brief. A
87
+ * human-decided record is binding — the implementer is told to build that
88
+ * choice, not re-decide it; a ratified record is context, what the decider
89
+ * already blessed. Escalated and unratified records carry no authority yet
90
+ * and are left out.
91
+ */
92
+ function decisionsRuledOnSection(records) {
93
+ if (records.length === 0)
94
+ return [];
95
+ const lines = ["## Decisions already ruled on", ""];
96
+ for (const record of records) {
97
+ if (record.status === "human-decided") {
98
+ lines.push(`- **${record.decision.title}** — binding: the human ruled ` +
99
+ `\`${record.humanChosen}\` — ${record.humanReason}. Implement ` +
100
+ "that choice; it is not yours or the decider's to revisit.");
101
+ }
102
+ else {
103
+ lines.push(`- **${record.decision.title}** — context: ratified as ` +
104
+ `\`${record.decision.chosen}\` — ${record.reviewRationale ?? record.decision.rationale}.`);
105
+ }
106
+ }
107
+ lines.push("");
108
+ return lines;
109
+ }
110
+ function implementerBrief(manifest, workstream, spec, ledger, priorFailure) {
70
111
  const roster = manifest.workstreams
71
112
  .map((entry) => {
72
113
  const scope = entry.scope?.summary ?? entry.name;
73
114
  return `- ${entry.id} ${entry.name}: ${scope}`;
74
115
  })
75
116
  .join("\n");
117
+ const relevantDecisions = ledger.decisions.filter((record) => record.workstream === workstream.id &&
118
+ (record.status === "human-decided" || record.status === "ratified"));
76
119
  return [
77
120
  `# Workstream ${workstream.id}: ${workstream.name}`,
78
121
  "",
@@ -84,6 +127,7 @@ function implementerBrief(manifest, workstream, spec, priorFailure) {
84
127
  "",
85
128
  roster,
86
129
  "",
130
+ ...decisionsRuledOnSection(relevantDecisions),
87
131
  ...(priorFailure
88
132
  ? [
89
133
  "## Previous attempt failed",
@@ -114,71 +158,6 @@ function implementerBrief(manifest, workstream, spec, priorFailure) {
114
158
  summaryContract(),
115
159
  ].join("\n");
116
160
  }
117
- function deciderBrief(manifest, record, diff) {
118
- const clippedDiff = diff.length > DIFF_LIMIT
119
- ? `${diff.slice(0, DIFF_LIMIT)}\n… (diff clipped at ${DIFF_LIMIT} characters)`
120
- : diff;
121
- return [
122
- "# Review one decision",
123
- "",
124
- `Program: ${manifest.program.id} — ${manifest.program.name}`,
125
- `Workstream: ${record.workstream}`,
126
- "",
127
- "An implementing agent made the judgment call below and continued. Your",
128
- "job is to review that one decision — not the code style, not the whole",
129
- "diff — from the program's point of view. You never edit anything.",
130
- "",
131
- "```json",
132
- JSON.stringify(record.decision, null, 2),
133
- "```",
134
- "",
135
- "The work that resulted:",
136
- "",
137
- "```diff",
138
- clippedDiff.trim() === "" ? "(no diff available)" : clippedDiff,
139
- "```",
140
- "",
141
- "Reply with exactly one verdict block:",
142
- "",
143
- "```verdict",
144
- "{",
145
- ' "verdict": "ratify" | "escalate",',
146
- ' "rationale": "One or two sentences, written for the human who reads the run report."',
147
- "}",
148
- "```",
149
- "",
150
- "Ratify when the choice is defensible — it does not have to be the one",
151
- "you would have made. Escalate when the choice materially affects",
152
- "user-visible behavior, data, or a public contract AND you believe the",
153
- "human would plausibly choose differently; say what you would ask them.",
154
- "One review, one verdict: this is a judgment, not a dialogue.",
155
- ].join("\n");
156
- }
157
- function extractVerdict(output) {
158
- const matches = [...output.matchAll(/```verdict[^\S\r\n]*\r?\n([\s\S]*?)```/gu)];
159
- for (const match of matches.reverse()) {
160
- try {
161
- const parsed = JSON.parse(match[1] ?? "");
162
- if ((parsed.verdict === "ratify" || parsed.verdict === "escalate") &&
163
- typeof parsed.rationale === "string") {
164
- return { verdict: parsed.verdict, rationale: parsed.rationale };
165
- }
166
- }
167
- catch {
168
- // Try an earlier block.
169
- }
170
- }
171
- return undefined;
172
- }
173
- async function invokeAgent(runner, agent, prompt, cwd) {
174
- return runner({
175
- command: agent.command,
176
- args: agent.args,
177
- prompt,
178
- promptMode: agent.promptMode,
179
- cwd,
180
- });
181
- }
182
161
  /** Every workstream in the transitive downstream cone of the given ids. */
183
162
  export function downstreamCone(workstreams, rootIds) {
184
163
  const cone = new Set(rootIds);
@@ -216,7 +195,7 @@ export async function runProgram(options) {
216
195
  const git = options.git ?? defaultGitOps;
217
196
  const log = options.log ?? ((line) => console.log(line));
218
197
  const now = options.now ?? (() => new Date());
219
- const manifest = await loadManifest(root, options.programId);
198
+ let manifest = await loadManifest(root, options.programId);
220
199
  const resolvedAgent = resolveAgent(config);
221
200
  if (!resolvedAgent) {
222
201
  throw new Error("No implementer configured. Set the `agent` block in nightshift.config.json.");
@@ -248,16 +227,41 @@ export async function runProgram(options) {
248
227
  // The runner's own artifacts under docs/programs/ are exempt: they are
249
228
  // output, not work in progress.
250
229
  const dirty = (await git.dirtyPaths(root)).filter((path) => !path.replaceAll("\\", "/").startsWith("docs/programs/"));
251
- const resuming = manifest.workstreams.some((workstream) => workstream.status === "failed" || workstream.status === "in_progress");
230
+ const resuming = manifest.workstreams.some((workstream) => workstream.status === "failed" ||
231
+ workstream.status === "in_progress" ||
232
+ workstream.status === "parked");
252
233
  if (dirty.length > 0 && !resuming) {
253
234
  throw new Error(`The working tree has uncommitted changes the run would sweep into its commits:\n` +
254
235
  dirty.map((path) => ` ${path}`).join("\n") +
255
236
  `\nCommit or stash them, then re-run.`);
256
237
  }
257
238
  }
239
+ // Authoring runs before building: every workstream whose spec is missing
240
+ // gets one, in dependency order, before anything is implemented. It
241
+ // reloads the manifest afterward because authoring may have merged
242
+ // discovered dependency edges or parked workstreams it could not author.
243
+ const authorResult = await authorProgram({
244
+ cwd: options.cwd,
245
+ programId: options.programId,
246
+ config,
247
+ agentRunner,
248
+ git,
249
+ log,
250
+ now,
251
+ });
252
+ manifest = await loadManifest(root, options.programId);
253
+ // Loaded once so every brief in this run projects the same picture of
254
+ // human-decided and ratified choices; decisions this run itself journals
255
+ // are picked up fresh by `readDecisionLedger` at the end, for escalations.
256
+ const ledgerAtStart = await readDecisionLedger(root, options.programId);
258
257
  const ordered = stableTopologicalOrder(manifest.workstreams);
259
258
  const results = [];
260
- const blocked = new Set();
259
+ // Seeded with every workstream whose spec authoring failed or parked —
260
+ // their briefs would be missing a producer's spec, so the build stage
261
+ // must not attempt them this run either.
262
+ const blocked = new Set(authorResult.results
263
+ .filter((entry) => entry.outcome.status === "failed" || entry.outcome.status === "parked")
264
+ .map((entry) => entry.id));
261
265
  for (const workstream of ordered) {
262
266
  if (workstream.status === "complete") {
263
267
  results.push({
@@ -299,7 +303,7 @@ export async function runProgram(options) {
299
303
  manifest.program.status = complete ? "complete" : "partial";
300
304
  await saveManifest(root, options.programId, manifest);
301
305
  const reportPath = join(root, "docs", "programs", `${options.programId}-run-report.md`);
302
- await writeFile(reportPath, renderRunReport(manifest, results, ledger.decisions, escalations, now()), "utf8");
306
+ await writeFile(reportPath, renderRunReport(manifest, results, ledger.decisions, escalations, authorResult, now()), "utf8");
303
307
  if (isRepository) {
304
308
  await git.commitAll(root, `nightshift(${options.programId}): run report and decision ledger`);
305
309
  }
@@ -344,7 +348,7 @@ export async function runProgram(options) {
344
348
  }
345
349
  for (const [index, attempt] of attempts.entries()) {
346
350
  log(`${workstream.id} ${workstream.name}: ${attempt.label} attempt`);
347
- const brief = implementerBrief(manifest, workstream, spec, priorFailure);
351
+ const brief = implementerBrief(manifest, workstream, spec, ledgerAtStart, priorFailure);
348
352
  const invocation = await invokeAgent(agentRunner, attempt.agent, brief, root);
349
353
  const summary = resolveSummary(invocation.output);
350
354
  base.summary = summary.text;
@@ -354,13 +358,19 @@ export async function runProgram(options) {
354
358
  base.decisionIds = parsed.decisions.map((decision) => decisionFingerprint(workstream.id, decision));
355
359
  const failure = await verifyAttempt(invocation.exitCode);
356
360
  if (failure === undefined) {
357
- workstream.status = "complete";
358
- await saveManifest(root, options.programId, manifest);
359
361
  let commit;
360
362
  if (isRepository) {
361
363
  commit = await git.commitAll(root, `nightshift(${options.programId}): ${workstream.id} ${workstream.name}`);
362
364
  }
363
- await reviewDecisions(workstream, parsed.decisions, baseCommit);
365
+ // The commit's own sha cannot be part of the tree it commits, so the
366
+ // manifest records it only now — swept forward into whatever commits
367
+ // next. Replay reads the manifest's current state, not the commit
368
+ // that last touched it, so this lag is harmless.
369
+ workstream.status = "complete";
370
+ if (commit !== undefined)
371
+ workstream.commit = commit;
372
+ await saveManifest(root, options.programId, manifest);
373
+ await reviewWorkstreamDecisions(workstream.id, parsed.decisions, baseCommit);
364
374
  base.outcome = {
365
375
  status: "complete",
366
376
  ...(commit === undefined ? {} : { commit }),
@@ -374,7 +384,7 @@ export async function runProgram(options) {
374
384
  await saveManifest(root, options.programId, manifest);
375
385
  // The work stays in the tree for a resume; decisions made on the way
376
386
  // to a failure are still journaled and still reviewable.
377
- await reviewDecisions(workstream, parsed.decisions, baseCommit);
387
+ await reviewWorkstreamDecisions(workstream.id, parsed.decisions, baseCommit);
378
388
  base.outcome = { status: "failed", reason: failure };
379
389
  return base;
380
390
  }
@@ -409,44 +419,50 @@ export async function runProgram(options) {
409
419
  log(`${workstream.id} decision: ${decision.title} -> ${decision.chosen}`);
410
420
  }
411
421
  }
412
- /**
413
- * Post-hoc review: the decider sees each decision with the diff it
414
- * produced. One decision, one invocation, one verdict — a judgment, not a
415
- * dialogue. No decider configured means defaults stand unratified, which
416
- * the report says plainly.
417
- */
418
- async function reviewDecisions(workstream, decisions, baseCommit) {
419
- if (!decider || decisions.length === 0)
420
- return;
421
- const diff = isRepository && baseCommit !== undefined
422
- ? await git.diffSince(root, baseCommit)
423
- : "";
424
- for (const decision of decisions) {
425
- const id = decisionFingerprint(workstream.id, decision);
426
- const brief = deciderBrief(manifest, { workstream: workstream.id, decision }, diff);
427
- const invocation = await invokeAgent(agentRunner, decider, brief, root);
428
- const verdict = extractVerdict(invocation.output);
429
- if (invocation.exitCode !== 0 || verdict === undefined) {
430
- // Fail open: an unreviewable decision stays unratified and the
431
- // report says so; it never blocks the run.
432
- log(`${workstream.id} decision ${id}: decider produced no verdict; left unratified`);
433
- continue;
434
- }
435
- await appendLedgerEvents(root, options.programId, [
436
- {
437
- kind: "decision-reviewed",
438
- at: now().toISOString(),
439
- id,
440
- verdict: verdict.verdict,
441
- rationale: verdict.rationale,
442
- reviewedBy: "decider",
443
- },
444
- ]);
445
- log(`${workstream.id} decision ${id}: ${verdict.verdict}`);
446
- }
422
+ function reviewWorkstreamDecisions(workstreamId, decisions, baseCommit) {
423
+ return reviewDecisions({
424
+ root,
425
+ programId: options.programId,
426
+ manifest,
427
+ workstreamId,
428
+ decisions,
429
+ baseCommit,
430
+ decider,
431
+ agentRunner,
432
+ git,
433
+ isRepository,
434
+ now,
435
+ log,
436
+ });
437
+ }
438
+ }
439
+ function renderSpecsSection(authorResult) {
440
+ if (authorResult.results.length === 0)
441
+ return [];
442
+ const lines = ["## Specs", ""];
443
+ if (authorResult.borrowedImplementer) {
444
+ lines.push("No `authorAgent` was configured; the implementer agent wrote these", "specs instead. A cheap implementer model tends to write sparse,", "context-free specs — configure `authorAgent` for better ones.", "");
445
+ }
446
+ const authored = authorResult.results.filter((entry) => entry.outcome.status === "authored");
447
+ const kept = authorResult.results.filter((entry) => entry.outcome.status === "kept");
448
+ const failed = authorResult.results.filter((entry) => entry.outcome.status === "failed" || entry.outcome.status === "parked");
449
+ if (authored.length > 0) {
450
+ lines.push("Authored:", "", ...authored.map((entry) => `- ${entry.id} ${entry.name}`), "");
451
+ }
452
+ if (kept.length > 0) {
453
+ lines.push("Kept (already existed):", "", ...kept.map((entry) => `- ${entry.id} ${entry.name}`), "");
454
+ }
455
+ if (failed.length > 0) {
456
+ lines.push("Failed or parked:", "", ...failed.map((entry) => {
457
+ const reason = entry.outcome.status === "failed" || entry.outcome.status === "parked"
458
+ ? entry.outcome.reason
459
+ : "";
460
+ return `- ${entry.id} ${entry.name} — ${reason}`;
461
+ }), "");
447
462
  }
463
+ return lines;
448
464
  }
449
- function renderRunReport(manifest, results, decisions, escalations, at) {
465
+ function renderRunReport(manifest, results, decisions, escalations, authorResult, at) {
450
466
  const built = results.filter((result) => result.outcome.status === "complete" ||
451
467
  result.outcome.status === "skipped").length;
452
468
  const lines = [
@@ -456,6 +472,7 @@ function renderRunReport(manifest, results, decisions, escalations, at) {
456
472
  "",
457
473
  `**Outcome: ${built} of ${results.length} workstreams built.**`,
458
474
  "",
475
+ ...renderSpecsSection(authorResult),
459
476
  ];
460
477
  if (escalations.length > 0) {
461
478
  lines.push("## Needs your attention", "", "The decider reviewed these choices and believes you might decide", "differently. Each is anchored to the commit before it was made:", "");
@@ -1 +1 @@
1
- {"version":3,"file":"run-program.js","sourceRoot":"","sources":["../src/run-program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-program.js","sourceRoot":"","sources":["../src/run-program.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wildorder/nightshift",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "The crew that builds while you're gone: walk-away, CI-dispatched engineering programs with a decision ledger instead of gates",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -57,7 +57,7 @@
57
57
  "devDependencies": {
58
58
  "@eslint/js": "^10.0.1",
59
59
  "@types/node": "^26.1.2",
60
- "@wildorder/nightshift": "^0.3.0",
60
+ "@wildorder/nightshift": "^0.3.1",
61
61
  "eslint": "^10.8.0",
62
62
  "typescript": "^6.0.3",
63
63
  "typescript-eslint": "^8.66.0",