@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 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", "--sandbox", "workspace-write"], "promptMode": "stdin" }
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`. nightshift
85
- derives each role's permission posture itself — from the role (`agent`,
86
- `authorAgent`, and `recoveryAgent` get a workspace posture; `deciderAgent` and
87
- `reviewerAgent` get read-only, never edit-capable regardless of the host) and
88
- from the host it runs on (a claude `auto` classifier plus an OS sandbox on
89
- macOS/Linux, a `--sandbox workspace-write` grant on codex, a documented
90
- fallback when a capability cannot be detected). `recoveryAgent`'s
91
- `--sandbox workspace-write` above is still honored untouched: any
92
- permission-bearing flag an operator already wrote — `--permission-mode`,
93
- `--allowedTools`, `--sandbox`, and their siblings — always wins, and that
94
- role is reported as operator-configured rather than silently overridden.
95
-
96
- An optional `permits` block widens or narrows the derived posture without
97
- hand-writing provider flags:
98
-
99
- ```json
100
- "permits": {
101
- "policy": "free prose read by the implementer and recovery briefs",
102
- "allow": ["Bash(git stash:*)"],
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; `policy` is prose the implementer/recovery
109
- briefs quote verbatim. On a throwaway CI runner, set
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. Note `recoveryAgent`'s `--sandbox workspace-write`
122
- above: `codex exec` defaults to a read-only sandbox, which is the right
123
- posture for the decider and reviewer seats and exactly wrong for a seat that
124
- must fix a failing tree. nightshift does not trust that default, though: the
125
- decider and reviewer seats are spawned with an explicit `--sandbox read-only`,
126
- because a codex user config can widen the default (a `sandbox = "elevated"`
127
- setting, a trusted-project entry) and a seat labeled read-only that can write
128
- is exactly the kind of quiet mismatch the posture lines exist to prevent.
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` that already exists is always kept, never overwritten. To
234
- deliberately re-author one after a plan edit, name it explicitly and force it:
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> --only WS-03 --force
243
+ nightshift author <program-id> --from WS-03
244
+ nightshift author <program-id> --from WS-03 --force
238
245
  ```
239
246
 
240
- `--force` on its own does nothing to existing specs — it only takes effect
241
- for ids named in `--only`, so a bare `--force` can never silently regenerate
242
- a program's worth of hand-reviewed specs.
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 ids eligible for `force` re-authoring. */
11
- only?: string[];
12
- /** Re-author ids named in `only`, even though their spec already exists. */
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`
@@ -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,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,4EAA4E;IAC5E,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;AA6lBD;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,iBAAiB,CAAC,CA8b5B"}
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 shouldAuthor = existing === undefined || (force && only !== undefined && only.includes(workstream.id));
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} --only ${workstream.id} --force\``,
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
- base.summary = resolveSummary(invocation.output).text;
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
- invocation = reauthorInvocation;
690
- base.summary = resolveSummary(invocation.output).text;
691
- parsed = extractDecisions(invocation.output);
692
- base.decisionErrors.push(...parsed.errors);
693
- for (const decision of parsed.decisions) {
694
- allDecisionsById.set(decisionFingerprint(workstream.id, decision), decision);
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
- await journalDecisions(workstream, parsed.decisions, baseCommit);
697
- base.decisionIds.push(...parsed.decisions.map((decision) => decisionFingerprint(workstream.id, decision)));
698
- const secondDeclaration = extractDependenciesDeclaration(invocation.output);
699
- if (secondDeclaration.ids.length > 0) {
700
- log(`${workstream.id}: additional dependency declaration after the ` +
701
- `re-author pass was not honored: ${secondDeclaration.ids.join(", ")}`);
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)
@@ -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("--only <ids>", "Comma-separated workstream ids eligible for --force re-authoring")
456
- .option("--force", "Re-author specs named in --only even though they already exist", false)
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
- ...(only === undefined ? {} : { only }),
468
+ ...(options.from === undefined ? {} : { from: options.from }),
473
469
  force: options.force,
474
470
  });
475
471
  await permits.dispose?.();