@wildorder/nightshift 0.3.1 → 0.5.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 +48 -1
- package/dist/agent-runner.d.ts +18 -0
- package/dist/agent-runner.d.ts.map +1 -1
- package/dist/agent-runner.js +26 -0
- package/dist/agent-runner.js.map +1 -1
- package/dist/author.d.ts +64 -0
- package/dist/author.d.ts.map +1 -0
- package/dist/author.js +627 -0
- package/dist/author.js.map +1 -0
- package/dist/cli.js +110 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +14 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +7 -1
- package/dist/config.js.map +1 -1
- package/dist/decide.d.ts +49 -0
- package/dist/decide.d.ts.map +1 -0
- package/dist/decide.js +178 -0
- package/dist/decide.js.map +1 -0
- package/dist/decider-review.d.ts +21 -0
- package/dist/decider-review.d.ts.map +1 -0
- package/dist/decider-review.js +98 -0
- package/dist/decider-review.js.map +1 -0
- package/dist/findings.d.ts +3 -21
- package/dist/findings.d.ts.map +1 -1
- package/dist/findings.js +0 -7
- package/dist/findings.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/manifest.d.ts +2 -0
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +2 -0
- package/dist/manifest.js.map +1 -1
- package/dist/review-pass.d.ts +64 -0
- package/dist/review-pass.d.ts.map +1 -0
- package/dist/review-pass.js +370 -0
- package/dist/review-pass.js.map +1 -0
- package/dist/run-program.d.ts +20 -0
- package/dist/run-program.d.ts.map +1 -1
- package/dist/run-program.js +445 -131
- package/dist/run-program.js.map +1 -1
- package/package.json +2 -2
package/dist/cli.js
CHANGED
|
@@ -9,7 +9,9 @@ import { ALL_TARGETS, DEFAULT_TARGETS, detectTargets, doctor, installSkills, ove
|
|
|
9
9
|
import { installArgv, planSkillInstall } from "./install-wizard.js";
|
|
10
10
|
import { packageVersion } from "./package-assets.js";
|
|
11
11
|
import { createProjectManifest } from "./project-manifest.js";
|
|
12
|
+
import { authorProgram } from "./author.js";
|
|
12
13
|
import { loadConfig } from "./config.js";
|
|
14
|
+
import { decide } from "./decide.js";
|
|
13
15
|
import { runProgram } from "./run-program.js";
|
|
14
16
|
const SCOPES = ["user", "project", "both"];
|
|
15
17
|
function parseScope(value) {
|
|
@@ -232,6 +234,102 @@ program
|
|
|
232
234
|
if (!result.complete)
|
|
233
235
|
process.exitCode = 1;
|
|
234
236
|
});
|
|
237
|
+
function renderAuthorResult(result) {
|
|
238
|
+
console.log(`${result.id} ${result.name}: ${result.outcome.status}`);
|
|
239
|
+
if (result.outcome.status === "failed" || result.outcome.status === "parked") {
|
|
240
|
+
console.log(` ${result.outcome.reason}`);
|
|
241
|
+
}
|
|
242
|
+
if (result.mergedDependencies.length > 0) {
|
|
243
|
+
console.log(` merged dependencies: ${result.mergedDependencies.join(", ")}`);
|
|
244
|
+
}
|
|
245
|
+
if (result.unknownDependencyIds.length > 0) {
|
|
246
|
+
console.log(` unknown dependency id(s) ignored: ${result.unknownDependencyIds.join(", ")}`);
|
|
247
|
+
}
|
|
248
|
+
if (result.demotedDependencies.length > 0) {
|
|
249
|
+
console.log(` dependency spec(s) too large, demoted: ${result.demotedDependencies.join(", ")}`);
|
|
250
|
+
}
|
|
251
|
+
if (result.reauthored) {
|
|
252
|
+
console.log(" re-authored once after discovering a new dependency");
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
program
|
|
256
|
+
.command("author")
|
|
257
|
+
.description("Write every missing workstream spec with a clean agent, in dependency-level order")
|
|
258
|
+
.argument("<program-id>", "Program ID from /plan-program")
|
|
259
|
+
.option("--only <ids>", "Comma-separated workstream ids eligible for --force re-authoring")
|
|
260
|
+
.option("--force", "Re-author specs named in --only even though they already exist", false)
|
|
261
|
+
.option("--cwd <path>", "Project directory", process.cwd())
|
|
262
|
+
.action(async (programId, options) => {
|
|
263
|
+
const { config } = await loadConfig(resolve(options.cwd));
|
|
264
|
+
const only = options.only
|
|
265
|
+
?.split(",")
|
|
266
|
+
.map((id) => id.trim())
|
|
267
|
+
.filter((id) => id !== "");
|
|
268
|
+
const result = await authorProgram({
|
|
269
|
+
cwd: options.cwd,
|
|
270
|
+
programId,
|
|
271
|
+
config,
|
|
272
|
+
...(only === undefined ? {} : { only }),
|
|
273
|
+
force: options.force,
|
|
274
|
+
});
|
|
275
|
+
if (result.borrowedImplementer) {
|
|
276
|
+
console.log("note: no authorAgent configured; the implementer agent authored specs instead");
|
|
277
|
+
}
|
|
278
|
+
for (const entry of result.results)
|
|
279
|
+
renderAuthorResult(entry);
|
|
280
|
+
const authored = result.results.filter((entry) => entry.outcome.status === "authored").length;
|
|
281
|
+
const kept = result.results.filter((entry) => entry.outcome.status === "kept").length;
|
|
282
|
+
const failed = result.results.filter((entry) => entry.outcome.status === "failed" || entry.outcome.status === "parked").length;
|
|
283
|
+
console.log(`\n${authored} authored, ${kept} kept, ${failed} failed/parked.`);
|
|
284
|
+
if (!result.complete)
|
|
285
|
+
process.exitCode = 1;
|
|
286
|
+
});
|
|
287
|
+
function renderDecideResult(result) {
|
|
288
|
+
switch (result.kind) {
|
|
289
|
+
case "confirmed":
|
|
290
|
+
console.log("no replay needed; the human ruling matches what was built");
|
|
291
|
+
break;
|
|
292
|
+
case "replay-unavailable":
|
|
293
|
+
console.log(`replay unavailable: ${result.reason}`);
|
|
294
|
+
break;
|
|
295
|
+
case "replay-preview":
|
|
296
|
+
console.log(`the choice differs from what was built.`);
|
|
297
|
+
console.log(`anchor commit: ${result.anchor}`);
|
|
298
|
+
console.log(`replay would reset ${result.resetWorkstreams.length} workstream(s): ` +
|
|
299
|
+
`${result.resetWorkstreams.join(", ") || "(none)"}`);
|
|
300
|
+
console.log("re-run with --replay to roll back and rebuild them");
|
|
301
|
+
break;
|
|
302
|
+
case "replayed":
|
|
303
|
+
console.log(`anchor commit: ${result.anchor}`);
|
|
304
|
+
console.log(`pre-replay HEAD preserved at ${result.preReplayRef} (${result.preReplayCommit})`);
|
|
305
|
+
console.log(`reset ${result.resetWorkstreams.length} workstream(s) to not_started: ` +
|
|
306
|
+
`${result.resetWorkstreams.join(", ") || "(none)"}`);
|
|
307
|
+
console.log(`next: ${result.nextCommand}`);
|
|
308
|
+
break;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
program
|
|
312
|
+
.command("decide")
|
|
313
|
+
.description("Record a human ruling on a ledgered decision, and optionally replay to " +
|
|
314
|
+
"rebuild the workstreams it affects")
|
|
315
|
+
.argument("<program-id>", "Program ID from /plan-program")
|
|
316
|
+
.argument("<decision-id>", "Decision ledger id shown in the run report")
|
|
317
|
+
.requiredOption("--choose <label>", "The option label the human is ruling on")
|
|
318
|
+
.requiredOption("--reason <text>", "Why, for the human record")
|
|
319
|
+
.option("--replay", "When the choice differs from what was built, roll back to the anchor " +
|
|
320
|
+
"commit and reset the affected workstreams", false)
|
|
321
|
+
.option("--cwd <path>", "Project directory", process.cwd())
|
|
322
|
+
.action(async (programId, decisionId, options) => {
|
|
323
|
+
const result = await decide({
|
|
324
|
+
cwd: options.cwd,
|
|
325
|
+
programId,
|
|
326
|
+
decisionId,
|
|
327
|
+
choose: options.choose,
|
|
328
|
+
reason: options.reason,
|
|
329
|
+
replay: options.replay,
|
|
330
|
+
});
|
|
331
|
+
renderDecideResult(result);
|
|
332
|
+
});
|
|
235
333
|
program
|
|
236
334
|
.command("doctor")
|
|
237
335
|
.description("Verify packaged assets and print the resolved skills root for each target")
|
|
@@ -256,5 +354,16 @@ program
|
|
|
256
354
|
console.error(problem);
|
|
257
355
|
process.exitCode = 1;
|
|
258
356
|
});
|
|
259
|
-
|
|
357
|
+
try {
|
|
358
|
+
await program.parseAsync();
|
|
359
|
+
}
|
|
360
|
+
catch (error) {
|
|
361
|
+
// Guard refusals and validation failures are guidance for a human, not
|
|
362
|
+
// crashes: print the message, not a stack trace. The stack is available
|
|
363
|
+
// under NIGHTSHIFT_DEBUG for actual bug hunts.
|
|
364
|
+
if (process.env.NIGHTSHIFT_DEBUG)
|
|
365
|
+
throw error;
|
|
366
|
+
console.error(error.message);
|
|
367
|
+
process.exitCode = 1;
|
|
368
|
+
}
|
|
260
369
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -10,9 +10,14 @@ declare const agentSchema: z.ZodObject<{
|
|
|
10
10
|
}, z.core.$strip>;
|
|
11
11
|
export type AgentConfig = z.infer<typeof agentSchema>;
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* Five roles, five jobs:
|
|
14
14
|
*
|
|
15
15
|
* - `agent` implements workstreams. A cheaper model is usually the right call.
|
|
16
|
+
* - `authorAgent` writes each workstream's spec before it is built. Writing a
|
|
17
|
+
* spec is design reasoning, not implementation — the predecessor proved a
|
|
18
|
+
* deliberately cheap implementer model produces sparse, context-free specs,
|
|
19
|
+
* so this role defaults to a more capable model than `agent`. Falls back to
|
|
20
|
+
* `agent` when absent, loudly.
|
|
16
21
|
* - `deciderAgent` makes, ratifies, or escalates decisions. Decisions are the
|
|
17
22
|
* highest-leverage, lowest-token work in a run — put the expensive model
|
|
18
23
|
* here, and by convention a different provider than `agent`.
|
|
@@ -33,6 +38,14 @@ declare const configSchema: z.ZodObject<{
|
|
|
33
38
|
argument: "argument";
|
|
34
39
|
}>>;
|
|
35
40
|
}, z.core.$strip>>;
|
|
41
|
+
authorAgent: z.ZodOptional<z.ZodObject<{
|
|
42
|
+
command: z.ZodString;
|
|
43
|
+
args: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
44
|
+
promptMode: z.ZodDefault<z.ZodEnum<{
|
|
45
|
+
stdin: "stdin";
|
|
46
|
+
argument: "argument";
|
|
47
|
+
}>>;
|
|
48
|
+
}, z.core.$strip>>;
|
|
36
49
|
deciderAgent: z.ZodOptional<z.ZodObject<{
|
|
37
50
|
command: z.ZodString;
|
|
38
51
|
args: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAE/D,QAAA,MAAM,WAAW;;;;;;;iBAIf,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAE/D,QAAA,MAAM,WAAW;;;;;;;iBAIf,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;;;GAiBG;AACH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAehB,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAE5D,eAAO,MAAM,cAAc,EAAE,gBAAyC,CAAC;AAEvE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,gBAAgB,CAAC;IACzB,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAyBnE"}
|
package/dist/config.js
CHANGED
|
@@ -8,9 +8,14 @@ const agentSchema = z.object({
|
|
|
8
8
|
promptMode: z.enum(["stdin", "argument"]).default("stdin"),
|
|
9
9
|
});
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* Five roles, five jobs:
|
|
12
12
|
*
|
|
13
13
|
* - `agent` implements workstreams. A cheaper model is usually the right call.
|
|
14
|
+
* - `authorAgent` writes each workstream's spec before it is built. Writing a
|
|
15
|
+
* spec is design reasoning, not implementation — the predecessor proved a
|
|
16
|
+
* deliberately cheap implementer model produces sparse, context-free specs,
|
|
17
|
+
* so this role defaults to a more capable model than `agent`. Falls back to
|
|
18
|
+
* `agent` when absent, loudly.
|
|
14
19
|
* - `deciderAgent` makes, ratifies, or escalates decisions. Decisions are the
|
|
15
20
|
* highest-leverage, lowest-token work in a run — put the expensive model
|
|
16
21
|
* here, and by convention a different provider than `agent`.
|
|
@@ -25,6 +30,7 @@ const configSchema = z.object({
|
|
|
25
30
|
/** The package version that scaffolded this project, for support triage. */
|
|
26
31
|
nightshiftVersion: z.string().optional(),
|
|
27
32
|
agent: agentSchema.optional(),
|
|
33
|
+
authorAgent: agentSchema.optional(),
|
|
28
34
|
deciderAgent: agentSchema.optional(),
|
|
29
35
|
reviewerAgent: agentSchema.optional(),
|
|
30
36
|
recoveryAgent: agentSchema.optional(),
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAE/D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;CAC3D,CAAC,CAAC;AAIH
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAE/D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACrC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;CAC3D,CAAC,CAAC;AAIH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtC,4EAA4E;IAC5E,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC7B,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;IACnC,YAAY,EAAE,WAAW,CAAC,QAAQ,EAAE;IACpC,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAE;IACrC,aAAa,EAAE,WAAW,CAAC,QAAQ,EAAE;IACrC,6EAA6E;IAC7E,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,4DAA4D;IAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAChD,2DAA2D;IAC3D,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC7C,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,cAAc,GAAqB,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAQvE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IAC/C,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IACpC,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,GAAG,sBAAsB,uBAAwB,KAAe,CAAC,OAAO,EAAE,EAC1E,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;aAC/B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;aACvE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,GAAG,sBAAsB,gBAAgB,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC"}
|
package/dist/decide.d.ts
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { type GitOps } from "./run-program.js";
|
|
2
|
+
/**
|
|
3
|
+
* The human-override half of the decision loop: `decide` records a ruling on
|
|
4
|
+
* a ledgered decision as a `decision-human` event, and — when the choice
|
|
5
|
+
* differs from what was built and `--replay` says to act on it — rolls the
|
|
6
|
+
* repository back to the decision's anchor commit so the next `run` rebuilds
|
|
7
|
+
* the affected workstreams honoring the choice. No agent is spawned here;
|
|
8
|
+
* the rebuild is the existing `run` command.
|
|
9
|
+
*/
|
|
10
|
+
export interface DecideOptions {
|
|
11
|
+
cwd: string;
|
|
12
|
+
programId: string;
|
|
13
|
+
decisionId: string;
|
|
14
|
+
choose: string;
|
|
15
|
+
reason: string;
|
|
16
|
+
replay?: boolean;
|
|
17
|
+
git?: GitOps;
|
|
18
|
+
log?: (line: string) => void;
|
|
19
|
+
now?: () => Date;
|
|
20
|
+
}
|
|
21
|
+
export type DecideResult = {
|
|
22
|
+
kind: "confirmed";
|
|
23
|
+
decisionId: string;
|
|
24
|
+
} | {
|
|
25
|
+
kind: "replay-unavailable";
|
|
26
|
+
decisionId: string;
|
|
27
|
+
reason: string;
|
|
28
|
+
} | {
|
|
29
|
+
kind: "replay-preview";
|
|
30
|
+
decisionId: string;
|
|
31
|
+
anchor: string;
|
|
32
|
+
resetWorkstreams: string[];
|
|
33
|
+
} | {
|
|
34
|
+
kind: "replayed";
|
|
35
|
+
decisionId: string;
|
|
36
|
+
anchor: string;
|
|
37
|
+
resetWorkstreams: string[];
|
|
38
|
+
preReplayRef: string;
|
|
39
|
+
preReplayCommit: string;
|
|
40
|
+
replayCommit?: string;
|
|
41
|
+
nextCommand: string;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Resolve a decision by ledger id, validate the chosen label, and record it
|
|
45
|
+
* as a `decision-human` event — then, when the choice differs from what was
|
|
46
|
+
* built, either preview or (with `replay: true`) execute the rollback.
|
|
47
|
+
*/
|
|
48
|
+
export declare function decide(options: DecideOptions): Promise<DecideResult>;
|
|
49
|
+
//# sourceMappingURL=decide.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decide.d.ts","sourceRoot":"","sources":["../src/decide.ts"],"names":[],"mappings":"AAQA,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE9D;;;;;;;GAOG;AAEH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,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,YAAY,GACpB;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IACE,IAAI,EAAE,oBAAoB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,GACD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AA2GN;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAwH1E"}
|
package/dist/decide.js
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { mkdir, readFile, readdir, stat, writeFile } from "node:fs/promises";
|
|
2
|
+
import { dirname, join, relative, resolve } from "node:path";
|
|
3
|
+
import { appendLedgerEvents, readDecisionLedger, } from "./decision-ledger.js";
|
|
4
|
+
import { loadManifest, saveManifest } from "./manifest.js";
|
|
5
|
+
import { defaultGitOps } from "./run-program.js";
|
|
6
|
+
async function planReplay(root, git, programId, record) {
|
|
7
|
+
if (record.baseCommit === undefined) {
|
|
8
|
+
return {
|
|
9
|
+
ok: false,
|
|
10
|
+
reason: `Decision "${record.decision.title}" (${record.id}) has no anchor ` +
|
|
11
|
+
"commit — it was journaled outside a git repository, so replay is " +
|
|
12
|
+
"unavailable.",
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
const anchor = record.baseCommit;
|
|
16
|
+
if (!(await git.isRepository(root))) {
|
|
17
|
+
return { ok: false, reason: "Not a git repository; replay is unavailable." };
|
|
18
|
+
}
|
|
19
|
+
const head = await git.currentCommit(root);
|
|
20
|
+
if (head === undefined) {
|
|
21
|
+
return { ok: false, reason: "Could not resolve HEAD; replay is unavailable." };
|
|
22
|
+
}
|
|
23
|
+
if (!(await git.isAncestor(root, anchor, head))) {
|
|
24
|
+
return {
|
|
25
|
+
ok: false,
|
|
26
|
+
reason: `Anchor commit ${anchor} is not an ancestor of HEAD (${head}); the ` +
|
|
27
|
+
"branch has moved in a way replay cannot reason about. Refusing.",
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
const manifest = await loadManifest(root, programId);
|
|
31
|
+
const resetWorkstreams = [];
|
|
32
|
+
for (const workstream of manifest.workstreams) {
|
|
33
|
+
if (workstream.status !== "complete")
|
|
34
|
+
continue;
|
|
35
|
+
if (workstream.commit === undefined) {
|
|
36
|
+
return {
|
|
37
|
+
ok: false,
|
|
38
|
+
reason: `Workstream ${workstream.id} is complete but has no recorded ` +
|
|
39
|
+
"commit; refusing to guess what a rollback would remove. Re-run " +
|
|
40
|
+
"the program so it records a commit, then retry.",
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
const survives = await git.isAncestor(root, workstream.commit, anchor);
|
|
44
|
+
if (!survives)
|
|
45
|
+
resetWorkstreams.push(workstream.id);
|
|
46
|
+
}
|
|
47
|
+
return { ok: true, anchor, resetWorkstreams };
|
|
48
|
+
}
|
|
49
|
+
const PROGRAMS_DIR = join("docs", "programs");
|
|
50
|
+
async function snapshotProgramsDir(root) {
|
|
51
|
+
const dir = join(root, PROGRAMS_DIR);
|
|
52
|
+
let entries;
|
|
53
|
+
try {
|
|
54
|
+
entries = await readdir(dir, { recursive: true });
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
const snapshots = [];
|
|
60
|
+
for (const entry of entries) {
|
|
61
|
+
const full = join(dir, entry);
|
|
62
|
+
const info = await stat(full);
|
|
63
|
+
if (!info.isFile())
|
|
64
|
+
continue;
|
|
65
|
+
snapshots.push({
|
|
66
|
+
relPath: relative(root, full),
|
|
67
|
+
content: await readFile(full),
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
return snapshots;
|
|
71
|
+
}
|
|
72
|
+
async function restoreProgramsDir(root, snapshot) {
|
|
73
|
+
for (const file of snapshot) {
|
|
74
|
+
const full = join(root, file.relPath);
|
|
75
|
+
await mkdir(dirname(full), { recursive: true });
|
|
76
|
+
await writeFile(full, file.content);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Resolve a decision by ledger id, validate the chosen label, and record it
|
|
81
|
+
* as a `decision-human` event — then, when the choice differs from what was
|
|
82
|
+
* built, either preview or (with `replay: true`) execute the rollback.
|
|
83
|
+
*/
|
|
84
|
+
export async function decide(options) {
|
|
85
|
+
const root = resolve(options.cwd);
|
|
86
|
+
const git = options.git ?? defaultGitOps;
|
|
87
|
+
const log = options.log ?? ((line) => console.log(line));
|
|
88
|
+
const now = options.now ?? (() => new Date());
|
|
89
|
+
const ledger = await readDecisionLedger(root, options.programId);
|
|
90
|
+
const record = ledger.decisions.find((entry) => entry.id === options.decisionId);
|
|
91
|
+
if (!record) {
|
|
92
|
+
const listing = ledger.decisions
|
|
93
|
+
.map((entry) => ` ${entry.id} ${entry.decision.title}`)
|
|
94
|
+
.join("\n");
|
|
95
|
+
throw new Error(`No decision "${options.decisionId}" in the ${options.programId} ledger.` +
|
|
96
|
+
(listing === ""
|
|
97
|
+
? " The ledger has no decisions recorded yet."
|
|
98
|
+
: ` Known decisions:\n${listing}`));
|
|
99
|
+
}
|
|
100
|
+
const validLabels = record.decision.options.map((option) => option.label);
|
|
101
|
+
if (!validLabels.includes(options.choose)) {
|
|
102
|
+
throw new Error(`"${options.choose}" is not an option of decision "${record.decision.title}" ` +
|
|
103
|
+
`(${record.id}). Valid choices: ${validLabels.join(", ")}.`);
|
|
104
|
+
}
|
|
105
|
+
const previousChoice = record.humanChosen ?? record.decision.chosen;
|
|
106
|
+
await appendLedgerEvents(root, options.programId, [
|
|
107
|
+
{
|
|
108
|
+
kind: "decision-human",
|
|
109
|
+
at: now().toISOString(),
|
|
110
|
+
id: record.id,
|
|
111
|
+
chosen: options.choose,
|
|
112
|
+
reason: options.reason,
|
|
113
|
+
},
|
|
114
|
+
]);
|
|
115
|
+
log(`recorded: ${record.decision.title} (${record.id}) -> ${options.choose}`);
|
|
116
|
+
if (options.choose === previousChoice) {
|
|
117
|
+
log("this matches what was already built; no replay needed");
|
|
118
|
+
return { kind: "confirmed", decisionId: record.id };
|
|
119
|
+
}
|
|
120
|
+
const plan = await planReplay(root, git, options.programId, record);
|
|
121
|
+
if (!plan.ok) {
|
|
122
|
+
if (options.replay)
|
|
123
|
+
throw new Error(plan.reason);
|
|
124
|
+
log(plan.reason);
|
|
125
|
+
return {
|
|
126
|
+
kind: "replay-unavailable",
|
|
127
|
+
decisionId: record.id,
|
|
128
|
+
reason: plan.reason,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
if (!options.replay) {
|
|
132
|
+
return {
|
|
133
|
+
kind: "replay-preview",
|
|
134
|
+
decisionId: record.id,
|
|
135
|
+
anchor: plan.anchor,
|
|
136
|
+
resetWorkstreams: plan.resetWorkstreams,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
const dirty = (await git.dirtyPaths(root)).filter((path) => !path.replaceAll("\\", "/").startsWith("docs/programs/"));
|
|
140
|
+
if (dirty.length > 0) {
|
|
141
|
+
throw new Error("The working tree has uncommitted changes replay would sweep away:\n" +
|
|
142
|
+
dirty.map((path) => ` ${path}`).join("\n") +
|
|
143
|
+
"\nCommit or stash them, then re-run.");
|
|
144
|
+
}
|
|
145
|
+
const preReplayCommit = await git.currentCommit(root);
|
|
146
|
+
if (preReplayCommit === undefined) {
|
|
147
|
+
throw new Error("Could not resolve HEAD; is this a git repository?");
|
|
148
|
+
}
|
|
149
|
+
const preReplayRef = `refs/nightshift/pre-replay-${record.id}`;
|
|
150
|
+
await git.createRef(root, preReplayRef, preReplayCommit);
|
|
151
|
+
log(`preserved pre-replay HEAD at ${preReplayRef} (${preReplayCommit})`);
|
|
152
|
+
log(`replaying to ${plan.anchor}; resetting ${plan.resetWorkstreams.length} ` +
|
|
153
|
+
`workstream(s): ${plan.resetWorkstreams.join(", ") || "(none)"}`);
|
|
154
|
+
const snapshot = await snapshotProgramsDir(root);
|
|
155
|
+
await git.resetHard(root, plan.anchor);
|
|
156
|
+
await restoreProgramsDir(root, snapshot);
|
|
157
|
+
const manifest = await loadManifest(root, options.programId);
|
|
158
|
+
for (const workstream of manifest.workstreams) {
|
|
159
|
+
if (!plan.resetWorkstreams.includes(workstream.id))
|
|
160
|
+
continue;
|
|
161
|
+
workstream.status = "not_started";
|
|
162
|
+
delete workstream.commit;
|
|
163
|
+
}
|
|
164
|
+
await saveManifest(root, options.programId, manifest);
|
|
165
|
+
const replayCommit = await git.commitPaths(root, `nightshift(${options.programId}): replay decision ${record.id}`, ["docs/programs"]);
|
|
166
|
+
const nextCommand = `npx --yes @wildorder/nightshift run ${options.programId}`;
|
|
167
|
+
return {
|
|
168
|
+
kind: "replayed",
|
|
169
|
+
decisionId: record.id,
|
|
170
|
+
anchor: plan.anchor,
|
|
171
|
+
resetWorkstreams: plan.resetWorkstreams,
|
|
172
|
+
preReplayRef,
|
|
173
|
+
preReplayCommit,
|
|
174
|
+
...(replayCommit === undefined ? {} : { replayCommit }),
|
|
175
|
+
nextCommand,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=decide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decide.js","sourceRoot":"","sources":["../src/decide.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type AgentRunner } from "./agent-runner.js";
|
|
2
|
+
import type { AgentConfig } from "./config.js";
|
|
3
|
+
import { type DecisionBlock } from "./decision.js";
|
|
4
|
+
import type { ProgramManifest } from "./manifest.js";
|
|
5
|
+
import type { GitOps } from "./run-program.js";
|
|
6
|
+
export interface ReviewDecisionsOptions {
|
|
7
|
+
root: string;
|
|
8
|
+
programId: string;
|
|
9
|
+
manifest: ProgramManifest;
|
|
10
|
+
workstreamId: string;
|
|
11
|
+
decisions: DecisionBlock[];
|
|
12
|
+
baseCommit: string | undefined;
|
|
13
|
+
decider: AgentConfig | undefined;
|
|
14
|
+
agentRunner: AgentRunner;
|
|
15
|
+
git: GitOps;
|
|
16
|
+
isRepository: boolean;
|
|
17
|
+
now: () => Date;
|
|
18
|
+
log: (line: string) => void;
|
|
19
|
+
}
|
|
20
|
+
export declare function reviewDecisions(options: ReviewDecisionsOptions): Promise<void>;
|
|
21
|
+
//# sourceMappingURL=decider-review.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decider-review.d.ts","sourceRoot":"","sources":["../src/decider-review.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAExE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAkF/C,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,OAAO,CAAC;IACtB,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA2Cf"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { invokeAgent } from "./agent-runner.js";
|
|
2
|
+
import { decisionFingerprint } from "./decision.js";
|
|
3
|
+
import { appendLedgerEvents } from "./decision-ledger.js";
|
|
4
|
+
/**
|
|
5
|
+
* Post-hoc decision review, shared by the build stage and the authoring
|
|
6
|
+
* stage: the decider sees each decision with the diff it produced. One
|
|
7
|
+
* decision, one invocation, one verdict — a judgment, not a dialogue. No
|
|
8
|
+
* decider configured means defaults stand unratified, which the run report
|
|
9
|
+
* says plainly.
|
|
10
|
+
*/
|
|
11
|
+
const DIFF_LIMIT = 20_000;
|
|
12
|
+
function deciderBrief(manifest, record, diff) {
|
|
13
|
+
const clippedDiff = diff.length > DIFF_LIMIT
|
|
14
|
+
? `${diff.slice(0, DIFF_LIMIT)}\n… (diff clipped at ${DIFF_LIMIT} characters)`
|
|
15
|
+
: diff;
|
|
16
|
+
return [
|
|
17
|
+
"# Review one decision",
|
|
18
|
+
"",
|
|
19
|
+
`Program: ${manifest.program.id} — ${manifest.program.name}`,
|
|
20
|
+
`Workstream: ${record.workstream}`,
|
|
21
|
+
"",
|
|
22
|
+
"An agent made the judgment call below and continued. Your job is to",
|
|
23
|
+
"review that one decision — not the code style, not the whole diff —",
|
|
24
|
+
"from the program's point of view. You never edit anything.",
|
|
25
|
+
"",
|
|
26
|
+
"```json",
|
|
27
|
+
JSON.stringify(record.decision, null, 2),
|
|
28
|
+
"```",
|
|
29
|
+
"",
|
|
30
|
+
"The work that resulted:",
|
|
31
|
+
"",
|
|
32
|
+
"```diff",
|
|
33
|
+
clippedDiff.trim() === "" ? "(no diff available)" : clippedDiff,
|
|
34
|
+
"```",
|
|
35
|
+
"",
|
|
36
|
+
"Reply with exactly one verdict block:",
|
|
37
|
+
"",
|
|
38
|
+
"```verdict",
|
|
39
|
+
"{",
|
|
40
|
+
' "verdict": "ratify" | "escalate",',
|
|
41
|
+
' "rationale": "One or two sentences, written for the human who reads the run report."',
|
|
42
|
+
"}",
|
|
43
|
+
"```",
|
|
44
|
+
"",
|
|
45
|
+
"Ratify when the choice is defensible — it does not have to be the one",
|
|
46
|
+
"you would have made. Escalate when the choice materially affects",
|
|
47
|
+
"user-visible behavior, data, or a public contract AND you believe the",
|
|
48
|
+
"human would plausibly choose differently; say what you would ask them.",
|
|
49
|
+
"One review, one verdict: this is a judgment, not a dialogue.",
|
|
50
|
+
].join("\n");
|
|
51
|
+
}
|
|
52
|
+
function extractVerdict(output) {
|
|
53
|
+
const matches = [...output.matchAll(/```verdict[^\S\r\n]*\r?\n([\s\S]*?)```/gu)];
|
|
54
|
+
for (const match of matches.reverse()) {
|
|
55
|
+
try {
|
|
56
|
+
const parsed = JSON.parse(match[1] ?? "");
|
|
57
|
+
if ((parsed.verdict === "ratify" || parsed.verdict === "escalate") &&
|
|
58
|
+
typeof parsed.rationale === "string") {
|
|
59
|
+
return { verdict: parsed.verdict, rationale: parsed.rationale };
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
// Try an earlier block.
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
export async function reviewDecisions(options) {
|
|
69
|
+
const { root, programId, manifest, workstreamId, decisions, baseCommit, decider, agentRunner, git, isRepository, now, log, } = options;
|
|
70
|
+
if (!decider || decisions.length === 0)
|
|
71
|
+
return;
|
|
72
|
+
const diff = isRepository && baseCommit !== undefined
|
|
73
|
+
? await git.diffSince(root, baseCommit)
|
|
74
|
+
: "";
|
|
75
|
+
for (const decision of decisions) {
|
|
76
|
+
const id = decisionFingerprint(workstreamId, decision);
|
|
77
|
+
const brief = deciderBrief(manifest, { workstream: workstreamId, decision }, diff);
|
|
78
|
+
const invocation = await invokeAgent(agentRunner, decider, brief, root);
|
|
79
|
+
const verdict = extractVerdict(invocation.output);
|
|
80
|
+
if (invocation.exitCode !== 0 || verdict === undefined) {
|
|
81
|
+
// Fail open: an unreviewable decision stays unratified and the report
|
|
82
|
+
// says so; it never blocks the run.
|
|
83
|
+
log(`${workstreamId} decision ${id}: decider produced no verdict; left unratified`);
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
const event = {
|
|
87
|
+
kind: "decision-reviewed",
|
|
88
|
+
at: now().toISOString(),
|
|
89
|
+
id,
|
|
90
|
+
verdict: verdict.verdict,
|
|
91
|
+
rationale: verdict.rationale,
|
|
92
|
+
reviewedBy: "decider",
|
|
93
|
+
};
|
|
94
|
+
await appendLedgerEvents(root, programId, [event]);
|
|
95
|
+
log(`${workstreamId} decision ${id}: ${verdict.verdict}`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=decider-review.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decider-review.js","sourceRoot":"","sources":["../src/decider-review.ts"],"names":[],"mappings":"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"}
|