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

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 (30) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/packages/core/src/domain/ChangeLayers.js +6 -2
  3. package/dist/packages/core/src/domain/ChangeLayers.js.map +1 -1
  4. package/dist/packages/core/src/domain/WorkspaceStory.js +176 -0
  5. package/dist/packages/core/src/domain/WorkspaceStory.js.map +1 -0
  6. package/dist/scripts/change/instructions.js +8 -0
  7. package/dist/scripts/change/instructions.js.map +1 -1
  8. package/dist/scripts/cli/commands/change/ChangeCommand.js +57 -1
  9. package/dist/scripts/cli/commands/change/ChangeCommand.js.map +1 -1
  10. package/dist/scripts/cli/commands/project/InitProjectCommand.js +9 -14
  11. package/dist/scripts/cli/commands/project/InitProjectCommand.js.map +1 -1
  12. package/dist/scripts/cli/commands/spec/DoneCommand.js +22 -0
  13. package/dist/scripts/cli/commands/spec/DoneCommand.js.map +1 -1
  14. package/dist/scripts/cli/commands/spec/StatusCommand.js +73 -0
  15. package/dist/scripts/cli/commands/spec/StatusCommand.js.map +1 -1
  16. package/dist/scripts/cli/commands/spec/StudioCommand.js +6 -6
  17. package/dist/scripts/cli/commands/spec/StudioCommand.js.map +1 -1
  18. package/dist/scripts/cli/commands/workspace/WorkspaceCommand.js +170 -43
  19. package/dist/scripts/cli/commands/workspace/WorkspaceCommand.js.map +1 -1
  20. package/dist/scripts/harness/prompt.js +50 -1
  21. package/dist/scripts/harness/prompt.js.map +1 -1
  22. package/dist/scripts/lib/surface.js +1 -1
  23. package/dist/scripts/lib/surface.js.map +1 -1
  24. package/dist/scripts/lib/workspace-draft.js +146 -0
  25. package/dist/scripts/lib/workspace-draft.js.map +1 -0
  26. package/dist/scripts/lib/workspace-live.js +9 -26
  27. package/dist/scripts/lib/workspace-live.js.map +1 -1
  28. package/dist/scripts/lib/workspace.js +219 -6
  29. package/dist/scripts/lib/workspace.js.map +1 -1
  30. package/package.json +1 -1
@@ -43,6 +43,8 @@ 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 workspace_draft_1 = require("../../../lib/workspace-draft");
46
48
  const workspace_1 = require("../../../lib/workspace");
47
49
  const workspace_live_1 = require("../../../lib/workspace-live");
48
50
  const RunCommand_1 = require("../harness/RunCommand");
@@ -51,7 +53,7 @@ const project_root_1 = require("../../../lib/project-root");
51
53
  const NULL_SHAPE = { workspace: null };
52
54
  function usage() {
53
55
  process.stdout.write(`
54
- 🧩 ${ui_1.c.bold}specgate workspace${ui_1.c.reset} <init|status|check|propose|live|harness> [options]
56
+ 🧩 ${ui_1.c.bold}specgate workspace${ui_1.c.reset} <init|status|check|draft|propose|live|harness> [options]
55
57
 
56
58
  The repositories of one product, named in ${Workspace_1.WORKSPACE_FILE} (ADR-0041).
57
59
  Inside a repository REQ-012 is the id; across the workspace it is fleet:REQ-012.
@@ -62,13 +64,17 @@ function usage() {
62
64
  status each repository (requirements done, branch, last gate) and each story
63
65
  check each repository's own check, then the qualified ids and the
64
66
  dependencies between repositories; non-zero when any fails
65
- propose <story> --repos <a,b,…> [--title "<title>"]
67
+ draft [<story>] [--agent "<cmd>"]
68
+ the client's brief below a front matter naming its stories; with a
69
+ story, its story.md — an agent drafts it, confined to the story
70
+ propose <story> [--repos <a,b,…>] [--title "<title>"]
66
71
  a business story, and a change for it in each repository named
72
+ (the brief's repos when --repos is not given), carrying the story
67
73
  live [--port <n>] every repository's harness and every story, live (studio /live);
68
74
  --json prints the model once
69
75
  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
76
+ one harness per repository with an open part of the story, in the
77
+ order their dependencies ask; none when a base already fails
72
78
 
73
79
  Options: --project-dir <workspace dir>, --json.
74
80
  `);
@@ -93,6 +99,7 @@ class WorkspaceCommand extends command_1.BaseCommand {
93
99
  let force = false;
94
100
  const repoArgs = [];
95
101
  let repos = "";
102
+ let agent = "";
96
103
  const positional = [];
97
104
  for (let i = 1; i < argv.length; i += 1) {
98
105
  const a = argv[i];
@@ -106,6 +113,8 @@ class WorkspaceCommand extends command_1.BaseCommand {
106
113
  repos = argv[++i] || "";
107
114
  else if (a === "--title")
108
115
  title = argv[++i] || "";
116
+ else if (a === "--agent")
117
+ agent = argv[++i] || "";
109
118
  else if (a === "--force")
110
119
  force = true;
111
120
  else if (a === "--json")
@@ -119,7 +128,7 @@ class WorkspaceCommand extends command_1.BaseCommand {
119
128
  }),
120
129
  ]);
121
130
  }
