@rsaglobaltech/specgate 0.8.1 → 0.9.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 (121) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/README.md +8 -8
  3. package/bin/specgate.ts +13 -2
  4. package/dist/bin/specgate.js +11 -1
  5. package/dist/bin/specgate.js.map +1 -1
  6. package/dist/packages/core/src/application/GenerateAgentPromptUseCase.js +56 -0
  7. package/dist/packages/core/src/application/GenerateAgentPromptUseCase.js.map +1 -1
  8. package/dist/packages/core/src/application/ValidateProjectUseCase.js +54 -0
  9. package/dist/packages/core/src/application/ValidateProjectUseCase.js.map +1 -1
  10. package/dist/packages/core/src/domain/AdversarialProbe.js +75 -0
  11. package/dist/packages/core/src/domain/AdversarialProbe.js.map +1 -0
  12. package/dist/packages/core/src/domain/AgentPrompt.js +52 -3
  13. package/dist/packages/core/src/domain/AgentPrompt.js.map +1 -1
  14. package/dist/packages/core/src/domain/DeclaredArtifacts.js +25 -0
  15. package/dist/packages/core/src/domain/DeclaredArtifacts.js.map +1 -1
  16. package/dist/packages/core/src/domain/DoneVerification.js +68 -0
  17. package/dist/packages/core/src/domain/DoneVerification.js.map +1 -0
  18. package/dist/packages/core/src/domain/GateCommandIntegrity.js +139 -0
  19. package/dist/packages/core/src/domain/GateCommandIntegrity.js.map +1 -0
  20. package/dist/packages/core/src/domain/HarnessConfig.js +6 -0
  21. package/dist/packages/core/src/domain/HarnessConfig.js.map +1 -1
  22. package/dist/packages/core/src/domain/MultiStack.js +96 -0
  23. package/dist/packages/core/src/domain/MultiStack.js.map +1 -0
  24. package/dist/packages/core/src/domain/Precedents.js +96 -0
  25. package/dist/packages/core/src/domain/Precedents.js.map +1 -0
  26. package/dist/packages/core/src/domain/RequirementRemoval.js +161 -0
  27. package/dist/packages/core/src/domain/RequirementRemoval.js.map +1 -0
  28. package/dist/packages/core/src/domain/ScenarioCoverage.js +178 -0
  29. package/dist/packages/core/src/domain/ScenarioCoverage.js.map +1 -0
  30. package/dist/packages/core/src/domain/SpecSections.js +206 -0
  31. package/dist/packages/core/src/domain/SpecSections.js.map +1 -0
  32. package/dist/packages/core/src/domain/TestCommand.js +82 -0
  33. package/dist/packages/core/src/domain/TestCommand.js.map +1 -0
  34. package/dist/packages/core/src/domain/TraceabilityFormat.js +37 -1
  35. package/dist/packages/core/src/domain/TraceabilityFormat.js.map +1 -1
  36. package/dist/packages/core/src/infrastructure/HarnessConfigFile.js +31 -0
  37. package/dist/packages/core/src/infrastructure/HarnessConfigFile.js.map +1 -1
  38. package/dist/packages/core/test/unit/adversarial-probe.test.js +81 -0
  39. package/dist/packages/core/test/unit/adversarial-probe.test.js.map +1 -0
  40. package/dist/packages/core/test/unit/done-verification.test.js +83 -0
  41. package/dist/packages/core/test/unit/done-verification.test.js.map +1 -0
  42. package/dist/packages/core/test/unit/gate-command-integrity.test.js +114 -0
  43. package/dist/packages/core/test/unit/gate-command-integrity.test.js.map +1 -0
  44. package/dist/packages/core/test/unit/multi-stack.test.js +86 -0
  45. package/dist/packages/core/test/unit/multi-stack.test.js.map +1 -0
  46. package/dist/packages/core/test/unit/precedents.test.js +99 -0
  47. package/dist/packages/core/test/unit/precedents.test.js.map +1 -0
  48. package/dist/packages/core/test/unit/requirement-removal.test.js +124 -0
  49. package/dist/packages/core/test/unit/requirement-removal.test.js.map +1 -0
  50. package/dist/packages/core/test/unit/scenario-coverage.test.js +146 -0
  51. package/dist/packages/core/test/unit/scenario-coverage.test.js.map +1 -0
  52. package/dist/packages/core/test/unit/spec-sections.test.js +146 -0
  53. package/dist/packages/core/test/unit/spec-sections.test.js.map +1 -0
  54. package/dist/packages/core/test/unit/test-command.test.js +81 -0
  55. package/dist/packages/core/test/unit/test-command.test.js.map +1 -0
  56. package/dist/packages/core/test/unit/validate-project.test.js +21 -0
  57. package/dist/packages/core/test/unit/validate-project.test.js.map +1 -1
  58. package/dist/scripts/agents/commands.js +1 -1
  59. package/dist/scripts/agents/commands.js.map +1 -1
  60. package/dist/scripts/agents/init.js +1 -1
  61. package/dist/scripts/agents/init.js.map +1 -1
  62. package/dist/scripts/change/instructions.js +2 -2
  63. package/dist/scripts/change/instructions.js.map +1 -1
  64. package/dist/scripts/cli/commands/change/ChangeCommand.js +2 -2
  65. package/dist/scripts/cli/commands/change/ChangeCommand.js.map +1 -1
  66. package/dist/scripts/cli/commands/config/CiInitCommand.js +1 -1
  67. package/dist/scripts/cli/commands/config/CiInitCommand.js.map +1 -1
  68. package/dist/scripts/cli/commands/harness/RunCommand.js +203 -4
  69. package/dist/scripts/cli/commands/harness/RunCommand.js.map +1 -1
  70. package/dist/scripts/cli/commands/pack/InferPackCommand.js +331 -31
  71. package/dist/scripts/cli/commands/pack/InferPackCommand.js.map +1 -1
  72. package/dist/scripts/cli/commands/project/AdoptCommand.js +81 -4
  73. package/dist/scripts/cli/commands/project/AdoptCommand.js.map +1 -1
  74. package/dist/scripts/cli/commands/project/InitProjectCommand.js +245 -45
  75. package/dist/scripts/cli/commands/project/InitProjectCommand.js.map +1 -1
  76. package/dist/scripts/cli/commands/quality/DoctorCommand.js +20 -2
  77. package/dist/scripts/cli/commands/quality/DoctorCommand.js.map +1 -1
  78. package/dist/scripts/cli/commands/quality/FixCommand.js +1 -1
  79. package/dist/scripts/cli/commands/quality/FixCommand.js.map +1 -1
  80. package/dist/scripts/cli/commands/quality/ReportCommand.js +1 -1
  81. package/dist/scripts/cli/commands/quality/ReportCommand.js.map +1 -1
  82. package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js +340 -18
  83. package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js.map +1 -1
  84. package/dist/scripts/cli/commands/spec/DoneCommand.js +108 -0
  85. package/dist/scripts/cli/commands/spec/DoneCommand.js.map +1 -1
  86. package/dist/scripts/cli/commands/spec/PlanCommand.js +7 -1
  87. package/dist/scripts/cli/commands/spec/PlanCommand.js.map +1 -1
  88. package/dist/scripts/cli/commands/spec/ReqCommand.js +112 -2
  89. package/dist/scripts/cli/commands/spec/ReqCommand.js.map +1 -1
  90. package/dist/scripts/cli/commands/spec/StatusCommand.js +2 -2
  91. package/dist/scripts/cli/commands/spec/StatusCommand.js.map +1 -1
  92. package/dist/scripts/docs/build-site.js +145 -35
  93. package/dist/scripts/docs/build-site.js.map +1 -1
  94. package/dist/scripts/docs/components.js +208 -0
  95. package/dist/scripts/docs/components.js.map +1 -0
  96. package/dist/scripts/docs/highlight.js +180 -0
  97. package/dist/scripts/docs/highlight.js.map +1 -0
  98. package/dist/scripts/docs/icons.js +63 -0
  99. package/dist/scripts/docs/icons.js.map +1 -0
  100. package/dist/scripts/docs/nav.js +9 -3
  101. package/dist/scripts/docs/nav.js.map +1 -1
  102. package/dist/scripts/gen_mcp_tools.js +22 -2
  103. package/dist/scripts/gen_mcp_tools.js.map +1 -1
  104. package/dist/scripts/harness/init.js +101 -40
  105. package/dist/scripts/harness/init.js.map +1 -1
  106. package/dist/scripts/harness/worktree-lock.js +161 -0
  107. package/dist/scripts/harness/worktree-lock.js.map +1 -0
  108. package/dist/scripts/infer_pack.js +4 -1
  109. package/dist/scripts/infer_pack.js.map +1 -1
  110. package/dist/scripts/lib/surface.js +35 -7
  111. package/dist/scripts/lib/surface.js.map +1 -1
  112. package/package.json +5 -2
  113. package/templates/adopt/AI_RULES.md.tpl +1 -1
  114. package/templates/adopt/spec.md.tpl +4 -4
  115. package/templates/base/spec.md.tpl +12 -0
  116. package/templates/ci/azure.yml.tpl +2 -2
  117. package/templates/ci/github.yml.tpl +2 -2
  118. package/templates/ci/gitlab.yml.tpl +1 -1
  119. package/templates/ci/jenkins.tpl +1 -1
  120. package/templates/contracts/test-strategy.md.tpl +2 -2
  121. package/templates/harness/prompt-prefix.md.tpl +2 -5
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../scripts/harness/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../scripts/harness/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ /**
3
+ * One `git worktree add` at a time, across processes.
4
+ *
5
+ * ## The defect
6
+ *
7
+ * `--concurrency` runs each requirement in its own **process**, and every one
8
+ * of them creates a worktree in the same repository. Git writes
9
+ * `.git/worktrees/<name>/` incrementally — `gitdir`, then `commondir`, then the
10
+ * rest — and a sibling `git worktree add` scanning that directory can read an
11
+ * entry that is half there:
12
+ *
13
+ * ```
14
+ * fatal: failed to read .git/worktrees/csda-harness-REQ-000-b300c79f/commondir:
15
+ * Undefined error: 0
16
+ * ```
17
+ *
18
+ * Observed on CI on both macOS and Ubuntu, roughly one run in three. It is the
19
+ * same family as the `git worktree prune` race the parent already avoids by
20
+ * pruning once before anything is created — that one was fixed, this one was
21
+ * not.
22
+ *
23
+ * The failure is worse than a crash, because it is *attributed*: the run
24
+ * reports the requirement as `fail` with "the agent produced no files", so a
25
+ * race in the harness reads as the agent's fault.
26
+ *
27
+ * ## Why a lock directory
28
+ *
29
+ * `mkdir` either creates or fails, atomically, on every platform this runs on —
30
+ * no `O_EXCL` flag juggling and nothing to clean up if the process dies holding
31
+ * a file handle. The pid and timestamp inside make a stale lock diagnosable
32
+ * rather than mysterious.
33
+ *
34
+ * ## Why only around `add`
35
+ *
36
+ * The lock covers creating the worktree and nothing else. The agent, the gate
37
+ * and the tests — the parts that take minutes — stay parallel, so the ceiling
38
+ * on throughput is unchanged. `git worktree add` on a warm repository takes
39
+ * tens of milliseconds.
40
+ */
41
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
42
+ if (k2 === undefined) k2 = k;
43
+ var desc = Object.getOwnPropertyDescriptor(m, k);
44
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
45
+ desc = { enumerable: true, get: function() { return m[k]; } };
46
+ }
47
+ Object.defineProperty(o, k2, desc);
48
+ }) : (function(o, m, k, k2) {
49
+ if (k2 === undefined) k2 = k;
50
+ o[k2] = m[k];
51
+ }));
52
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
53
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
54
+ }) : function(o, v) {
55
+ o["default"] = v;
56
+ });
57
+ var __importStar = (this && this.__importStar) || (function () {
58
+ var ownKeys = function(o) {
59
+ ownKeys = Object.getOwnPropertyNames || function (o) {
60
+ var ar = [];
61
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
62
+ return ar;
63
+ };
64
+ return ownKeys(o);
65
+ };
66
+ return function (mod) {
67
+ if (mod && mod.__esModule) return mod;
68
+ var result = {};
69
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
70
+ __setModuleDefault(result, mod);
71
+ return result;
72
+ };
73
+ })();
74
+ Object.defineProperty(exports, "__esModule", { value: true });
75
+ exports.withWorktreeLock = withWorktreeLock;
76
+ const fs = __importStar(require("node:fs"));
77
+ const path = __importStar(require("node:path"));
78
+ /** How long to wait for the holder before giving up. */
79
+ const WAIT_MS = 30_000;
80
+ /** A lock older than this is assumed abandoned by a process that died. */
81
+ const STALE_MS = 120_000;
82
+ const POLL_MS = 25;
83
+ function lockDir(projectDir) {
84
+ return path.join(projectDir, ".git", "csda-worktree.lock");
85
+ }
86
+ function readInfo(dir) {
87
+ try {
88
+ return JSON.parse(fs.readFileSync(path.join(dir, "owner.json"), "utf8"));
89
+ }
90
+ catch {
91
+ return null;
92
+ }
93
+ }
94
+ /** True when the holder is gone, or has been holding it implausibly long. */
95
+ function isStale(info) {
96
+ if (!info)
97
+ return true;
98
+ if (Date.now() - info.at > STALE_MS)
99
+ return true;
100
+ try {
101
+ // Signal 0 tests for existence without touching the process.
102
+ process.kill(info.pid, 0);
103
+ return false;
104
+ }
105
+ catch {
106
+ return true;
107
+ }
108
+ }
109
+ function sleep(ms) {
110
+ // Synchronous on purpose: the caller is `spawnSync` code with no event loop
111
+ // to yield to, and the wait is milliseconds.
112
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
113
+ }
114
+ /**
115
+ * Run `fn` with the worktree lock held.
116
+ *
117
+ * Never fails the caller: if the lock cannot be taken within `WAIT_MS` the work
118
+ * runs anyway. A harness that refuses to start because of its own mutex would
119
+ * be a worse bug than the race it is avoiding, and the race is recoverable —
120
+ * git reports it and the requirement is retried.
121
+ */
122
+ function withWorktreeLock(projectDir, fn) {
123
+ const dir = lockDir(projectDir);
124
+ const deadline = Date.now() + WAIT_MS;
125
+ let held = false;
126
+ while (Date.now() < deadline) {
127
+ try {
128
+ fs.mkdirSync(dir, { recursive: false });
129
+ fs.writeFileSync(path.join(dir, "owner.json"), JSON.stringify({ pid: process.pid, at: Date.now() }), "utf8");
130
+ held = true;
131
+ break;
132
+ }
133
+ catch {
134
+ if (isStale(readInfo(dir))) {
135
+ // Break it rather than wait out a holder that no longer exists.
136
+ try {
137
+ fs.rmSync(dir, { recursive: true, force: true });
138
+ }
139
+ catch {
140
+ /* another process broke it first; try again */
141
+ }
142
+ continue;
143
+ }
144
+ sleep(POLL_MS);
145
+ }
146
+ }
147
+ try {
148
+ return fn();
149
+ }
150
+ finally {
151
+ if (held) {
152
+ try {
153
+ fs.rmSync(dir, { recursive: true, force: true });
154
+ }
155
+ catch {
156
+ /* the next holder breaks it as stale */
157
+ }
158
+ }
159
+ }
160
+ }
161
+ //# sourceMappingURL=worktree-lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-lock.js","sourceRoot":"","sources":["../../../scripts/harness/worktree-lock.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.renderYamlFragment = exports.inferModel = exports.extractEventNames = exports.collectRequirementIds = exports.toPascalCase = exports.parseFeatureFile = exports.parseArgs = exports.InferPackCommand = void 0;
4
+ exports.renderYamlFragment = exports.mergeModels = exports.inferModel = exports.extractPayloadHints = exports.isQueryStep = exports.extractEventNames = exports.collectRequirementIds = exports.toPascalCase = exports.parseFeatureFile = exports.parseArgs = exports.InferPackCommand = void 0;
5
5
  const InferPackCommand_1 = require("./cli/commands/pack/InferPackCommand");
