@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.
- package/CHANGELOG.md +37 -0
- package/dist/packages/core/src/domain/Approvals.js +19 -4
- package/dist/packages/core/src/domain/Approvals.js.map +1 -1
- package/dist/packages/core/src/domain/ChangeLayers.js +6 -2
- package/dist/packages/core/src/domain/ChangeLayers.js.map +1 -1
- package/dist/packages/core/src/domain/WorkspaceStory.js +259 -0
- package/dist/packages/core/src/domain/WorkspaceStory.js.map +1 -0
- package/dist/scripts/change/instructions.js +8 -0
- package/dist/scripts/change/instructions.js.map +1 -1
- package/dist/scripts/cli/commands/change/ChangeCommand.js +62 -3
- package/dist/scripts/cli/commands/change/ChangeCommand.js.map +1 -1
- package/dist/scripts/cli/commands/harness/RunCommand.js +5 -4
- package/dist/scripts/cli/commands/harness/RunCommand.js.map +1 -1
- package/dist/scripts/cli/commands/project/InitProjectCommand.js +9 -14
- package/dist/scripts/cli/commands/project/InitProjectCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/DoneCommand.js +22 -0
- package/dist/scripts/cli/commands/spec/DoneCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/StatusCommand.js +73 -0
- package/dist/scripts/cli/commands/spec/StatusCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/StudioCommand.js +6 -6
- package/dist/scripts/cli/commands/spec/StudioCommand.js.map +1 -1
- package/dist/scripts/cli/commands/workspace/WorkspaceCommand.js +252 -42
- package/dist/scripts/cli/commands/workspace/WorkspaceCommand.js.map +1 -1
- package/dist/scripts/draft/confined-agent.js +2 -1
- package/dist/scripts/draft/confined-agent.js.map +1 -1
- package/dist/scripts/harness/prompt.js +50 -1
- package/dist/scripts/harness/prompt.js.map +1 -1
- package/dist/scripts/lib/story-part.js +73 -0
- package/dist/scripts/lib/story-part.js.map +1 -0
- package/dist/scripts/lib/surface.js +1 -1
- package/dist/scripts/lib/surface.js.map +1 -1
- package/dist/scripts/lib/temp-file.js +72 -0
- package/dist/scripts/lib/temp-file.js.map +1 -0
- package/dist/scripts/lib/workspace-draft.js +224 -0
- package/dist/scripts/lib/workspace-draft.js.map +1 -0
- package/dist/scripts/lib/workspace-live.js +9 -26
- package/dist/scripts/lib/workspace-live.js.map +1 -1
- package/dist/scripts/lib/workspace.js +325 -6
- package/dist/scripts/lib/workspace.js.map +1 -1
- 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
|
-
|
|
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,
|
|
71
|
-
|
|
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
|
-
|
|
177
|
-
|
|
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: {
|
|
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
|
-
|
|
259
|
-
|
|
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
|
-
|
|
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 ||
|
|
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
|
-
|
|
303
|
-
|
|
304
|
-
|
|
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
|
|
453
|
-
|
|
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
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
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
|