122
- if (!["init", "status", "check", "propose"].includes(sub)) {
131
+ if (!["init", "status", "check", "draft", "propose"].includes(sub)) {
123
132
  io.usage(NULL_SHAPE, [
124
133
  (0, diagnostics_1.error)("unknown_subcommand", `workspace has no ${sub}.`, {
125
134
  fix: "specgate workspace --help",
@@ -171,10 +180,12 @@ class WorkspaceCommand extends command_1.BaseCommand {
171
180
  const config = { name: name || path.basename(dir), repos: members };
172
181
  fs.writeFileSync(file, (0, Workspace_1.renderWorkspace)(config), "utf8");
173
182
  (0, sonar_local_1.ensureIgnored)(dir, workspace_1.LAST_CHECK_FILE);
183
+ // REQ-349: each repository's log of a story's build is not committed.
184
+ (0, sonar_local_1.ensureIgnored)(dir, `${workspace_1.RUNS_DIR}/`);
174
185
  io.emit({ workspace: { file: Workspace_1.WORKSPACE_FILE, ...config } }, () => {
175
186
  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");
187
+ // REQ-348: name, path and role in their own columns.
188
+ process.stdout.write(ui.table(members.map((r) => [r.name, r.path, r.role])) + "\n");
178
189
  process.stdout.write(`\n ${ui.next("specgate workspace status", "each repository and each story")}\n`);
179
190
  });
180
191
  return;
@@ -210,6 +221,82 @@ class WorkspaceCommand extends command_1.BaseCommand {
210
221
  });
211
222
  return;
212
223
  }
224
+ if (sub === "draft") {
225
+ // REQ-339..340: the client's brief, its stories, and one story drafted.
226
+ const brief = (0, workspace_draft_1.workspaceBrief)(ws);
227
+ const id = positional[0] || "";
228
+ if (!id) {
229
+ io.emit({ workspace: brief }, () => {
230
+ process.stdout.write(ui.header("workspace draft", ws.config.name));
231
+ if (brief.created)
232
+ process.stdout.write(ui.fileLine("added", `${brief.file} the client's brief, below a front matter`) + "\n");
233
+ if (brief.stories.length === 0) {
234
+ process.stdout.write(`\n Name the stories of the brief in ${brief.file}'s front matter:\n` +
235
+ ` ${ui_1.c.muted}stories:\n - { id: follow-shipment, title: The client follows a shipment, repos: [${ws.config.repos
236
+ .slice(0, 2)
237
+ .map((r) => r.name)
238
+ .join(", ")}] }${ui_1.c.reset}\n` +
239
+ `\n ${ui.next("specgate workspace draft", "again, once they are named")}\n`);
240
+ return;
241
+ }
242
+ process.stdout.write(ui.section("Stories"));
243
+ process.stdout.write(ui.table(brief.stories.map((s) => [s.id, s.title, s.repos.join(", ")])) + "\n");
244
+ process.stdout.write(`\n ${ui.next(`specgate workspace draft ${brief.stories[0].id} --agent "claude -p"`, "its intent and criteria, from the brief")}\n`);
245
+ });
246
+ return;
247
+ }
248
+ const story = brief.stories.find((s) => s.id === id);
249
+ if (!story) {
250
+ io.usage(NULL_SHAPE, [
251
+ (0, diagnostics_1.error)("workspace_story_unnamed", `${brief.file} names no story ${id}.`, {
252
+ fix: `Add - { id: ${id}, title: …, repos: [${ws.config.repos.map((r) => r.name).join(", ")}] } under stories: in ${brief.file}.`,
253
+ }),
254
+ ]);
255
+ }
256
+ const unknownRepos = story.repos.filter((r) => !ws.dirs[r]);
257
+ if (unknownRepos.length) {
258
+ io.usage(NULL_SHAPE, [
259
+ (0, diagnostics_1.error)("workspace_story_repos", `Not repos of this workspace: ${unknownRepos.join(", ")}.`, {
260
+ fix: `repos: [${ws.config.repos.map((r) => r.name).join(", ")}]`,
261
+ }),
262
+ ]);
263
+ }
264
+ const written = (0, workspace_draft_1.scaffoldStory)(ws, story);
265
+ let ran = null;
266
+ if (agent) {
267
+ ran = (0, workspace_draft_1.draftStoryWithAgent)(ws, story, agent, !json);
268
+ if (!ran.ok) {
269
+ io.fail(NULL_SHAPE, [
270
+ (0, diagnostics_1.error)("workspace_draft_agent", ran.problem === "no_git"
271
+ ? "The workspace repository is not a git repository: the agent's writes cannot be confined."
272
+ : `The agent failed: ${ran.detail || "no detail"}`, {
273
+ fix: ran.problem === "no_git"
274
+ ? "git init"
275
+ : "Run the agent command by hand to see why.",
276
+ }),
277
+ ]);
278
+ }
279
+ }
280
+ io.emit({
281
+ workspace: {
282
+ story: story,
283
+ written,
284
+ agent: ran ? { wrote: ran.wrote, reverted: ran.reverted } : null,
285
+ },
286
+ }, () => {
287
+ process.stdout.write(ui.header("workspace draft", story.id));
288
+ for (const f of written)
289
+ process.stdout.write(ui.fileLine("added", f) + "\n");
290
+ if (ran) {
291
+ if (ran.permissionAdded)
292
+ 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`);
293
+ for (const f of ran.reverted)
294
+ process.stdout.write(` ${ui_1.c.warn}▲${ui_1.c.reset} undone: ${f}, outside the story\n`);
295
+ }
296
+ 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`);
297
+ });
298
+ return;
299
+ }
213
300
  if (sub === "check") {
214
301
  const result = (0, workspace_1.checkWorkspace)(ws);
215
302
  (0, workspace_1.recordCheck)(ws.dir, result);
@@ -227,7 +314,11 @@ class WorkspaceCommand extends command_1.BaseCommand {
227
314
  ...result.problems,
228
315
  ];
229
316
  const payload = {
230
- workspace: { ok: result.ok, repos: result.repos.map((r) => ({ name: r.name, ok: r.ok })) },
317
+ workspace: {
318
+ ok: result.ok,
319
+ repos: result.repos.map((r) => ({ name: r.name, ok: r.ok })),
320
+ warnings: result.warnings,
321
+ },
231
322
  };
232
323
  if (!result.ok) {
233
324
  if (json)
@@ -242,6 +333,8 @@ class WorkspaceCommand extends command_1.BaseCommand {
242
333
  process.stdout.write(ui.header("workspace check", ws.config.name));
243
334
  for (const r of result.repos)
244
335
  process.stdout.write(` ${ui.state("done")} ${r.name}\n`);
336
+ if (result.warnings.length)
337
+ (0, diagnostics_1.printDiagnostics)(result.warnings);
245
338
  process.stdout.write(`\n ${ui_1.c.ok}✔${ui_1.c.reset} Every repository passes, and the links between them hold.\n`);
246
339
  });
247
340
  return;
@@ -255,8 +348,9 @@ class WorkspaceCommand extends command_1.BaseCommand {
255
348
  }),
256
349
  ]);
257
350
  }
258
- const names = repos
259
- .split(",")
351
+ // REQ-342: a story drafted from the brief brings its repositories and title.
352
+ const fromBrief = (0, workspace_draft_1.readWorkspaceStories)(ws).find((s) => s.id === story);
353
+ const names = (repos ? repos.split(",") : fromBrief ? fromBrief.repos : [])
260
354
  .map((s) => s.trim())
261
355
  .filter(Boolean);
262
356
  const unknown = names.filter((n) => !ws.dirs[n]);
@@ -268,7 +362,8 @@ class WorkspaceCommand extends command_1.BaseCommand {
268
362
  ]);
269
363
  }