6
6
  Object.defineProperty(exports, "InferPackCommand", { enumerable: true, get: function () { return InferPackCommand_1.InferPackCommand; } });
7
7
  Object.defineProperty(exports, "parseArgs", { enumerable: true, get: function () { return InferPackCommand_1.parseArgs; } });
@@ -9,7 +9,10 @@ Object.defineProperty(exports, "parseFeatureFile", { enumerable: true, get: func
9
9
  Object.defineProperty(exports, "toPascalCase", { enumerable: true, get: function () { return InferPackCommand_1.toPascalCase; } });
10
10
  Object.defineProperty(exports, "collectRequirementIds", { enumerable: true, get: function () { return InferPackCommand_1.collectRequirementIds; } });
11
11
  Object.defineProperty(exports, "extractEventNames", { enumerable: true, get: function () { return InferPackCommand_1.extractEventNames; } });
12
+ Object.defineProperty(exports, "isQueryStep", { enumerable: true, get: function () { return InferPackCommand_1.isQueryStep; } });
13
+ Object.defineProperty(exports, "extractPayloadHints", { enumerable: true, get: function () { return InferPackCommand_1.extractPayloadHints; } });
12
14
  Object.defineProperty(exports, "inferModel", { enumerable: true, get: function () { return InferPackCommand_1.inferModel; } });
15
+ Object.defineProperty(exports, "mergeModels", { enumerable: true, get: function () { return InferPackCommand_1.mergeModels; } });
13
16
  Object.defineProperty(exports, "renderYamlFragment", { enumerable: true, get: function () { return InferPackCommand_1.renderYamlFragment; } });
14
17
  if (require.main === module) {
15
18
  new InferPackCommand_1.InferPackCommand(process.argv.slice(2)).execute();
@@ -1 +1 @@
1
- {"version":3,"file":"infer_pack.js","sourceRoot":"","sources":["../../scripts/infer_pack.ts"],"names":[],"mappings":";;;;AACA,2EAU8C;AAG5C,iGAZA,mCAAgB,OAYA;AAChB,0FAZA,4BAAS,OAYA;AACT,iGAZA,mCAAgB,OAYA;AAChB,6FAZA,+BAAY,OAYA;AACZ,sGAZA,wCAAqB,OAYA;AACrB,kGAZA,oCAAiB,OAYA;AACjB,2FAZA,6BAAU,OAYA;AACV,mGAZA,qCAAkB,OAYA;AAIpB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,mCAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"infer_pack.js","sourceRoot":"","sources":["../../scripts/infer_pack.ts"],"names":[],"mappings":";;;;AACA,2EAa8C;AAG5C,iGAfA,mCAAgB,OAeA;AAChB,0FAfA,4BAAS,OAeA;AACT,iGAfA,mCAAgB,OAeA;AAChB,6FAfA,+BAAY,OAeA;AACZ,sGAfA,wCAAqB,OAeA;AACrB,kGAfA,oCAAiB,OAeA;AACjB,4FAfA,8BAAW,OAeA;AACX,oGAfA,sCAAmB,OAeA;AACnB,2FAfA,6BAAU,OAeA;AACV,4FAfA,8BAAW,OAeA;AACX,mGAfA,qCAAkB,OAeA;AAIpB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,mCAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AACxD,CAAC"}
@@ -59,6 +59,7 @@ exports.CORE_GROUPS = [
59
59
  exports.SURFACE = [
60
60
  {
61
61
  name: "init",
62
+ editsContract: true,
62
63
  script: ["init_project.js"],
63
64
  help: {
64
65
  group: "core",
@@ -69,6 +70,7 @@ exports.SURFACE = [
69
70
  },
70
71
  {
71
72
  name: "adopt",
73
+ editsContract: true,
72
74
  script: ["adopt_project.js"],
73
75
  help: {
74
76
  group: "core",
@@ -105,6 +107,17 @@ exports.SURFACE = [
105
107
  },
106
108
  json: { key: "doctor", gate: true },
107
109
  },
110
+ {
111
+ // Plumbing. Git calls this, not a person: `harness init` registers it as
112
+ // the merge driver for docs/specs/traceability.md. It is on the surface so
113
+ // the driver can be registered by name — the alternative was writing an
114
+ // absolute path into .git/config, which is meaningless on any other clone.
115
+ name: "merge-traceability",
116
+ script: ["merge-traceability.js"],
117
+ mcp: false,
118
+ // No `help` block on purpose: git calls this, a person does not, so it is
119
+ // a hidden command rather than a line in a menu nobody can act on.
120
+ },
108
121
  {
109
122
  name: "status",
110
123
  script: ["status.js"],
@@ -149,7 +162,7 @@ exports.SURFACE = [
149
162
  },
150
163
  { name: "link" },
151
164
  { name: "status" },
152
- { name: "pull", json: { key: "pulled", gate: false } },
165
+ { name: "pull", editsContract: true, json: { key: "pulled", gate: false } },
153
166
  ],
154
167
  },
155
168
  {
@@ -158,7 +171,7 @@ exports.SURFACE = [
158
171
  help: {
159
172
  group: "core",
160
173
  icon: "✅",
161
- summary: "Check structure, traceability, Gherkin (+ --strict-tdd / --strict-scenarios / --strict-requirements / --strict-links / --against-lock gates).",
174
+ summary: "Check structure, traceability, Gherkin. --strict is the gate: TDD, links, scenarios, requirements and coverage.",
162
175
  },
163
176
  coreHelp: {
164
177
  group: "daily",
@@ -171,6 +184,7 @@ exports.SURFACE = [
171
184
  },
172
185
  {
173
186
  name: "expand",
187
+ editsContract: true,
174
188
  script: ["expand_domain_pack.js"],
175
189
  help: {
176
190
  group: "core",
@@ -207,6 +221,7 @@ exports.SURFACE = [
207
221
  },
208
222
  {
209
223
  name: "done",
224
+ editsContract: true,
210
225
  script: ["done.js"],
211
226
  help: {
212
227
  group: "core",
@@ -220,11 +235,17 @@ exports.SURFACE = [
220
235
  {
221
236
  name: "req",
222
237
  script: ["req.js"],
223
- subcommands: [{ name: "add" }, { name: "link" }, { name: "done" }, { name: "list" }],
238
+ subcommands: [
239
+ { name: "add", editsContract: true },
240
+ { name: "link", editsContract: true },
241
+ { name: "done", editsContract: true },
242
+ { name: "rm", editsContract: true },
243
+ { name: "list" },
244
+ ],
224
245
  help: {
225
246
  group: "core",
226
247
  icon: "📝",
227
- summary: "Add, link and close requirements without hand-editing the matrix.",
248
+ summary: "Add, link, remove and close requirements without hand-editing the matrix.",
228
249
  },
229
250
  coreHelp: {
230
251
  group: "daily",
@@ -235,6 +256,7 @@ exports.SURFACE = [
235
256
  },
236
257
  {
237
258
  name: "fix",
259
+ editsContract: true,
238
260
  script: ["fix.js"],
239
261
  help: {
240
262
  group: "core",
@@ -246,14 +268,14 @@ exports.SURFACE = [
246
268
  name: "change",
247
269
  script: ["change", "cli.js"],
248
270
  subcommands: [
249
- { name: "new" },
271
+ { name: "new", editsContract: true },
250
272
  { name: "list", json: { key: "changes", gate: false } },
251
273
  { name: "show", json: { key: "change", gate: false, args: "<id>" } },
252
274
  { name: "status", json: { key: "artifacts", gate: false } },
253
275
  { name: "validate", json: { key: "change", gate: true, args: "<id>" } },
254
- { name: "archive", json: { key: "archive", gate: true, args: "<id>" } },
276
+ { name: "archive", editsContract: true, json: { key: "archive", gate: true, args: "<id>" } },
255
277
  { name: "instructions", json: { key: "instructions", gate: false, args: "<artifact>" } },
256
- { name: "author", json: { key: "change", gate: true, args: "<id>" } },
278
+ { name: "author", editsContract: true, json: { key: "change", gate: true, args: "<id>" } },
257
279
  ],
258
280
  help: {
259
281
  group: "core",
@@ -317,6 +339,7 @@ exports.SURFACE = [
317
339
  subcommands: [
318
340
  {
319
341
  name: "add",
342
+ editsContract: true,
320
343
  script: ["specops", "add.js"],
321
344
  help: {
322
345
  group: "specops",
@@ -326,6 +349,7 @@ exports.SURFACE = [
326
349
  },
327
350
  {
328
351
  name: "remove",
352
+ editsContract: true,
329
353
  script: ["specops", "remove.js"],
330
354
  help: {
331
355
  group: "specops",
@@ -335,6 +359,7 @@ exports.SURFACE = [
335
359
  },
336
360
  {
337
361
  name: "sync",
362
+ editsContract: true,
338
363
  script: ["specops", "sync.js"],
339
364
  help: {
340
365
  group: "specops",
@@ -368,6 +393,7 @@ exports.SURFACE = [
368
393
  subcommands: [
369
394
  {
370
395
  name: "run",
396
+ editsContract: true,
371
397
  script: ["harness", "run.js"],
372
398
  help: {
373
399
  group: "harness",
@@ -387,6 +413,7 @@ exports.SURFACE = [
387
413
  },
388
414
  {
389
415
  name: "init",
416
+ editsContract: true,
390
417
  script: ["harness", "init.js"],
391
418
  help: {
392
419
  group: "harness",
@@ -436,6 +463,7 @@ exports.SURFACE = [
436
463
  },
437
464
  {
438
465
  name: "update",
466
+ editsContract: true,
439
467
  script: ["update.js"],
440
468
  help: {
441
469
  group: "dx",
@@ -1 +1 @@
1
- {"version":3,"file":"surface.js","sourceRoot":"","sources":["../../../scripts/lib/surface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"surface.js","sourceRoot":"","sources":["../../../scripts/lib/surface.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rsaglobaltech/specgate",
3
- "version": "0.8.1",
4
- "description": "Specs as executable contracts — requirements, scenarios and traceability that CI enforces.",
3
+ "version": "0.9.0",
4
+ "description": "Specs as executable contracts \u2014 requirements, scenarios and traceability that CI enforces.",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",
7
7
  "bin": {
@@ -101,5 +101,8 @@
101
101
  "prettier": "^3.8.3",
102
102
  "typescript": "^6.0.3",
103
103
  "typescript-eslint": "^8.59.3"
104
+ },
105
+ "overrides": {
106
+ "qs": "^6.16.0"
104
107
  }
105
108
  }
@@ -23,5 +23,5 @@ Rules for any AI coding agent (and any human) working on this repository.
23
23
 
24
24
  1. The scenario(s) for the requirement pass.
25
25
  2. `{{TEST_CMD}}` passes.
26
- 3. `specgate validate . --strict-tdd` passes.
26
+ 3. `specgate validate . --strict` passes.
27
27
  4. The traceability row is updated via `specgate done REQ-NNN`.
@@ -2,10 +2,10 @@
2
2
 
3
3
  > Adopted into Spec-Driven Development on an existing codebase (brownfield).
4
4
  > `specgate req add "<title>"` reserves the next `REQ-NNN` and adds its row to
5
- > `docs/specs/traceability.md` — it does not write a section here or a
6
- > `.feature`. Add a `## REQ-NNN — <title>` section below and a Gherkin
7
- > scenario under `features/`, then `specgate req link REQ-NNN --feature … --test …`
8
- > to point the row at both. Existing behaviour is retro-filled requirement by
5
+ > `docs/specs/traceability.md` and a draft `## REQ-NNN` section below — rewrite
6
+ > its obligation. It does not write a `.feature`: add a Gherkin scenario under
7
+ > `features/`, then `specgate req link REQ-NNN --feature … --test …` to point
8
+ > the row at both. Existing behaviour is retro-filled requirement by
9
9
  > requirement — start with the ones your team is actively changing.
10
10
 
11
11
  ## Context
@@ -46,6 +46,18 @@ Define functional requirements, domain language, and acceptance criteria clearly
46
46
 
47
47
  | ID | Requirement | Priority | Status |
48
48
  |---|---|---|---|
49
+ | REQ-000 | The service reports its own health | Must | Draft |
50
+
51
+ ### REQ-000 — The service reports its own health
52
+
53
+ The system MUST expose a health endpoint that answers with status 200 and a
54
+ payload naming the service as `UP`, so that a deployment can be checked without
55
+ reading logs.
56
+
57
+ > The starter requirement, wired end to end: this prose, the row in
58
+ > `docs/specs/traceability.md`, and `features/core/health.feature`. Rewrite it
59
+ > for your own first requirement, or remove all three together —
60
+ > `specgate validate --strict` reports any of them going missing on its own.
49
61
 
50
62
  ## 9. Non-functional requirements
51
63
  | ID | Requirement | Quality attribute | Status |
@@ -16,8 +16,8 @@ steps:
16
16
  versionSpec: '22.x'
17
17
  displayName: Use Node.js 22
18
18
 
19
- - script: npx @rsaglobaltech/specgate@{{SPECGATE_VERSION}} validate . --strict-tdd
20
- displayName: Validate specs (strict TDD)
19
+ - script: npx @rsaglobaltech/specgate@{{SPECGATE_VERSION}} validate . --strict
20
+ displayName: Validate specs (the gate)
21
21
 
22
22
  # Supply-chain gate: fails when rendered pack content no longer matches the
23
23
  # digest pinned in .specops.lock. Skipped when no packs are installed.
@@ -16,8 +16,8 @@ jobs:
16
16
  - uses: actions/setup-node@v4
17
17
  with:
18
18
  node-version: '22'
19
- - name: Validate specs (strict TDD)
20
- run: npx @rsaglobaltech/specgate@{{SPECGATE_VERSION}} validate . --strict-tdd
19
+ - name: Validate specs (the gate)
20
+ run: npx @rsaglobaltech/specgate@{{SPECGATE_VERSION}} validate . --strict
21
21
  # Supply-chain gate: fails when the rendered pack content no longer
22
22
  # matches the digest pinned in .specops.lock — a moved tag, a rewritten
23
23
  # history, or a hand-edited generated file. Skipped when the project
@@ -5,7 +5,7 @@ spec-gate:
5
5
  image: node:22
6
6
  stage: test
7
7
  script:
8
- - npx @rsaglobaltech/specgate@{{SPECGATE_VERSION}} validate . --strict-tdd
8
+ - npx @rsaglobaltech/specgate@{{SPECGATE_VERSION}} validate . --strict
9
9
  # Supply-chain gate: fails when rendered pack content no longer matches the
10
10
  # digest pinned in .specops.lock. Skipped when no packs are installed.
11
11
  - >
@@ -8,7 +8,7 @@ pipeline {
8
8
  stages {
9
9
  stage('Spec gate') {
10
10
  steps {
11
- sh 'npx @rsaglobaltech/specgate@{{SPECGATE_VERSION}} validate . --strict-tdd'
11
+ sh 'npx @rsaglobaltech/specgate@{{SPECGATE_VERSION}} validate . --strict'
12
12
  }
13
13
  }
14
14
  // Supply-chain gate: fails when rendered pack content no longer
@@ -44,7 +44,7 @@ expected interactions (Pact files) and providers verify them in CI before any re
44
44
  1. Write a failing Pact test describing the expected HTTP interaction.
45
45
  2. Run the Pact test — it generates `contracts/pacts/{{CONSUMER_SERVICE}}-{{PROVIDER_SERVICE}}.json`.
46
46
  3. Commit the Pact file alongside the consumer feature.
47
- 4. Open a PR — CI runs `validate --strict-tdd` to confirm the Pact file is registered.
47
+ 4. Open a PR — CI runs `validate --strict` to confirm the Pact file is registered.
48
48
 
49
49
  ### Provider side
50
50
 
@@ -83,7 +83,7 @@ Before merging any change to a `contracts/` schema file:
83
83
  | Pact interactions per endpoint | ≥ 1 happy path + ≥ 1 error path |
84
84
  | Provider verification pass rate | 100% on main |
85
85
  | Schema lint errors | 0 on main |
86
- | Strict-TDD gate (`validate --strict-tdd`) | Must pass on every PR |
86
+ | The gate (`validate --strict`) | Must pass on every PR |
87
87
 
88
88
  ## References
89
89
 
@@ -28,16 +28,13 @@ from a domain pack:
28
28
 
29
29
  - the implementation source tree.
30
30
  - the tests.
31
- - `features/step_definitions/**` and `features/support/**` — step definitions
32
- are code, not specification. This is the one place inside `features/` you
33
- own.
31
+ {{STEP_DEFS_LINE}}
34
32
 
35
33
  # Execution policy
36
34
 
37
35
  1. Read the requirement and its scenario under `features/` before writing
38
36
  anything.
39
- 2. Write or extend the step definitions so the scenario fails **for the right
40
- reason** — a missing implementation, not a typo in a step.
37
+ {{SCENARIO_STEP}}
41
38
  3. Implement the smallest thing that makes it pass. Unit-test the pure parts:
42
39
  the scenario proves the wiring, the unit tests pin the rules.
43
40
  4. Run the gate before declaring done: