@rsaglobaltech/specgate 0.18.0 → 0.20.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.
Files changed (211) hide show
  1. package/CHANGELOG.md +122 -1
  2. package/bin/specgate.ts +47 -47
  3. package/dist/bin/specgate.js +47 -46
  4. package/dist/bin/specgate.js.map +1 -1
  5. package/dist/packages/core/src/application/ArchiveChangeUseCase.js +1 -1
  6. package/dist/packages/core/src/application/ArchiveChangeUseCase.js.map +1 -1
  7. package/dist/packages/core/src/application/ValidateProjectUseCase.js +1 -1
  8. package/dist/packages/core/src/application/ValidateProjectUseCase.js.map +1 -1
  9. package/dist/packages/core/src/domain/ChangeTemplates.js +1 -1
  10. package/dist/packages/core/src/domain/DeltaFeature.js +3 -3
  11. package/dist/packages/core/src/domain/DeltaFeature.js.map +1 -1
  12. package/dist/packages/core/src/domain/DerivedMatrix.js +9 -9
  13. package/dist/packages/core/src/domain/DerivedMatrix.js.map +1 -1
  14. package/dist/packages/core/src/domain/DoneVerification.js +10 -2
  15. package/dist/packages/core/src/domain/DoneVerification.js.map +1 -1
  16. package/dist/packages/core/src/domain/DraftChecklist.js +3 -3
  17. package/dist/packages/core/src/domain/DraftChecklist.js.map +1 -1
  18. package/dist/packages/core/src/domain/GherkinTags.js +12 -12
  19. package/dist/packages/core/src/domain/GherkinTags.js.map +1 -1
  20. package/dist/packages/core/src/domain/HarnessConfig.js +1 -0
  21. package/dist/packages/core/src/domain/HarnessConfig.js.map +1 -1
  22. package/dist/packages/core/src/domain/InboundChange.js +1 -1
  23. package/dist/packages/core/src/domain/InboundChange.js.map +1 -1
  24. package/dist/packages/core/src/domain/Language.js +2 -2
  25. package/dist/packages/core/src/domain/Language.js.map +1 -1
  26. package/dist/packages/core/src/domain/Lockfile.js +7 -7
  27. package/dist/packages/core/src/domain/Lockfile.js.map +1 -1
  28. package/dist/packages/core/src/domain/PackDelta.js +1 -1
  29. package/dist/packages/core/src/domain/PackDelta.js.map +1 -1
  30. package/dist/packages/core/src/domain/RequirementGraph.js +2 -2
  31. package/dist/packages/core/src/domain/SpecParser.js +6 -6
  32. package/dist/packages/core/src/domain/SpecParser.js.map +1 -1
  33. package/dist/packages/core/src/domain/TraceMerge.js +4 -4
  34. package/dist/packages/core/src/domain/TraceMerge.js.map +1 -1
  35. package/dist/packages/core/src/domain/TraceabilityFormat.js +4 -4
  36. package/dist/packages/core/src/domain/TraceabilityFormat.js.map +1 -1
  37. package/dist/packages/core/src/domain/ValueAnnotations.js +8 -8
  38. package/dist/packages/core/src/domain/ValueAnnotations.js.map +1 -1
  39. package/dist/packages/core/src/domain/WriteScope.js +3 -3
  40. package/dist/packages/core/src/domain/WriteScope.js.map +1 -1
  41. package/dist/packages/core/src/infrastructure/ChangeWorkspace.js +2 -2
  42. package/dist/packages/core/src/infrastructure/ChangeWorkspace.js.map +1 -1
  43. package/dist/packages/core/src/infrastructure/ConsoleReporter.js +2 -2
  44. package/dist/packages/core/src/infrastructure/ConsoleReporter.js.map +1 -1
  45. package/dist/packages/core/src/infrastructure/DerivedMatrixSources.js +2 -2
  46. package/dist/packages/core/src/infrastructure/DerivedMatrixSources.js.map +1 -1
  47. package/dist/packages/core/src/infrastructure/DiskLanguageRepository.js +4 -4
  48. package/dist/packages/core/src/infrastructure/DiskLanguageRepository.js.map +1 -1
  49. package/dist/packages/core/src/infrastructure/DiskPackDeltaRepository.js +1 -1
  50. package/dist/packages/core/src/infrastructure/DiskPackDeltaRepository.js.map +1 -1
  51. package/dist/packages/core/src/infrastructure/GitContributionStager.js +3 -3
  52. package/dist/packages/core/src/infrastructure/GitContributionStager.js.map +1 -1
  53. package/dist/packages/core/src/infrastructure/HarnessConfigFile.js +12 -3
  54. package/dist/packages/core/src/infrastructure/HarnessConfigFile.js.map +1 -1
  55. package/dist/packages/core/src/infrastructure/RemotePackResolver.js +5 -5
  56. package/dist/packages/core/src/infrastructure/RemotePackResolver.js.map +1 -1
  57. package/dist/packages/core/test/unit/delta-feature.test.js +3 -3
  58. package/dist/packages/core/test/unit/delta-feature.test.js.map +1 -1
  59. package/dist/packages/core/test/unit/derived-matrix.test.js +8 -8
  60. package/dist/packages/core/test/unit/derived-matrix.test.js.map +1 -1
  61. package/dist/packages/core/test/unit/gherkin-tags.test.js +8 -8
  62. package/dist/packages/core/test/unit/gherkin-tags.test.js.map +1 -1
  63. package/dist/packages/core/test/unit/inbound-change.test.js +1 -1
  64. package/dist/packages/core/test/unit/inbound-change.test.js.map +1 -1
  65. package/dist/packages/core/test/unit/matrix-dependencies.test.js +5 -5
  66. package/dist/packages/core/test/unit/matrix-dependencies.test.js.map +1 -1
  67. package/dist/packages/core/test/unit/new-requirement.test.js +1 -1
  68. package/dist/packages/core/test/unit/new-requirement.test.js.map +1 -1
  69. package/dist/packages/core/test/unit/value-annotations.test.js +5 -5
  70. package/dist/packages/core/test/unit/value-annotations.test.js.map +1 -1
  71. package/dist/packages/core/test/unit/write-scope-status.test.js +5 -5
  72. package/dist/packages/core/test/unit/write-scope-status.test.js.map +1 -1
  73. package/dist/packages/mcp-spec-driven/src/native-tools.js +3 -3
  74. package/dist/packages/mcp-spec-driven/src/native-tools.js.map +1 -1
  75. package/dist/packages/mcp-spec-driven/src/server.js +1 -7
  76. package/dist/packages/mcp-spec-driven/src/server.js.map +1 -1
  77. package/dist/packages/mcp-spec-driven/src/tools.js +4 -4
  78. package/dist/packages/mcp-spec-driven/src/tools.js.map +1 -1
  79. package/dist/scripts/add.js +10 -0
  80. package/dist/scripts/add.js.map +1 -0
  81. package/dist/scripts/agents/init.js +26 -47
  82. package/dist/scripts/agents/init.js.map +1 -1
  83. package/dist/scripts/alm/cli.js +37 -3
  84. package/dist/scripts/alm/cli.js.map +1 -1
  85. package/dist/scripts/alm/providers/index.js +1 -1
  86. package/dist/scripts/alm/providers/index.js.map +1 -1
  87. package/dist/scripts/change/instructions.js +2 -2
  88. package/dist/scripts/change/instructions.js.map +1 -1
  89. package/dist/scripts/cli/commands/alm/PullCommand.js +1 -1
  90. package/dist/scripts/cli/commands/alm/PullCommand.js.map +1 -1
  91. package/dist/scripts/cli/commands/change/ChangeCommand.js +99 -98
  92. package/dist/scripts/cli/commands/change/ChangeCommand.js.map +1 -1
  93. package/dist/scripts/cli/commands/config/CiInitCommand.js +6 -4
  94. package/dist/scripts/cli/commands/config/CiInitCommand.js.map +1 -1
  95. package/dist/scripts/cli/commands/config/CompletionCommand.js +10 -10
  96. package/dist/scripts/cli/commands/config/CompletionCommand.js.map +1 -1
  97. package/dist/scripts/cli/commands/config/ConfigInitCommand.js +11 -19
  98. package/dist/scripts/cli/commands/config/ConfigInitCommand.js.map +1 -1
  99. package/dist/scripts/cli/commands/config/ConfigSetCommand.js +24 -11
  100. package/dist/scripts/cli/commands/config/ConfigSetCommand.js.map +1 -1
  101. package/dist/scripts/cli/commands/harness/RunCommand.js +94 -38
  102. package/dist/scripts/cli/commands/harness/RunCommand.js.map +1 -1
  103. package/dist/scripts/cli/commands/pack/BundlePackCommand.js +36 -2
  104. package/dist/scripts/cli/commands/pack/BundlePackCommand.js.map +1 -1
  105. package/dist/scripts/cli/commands/pack/ExpandDomainPackCommand.js +2 -2
  106. package/dist/scripts/cli/commands/pack/ExpandDomainPackCommand.js.map +1 -1
  107. package/dist/scripts/cli/commands/pack/InferPackCommand.js +2 -1
  108. package/dist/scripts/cli/commands/pack/InferPackCommand.js.map +1 -1
  109. package/dist/scripts/cli/commands/pack/InitPackCommand.js +23 -32
  110. package/dist/scripts/cli/commands/pack/InitPackCommand.js.map +1 -1
  111. package/dist/scripts/cli/commands/pack/LintPackCommand.js +4 -3
  112. package/dist/scripts/cli/commands/pack/LintPackCommand.js.map +1 -1
  113. package/dist/scripts/cli/commands/project/AddCommand.js +75 -0
  114. package/dist/scripts/cli/commands/project/AddCommand.js.map +1 -0
  115. package/dist/scripts/cli/commands/project/AdoptCommand.js +9 -3
  116. package/dist/scripts/cli/commands/project/AdoptCommand.js.map +1 -1
  117. package/dist/scripts/cli/commands/project/Forja.js +104 -0
  118. package/dist/scripts/cli/commands/project/Forja.js.map +1 -0
  119. package/dist/scripts/cli/commands/project/InitProjectCommand.js +61 -6
  120. package/dist/scripts/cli/commands/project/InitProjectCommand.js.map +1 -1
  121. package/dist/scripts/cli/commands/project/OnboardCommand.js +17 -24
  122. package/dist/scripts/cli/commands/project/OnboardCommand.js.map +1 -1
  123. package/dist/scripts/cli/commands/project/UpdateCommand.js +23 -43
  124. package/dist/scripts/cli/commands/project/UpdateCommand.js.map +1 -1
  125. package/dist/scripts/cli/commands/quality/CheckCommand.js +50 -22
  126. package/dist/scripts/cli/commands/quality/CheckCommand.js.map +1 -1
  127. package/dist/scripts/cli/commands/quality/DoctorCommand.js +27 -10
  128. package/dist/scripts/cli/commands/quality/DoctorCommand.js.map +1 -1
  129. package/dist/scripts/cli/commands/quality/FixCommand.js +24 -29
  130. package/dist/scripts/cli/commands/quality/FixCommand.js.map +1 -1
  131. package/dist/scripts/cli/commands/quality/ReportCommand.js +8 -4
  132. package/dist/scripts/cli/commands/quality/ReportCommand.js.map +1 -1
  133. package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js +69 -16
  134. package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js.map +1 -1
  135. package/dist/scripts/cli/commands/spec/DoneCommand.js +69 -28
  136. package/dist/scripts/cli/commands/spec/DoneCommand.js.map +1 -1
  137. package/dist/scripts/cli/commands/spec/DraftCommand.js +166 -81
  138. package/dist/scripts/cli/commands/spec/DraftCommand.js.map +1 -1
  139. package/dist/scripts/cli/commands/spec/MatrixCommand.js +24 -27
  140. package/dist/scripts/cli/commands/spec/MatrixCommand.js.map +1 -1
  141. package/dist/scripts/cli/commands/spec/NewCommand.js +11 -14
  142. package/dist/scripts/cli/commands/spec/NewCommand.js.map +1 -1
  143. package/dist/scripts/cli/commands/spec/PetCommand.js +102 -0
  144. package/dist/scripts/cli/commands/spec/PetCommand.js.map +1 -0
  145. package/dist/scripts/cli/commands/spec/PlanCommand.js +34 -39
  146. package/dist/scripts/cli/commands/spec/PlanCommand.js.map +1 -1
  147. package/dist/scripts/cli/commands/spec/ReqCommand.js +51 -58
  148. package/dist/scripts/cli/commands/spec/ReqCommand.js.map +1 -1
  149. package/dist/scripts/cli/commands/spec/StatusCommand.js +93 -47
  150. package/dist/scripts/cli/commands/spec/StatusCommand.js.map +1 -1
  151. package/dist/scripts/cli/commands/spec/StudioCommand.js +16 -24
  152. package/dist/scripts/cli/commands/spec/StudioCommand.js.map +1 -1
  153. package/dist/scripts/cli/commands/specops/ContributeCommand.js +24 -32
  154. package/dist/scripts/cli/commands/specops/ContributeCommand.js.map +1 -1
  155. package/dist/scripts/cli/commands/specops/DiffCommand.js +3 -2
  156. package/dist/scripts/cli/commands/specops/DiffCommand.js.map +1 -1
  157. package/dist/scripts/cli/commands/specops/SyncCommand.js +4 -3
  158. package/dist/scripts/cli/commands/specops/SyncCommand.js.map +1 -1
  159. package/dist/scripts/docs/blocks.js +4 -4
  160. package/dist/scripts/docs/blocks.js.map +1 -1
  161. package/dist/scripts/docs/build-site.js +104 -9
  162. package/dist/scripts/docs/build-site.js.map +1 -1
  163. package/dist/scripts/docs/components.js +30 -25
  164. package/dist/scripts/docs/components.js.map +1 -1
  165. package/dist/scripts/docs/nav.js +144 -40
  166. package/dist/scripts/docs/nav.js.map +1 -1
  167. package/dist/scripts/docs/record-journey.js +2 -2
  168. package/dist/scripts/docs/record-journey.js.map +1 -1
  169. package/dist/scripts/docs/record-terminal.js +12 -12
  170. package/dist/scripts/docs/record-terminal.js.map +1 -1
  171. package/dist/scripts/draft/brief-setup.js +4 -0
  172. package/dist/scripts/draft/brief-setup.js.map +1 -1
  173. package/dist/scripts/draft/confined-agent.js +19 -0
  174. package/dist/scripts/draft/confined-agent.js.map +1 -1
  175. package/dist/scripts/draft/drafting-guide.js +3 -1
  176. package/dist/scripts/draft/drafting-guide.js.map +1 -1
  177. package/dist/scripts/gen_mcp_tools.js +4 -4
  178. package/dist/scripts/gen_mcp_tools.js.map +1 -1
  179. package/dist/scripts/harness/init.js +25 -16
  180. package/dist/scripts/harness/init.js.map +1 -1
  181. package/dist/scripts/harness/report.js +39 -40
  182. package/dist/scripts/harness/report.js.map +1 -1
  183. package/dist/scripts/harness/worktree-lock.js +2 -2
  184. package/dist/scripts/harness/worktree-lock.js.map +1 -1
  185. package/dist/scripts/lib/command.js +3 -2
  186. package/dist/scripts/lib/command.js.map +1 -1
  187. package/dist/scripts/lib/derived-writes.js +1 -1
  188. package/dist/scripts/lib/diagnostics.js +12 -16
  189. package/dist/scripts/lib/diagnostics.js.map +1 -1
  190. package/dist/scripts/lib/placeholders.js +4 -4
  191. package/dist/scripts/lib/placeholders.js.map +1 -1
  192. package/dist/scripts/lib/surface.js +45 -14
  193. package/dist/scripts/lib/surface.js.map +1 -1
  194. package/dist/scripts/lib/ui.js +356 -0
  195. package/dist/scripts/lib/ui.js.map +1 -0
  196. package/dist/scripts/merge-traceability.js +3 -3
  197. package/dist/scripts/pet/pet.js +331 -0
  198. package/dist/scripts/pet/pet.js.map +1 -0
  199. package/dist/scripts/pet.js +10 -0
  200. package/dist/scripts/pet.js.map +1 -0
  201. package/dist/scripts/plugin/gate-hook.js +1 -1
  202. package/dist/scripts/plugin/gate-hook.js.map +1 -1
  203. package/dist/scripts/schema/registry.js +2 -2
  204. package/dist/scripts/schema/registry.js.map +1 -1
  205. package/dist/scripts/specops/add.js +23 -32
  206. package/dist/scripts/specops/add.js.map +1 -1
  207. package/dist/scripts/specops/lock.js +4 -4
  208. package/dist/scripts/specops/lock.js.map +1 -1
  209. package/dist/scripts/specops/remove.js +15 -24
  210. package/dist/scripts/specops/remove.js.map +1 -1
  211. package/package.json +1 -2
