@rsaglobaltech/specgate 1.0.0-rc.1 → 1.0.0-rc.3

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.
Files changed (40) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/packages/core/src/domain/Approvals.js +19 -4
  3. package/dist/packages/core/src/domain/Approvals.js.map +1 -1
  4. package/dist/packages/core/src/domain/ChangeLayers.js +6 -2
  5. package/dist/packages/core/src/domain/ChangeLayers.js.map +1 -1
  6. package/dist/packages/core/src/domain/WorkspaceStory.js +259 -0
  7. package/dist/packages/core/src/domain/WorkspaceStory.js.map +1 -0
  8. package/dist/scripts/change/instructions.js +8 -0
  9. package/dist/scripts/change/instructions.js.map +1 -1
  10. package/dist/scripts/cli/commands/change/ChangeCommand.js +62 -3
  11. package/dist/scripts/cli/commands/change/ChangeCommand.js.map +1 -1
  12. package/dist/scripts/cli/commands/harness/RunCommand.js +5 -4
  13. package/dist/scripts/cli/commands/harness/RunCommand.js.map +1 -1
  14. package/dist/scripts/cli/commands/project/InitProjectCommand.js +9 -14
  15. package/dist/scripts/cli/commands/project/InitProjectCommand.js.map +1 -1
  16. package/dist/scripts/cli/commands/spec/DoneCommand.js +22 -0
  17. package/dist/scripts/cli/commands/spec/DoneCommand.js.map +1 -1
  18. package/dist/scripts/cli/commands/spec/StatusCommand.js +73 -0
  19. package/dist/scripts/cli/commands/spec/StatusCommand.js.map +1 -1
  20. package/dist/scripts/cli/commands/spec/StudioCommand.js +6 -6
  21. package/dist/scripts/cli/commands/spec/StudioCommand.js.map +1 -1
  22. package/dist/scripts/cli/commands/workspace/WorkspaceCommand.js +252 -42
  23. package/dist/scripts/cli/commands/workspace/WorkspaceCommand.js.map +1 -1
  24. package/dist/scripts/draft/confined-agent.js +2 -1
  25. package/dist/scripts/draft/confined-agent.js.map +1 -1
  26. package/dist/scripts/harness/prompt.js +50 -1
  27. package/dist/scripts/harness/prompt.js.map +1 -1
  28. package/dist/scripts/lib/story-part.js +73 -0
  29. package/dist/scripts/lib/story-part.js.map +1 -0
  30. package/dist/scripts/lib/surface.js +1 -1
  31. package/dist/scripts/lib/surface.js.map +1 -1
  32. package/dist/scripts/lib/temp-file.js +72 -0
  33. package/dist/scripts/lib/temp-file.js.map +1 -0
  34. package/dist/scripts/lib/workspace-draft.js +224 -0
  35. package/dist/scripts/lib/workspace-draft.js.map +1 -0
  36. package/dist/scripts/lib/workspace-live.js +9 -26
  37. package/dist/scripts/lib/workspace-live.js.map +1 -1
  38. package/dist/scripts/lib/workspace.js +325 -6
  39. package/dist/scripts/lib/workspace.js.map +1 -1
  40. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"StudioCommand.js","sourceRoot":"","sources":["../../../../../scripts/cli/commands/spec/StudioCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StudioCommand.js","sourceRoot":"","sources":["../../../../../scripts/cli/commands/spec/StudioCommand.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,9 @@ const sonar_local_1 = require("../../../lib/sonar-local");
43
43
  const ui = __importStar(require("../../../lib/ui"));
44
44
  const ui_1 = require("../../../lib/ui");
45
45
  const Workspace_1 = require("../../../../packages/core/src/domain/Workspace");
46
+ const WorkspaceStory_1 = require("../../../../packages/core/src/domain/WorkspaceStory");
47
+ const DraftChecklist_1 = require("../../../../packages/core/src/domain/DraftChecklist");
48
+ const workspace_draft_1 = require("../../../lib/workspace-draft");
46
49
  const workspace_1 = require("../../../lib/workspace");
47
50
  const workspace_live_1 = require("../../../lib/workspace-live");
48
51
  const RunCommand_1 = require("../harness/RunCommand");
@@ -51,7 +54,7 @@ const project_root_1 = require("../../../lib/project-root");
51
54
  const NULL_SHAPE = { workspace: null };
52
55
  function usage() {
53
56
  process.stdout.write(`
54
- 🧩 ${ui_1.c.bold}specgate workspace${ui_1.c.reset} <init|status|check|propose|live|harness> [options]
57
+ 🧩 ${ui_1.c.bold}specgate workspace${ui_1.c.reset} <init|status|check|draft|propose|live|harness> [options]
55
58
 
56
59
  The repositories of one product, named in ${Workspace_1.WORKSPACE_FILE} (ADR-0041).
57
60
  Inside a repository REQ-012 is the id; across the workspace it is fleet:REQ-012.
@@ -62,13 +65,19 @@ function usage() {
62
65
  status each repository (requirements done, branch, last gate) and each story
63
66
  check each repository's own check, then the qualified ids and the
64
67
  dependencies between repositories; non-zero when any fails
65
- propose <story> --repos <a,b,…> [--title "<title>"]
68
+ draft [<story>] [--agent "<cmd>"]
69
+ the client's brief below a front matter naming its stories (an agent
70
+ proposes them); with a story, its story.md and questions.md — an agent
71
+ drafts them, confined to the story
72
+ propose <story> [--repos <a,b,…>] [--title "<title>"] [--allow-open-questions]
66
73
  a business story, and a change for it in each repository named
74
+ (the brief's repos when --repos is not given), carrying the story;
75
+ refused while a question of the story is open
67
76
  live [--port <n>] every repository's harness and every story, live (studio /live);
68
77
  --json prints the model once
69
78
  harness run --story <id> [--dry-run] [-- <harness run options>]
70
- one harness per repository with an open part of the story, all at
71
- once; none when a repository's base already fails the gate
79
+ one harness per repository with an open part of the story, in the
80
+ order their dependencies ask; none when a base already fails
72
81
 
73
82
  Options: --project-dir <workspace dir>, --json.
74
83
  `);
@@ -91,8 +100,10 @@ class WorkspaceCommand extends command_1.BaseCommand {
91
100
  let name = "";
92
101
  let title = "";
93
102
  let force = false;
103
+ let allowOpenQuestions = false;
94
104
  const repoArgs = [];
95
105
  let repos = "";
106
+ let agent = "";
96
107
  const positional = [];
97
108
  for (let i = 1; i < argv.length; i += 1) {
98
109
  const a = argv[i];
@@ -106,8 +117,12 @@ class WorkspaceCommand extends command_1.BaseCommand {
106
117
  repos = argv[++i] || "";
107
118
  else if (a === "--title")
108
119
  title = argv[++i] || "";
120
+ else if (a === "--agent")
121
+ agent = argv[++i] || "";
109
122
  else if (a === "--force")
110
123
  force = true;
124
+ else if (a === "--allow-open-questions")
125
+ allowOpenQuestions = true;
111
126
  else if (a === "--json")
112
127
  continue;
113
128
  else if (!a.startsWith("-"))
@@ -119,7 +134,7 @@ class WorkspaceCommand extends command_1.BaseCommand {
119
134
  }),
120
135
  ]);
121
136
  }
122
- if (!["init", "status", "check", "propose"].includes(sub)) {
137
+ if (!["init", "status", "check", "draft", "propose"].includes(sub)) {
123
138
  io.usage(NULL_SHAPE, [
124
139
  (0, diagnostics_1.error)("unknown_subcommand", `workspace has no ${sub}.`, {
125
140
  fix: "specgate workspace --help",
@@ -171,10 +186,12 @@ class WorkspaceCommand extends command_1.BaseCommand {
171
186
  const config = { name: name || path.basename(dir), repos: members };
172
187
  fs.writeFileSync(file, (0, Workspace_1.renderWorkspace)(config), "utf8");
173
188
  (0, sonar_local_1.ensureIgnored)(dir, workspace_1.LAST_CHECK_FILE);
189
+ // REQ-349: each repository's log of a story's build is not committed.
190
+ (0, sonar_local_1.ensureIgnored)(dir, `${workspace_1.RUNS_DIR}/`);
174
191
  io.emit({ workspace: { file: Workspace_1.WORKSPACE_FILE, ...config } }, () => {
175
192
  process.stdout.write(ui.header("workspace init", config.name));
176
- for (const r of members)
177
- process.stdout.write(ui.kv(r.name, `${r.path} ${ui_1.c.muted}${r.role}${ui_1.c.reset}`) + "\n");
193
+ // REQ-348: name, path and role in their own columns.
194
+ process.stdout.write(ui.table(members.map((r) => [r.name, r.path, r.role])) + "\n");
178
195
  process.stdout.write(`\n ${ui.next("specgate workspace status", "each repository and each story")}\n`);
179
196
  });
180
197
  return;
@@ -210,6 +227,112 @@ class WorkspaceCommand extends command_1.BaseCommand {
210
227
  });
211
228
  return;
212
229
  }
230
+ if (sub === "draft") {
231
+ // REQ-339..340: the client's brief, its stories, and one story drafted.
232
+ let brief = (0, workspace_draft_1.workspaceBrief)(ws);
233
+ const id = positional[0] || "";
234
+ let proposed = null;
235
+ if (!id && agent) {
236
+ // REQ-360: the agent proposes the stories — never --agent ignored.
237
+ if (brief.stories.length) {
238
+ io.usage(NULL_SHAPE, [
239
+ (0, diagnostics_1.error)("workspace_draft_agent_story", `${brief.file} already names its stories: --agent drafts one of them.`, {
240
+ fix: `specgate workspace draft ${brief.stories[0].id} --agent "${agent}"`,
241
+ }),
242
+ ]);
243
+ }
244
+ proposed = (0, workspace_draft_1.proposeStoriesWithAgent)(ws, agent, !json);
245
+ if (!proposed.ok) {
246
+ io.fail(NULL_SHAPE, [
247
+ (0, diagnostics_1.error)("workspace_draft_agent", proposed.problem === "no_git"
248
+ ? "The workspace repository is not a git repository: the agent's writes cannot be confined."
249
+ : `The agent failed: ${proposed.detail || "no detail"}`, {
250
+ fix: proposed.problem === "no_git"
251
+ ? "git init"
252
+ : "Run the agent command by hand to see why.",
253
+ }),
254
+ ]);
255
+ }
256
+ brief = { ...brief, stories: (0, workspace_draft_1.readWorkspaceStories)(ws) };
257
+ }
258
+ if (!id) {
259
+ io.emit({ workspace: brief }, () => {
260
+ process.stdout.write(ui.header("workspace draft", ws.config.name));
261
+ if (brief.created)
262
+ process.stdout.write(ui.fileLine("added", `${brief.file} the client's brief, below a front matter`) + "\n");
263
+ if (proposed) {
264
+ if (proposed.permissionAdded)
265
+ process.stdout.write(` ${ui_1.c.muted}edit permission added: the agent writes only ${brief.file}${ui_1.c.reset}\n`);
266
+ if (proposed.textRestored)
267
+ process.stdout.write(` ${ui_1.c.warn}▲${ui_1.c.reset} the client's text below the front matter was put back as it was\n`);
268
+ }
269
+ if (brief.stories.length === 0) {
270
+ process.stdout.write(`\n Name the stories of the brief in ${brief.file}'s front matter:\n` +
271
+ ` ${ui_1.c.muted}stories:\n - { id: follow-shipment, title: The client follows a shipment, repos: [${ws.config.repos
272
+ .slice(0, 2)
273
+ .map((r) => r.name)
274
+ .join(", ")}] }${ui_1.c.reset}\n` +
275
+ `\n ${ui.next("specgate workspace draft", "again, once they are named")}\n`);
276
+ return;
277
+ }
278
+ process.stdout.write(ui.section("Stories"));
279
+ process.stdout.write(ui.table(brief.stories.map((s) => [s.id, s.title, s.repos.join(", ")])) + "\n");
280
+ process.stdout.write(`\n ${ui.next(`specgate workspace draft ${brief.stories[0].id} --agent "claude -p"`, "its intent and criteria, from the brief")}\n`);
281
+ });
282
+ return;
283
+ }
284
+ const story = brief.stories.find((s) => s.id === id);
285
+ if (!story) {
286
+ io.usage(NULL_SHAPE, [
287
+ (0, diagnostics_1.error)("workspace_story_unnamed", `${brief.file} names no story ${id}.`, {
288
+ fix: `Add - { id: ${id}, title: …, repos: [${ws.config.repos.map((r) => r.name).join(", ")}] } under stories: in ${brief.file}.`,
289
+ }),
290
+ ]);
291
+ }
292
+ const unknownRepos = story.repos.filter((r) => !ws.dirs[r]);
293
+ if (unknownRepos.length) {
294
+ io.usage(NULL_SHAPE, [
295
+ (0, diagnostics_1.error)("workspace_story_repos", `Not repos of this workspace: ${unknownRepos.join(", ")}.`, {
296
+ fix: `repos: [${ws.config.repos.map((r) => r.name).join(", ")}]`,
297
+ }),
298
+ ]);
299
+ }
300
+ const written = (0, workspace_draft_1.scaffoldStory)(ws, story);
301
+ let ran = null;
302
+ if (agent) {
303
+ ran = (0, workspace_draft_1.draftStoryWithAgent)(ws, story, agent, !json);
304
+ if (!ran.ok) {
305
+ io.fail(NULL_SHAPE, [
306
+ (0, diagnostics_1.error)("workspace_draft_agent", ran.problem === "no_git"
307
+ ? "The workspace repository is not a git repository: the agent's writes cannot be confined."
308
+ : `The agent failed: ${ran.detail || "no detail"}`, {
309
+ fix: ran.problem === "no_git"
310
+ ? "git init"
311
+ : "Run the agent command by hand to see why.",
312
+ }),
313
+ ]);
314
+ }
315
+ }
316
+ io.emit({
317
+ workspace: {
318
+ story: story,
319
+ written,
320
+ agent: ran ? { wrote: ran.wrote, reverted: ran.reverted } : null,
321
+ },
322
+ }, () => {
323
+ process.stdout.write(ui.header("workspace draft", story.id));
324
+ for (const f of written)
325
+ process.stdout.write(ui.fileLine("added", f) + "\n");
326
+ if (ran) {
327
+ if (ran.permissionAdded)
328
+ process.stdout.write(` ${ui_1.c.muted}edit permission added: the agent writes only ${(0, workspace_draft_1.storyRel)(story.id)}/${ui_1.c.reset}\n`);
329
+ for (const f of ran.reverted)
330
+ process.stdout.write(` ${ui_1.c.warn}▲${ui_1.c.reset} undone: ${f}, outside the story\n`);
331
+ }
332
+ process.stdout.write(`\n ${ui.next(`specgate workspace propose ${story.id}`, `review ${(0, workspace_draft_1.storyRel)(story.id)}/story.md, then open its change in ${story.repos.join(", ")}`)}\n`);
333
+ });
334
+ return;
335
+ }
213
336
  if (sub === "check") {
214
337
  const result = (0, workspace_1.checkWorkspace)(ws);
215
338
  (0, workspace_1.recordCheck)(ws.dir, result);
@@ -227,7 +350,11 @@ class WorkspaceCommand extends command_1.BaseCommand {
227
350
  ...result.problems,
228
351
  ];
229
352
  const payload = {
230
- workspace: { ok: result.ok, repos: result.repos.map((r) => ({ name: r.name, ok: r.ok })) },
353
+ workspace: {
354
+ ok: result.ok,
355
+ repos: result.repos.map((r) => ({ name: r.name, ok: r.ok })),
356
+ warnings: result.warnings,
357
+ },
231
358
  };
232
359
  if (!result.ok) {
233
360
  if (json)
@@ -242,6 +369,8 @@ class WorkspaceCommand extends command_1.BaseCommand {
242
369
  process.stdout.write(ui.header("workspace check", ws.config.name));
243
370
  for (const r of result.repos)
244
371
  process.stdout.write(` ${ui.state("done")} ${r.name}\n`);
372
+ if (result.warnings.length)
373
+ (0, diagnostics_1.printDiagnostics)(result.warnings);
245
374
  process.stdout.write(`\n ${ui_1.c.ok}✔${ui_1.c.reset} Every repository passes, and the links between them hold.\n`);
246
375
  });
247
376
  return;
@@ -255,8 +384,9 @@ class WorkspaceCommand extends command_1.BaseCommand {
255
384
  }),
256
385
  ]);
257
386
  }
258
- const names = repos
259
- .split(",")
387
+ // REQ-342: a story drafted from the brief brings its repositories and title.
388
+ const fromBrief = (0, workspace_draft_1.readWorkspaceStories)(ws).find((s) => s.id === story);
389
+ const names = (repos ? repos.split(",") : fromBrief ? fromBrief.repos : [])
260
390
  .map((s) => s.trim())
261
391
  .filter(Boolean);
262
392
  const unknown = names.filter((n) => !ws.dirs[n]);
@@ -268,7 +398,8 @@ class WorkspaceCommand extends command_1.BaseCommand {
268
398
  ]);
269
399
  }
270
400
  const storyDir = path.join(ws.dir, Workspace_1.STORIES_DIR, story);
271
- if (fs.existsSync(storyDir)) {
401
+ const existing = (0, workspace_1.readStories)(ws.dir).find((s) => s.id === story);
402
+ if (existing && existing.subchanges.length > 0) {
272
403
  io.fail(NULL_SHAPE, [
273
404
  (0, diagnostics_1.error)("workspace_story_exists", `The story ${story} already exists.`, {
274
405
  fix: "specgate workspace status",
@@ -283,10 +414,29 @@ class WorkspaceCommand extends command_1.BaseCommand {
283
414
  }),
284
415
  ]);
285
416
  }
286
- const storyTitle = title || story.replace(/-/g, " ");
417
+ const storyTitle = title ||
418
+ (existing && existing.title) ||
419
+ (fromBrief && fromBrief.title) ||
420
+ story.replace(/-/g, " ");
421
+ const storyMd = path.join(storyDir, "story.md");
422
+ const storyText = fs.existsSync(storyMd) ? fs.readFileSync(storyMd, "utf8") : "";
423
+ // REQ-363: the client answers first.
424
+ const questionsFile = path.join(storyDir, "questions.md");
425
+ const open = fs.existsSync(questionsFile)
426
+ ? (0, DraftChecklist_1.openQuestions)(fs.readFileSync(questionsFile, "utf8"))
427
+ : [];
428
+ if (open.length && !allowOpenQuestions) {
429
+ io.fail(NULL_SHAPE, [
430
+ (0, diagnostics_1.error)("workspace_story_questions_open", `The story ${story} has ${open.length} open question(s): ${open.map((q) => q.row).join(", ")}.`, {
431
+ target: story,
432
+ file: `${Workspace_1.STORIES_DIR}/${story}/questions.md`,
433
+ fix: `Answer them in ${Workspace_1.STORIES_DIR}/${story}/questions.md, or propose anyway with --allow-open-questions.`,
434
+ }),
435
+ ]);
436
+ }
287
437
  const failed = [];
288
438
  for (const n of names) {
289
- const p = (0, workspace_1.openSubChange)(ws, n, story, storyTitle);
439
+ const p = (0, workspace_1.openSubChange)(ws, n, story, storyTitle, { storyText, repos: names });
290
440
  if (p)
291
441
  failed.push(p);
292
442
  }
@@ -299,9 +449,11 @@ class WorkspaceCommand extends command_1.BaseCommand {
299
449
  subchanges: names.map((n) => ({ repo: n, change: story })),
300
450
  };
301
451
  fs.writeFileSync(path.join(storyDir, "story.yaml"), (0, Workspace_1.renderStory)(record), "utf8");
302
- fs.writeFileSync(path.join(storyDir, "story.md"), `# Story: ${storyTitle}\n\n## Intent\n\n<!-- The business story, in the words of whoever asked for it. It stays as it is while each repository's change works out the how. -->\n\n## Repositories\n\n` +
303
- names.map((n) => `- \`${n}\`: \`docs/specs/changes/${story}/\``).join("\n") +
304
- "\n", "utf8");
452
+ if (!storyText) {
453
+ fs.writeFileSync(storyMd, `# Story: ${storyTitle}\n\n## Intent\n\n<!-- The business story, in the words of whoever asked for it. It stays as it is while each repository's change works out the how. -->\n\n## Repositories\n\n` +
454
+ names.map((n) => `- \`${n}\`: \`docs/specs/changes/${story}/\``).join("\n") +
455
+ "\n", "utf8");
456
+ }
305
457
  io.emit({ workspace: { story: record } }, () => {
306
458
  process.stdout.write(ui.header("workspace propose", story));
307
459
  for (const n of names)
@@ -348,6 +500,9 @@ function siblings(dir) {
348
500
  : "service";
349
501
  out.push({ name: repoName, path: `../${e.name}`, role, capabilities: capabilitiesOf(full) });
350
502
  }
503
+ // REQ-348: truck-flote-fleet and truck-flote-web are fleet and web.
504
+ const short = (0, WorkspaceStory_1.shortNames)(out.map((r) => r.name));
505
+ out.forEach((r, i) => (r.name = short[i]));
351
506
  return out.sort((a, b) => a.name.localeCompare(b.name));
352
507
  }
353
508
  /** The value after a flag, or "". */
@@ -395,6 +550,9 @@ function runLiveOrHarness(argv, json, io) {
395
550
  ]);
396
551
  }
397
552
  const runs = [];
553
+ // REQ-345: a repository waiting on another's part runs after it.
554
+ const levels = (0, workspace_1.storyLevels)(ws, story);
555
+ const logs = path.join(ws.dir, workspace_1.RUNS_DIR, story.id);
398
556
  const red = [];
399
557
  for (const sc of story.subchanges) {
400
558
  const memberDir = ws.dirs[sc.repo];
@@ -424,24 +582,32 @@ function runLiveOrHarness(argv, json, io) {
424
582
  ...ids.flatMap((id) => ["--req", id]),
425
583
  ...passthrough,
426
584
  ];
585
+ // REQ-344: what the other repositories of the story build, for the prompt.
586
+ const context = path.join(logs, `${sc.repo}.context.md`);
427
587
  runs.push({
428
588
  repo: sc.repo,
429
589
  dir: memberDir,
430
590
  requirements: ids,
431
591
  args,
432
592
  command: `specgate ${args.map((a) => (/\s/.test(a) ? JSON.stringify(a) : a)).join(" ")}`,
593
+ level: levels[sc.repo] || 1,
594
+ context: path.relative(ws.dir, context).split(path.sep).join("/"),
433
595
  });
434
596
  }
435
597
  if (red.length)
436
598
  io.fail({ harness: null }, red);
599
+ fs.mkdirSync(logs, { recursive: true });
600
+ for (const r of runs)
601
+ fs.writeFileSync(path.join(ws.dir, r.context), (0, workspace_1.storyContext)(ws, story, r.repo), "utf8");
437
602
  const payload = {
438
603
  harness: { story: story.id, runs: runs.map(({ dir: _d, args: _a, ...r }) => r) },
439
604
  };
605
+ runs.sort((a, b) => a.level - b.level || a.repo.localeCompare(b.repo));
440
606
  if (own.includes("--dry-run")) {
441
607
  io.emit(payload, () => {
442
608
  process.stdout.write(ui.header("workspace harness run", `${story.id} · dry run`));
443
609
  for (const r of runs)
444
- process.stdout.write(` ${r.repo} ${ui_1.c.muted}${r.command}${ui_1.c.reset}\n`);
610
+ process.stdout.write(` ${r.level} ${r.repo} ${ui_1.c.muted}${r.command}${ui_1.c.reset}\n`);
445
611
  });
446
612
  return;
447
613
  }
@@ -449,37 +615,81 @@ function runLiveOrHarness(argv, json, io) {
449
615
  io.emit(payload, () => process.stdout.write(" Nothing open to build in this story.\n"));
450
616
  return;
451
617
  }
452
- // One process per repository, all at once; each keeps its own output.
453
- const logs = path.join(ws.dir, ".specgate", "workspace-runs", story.id);
618
+ // One process per repository; the repositories of a level at once, each
619
+ // level once the one before has finished (REQ-345).
454
620
  fs.mkdirSync(logs, { recursive: true });
455
621
  if (!json)
456
622
  process.stdout.write(ui.header("workspace harness run", story.id));
457
- let left = runs.length;
458
623
  let worst = 0;
459
624
  const results = [];
460
- for (const r of runs) {
461
- const log = path.join(logs, `${r.repo}.log`);
462
- const fd = fs.openSync(log, "w");
463
- const child = (0, node_child_process_1.spawn)(process.execPath, [cli, ...r.args], {
464
- stdio: ["ignore", fd, fd],
465
- env: { ...process.env, NO_COLOR: "1" },
466
- });
467
- if (!json)
468
- process.stdout.write(` ${r.repo} started · ${path.relative(ws.dir, log)}\n`);
469
- child.on("close", (code) => {
470
- fs.closeSync(fd);
471
- const exit = code ?? 1;
472
- worst = Math.max(worst, exit);
473
- results.push({ repo: r.repo, exit, log });
474
- if (!json)
475
- process.stdout.write(` ${ui.state(exit === 0 ? "done" : "blocked")} ${r.repo}\n`);
476
- left -= 1;
477
- if (left === 0) {
478
- if (json)
479
- process.stdout.write(JSON.stringify({ harness: { story: story.id, results } }) + "\n");
480
- process.exit(worst);
625
+ const waiting = [];
626
+ const byLevel = [...new Set(runs.map((r) => r.level))].sort((a, b) => a - b);
627
+ const runLevel = (i) => {
628
+ if (i >= byLevel.length) {
629
+ // REQ-367: a requirement left waiting is not a delivered story.
630
+ if (waiting.length)
631
+ worst = Math.max(worst, 1);
632
+ if (json)
633
+ process.stdout.write(JSON.stringify({ harness: { story: story.id, results, waiting } }) + "\n");
634
+ process.exit(worst);
635
+ }
636
+ // REQ-367: at each level, only the requirements whose dependencies are
637
+ // delivered start; the others are named, waiting.
638
+ const now = runs
639
+ .filter((r) => r.level === byLevel[i])
640
+ .flatMap((r) => {
641
+ const sc = story.subchanges.find((x) => x.repo === r.repo);
642
+ const { ready, waiting: left } = (0, workspace_1.readyRequirements)(ws, r.repo, sc.change);
643
+ const go = r.requirements.filter((id) => ready.includes(id));
644
+ for (const w of left.filter((x) => r.requirements.includes(x.id))) {
645
+ waiting.push({ repo: r.repo, requirement: w.id, on: w.on });
646
+ if (!json)
647
+ process.stdout.write(` ${ui.state("blocked")} ${r.repo}:${w.id} waiting on ${w.on.join(", ")}\n`);
481
648
  }
649
+ if (go.length === 0)
650
+ return [];
651
+ const drop = new Set(r.requirements.filter((id) => !go.includes(id)));
652
+ const args = [];
653
+ for (let k = 0; k < r.args.length; k += 1) {
654
+ if (r.args[k] === "--req" && drop.has(r.args[k + 1])) {
655
+ k += 1;
656
+ continue;
657
+ }
658
+ args.push(r.args[k]);
659
+ }
660
+ return [{ ...r, args, requirements: go }];
482
661
  });
483
- }
662
+ if (now.length === 0) {
663
+ runLevel(i + 1);
664
+ return;
665
+ }
666
+ let left = now.length;
667
+ for (const r of now) {
668
+ const log = path.join(logs, `${r.repo}.log`);
669
+ const fd = fs.openSync(log, "w");
670
+ const child = (0, node_child_process_1.spawn)(process.execPath, [cli, ...r.args], {
671
+ stdio: ["ignore", fd, fd],
672
+ env: {
673
+ ...process.env,
674
+ NO_COLOR: "1",
675
+ SPECGATE_STORY_CONTEXT: path.join(ws.dir, r.context),
676
+ },
677
+ });
678
+ if (!json)
679
+ process.stdout.write(` ${r.level} ${r.repo} started · ${path.relative(ws.dir, log)}\n`);
680
+ child.on("close", (code) => {
681
+ fs.closeSync(fd);
682
+ const exit = code ?? 1;
683
+ worst = Math.max(worst, exit);
684
+ results.push({ repo: r.repo, exit, log });
685
+ if (!json)
686
+ process.stdout.write(` ${ui.state(exit === 0 ? "done" : "blocked")} ${r.repo}\n`);
687
+ left -= 1;
688
+ if (left === 0)
689
+ runLevel(i + 1);
690
+ });
691
+ }
692
+ };
693
+ runLevel(0);
484
694
  }
485
695
  //# sourceMappingURL=WorkspaceCommand.js.map