@wildorder/nightshift 0.14.0 → 0.15.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 +50 -39
- package/dist/author.d.ts +4 -3
- package/dist/author.d.ts.map +1 -1
- package/dist/author.js +162 -19
- package/dist/author.js.map +1 -1
- package/dist/cli.js +3 -7
- package/dist/cli.js.map +1 -1
- package/dist/manifest.d.ts +10 -2
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +17 -2
- package/dist/manifest.js.map +1 -1
- package/dist/run-program.d.ts.map +1 -1
- package/dist/run-program.js +10 -2
- package/dist/run-program.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -77,36 +77,38 @@ things only you can write:
|
|
|
77
77
|
"authorAgent": { "command": "claude", "args": ["-p", "--model", "opus"], "promptMode": "stdin" },
|
|
78
78
|
"deciderAgent": { "command": "codex", "args": ["exec", "--model", "gpt-5.6-sol"], "promptMode": "stdin" },
|
|
79
79
|
"reviewerAgent": { "command": "codex", "args": ["exec"] },
|
|
80
|
-
"recoveryAgent": { "command": "codex", "args": ["exec", "--model", "gpt-5.6-sol"
|
|
80
|
+
"recoveryAgent": { "command": "codex", "args": ["exec", "--model", "gpt-5.6-sol"], "promptMode": "stdin" },
|
|
81
|
+
"permits": {
|
|
82
|
+
"policy": "Anything inside this repository is fine, including installing dev dependencies and creating fixture files. Do not reach the network beyond npm install. Never push, publish, or change global git or npm configuration.",
|
|
83
|
+
"allow": ["Bash(git stash:*)"],
|
|
84
|
+
"deny": ["Bash(git push:*)", "Bash(npm publish:*)", "Bash(git config --global:*)", "Bash(npm config set:*)"]
|
|
85
|
+
}
|
|
81
86
|
}
|
|
82
87
|
```
|
|
83
88
|
|
|
84
|
-
Notice what is missing: no `--permission-mode`, no `--allowedTools
|
|
85
|
-
derives each role's permission posture itself — from
|
|
86
|
-
`authorAgent`, and `recoveryAgent` get a workspace posture;
|
|
87
|
-
`reviewerAgent` get read-only, never edit-capable
|
|
88
|
-
from the host it runs on (a claude `auto`
|
|
89
|
-
macOS/Linux, a `--sandbox workspace-write`
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
permission-bearing flag an operator
|
|
93
|
-
`--allowedTools`, `--sandbox`, and their siblings — always wins,
|
|
94
|
-
role is reported as operator-configured rather than silently
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
"deny": ["Bash(rm -rf *)"]
|
|
104
|
-
}
|
|
105
|
-
```
|
|
89
|
+
Notice what is missing: no `--permission-mode`, no `--allowedTools`, no
|
|
90
|
+
`--sandbox`. nightshift derives each role's permission posture itself — from
|
|
91
|
+
the role (`agent`, `authorAgent`, and `recoveryAgent` get a workspace posture;
|
|
92
|
+
`deciderAgent` and `reviewerAgent` get read-only, never edit-capable
|
|
93
|
+
regardless of the host) and from the host it runs on (a claude `auto`
|
|
94
|
+
classifier plus an OS sandbox on macOS/Linux, a `--sandbox workspace-write`
|
|
95
|
+
grant on codex write seats and `--sandbox read-only` on its reply-only seats,
|
|
96
|
+
a documented fallback when a capability cannot be detected). Any
|
|
97
|
+
permission-bearing flag an operator writes anyway — `--permission-mode`,
|
|
98
|
+
`--allowedTools`, `--sandbox`, and their siblings — always wins untouched,
|
|
99
|
+
and that role is reported as operator-configured rather than silently
|
|
100
|
+
overridden.
|
|
101
|
+
|
|
102
|
+
The optional `permits` block, shown above as this repository uses it, widens
|
|
103
|
+
or narrows the derived posture without hand-writing provider flags: `policy`
|
|
104
|
+
is prose the implementer and recovery briefs quote verbatim (the same thing
|
|
105
|
+
you would tell a contractor on day one), `allow` names commands that never
|
|
106
|
+
wait on the classifier, and `deny` is the short catastrophic list that binds
|
|
107
|
+
in every mode.
|
|
106
108
|
|
|
107
109
|
`allow`/`deny` use Claude's rule syntax and fold into the generated settings
|
|
108
|
-
file every claude spawn reads;
|
|
109
|
-
|
|
110
|
+
file every claude spawn reads; codex has no per-command rules, so on those
|
|
111
|
+
seats only the sandbox and the brief's policy apply. On a throwaway CI runner, set
|
|
110
112
|
`NIGHTSHIFT_CONTAINMENT=ephemeral` in the environment to let workspace-posture
|
|
111
113
|
roles skip permission prompts entirely (`ci init github`'s hosted variant sets
|
|
112
114
|
this for you; never set it on a machine you or someone else works on
|
|
@@ -118,14 +120,14 @@ derived posture a real run would use, verifies on disk that the writing seats
|
|
|
118
120
|
can write, and reports whether they can run the verify commands — the
|
|
119
121
|
environment failures that otherwise burn a whole run's budget (a sandboxed
|
|
120
122
|
shell, an untrusted workspace, a read-only recovery agent) show up as one
|
|
121
|
-
labeled line each instead.
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
decider and reviewer
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
123
|
+
labeled line each instead. On codex, `exec` defaults to a read-only sandbox,
|
|
124
|
+
which is the right posture for the decider and reviewer seats and exactly
|
|
125
|
+
wrong for a seat that must fix a failing tree — so nightshift spawns
|
|
126
|
+
`recoveryAgent` with `--sandbox workspace-write` and, rather than trusting the
|
|
127
|
+
default, the decider and reviewer with an explicit `--sandbox read-only`. A
|
|
128
|
+
codex user config can widen the default (a `sandbox = "elevated"` setting, a
|
|
129
|
+
trusted-project entry), and a seat labeled read-only that can write is exactly
|
|
130
|
+
the kind of quiet mismatch the posture lines exist to prevent.
|
|
129
131
|
|
|
130
132
|
Only `agent` is required to run; every other role degrades loudly, not
|
|
131
133
|
silently, when absent. The verify commands are the contract every
|
|
@@ -230,16 +232,25 @@ or to see the specs before a build starts:
|
|
|
230
232
|
nightshift author <program-id>
|
|
231
233
|
```
|
|
232
234
|
|
|
233
|
-
A `taskFile`
|
|
234
|
-
|
|
235
|
+
A finished `taskFile` is always kept, never overwritten, and an interrupted
|
|
236
|
+
attempt — one a crash or a killed process cut off partway through — is
|
|
237
|
+
re-authored automatically, without `--force`: a durable marker in the
|
|
238
|
+
manifest, not the file's existence, is what proves authoring finished.
|
|
239
|
+
|
|
240
|
+
Two flags select a range and a force level, independently:
|
|
235
241
|
|
|
236
242
|
```sh
|
|
237
|
-
nightshift author <program-id> --
|
|
243
|
+
nightshift author <program-id> --from WS-03
|
|
244
|
+
nightshift author <program-id> --from WS-03 --force
|
|
238
245
|
```
|
|
239
246
|
|
|
240
|
-
`--
|
|
241
|
-
|
|
242
|
-
|
|
247
|
+
`--from <workstream-id>` resumes from that workstream onward, in dependency
|
|
248
|
+
order; everything before it is left untouched. Within the selected range,
|
|
249
|
+
plain authoring (no `--force`) only writes missing or interrupted specs —
|
|
250
|
+
completed and hand-authored ones are kept. Adding `--force` regenerates
|
|
251
|
+
every selected spec, including already-completed ones, so `--from WS-03
|
|
252
|
+
--force` regenerates WS-03 and everything after it. A bare `--force` with no
|
|
253
|
+
`--from` selects the whole roster and regenerates every spec in the program.
|
|
243
254
|
|
|
244
255
|
## Flipping a decision
|
|
245
256
|
|
package/dist/author.d.ts
CHANGED
|
@@ -7,9 +7,10 @@ export interface AuthorOptions {
|
|
|
7
7
|
cwd: string;
|
|
8
8
|
programId: string;
|
|
9
9
|
config: NightshiftConfig;
|
|
10
|
-
/** Workstream
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
/** Workstream id to begin authoring from, in stable authoring order.
|
|
11
|
+
* Undefined selects the whole roster. Validated before any agent spawns. */
|
|
12
|
+
from?: string;
|
|
13
|
+
/** Re-author every selected workstream, even ones already complete or legacy. */
|
|
13
14
|
force?: boolean;
|
|
14
15
|
agentRunner?: AgentRunner;
|
|
15
16
|
/** Defaults to a no-op context; the owner (`runProgram`, or the `author`
|
package/dist/author.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"author.d.ts","sourceRoot":"","sources":["../src/author.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,WAAW,EAEjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAkBzE,OAAO,EASL,KAAK,iBAAiB,EAEvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAiC,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAe9E,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB
|
|
1
|
+
{"version":3,"file":"author.d.ts","sourceRoot":"","sources":["../src/author.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,WAAW,EAEjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAkBzE,OAAO,EASL,KAAK,iBAAiB,EAEvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAiC,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAe9E,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB;iFAC6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;sCAEkC;IAClC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB;;;;OAIG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gEAAgE;IAChE,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,qEAAqE;IACrE,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,uEAAuE;IACvE,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,8FAA8F;IAC9F,UAAU,EAAE,OAAO,CAAC;IACpB,gFAAgF;IAChF,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC;;sDAEkD;IAClD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,8EAA8E;IAC9E,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAooBD;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAqjB5B"}
|
package/dist/author.js
CHANGED
|
@@ -6,7 +6,7 @@ import { NOOP_PERMITS_CONTEXT } from "./permits.js";
|
|
|
6
6
|
import { decisionContract, decisionFingerprint, extractDecisions, } from "./decision.js";
|
|
7
7
|
import { appendLedgerEvents } from "./decision-ledger.js";
|
|
8
8
|
import { reviewDecisions, triageFindings } from "./decider-review.js";
|
|
9
|
-
import { findCycles, topologicalLevels } from "./graph.js";
|
|
9
|
+
import { findCycles, stableTopologicalOrder, topologicalLevels } from "./graph.js";
|
|
10
10
|
import { loadManifest, saveManifest, specInputsHash, } from "./manifest.js";
|
|
11
11
|
import { extractFindings, findingsContract, findingsToLedgerEvents, hasRoutableEvidence, locateInRepo, reviewerAbsentOutcome, runReviewPass, verifyEvidence, } from "./review-pass.js";
|
|
12
12
|
import { defaultGitOps, downstreamCone } from "./run-program.js";
|
|
@@ -31,6 +31,42 @@ async function readFinishedSpec(root, workstream) {
|
|
|
31
31
|
return undefined;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Classifies a workstream's spec by runner-owned lifecycle state, not by
|
|
36
|
+
* file existence alone: a non-empty `taskFile` proves only that writing
|
|
37
|
+
* started, never that authoring finished (WS-01 SC-01/SC-02/SC-03).
|
|
38
|
+
* Precedence: `missing` first regardless of the marker (a deleted taskFile is
|
|
39
|
+
* always re-authored), then `interrupted` (a prior attempt did not finish,
|
|
40
|
+
* even though it left a non-empty partial file), then the two kept classes.
|
|
41
|
+
*/
|
|
42
|
+
function classifySpec(existing, workstream) {
|
|
43
|
+
if (existing === undefined)
|
|
44
|
+
return "missing";
|
|
45
|
+
if (workstream.specStatus === "in_progress")
|
|
46
|
+
return "interrupted";
|
|
47
|
+
if (workstream.specStatus === "complete")
|
|
48
|
+
return "complete";
|
|
49
|
+
return "legacy";
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* True when a *returned* (not thrown) author invocation reported failure —
|
|
53
|
+
* a nonzero exit code, an undelivered prompt, or an absent required summary
|
|
54
|
+
* block. Each means the process either reported failure or never produced
|
|
55
|
+
* the reply contract, so any spec it may have written cannot be trusted as
|
|
56
|
+
* complete (WS-01 SC-07): the safe direction is to re-author, not to
|
|
57
|
+
* silently substitute raw output and proceed toward completion.
|
|
58
|
+
*/
|
|
59
|
+
function isAuthorProtocolFailure(invocation, summary) {
|
|
60
|
+
return invocation.exitCode !== 0 || invocation.inputError !== undefined || !summary.available;
|
|
61
|
+
}
|
|
62
|
+
function describeProtocolFailure(invocation, summary) {
|
|
63
|
+
const parts = [`exit code ${invocation.exitCode}`];
|
|
64
|
+
if (invocation.inputError !== undefined)
|
|
65
|
+
parts.push(`input error: ${invocation.inputError}`);
|
|
66
|
+
if (!summary.available)
|
|
67
|
+
parts.push("no summary block in the reply");
|
|
68
|
+
return parts.join(", ");
|
|
69
|
+
}
|
|
34
70
|
async function programDocumentSection(root, manifest) {
|
|
35
71
|
const relPath = join("docs", "programs", `${manifest.program.id}-program.md`);
|
|
36
72
|
let content;
|
|
@@ -477,7 +513,6 @@ export async function authorProgram(options) {
|
|
|
477
513
|
const git = options.git ?? defaultGitOps;
|
|
478
514
|
const log = options.log ?? ((line) => console.log(line));
|
|
479
515
|
const now = options.now ?? (() => new Date());
|
|
480
|
-
const only = options.only;
|
|
481
516
|
const force = options.force === true;
|
|
482
517
|
const reviewed = options.reviewed ?? new Set();
|
|
483
518
|
const triaged = options.triaged ?? new Set();
|
|
@@ -504,6 +539,25 @@ export async function authorProgram(options) {
|
|
|
504
539
|
.map((cycle) => cycle.join(" -> "))
|
|
505
540
|
.join("; ")}. Re-plan with /plan-program.`);
|
|
506
541
|
}
|
|
542
|
+
// The selected range (SC-05): computed once, up front, from the manifest
|
|
543
|
+
// as loaded — before any agent spawns — so `--from` validation and the
|
|
544
|
+
// selected set are deterministic, independent of dependency edges an
|
|
545
|
+
// author might discover mid-run. The same stable order the authoring loop
|
|
546
|
+
// below walks level-by-level, so selection and execution agree by
|
|
547
|
+
// construction.
|
|
548
|
+
const stableOrder = stableTopologicalOrder(manifest.workstreams);
|
|
549
|
+
let selectedIds;
|
|
550
|
+
if (options.from === undefined) {
|
|
551
|
+
selectedIds = new Set(stableOrder.map((workstream) => workstream.id));
|
|
552
|
+
}
|
|
553
|
+
else {
|
|
554
|
+
const fromIndex = stableOrder.findIndex((workstream) => workstream.id === options.from);
|
|
555
|
+
if (fromIndex === -1) {
|
|
556
|
+
throw new Error(`Unknown workstream id "${options.from}" for --from. Valid ids: ` +
|
|
557
|
+
`${stableOrder.map((workstream) => workstream.id).join(", ")}.`);
|
|
558
|
+
}
|
|
559
|
+
selectedIds = new Set(stableOrder.slice(fromIndex).map((workstream) => workstream.id));
|
|
560
|
+
}
|
|
507
561
|
const isRepository = await git.isRepository(root);
|
|
508
562
|
if (!isRepository) {
|
|
509
563
|
log("warning: not a git repository — commits and decision anchors are unavailable");
|
|
@@ -548,9 +602,31 @@ export async function authorProgram(options) {
|
|
|
548
602
|
};
|
|
549
603
|
return base;
|
|
550
604
|
}
|
|
605
|
+
// Out-of-range keep (SC-05): a workstream before `--from` is kept and
|
|
606
|
+
// never drift-checked — the operator explicitly asked to start
|
|
607
|
+
// elsewhere, so this is neither authored nor parked. Decided ahead of
|
|
608
|
+
// both classification and the drift check.
|
|
609
|
+
if (!selectedIds.has(workstream.id)) {
|
|
610
|
+
return base;
|
|
611
|
+
}
|
|
551
612
|
const existing = await readFinishedSpec(root, workstream);
|
|
552
|
-
const
|
|
613
|
+
const classification = classifySpec(existing, workstream);
|
|
614
|
+
const shouldAuthor = force || classification === "missing" || classification === "interrupted";
|
|
553
615
|
if (!shouldAuthor) {
|
|
616
|
+
// Legacy specHash migration (SC-03): a legacy spec (no specStatus
|
|
617
|
+
// marker) whose specHash matches the manifest's current inputs is
|
|
618
|
+
// recognized as completed legacy Nightshift authoring and normalized
|
|
619
|
+
// — persisted immediately, since a kept-only invocation otherwise
|
|
620
|
+
// never saves.
|
|
621
|
+
if (classification === "legacy" &&
|
|
622
|
+
workstream.specHash !== undefined &&
|
|
623
|
+
specInputsHash(manifest, workstream) === workstream.specHash) {
|
|
624
|
+
workstream.specStatus = "complete";
|
|
625
|
+
await saveManifest(root, options.programId, manifest, { log });
|
|
626
|
+
log(`${workstream.id}: recognized as completed legacy authoring — ` +
|
|
627
|
+
'normalized to specStatus "complete"');
|
|
628
|
+
return base;
|
|
629
|
+
}
|
|
554
630
|
// Drift check: the spec exists and is about to be graded against, but
|
|
555
631
|
// if the manifest entry changed since it was authored, the spec text
|
|
556
632
|
// may promise something the manifest no longer does. The manifest is
|
|
@@ -574,7 +650,7 @@ export async function authorProgram(options) {
|
|
|
574
650
|
reason: `the manifest entry (name, scope, dependencies, or the program's ` +
|
|
575
651
|
`success criteria) changed after ${workstream.taskFile} was ` +
|
|
576
652
|
`authored, so the spec may be stale. Re-author it with ` +
|
|
577
|
-
`\`nightshift author ${options.programId} --
|
|
653
|
+
`\`nightshift author ${options.programId} --from ${workstream.id} --force\``,
|
|
578
654
|
};
|
|
579
655
|
return base;
|
|
580
656
|
}
|
|
@@ -593,6 +669,12 @@ export async function authorProgram(options) {
|
|
|
593
669
|
const allDecisionsById = new Map();
|
|
594
670
|
const first = await authorBrief(root, manifest, workstream, rosterById);
|
|
595
671
|
base.demotedDependencies = first.demoted;
|
|
672
|
+
// Stamped before the agent can write anything (SC-01): the agent has
|
|
673
|
+
// whole-file write access, so a crash at any point after this line
|
|
674
|
+
// leaves a durable `in_progress` marker the next attempt classifies as
|
|
675
|
+
// interrupted, regardless of whether a partial file exists.
|
|
676
|
+
workstream.specStatus = "in_progress";
|
|
677
|
+
await saveManifest(root, options.programId, manifest, { log });
|
|
596
678
|
let invocation;
|
|
597
679
|
try {
|
|
598
680
|
invocation = await invokeAgent(agentRunner, author, first.brief, root, permits, "authorAgent", {
|
|
@@ -608,7 +690,9 @@ export async function authorProgram(options) {
|
|
|
608
690
|
// path rather than the build one. Nothing was written, so this parks
|
|
609
691
|
// the workstream exactly like the "no spec was written" branch below,
|
|
610
692
|
// instead of letting the rejection travel through authorProgram (which
|
|
611
|
-
// runProgram awaits unguarded) into a process crash.
|
|
693
|
+
// runProgram awaits unguarded) into a process crash. `specStatus`
|
|
694
|
+
// stays `in_progress` — never cleared on a failure path — so a later
|
|
695
|
+
// retry resumes without needing --force (SC-07).
|
|
612
696
|
workstream.status = "parked";
|
|
613
697
|
await saveManifest(root, options.programId, manifest, { log });
|
|
614
698
|
for (const id of downstreamCone(manifest.workstreams, [workstream.id])) {
|
|
@@ -621,7 +705,27 @@ export async function authorProgram(options) {
|
|
|
621
705
|
};
|
|
622
706
|
return base;
|
|
623
707
|
}
|
|
624
|
-
|
|
708
|
+
const firstSummary = resolveSummary(invocation.output);
|
|
709
|
+
if (isAuthorProtocolFailure(invocation, firstSummary)) {
|
|
710
|
+
// The process reported failure, its prompt was not fully delivered, or
|
|
711
|
+
// it never produced the required summary contract — any spec it may
|
|
712
|
+
// have written cannot be trusted as complete (SC-07). Park exactly
|
|
713
|
+
// like a spawn failure and leave `specStatus` at `in_progress` so a
|
|
714
|
+
// force-free retry re-authors.
|
|
715
|
+
workstream.status = "parked";
|
|
716
|
+
await saveManifest(root, options.programId, manifest, { log });
|
|
717
|
+
for (const id of downstreamCone(manifest.workstreams, [workstream.id])) {
|
|
718
|
+
blockedCone.add(id);
|
|
719
|
+
}
|
|
720
|
+
base.summary = firstSummary.text;
|
|
721
|
+
base.outcome = {
|
|
722
|
+
status: "failed",
|
|
723
|
+
reason: `the author agent reported a protocol failure (${describeProtocolFailure(invocation, firstSummary)}); ` +
|
|
724
|
+
`not trusted as a finished spec.`,
|
|
725
|
+
};
|
|
726
|
+
return base;
|
|
727
|
+
}
|
|
728
|
+
base.summary = firstSummary.text;
|
|
625
729
|
let parsed = extractDecisions(invocation.output);
|
|
626
730
|
base.decisionErrors.push(...parsed.errors);
|
|
627
731
|
for (const decision of parsed.decisions) {
|
|
@@ -686,19 +790,46 @@ export async function authorProgram(options) {
|
|
|
686
790
|
`pass: ${error.message}. The pre-discovery spec was kept.`);
|
|
687
791
|
}
|
|
688
792
|
if (reauthorInvocation !== undefined) {
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
793
|
+
const reauthorSummary = resolveSummary(reauthorInvocation.output);
|
|
794
|
+
if (isAuthorProtocolFailure(reauthorInvocation, reauthorSummary)) {
|
|
795
|
+
// A *returned* protocol failure on the re-author pass is treated
|
|
796
|
+
// exactly like one on the first invocation (SC-07): the process
|
|
797
|
+
// reported failure, its prompt was not fully delivered, or it
|
|
798
|
+
// never produced the summary contract, so nothing this pass
|
|
799
|
+
// produced can be trusted — park, isolate the downstream cone,
|
|
800
|
+
// and leave specStatus at in_progress for a force-free retry.
|
|
801
|
+
// This differs from a *thrown* spawn error above, which fails
|
|
802
|
+
// open because the first pass's spec is otherwise untouched; a
|
|
803
|
+
// returned failure carries no such guarantee.
|
|
804
|
+
workstream.status = "parked";
|
|
805
|
+
await saveManifest(root, options.programId, manifest, { log });
|
|
806
|
+
for (const id of downstreamCone(manifest.workstreams, [workstream.id])) {
|
|
807
|
+
blockedCone.add(id);
|
|
808
|
+
}
|
|
809
|
+
base.summary = reauthorSummary.text;
|
|
810
|
+
base.outcome = {
|
|
811
|
+
status: "failed",
|
|
812
|
+
reason: `the author agent reported a protocol failure during ${workstream.id}'s ` +
|
|
813
|
+
`re-author pass (${describeProtocolFailure(reauthorInvocation, reauthorSummary)}); ` +
|
|
814
|
+
`not trusted as a finished spec.`,
|
|
815
|
+
};
|
|
816
|
+
return base;
|
|
695
817
|
}
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
818
|
+
else {
|
|
819
|
+
invocation = reauthorInvocation;
|
|
820
|
+
base.summary = reauthorSummary.text;
|
|
821
|
+
parsed = extractDecisions(invocation.output);
|
|
822
|
+
base.decisionErrors.push(...parsed.errors);
|
|
823
|
+
for (const decision of parsed.decisions) {
|
|
824
|
+
allDecisionsById.set(decisionFingerprint(workstream.id, decision), decision);
|
|
825
|
+
}
|
|
826
|
+
await journalDecisions(workstream, parsed.decisions, baseCommit);
|
|
827
|
+
base.decisionIds.push(...parsed.decisions.map((decision) => decisionFingerprint(workstream.id, decision)));
|
|
828
|
+
const secondDeclaration = extractDependenciesDeclaration(invocation.output);
|
|
829
|
+
if (secondDeclaration.ids.length > 0) {
|
|
830
|
+
log(`${workstream.id}: additional dependency declaration after the ` +
|
|
831
|
+
`re-author pass was not honored: ${secondDeclaration.ids.join(", ")}`);
|
|
832
|
+
}
|
|
702
833
|
}
|
|
703
834
|
}
|
|
704
835
|
}
|
|
@@ -749,13 +880,25 @@ export async function authorProgram(options) {
|
|
|
749
880
|
await appendLedgerEvents(root, options.programId, critiqueEvents);
|
|
750
881
|
// Stamped after every dependency merge above, so the hash records the
|
|
751
882
|
// manifest exactly as this spec's author last saw it — a later manifest
|
|
752
|
-
// edit is drift; authoring's own merges are not.
|
|
883
|
+
// edit is drift; authoring's own merges are not. `specStatus` is
|
|
884
|
+
// deliberately NOT stamped `complete` in this same save (SC-01, SC-02):
|
|
885
|
+
// inside a repository, the durable signal is the git commit below, and a
|
|
886
|
+
// crash or throw from `commitPaths` between this save and the commit
|
|
887
|
+
// must still classify as interrupted on retry, not falsely complete with
|
|
888
|
+
// an unmade commit.
|
|
753
889
|
workstream.specHash = specInputsHash(manifest, workstream);
|
|
754
890
|
await saveManifest(root, options.programId, manifest, { log });
|
|
755
891
|
let commit;
|
|
756
892
|
if (isRepository) {
|
|
757
893
|
commit = await git.commitPaths(root, `nightshift(${options.programId}): author ${workstream.id} ${workstream.name}`, [workstream.taskFile, "docs/programs"]);
|
|
758
894
|
}
|
|
895
|
+
// Outside a git repository there is no commit to wait for — the finished
|
|
896
|
+
// spec, its specHash, and this manifest save are already the durable
|
|
897
|
+
// state, so `complete` is stamped right here. Inside one, this still
|
|
898
|
+
// only runs after `commitPaths` above resolves, so the transition is
|
|
899
|
+
// recoverable on both sides of the commit (SC-01, SC-02).
|
|
900
|
+
workstream.specStatus = "complete";
|
|
901
|
+
await saveManifest(root, options.programId, manifest, { log });
|
|
759
902
|
{
|
|
760
903
|
const spawnErrors = await reviewWorkstreamDecisions(workstream.id, [...allDecisionsById.values()], baseCommit);
|
|
761
904
|
if (spawnErrors.length > 0)
|
package/dist/author.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"author.js","sourceRoot":"","sources":["../src/author.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"author.js","sourceRoot":"","sources":["../src/author.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -452,15 +452,11 @@ program
|
|
|
452
452
|
.command("author")
|
|
453
453
|
.description("Write every missing workstream spec with a clean agent, in dependency-level order")
|
|
454
454
|
.argument("<program-id>", "Program ID from /plan-program")
|
|
455
|
-
.option("--
|
|
456
|
-
.option("--force", "Re-author
|
|
455
|
+
.option("--from <workstream-id>", "Author from this workstream onward in dependency order; earlier workstreams are kept")
|
|
456
|
+
.option("--force", "Re-author every selected spec, even completed ones (pair with --from to narrow the range)", false)
|
|
457
457
|
.option("--cwd <path>", "Project directory", process.cwd())
|
|
458
458
|
.action(async (programId, options) => {
|
|
459
459
|
const { config } = await loadConfig(resolve(options.cwd));
|
|
460
|
-
const only = options.only
|
|
461
|
-
?.split(",")
|
|
462
|
-
.map((id) => id.trim())
|
|
463
|
-
.filter((id) => id !== "");
|
|
464
460
|
// A separate top-level command from `run`, so it owns building its
|
|
465
461
|
// own PermitsContext — `authorProgram` itself never builds one (WS-01).
|
|
466
462
|
const permits = await buildPermitsContext({ config });
|
|
@@ -469,7 +465,7 @@ program
|
|
|
469
465
|
programId,
|
|
470
466
|
config,
|
|
471
467
|
permits,
|
|
472
|
-
...(
|
|
468
|
+
...(options.from === undefined ? {} : { from: options.from }),
|
|
473
469
|
force: options.force,
|
|
474
470
|
});
|
|
475
471
|
await permits.dispose?.();
|