@@ -49,16 +49,8 @@ const path = __importStar(require("node:path"));
49
49
  const project_root_2 = require("../../../lib/project-root");
50
50
  const derived_writes_1 = require("../../../lib/derived-writes");
51
51
  const MatrixCommand_1 = require("./MatrixCommand");
52
- const COLOR_ENABLED = process.stdout.isTTY && process.env.NO_COLOR === undefined && process.env.TERM !== "dumb";
53
- const c = {
54
- reset: COLOR_ENABLED ? "\x1b[0m" : "",
55
- bold: COLOR_ENABLED ? "\x1b[1m" : "",
56
- dim: COLOR_ENABLED ? "\x1b[2m" : "",
57
- red: COLOR_ENABLED ? "\x1b[31m" : "",
58
- green: COLOR_ENABLED ? "\x1b[32m" : "",
59
- yellow: COLOR_ENABLED ? "\x1b[33m" : "",
60
- cyan: COLOR_ENABLED ? "\x1b[36m" : "",
61
- };
52
+ const ui_1 = require("../../../lib/ui");
53
+ const ui = __importStar(require("../../../lib/ui"));
62
54
  exports.ALLOWED_STATUSES = [
63
55
  "Draft",
64
56
  "Approved",
@@ -200,9 +192,12 @@ class DoneCommand extends command_1.BaseCommand {
200
192
  strict: opts.strict,
201
193
  reqId: opts.reqId || undefined,
202
194
  testCmd: opts.testCmd || harness.testCmd,
195
+ archCmd: harness.archCmd,
203
196
  });