270
364
  const storyDir = path.join(ws.dir, Workspace_1.STORIES_DIR, story);
271
- if (fs.existsSync(storyDir)) {
365
+ const existing = (0, workspace_1.readStories)(ws.dir).find((s) => s.id === story);
366
+ if (existing && existing.subchanges.length > 0) {
272
367
  io.fail(NULL_SHAPE, [
273
368
  (0, diagnostics_1.error)("workspace_story_exists", `The story ${story} already exists.`, {
274
369
  fix: "specgate workspace status",
@@ -283,10 +378,15 @@ class WorkspaceCommand extends command_1.BaseCommand {
283
378
  }),
284
379
  ]);
285
380
  }
286
- const storyTitle = title || story.replace(/-/g, " ");
381
+ const storyTitle = title ||
382
+ (existing && existing.title) ||
383
+ (fromBrief && fromBrief.title) ||
384
+ story.replace(/-/g, " ");
385
+ const storyMd = path.join(storyDir, "story.md");
386
+ const storyText = fs.existsSync(storyMd) ? fs.readFileSync(storyMd, "utf8") : "";
287
387
  const failed = [];
288
388
  for (const n of names) {
289
- const p = (0, workspace_1.openSubChange)(ws, n, story, storyTitle);
389
+ const p = (0, workspace_1.openSubChange)(ws, n, story, storyTitle, { storyText, repos: names });
290
390
  if (p)
291
391
  failed.push(p);
292
392
  }
@@ -299,9 +399,11 @@ class WorkspaceCommand extends command_1.BaseCommand {
299
399
  subchanges: names.map((n) => ({ repo: n, change: story })),
300
400
  };
301
401
  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");
402
+ if (!storyText) {
403
+ 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` +
404
+ names.map((n) => `- \`${n}\`: \`docs/specs/changes/${story}/\``).join("\n") +
405
+ "\n", "utf8");
406
+ }
305
407
  io.emit({ workspace: { story: record } }, () => {
306
408
  process.stdout.write(ui.header("workspace propose", story));
307
409
  for (const n of names)
@@ -348,6 +450,9 @@ function siblings(dir) {
348
450
  : "service";
349
451
  out.push({ name: repoName, path: `../${e.name}`, role, capabilities: capabilitiesOf(full) });
350
452
  }
453
+ // REQ-348: truck-flote-fleet and truck-flote-web are fleet and web.
454
+ const short = (0, WorkspaceStory_1.shortNames)(out.map((r) => r.name));
455
+ out.forEach((r, i) => (r.name = short[i]));
351
456
  return out.sort((a, b) => a.name.localeCompare(b.name));
352
457
  }
353
458
  /** The value after a flag, or "". */
@@ -395,6 +500,9 @@ function runLiveOrHarness(argv, json, io) {
395
500
  ]);
396
501
  }
397
502
  const runs = [];
503
+ // REQ-345: a repository waiting on another's part runs after it.
504
+ const levels = (0, workspace_1.storyLevels)(ws, story);
505
+ const logs = path.join(ws.dir, workspace_1.RUNS_DIR, story.id);
398
506
  const red = [];
399
507
  for (const sc of story.subchanges) {
400
508
  const memberDir = ws.dirs[sc.repo];
@@ -424,24 +532,32 @@ function runLiveOrHarness(argv, json, io) {
424
532
  ...ids.flatMap((id) => ["--req", id]),
425
533
  ...passthrough,
426
534
  ];
535
+ // REQ-344: what the other repositories of the story build, for the prompt.
536
+ const context = path.join(logs, `${sc.repo}.context.md`);
427
537
  runs.push({
428
538
  repo: sc.repo,
429
539
  dir: memberDir,
430
540
  requirements: ids,
431
541
  args,
432
542
  command: `specgate ${args.map((a) => (/\s/.test(a) ? JSON.stringify(a) : a)).join(" ")}`,
543
+ level: levels[sc.repo] || 1,
544
+ context: path.relative(ws.dir, context).split(path.sep).join("/"),
433
545
  });
434
546
  }
435
547
  if (red.length)
436
548
  io.fail({ harness: null }, red);
549
+ fs.mkdirSync(logs, { recursive: true });
550
+ for (const r of runs)
551
+ fs.writeFileSync(path.join(ws.dir, r.context), (0, workspace_1.storyContext)(ws, story, r.repo), "utf8");
437
552
  const payload = {
438
553
  harness: { story: story.id, runs: runs.map(({ dir: _d, args: _a, ...r }) => r) },
439
554
  };