197
+ if (!opts.json)
198
+ process.stdout.write(ui.header(`done ${opts.reqId}`, opts.status));
204
199
  for (const step of plan.steps) {
205
- const run = step.stage === "validate"
200
+ const exec = () => step.stage === "validate"
206
201
  ? (0, node_child_process_1.spawnSync)(process.execPath, [
207
202
  path.join((0, project_root_2.findCliRoot)(__dirname), "bin", "specgate.js"),
208
203
  "validate",
@@ -214,13 +209,19 @@ class DoneCommand extends command_1.BaseCommand {
214
209
  encoding: "utf8",
215
210
  shell: true,
216
211
  });
212
+ const label = step.stage === "validate"
213
+ ? `Specification ${ui.muted(`the gate, for ${opts.reqId}`)}`
214
+ : step.stage === "arch"
215
+ ? `Architecture ${ui.muted(step.argv[0])}`
216
+ : `Tests ${ui.muted(step.argv[0])}`;
217
+ const run = opts.json ? exec() : ui.task(label, exec, (r) => ({ ok: r.status === 0 }));
217
218
  if (run.status === 0)
218
219
  continue;
219
220
  // The output is the evidence, and it goes out *before* the diagnostic:
220
221
  // `io.fail` never returns, so anything written after it is dead code.
221
222
  const detail = `${run.stdout || ""}${run.stderr || ""}`.trim();
222
223
  if (detail && !opts.json)
223
- process.stderr.write(`${detail}\n\n`);
224
+ process.stderr.write("\n" + indent(detail) + "\n\n");
224
225
  // Over JSON (and so over MCP) the reason has to travel in the document:
225
226
  // the agent got `done_validate_failed` and nothing it could act on.
226
227
  let findings = [];
@@ -235,14 +236,22 @@ class DoneCommand extends command_1.BaseCommand {
235
236
  }
236
237
  io.fail(NULL_SHAPE, [
237
238
  ...findings,
238
- (0, diagnostics_1.error)(step.stage === "validate" ? "done_validate_failed" : "done_tests_failed", step.stage === "validate"
239
+ (0, diagnostics_1.error)(step.stage === "validate"
240
+ ? "done_validate_failed"
241
+ : step.stage === "arch"
242
+ ? "done_arch_failed"
243
+ : "done_tests_failed", step.stage === "validate"
239
244
  ? `not marked ${opts.status}: validation failed.`
240
- : `not marked ${opts.status}: the project's tests failed.`, {
245
+ : step.stage === "arch"
246
+ ? `not marked ${opts.status}: the architecture check failed.`
247
+ : `not marked ${opts.status}: the project's tests failed.`, {
241
248
  target: opts.reqId,
242
249
  fix: step.stage === "validate"
243
250
  ? "Fix what validate reports, then run `done` again."
244
- : `Make \`${step.argv[0]}\` pass, then run \`done\` again. A requirement ` +
245
- `marked Implemented over a red suite is the claim this gate exists to stop.`,
251
+ : step.stage === "arch"
252
+ ? `Make \`${step.argv[0]}\` pass — move the code where the architecture expects it — then run \`done\` again.`
253
+ : `Make \`${step.argv[0]}\` pass, then run \`done\` again. A requirement ` +
254
+ `marked Implemented over a red suite is the claim this gate exists to stop.`,
246
255
  }),
247
256
  ]);
248
257
  }
@@ -280,15 +289,21 @@ class DoneCommand extends command_1.BaseCommand {
280
289
  }
281
290
  }
282
291
  const updated = result.updated;
283
- io.emit({ requirement: { id: opts.reqId, status: opts.status, rowsUpdated: updated } }, () => process.stdout.write(`${c.green}✔${c.reset} ${c.bold}${opts.reqId}${c.reset} → ${c.bold}${opts.status}${c.reset} ${c.dim}(${updated} row${updated > 1 ? "s" : ""} updated)${c.reset}\n`));
292
+ io.emit({ requirement: { id: opts.reqId, status: opts.status, rowsUpdated: updated } }, () => process.stdout.write("\n" +
293
+ ui.ok(`${ui_1.c.bold}${opts.reqId}${ui_1.c.reset} ${ui.sym.arrow} ${ui_1.c.ok}${ui_1.c.bold}${opts.status}${ui_1.c.reset} ` +
294
+ ui.muted(`(${updated} row${updated > 1 ? "s" : ""} updated)`)) +
295
+ (plan.testsUnverified
296
+ ? ""
297
+ : ui.next("specgate status", "what is left, and the next requirement"))));
284
298
  // Said out loud, after the tick, because this is the command that writes
285
299
  // `Implemented` into the record other people read. A project nothing ran is
286
300
  // not a project that passed.
287
301
  if (plan.testsUnverified && !opts.json) {
288
- process.stderr.write(`${c.yellow}⚠${c.reset} ${DoneVerification_1.NO_TEST_COMMAND_WARNING.message}\n`);
302
+ process.stderr.write("\n" + ui.warn(DoneVerification_1.NO_TEST_COMMAND_WARNING.message));
289
303
  for (const line of DoneVerification_1.NO_TEST_COMMAND_WARNING.fix) {
290
- process.stderr.write(` ${c.dim}${line}${c.reset}\n`);
304
+ process.stderr.write(` ${ui.muted(line)}\n`);
291
305
  }
306
+ process.stderr.write("\n");
292
307
  }
293
308
  process.exit(agent_1.EXIT.OK);
294
309
  }
@@ -359,7 +374,23 @@ class DoneCommand extends command_1.BaseCommand {
359
374
  }
360
375
  const passing = ids.filter((id) => results.get(id).ok);
361
376
  let testsUnverified = false;
362
- if (passing.length > 0 && opts.check) {
377
+ const archCmd = (harness.archCmd || "").trim();
378
+ if (passing.length > 0 && opts.check && archCmd) {
379
+ const run = (0, node_child_process_1.spawnSync)(archCmd, { cwd: projectDir, encoding: "utf8", shell: true });
380
+ if (run.status !== 0) {
381
+ const detail = `${run.stdout || ""}${run.stderr || ""}`.trim();
382
+ if (detail && !opts.json)
383
+ process.stderr.write(indent(detail) + "\n\n");
384
+ for (const id of passing) {
385
+ results.set(id, {
386
+ ok: false,
387
+ code: "done_arch_failed",
388
+ message: "the architecture check failed",
389
+ });
390
+ }
391
+ }
392
+ }
393
+ if (passing.length > 0 && opts.check && passing.every((id) => results.get(id).ok)) {
363
394
  const cmd = (testCmd || "").trim();
364
395
  if (cmd === "") {
365
396
  testsUnverified = true;
@@ -369,7 +400,7 @@ class DoneCommand extends command_1.BaseCommand {
369
400
  if (run.status !== 0) {
370
401
  const detail = `${run.stdout || ""}${run.stderr || ""}`.trim();
371
402
  if (detail && !opts.json)
372
- process.stderr.write(`${detail}\n\n`);
403
+ process.stderr.write(indent(detail) + "\n\n");
373
404
  for (const id of passing) {
374
405
  results.set(id, {
375
406
  ok: false,
@@ -414,26 +445,36 @@ class DoneCommand extends command_1.BaseCommand {
414
445
  process.stdout.write(`${JSON.stringify(doc, null, 2)}\n`);
415
446
  }
416
447
  else {
448
+ process.stdout.write(ui.header(`done ${ids.join(" ")}`, opts.status));
417
449
  for (const id of ids) {
418
450
  const r = results.get(id);
419
451
  if (r.ok) {
420
- process.stdout.write(`${c.green}✔${c.reset} ${c.bold}${id}${c.reset} → ${c.bold}${opts.status}${c.reset}\n`);
452
+ process.stdout.write(ui.ok(`${ui_1.c.bold}${id}${ui_1.c.reset} ${ui.sym.arrow} ${ui_1.c.ok}${ui_1.c.bold}${opts.status}${ui_1.c.reset}`));
421
453
  }
422
454
  else {
423
455
  if (r.detail)
424
- process.stderr.write(`${r.detail}\n\n`);
425
- process.stdout.write(`${c.red}✖${c.reset} ${c.bold}${id}${c.reset} not marked ${opts.status}: ${r.message}. ${c.dim}[${r.code}]${c.reset}\n`);
456
+ process.stderr.write(indent(r.detail) + "\n\n");
457
+ process.stdout.write(ui.fail(`${ui_1.c.bold}${id}${ui_1.c.reset} not marked ${opts.status}: ${r.message}. ${ui.muted(`[${r.code}]`)}`));
426
458
  }
427
459
  }
428
460
  if (ids.length > 1) {
429
- process.stdout.write(`${c.dim} ${ids.length - failed.length} of ${ids.length} closed; the project's tests ran ${passing.length > 0 && opts.check && !testsUnverified ? "once" : "no times"}.${c.reset}\n`);
430
- }
431
- if (testsUnverified) {
432
- process.stderr.write(`${c.yellow}⚠${c.reset} ${DoneVerification_1.NO_TEST_COMMAND_WARNING.message}\n`);
461
+ process.stdout.write(`\n ${ui.progress(ids.length - failed.length, ids.length, "closed")}` +
462
+ ui.muted(` the project's tests ran ${passing.length > 0 && opts.check && !testsUnverified ? "once" : "no times"}`) +
463
+ "\n");
433
464
  }
465
+ if (testsUnverified)
466
+ process.stderr.write("\n" + ui.warn(DoneVerification_1.NO_TEST_COMMAND_WARNING.message));
467
+ process.stdout.write(failed.length === 0 ? ui.next("specgate status") : "\n");
434
468
  }
435
469
  process.exit(failed.length > 0 ? agent_1.EXIT.FAILURE : agent_1.EXIT.OK);
436
470
  }
437
471
  }
438
472
  exports.DoneCommand = DoneCommand;
473
+ /** A command's own output, set in under ours so it reads as quoted evidence. */
474
+ function indent(text) {
475
+ return text
476
+ .split("\n")
477
+ .map((l) => ` ${l}`)
478
+ .join("\n");
479
+ }
439
480
  //# sourceMappingURL=DoneCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DoneCommand.js","sourceRoot":"","sources":["../../../../../scripts/cli/commands/spec/DoneCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DoneCommand.js","sourceRoot":"","sources":["../../../../../scripts/cli/commands/spec/DoneCommand.ts"],"names":[],"mappings":"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"}