555
+ runs.sort((a, b) => a.level - b.level || a.repo.localeCompare(b.repo));
440
556
  if (own.includes("--dry-run")) {
441
557
  io.emit(payload, () => {
442
558
  process.stdout.write(ui.header("workspace harness run", `${story.id} · dry run`));
443
559
  for (const r of runs)
444
- process.stdout.write(` ${r.repo} ${ui_1.c.muted}${r.command}${ui_1.c.reset}\n`);
560
+ process.stdout.write(` ${r.level} ${r.repo} ${ui_1.c.muted}${r.command}${ui_1.c.reset}\n`);
445
561
  });
446
562
  return;
447
563
  }
@@ -449,37 +565,48 @@ function runLiveOrHarness(argv, json, io) {
449
565
  io.emit(payload, () => process.stdout.write(" Nothing open to build in this story.\n"));
450
566
  return;
451
567
  }
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);
568
+ // One process per repository; the repositories of a level at once, each
569
+ // level once the one before has finished (REQ-345).
454
570
  fs.mkdirSync(logs, { recursive: true });
455
571
  if (!json)
456
572
  process.stdout.write(ui.header("workspace harness run", story.id));
457
- let left = runs.length;
458
573
  let worst = 0;
459
574
  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 });
575
+ const byLevel = [...new Set(runs.map((r) => r.level))].sort((a, b) => a - b);
576
+ const runLevel = (i) => {
577
+ if (i >= byLevel.length) {
578
+ if (json)
579
+ process.stdout.write(JSON.stringify({ harness: { story: story.id, results } }) + "\n");
580
+ process.exit(worst);
581
+ }
582
+ const now = runs.filter((r) => r.level === byLevel[i]);
583
+ let left = now.length;
584
+ for (const r of now) {
585
+ const log = path.join(logs, `${r.repo}.log`);
586
+ const fd = fs.openSync(log, "w");
587
+ const child = (0, node_child_process_1.spawn)(process.execPath, [cli, ...r.args], {
588
+ stdio: ["ignore", fd, fd],
589
+ env: {
590
+ ...process.env,
591
+ NO_COLOR: "1",
592
+ SPECGATE_STORY_CONTEXT: path.join(ws.dir, r.context),
593
+ },
594
+ });
474
595
  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);
481
- }
482
- });
483
- }
596
+ process.stdout.write(` ${r.level} ${r.repo} started · ${path.relative(ws.dir, log)}\n`);
597
+ child.on("close", (code) => {
598
+ fs.closeSync(fd);
599
+ const exit = code ?? 1;
600
+ worst = Math.max(worst, exit);
601
+ results.push({ repo: r.repo, exit, log });
602
+ if (!json)
603
+ process.stdout.write(` ${ui.state(exit === 0 ? "done" : "blocked")} ${r.repo}\n`);
604
+ left -= 1;
605
+ if (left === 0)
606
+ runLevel(i + 1);
607
+ });
608
+ }
609
+ };
610
+ runLevel(0);
484
611
  }
485
612
  //# sourceMappingURL=WorkspaceCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceCommand.js","sourceRoot":"","sources":["../../../../../scripts/cli/commands/workspace/WorkspaceCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkspaceCommand.js","sourceRoot":"","sources":["../../../../../scripts/cli/commands/workspace/WorkspaceCommand.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,42 @@
2
2
  /**
3
3
  * Builds the structured prompt handed to a coding agent for one requirement.
4
4
  */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
5
38
  Object.defineProperty(exports, "__esModule", { value: true });
6
39
  exports.buildPrompt = buildPrompt;
40
+ const fs = __importStar(require("node:fs"));
7
41
  const instructions_1 = require("../change/instructions");
8
42
  const DiskHarnessConfigRepository_1 = require("../../packages/core/src/infrastructure/DiskHarnessConfigRepository");
9
43
  const GenerateAgentPromptUseCase_1 = require("../../packages/core/src/application/GenerateAgentPromptUseCase");
@@ -35,6 +69,21 @@ function buildPrompt(req, projectDir, opts = {}) {
35
69
  });
36
70
  // REQ-316: what each role asks of this requirement, written once by that role.
37
71
  const roles = (0, role_packages_1.rolePromptSection)((0, role_packages_1.packagesFor)(projectDir, String(req.requirement || "")));
38
- return roles ? `${prompt.replace(/\n*$/, "\n")}\n${roles}` : prompt;
72
+ const withRoles = roles ? `${prompt.replace(/\n*$/, "\n")}\n${roles}` : prompt;
73
+ // REQ-344: a story's other parts, handed over by `workspace harness run`.
74
+ const story = storyContext();
75
+ return story ? `${withRoles.replace(/\n*$/, "\n")}\n${story}` : withRoles;
76
+ }
77
+ /** The workspace story this run builds a part of, when `workspace harness run` names one. */
78
+ function storyContext() {
79
+ const file = process.env.SPECGATE_STORY_CONTEXT;
80
+ if (!file)
81
+ return "";
82
+ try {
83
+ return fs.readFileSync(file, "utf8").trim() + "\n";
84
+ }
85
+ catch {
86
+ return "";
87
+ }
39
88
  }
40
89
  //# sourceMappingURL=prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../scripts/harness/prompt.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAkCH,kCAeC;AA/CD,yDAAgD;AAChD,oHAAiH;AACjH,+GAA4G;AAK5G,wDAAsE;AAItE;;;;;;GAMG;AACH,MAAM,aAAa,GAAa;IAC9B,GAAG,CAAC,qBAAM,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,0DAA0D,CAAC,IAAI,CAAC,CAAC,CAAC,CAC3E;IACD,2FAA2F;QACzF,kFAAkF;IACpF,kEAAkE;IAClE,+EAA+E;IAC/E,wFAAwF;QACtF,uFAAuF;QACvF,0EAA0E;IAC5E,2QAA2Q;CAC5Q,CAAC;AAEF,SAAgB,WAAW,CACzB,GAA4B,EAC5B,UAAkB,EAClB,OAAsB,EAAE;IAExB,MAAM,IAAI,GAAG,IAAI,yDAA2B,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,uDAA0B,CAAC,IAAI,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAwB,EAAE,UAAU,EAAE;QACnE,GAAG,IAAI;QACP,UAAU,EAAE,aAAa;KAC1B,CAAC,CAAC;IACH,+EAA+E;IAC/E,MAAM,KAAK,GAAG,IAAA,iCAAiB,EAAC,IAAA,2BAAW,EAAC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACxF,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../scripts/harness/prompt.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCH,kCAkBC;AAnDD,4CAA8B;AAC9B,yDAAgD;AAChD,oHAAiH;AACjH,+GAA4G;AAK5G,wDAAsE;AAItE;;;;;;GAMG;AACH,MAAM,aAAa,GAAa;IAC9B,GAAG,CAAC,qBAAM,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,0DAA0D,CAAC,IAAI,CAAC,CAAC,CAAC,CAC3E;IACD,2FAA2F;QACzF,kFAAkF;IACpF,kEAAkE;IAClE,+EAA+E;IAC/E,wFAAwF;QACtF,uFAAuF;QACvF,0EAA0E;IAC5E,2QAA2Q;CAC5Q,CAAC;AAEF,SAAgB,WAAW,CACzB,GAA4B,EAC5B,UAAkB,EAClB,OAAsB,EAAE;IAExB,MAAM,IAAI,GAAG,IAAI,yDAA2B,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,uDAA0B,CAAC,IAAI,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAwB,EAAE,UAAU,EAAE;QACnE,GAAG,IAAI;QACP,UAAU,EAAE,aAAa;KAC1B,CAAC,CAAC;IACH,+EAA+E;IAC/E,MAAM,KAAK,GAAG,IAAA,iCAAiB,EAAC,IAAA,2BAAW,EAAC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACxF,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC/E,0EAA0E;IAC1E,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5E,CAAC;AAED,6FAA6F;AAC7F,SAAS,YAAY;IACnB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAChD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -216,7 +216,7 @@ exports.SURFACE = [
216
216
  icon: "🧩",
217
217
  summary: "The repositories of one product: status, check, a story across them, built and watched live (ADR-0041).",
218
218
  },
219
- json: { key: "workspace", gate: true, args: "<init|status|check|propose|live|harness>" },
219
+ json: { key: "workspace", gate: true, args: "<init|status|check|draft|propose|live|harness>" },
220
220
  },
221
221
  {
222
222
  name: "drift",