@rsaglobaltech/specgate 0.17.5 → 0.17.7

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 (35) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/README.md +33 -33
  3. package/dist/packages/core/src/domain/DoneVerification.js +2 -2
  4. package/dist/packages/core/src/domain/DoneVerification.js.map +1 -1
  5. package/dist/packages/core/src/domain/ResumeState.js +23 -4
  6. package/dist/packages/core/src/domain/ResumeState.js.map +1 -1
  7. package/dist/packages/core/src/domain/SpecSections.js +24 -0
  8. package/dist/packages/core/src/domain/SpecSections.js.map +1 -1
  9. package/dist/packages/core/src/infrastructure/HarnessConfigFile.js +29 -0
  10. package/dist/packages/core/src/infrastructure/HarnessConfigFile.js.map +1 -1
  11. package/dist/packages/core/test/unit/spec-sections.test.js +12 -0
  12. package/dist/packages/core/test/unit/spec-sections.test.js.map +1 -1
  13. package/dist/scripts/cli/commands/config/CiInitCommand.js +28 -3
  14. package/dist/scripts/cli/commands/config/CiInitCommand.js.map +1 -1
  15. package/dist/scripts/cli/commands/config/CiToolchain.js +234 -0
  16. package/dist/scripts/cli/commands/config/CiToolchain.js.map +1 -0
  17. package/dist/scripts/cli/commands/config/ConfigSetCommand.js +42 -2
  18. package/dist/scripts/cli/commands/config/ConfigSetCommand.js.map +1 -1
  19. package/dist/scripts/cli/commands/project/AdoptCommand.js +71 -10
  20. package/dist/scripts/cli/commands/project/AdoptCommand.js.map +1 -1
  21. package/dist/scripts/cli/commands/project/InitProjectCommand.js +1 -1
  22. package/dist/scripts/cli/commands/project/InitProjectCommand.js.map +1 -1
  23. package/dist/scripts/cli/commands/quality/CheckCommand.js +1 -1
  24. package/dist/scripts/cli/commands/quality/CheckCommand.js.map +1 -1
  25. package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js +74 -0
  26. package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js.map +1 -1
  27. package/dist/scripts/docs/nav.js +10 -0
  28. package/dist/scripts/docs/nav.js.map +1 -1
  29. package/dist/scripts/harness/init.js +105 -1
  30. package/dist/scripts/harness/init.js.map +1 -1
  31. package/package.json +1 -1
  32. package/templates/ci/azure.yml.tpl +4 -6
  33. package/templates/ci/github.yml.tpl +6 -6
  34. package/templates/ci/gitlab.yml.tpl +5 -2
  35. package/templates/ci/jenkins.tpl +6 -2
package/CHANGELOG.md CHANGED
@@ -8,6 +8,76 @@ The release process is in [`docs/release-process.md`](docs/release-process.md).
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [0.17.7] — 2026-10-10
12
+
13
+ ### Fixed
14
+
15
+ - **The CI job runs the project's tests (#70).** `ci init` wrote a job with
16
+ Node and `validate . --strict`, so a Spring Boot project with a class deleted
17
+ stayed green in CI. The job now sets up the detected toolchain — Temurin at
18
+ the Java version the `pom.xml` or Gradle build declares, with the Maven or
19
+ Gradle cache; `npm ci` for a Node lockfile; Go and Python setup — and runs
20
+ `specgate check`: the configured `test_cmd`, or the detected one passed as
21
+ `--test-cmd`. GitLab and Jenkins run in a JDK image and fetch Node from
22
+ nodejs.org, checked against its `SHASUMS256.txt`. With no test command the
23
+ job keeps `validate . --strict`, and `ci init` says it runs no tests.
24
+ - **A Maven project is named by its own `artifactId` (#69).** The first
25
+ `<artifactId>` in a Spring Boot `pom.xml` is the parent's, so the project was
26
+ called `spring-boot-starter-parent` in `spec.md` and the harness prompt.
27
+ `<parent>`, dependencies, build and the other nested blocks are skipped; a
28
+ Gradle project is named by `rootProject.name`, and `init` names the build file
29
+ it read (`build.gradle.kts`).
30
+ - **`harness init` merges a config `config set` wrote (#71).** It refused the
31
+ two-line `harness.config.yaml` as "already present" and asked for `--force`,
32
+ which would have replaced the chosen `test_cmd`. A file made only of harness
33
+ keys is now kept as written and the missing keys are appended; `--force`
34
+ still replaces it, and a file with other keys is still refused.
35
+
36
+ ## [0.17.6] — 2026-10-10
37
+
38
+ ### Fixed
39
+
40
+ - **`done` refuses a requirement whose obligation is still the template (#67).**
41
+ `specgate new` writes "The system MUST satisfy: <title>." with a note to
42
+ replace it; the sentence states MUST, so it passed every rule and `done`
43
+ closed the requirement on it. A delivered requirement (or the one `done` is
44
+ closing) whose section still carries either line now fails
45
+ `validate --strict` with `requirement_template_obligation`, naming the file.
46
+ Draft and Needs Clarification still owe nothing.
47
+ - **The test command is configured without the harness (#68).**
48
+ `specgate config set test_cmd "npm test"` (and `config get test_cmd`) writes
49
+ `test_cmd:` to `harness.config.yaml`, keeping every other line, or creates it.
50
+ `check`'s warning now names this command instead of `harness init`, whose
51
+ output talks about agents to teams that do not use one.
52
+
53
+ ### Documentation
54
+
55
+ - **A real tutorial video, from an empty directory** (`scripts/demo/tutorial/`):
56
+ `npm init`, the published package, a requirement written by hand (the
57
+ obligation in `vim`, the scenario, the test, the code), `done` refusing a red
58
+ suite, `check`, `ci init` and the commit — in 16:9 and 9:16, in Spanish. It
59
+ replaces the 55-second social clip, which copied its files in off camera.
60
+ - **The README comparison row** now states what a team learns before its first
61
+ pull request — five commands, the other 26 opt-in — instead of a warning.
62
+
63
+ ### Security
64
+
65
+ - **Two CodeQL findings fixed.** The parser of archived harness prompt names used
66
+ a regular expression that ran polynomially on names repeating `-attempt-`
67
+ (js/polynomial-redos); it now reads the name by hand, with the same result
68
+ (checked against the old expression on 20 000 generated names). A no-op
69
+ replacement in the agent contract's checks is gone (js/identity-replacement).
70
+
71
+ ### Documentation
72
+
73
+ - **Two new guides.** *From a client brief* — the brief, a draft per module,
74
+ assumptions and open questions, the D1–D10 checklist, writing in Spanish, and
75
+ what the checklist cannot see. *Already on OpenSpec* — `verify`, scenario ids,
76
+ V1–V7, adopting with `--since`, the GitHub Action.
77
+ - **The harness** documents when it does not retry, the per-attempt time limit,
78
+ and the build in the gate; **the README** covers drafting from a brief,
79
+ `verify` for OpenSpec teams and how releases are tested on real products.
80
+
11
81
  ## [0.17.5] — 2026-10-09
12
82
 
13
83
  ### Fixed
package/README.md CHANGED
@@ -20,9 +20,6 @@
20
20
 
21
21
  ## ⚡ Start
22
22
 
23
- > **The npm package is scoped; the binary is not.** `spec-gate` already claims the
24
- > unscoped name ([ADR-0024](docs/specs/adr/0024-the-tool-is-renamed-the-format-is-not.md)). You type `specgate`; `csda` still works too.
25
-
26
23
  ```bash
27
24
  npm i -g @rsaglobaltech/specgate # or prefix every command with npx @rsaglobaltech/specgate@latest
28
25
 
@@ -34,11 +31,8 @@ specgate ci init # the gate as a CI job — GitHub, GitLab, Az
34
31
  specgate check # the gate, locally
35
32
  ```
36
33
 
37
- Requires **Node.js ≥ 22** — or none at all with the Docker image:
38
-
39
- ```bash
40
- docker run --rm -v "$PWD:/workspace" ghcr.io/rsaglobaltech/specgate check
41
- ```
34
+ Requires **Node.js ≥ 22** — or none with Docker: `docker run --rm -v "$PWD:/workspace" ghcr.io/rsaglobaltech/specgate check`.
35
+ The package is scoped, the binary is not ([ADR-0024](docs/specs/adr/0024-the-tool-is-renamed-the-format-is-not.md)).
42
36
 
43
37
  → [Getting started](docs/getting-started.md) · [Your team's first pull request](docs/first-pr.md) · [Quickstart for joiners](docs/quickstart.md)
44
38
 
@@ -65,11 +59,11 @@ Everything else — packs, changes, the harness, ALM sync — is in `specgate --
65
59
 
66
60
  Each level is useful on its own and never requires the ones above it.
67
61
 
68
- | Level | You get | Commands | Cost |
69
- | --- | --- | --- | --- |
70
- | **L1** | Traceable specs in your repo | `init`, `new`, `done` | ~1 hour |
71
- | **L2** | A PR gate enforcing spec and test coverage | `check`, `ci init` | ~1 hour |
72
- | **L3** | Versioned, reusable domain requirements | `specops add / sync / diff` | ~1 day |
62
+ | Level | You get | Commands | Cost |
63
+ | ------ | ------------------------------------------------ | ---------------------------- | ------- |
64
+ | **L1** | Traceable specs in your repo | `init`, `new`, `done` | ~1 hour |
65
+ | **L2** | A PR gate enforcing spec and test coverage | `check`, `ci init` | ~1 hour |
66
+ | **L3** | Versioned, reusable domain requirements | `specops add / sync / diff` | ~1 day |
73
67
  | **L4** | Agent-driven delivery, one requirement at a time | `agents init`, `harness run` | ~1 week |
74
68
 
75
69
  ## 🛠️ What it does
@@ -88,6 +82,13 @@ and writes the feature files, so a merged proposal cannot quietly become
88
82
  undone work.
89
83
  → [Your team's first pull request](docs/first-pr.md) · [Reviewing changes](docs/reviewing-changes.md)
90
84
 
85
+ **From a brief, or from OpenSpec.** `specgate draft --check` holds a draft
86
+ written from a client's brief to ten rules — scenarios per actor and surface,
87
+ sourced laws, every value in the brief or listed as an assumption, open
88
+ questions that block. Teams on OpenSpec keep it: `specgate verify` fails while
89
+ a change claims a scenario no test names.
90
+ → [From a client brief](docs/from-a-brief.md) · [Already on OpenSpec](docs/openspec.md)
91
+
91
92
  **Your agent works the same loop.** `specgate agents init` gives Claude Code,
92
93
  Cursor, Copilot, Windsurf, Aider, Gemini, Cline, Codex or Antigravity the five
93
94
  steps as slash commands (`/specgate:new`, `/specgate:done`, …) from one
@@ -102,26 +103,28 @@ upgrade as intent with `specops diff --as-change`, not as a file diff.
102
103
 
103
104
  **Unattended delivery.** `specgate harness run` drives plan → agent → verify →
104
105
  done for every pending requirement, each in its own git worktree; it never
105
- merges. The agent is any shell command with `{prompt_file}` — no runtime or SDK.
106
+ merges. The agent is any shell command with `{prompt_file}`; it stops where retrying cannot help.
106
107
  `specgate alm sync` keeps Jira, Azure Boards or GitHub Issues in step.
107
108
  → [The harness](docs/harness.md) · [Jira, Azure Boards and GitHub Issues](docs/alm.md)
108
109
 
109
110
  **Tested as you install it.** Every release runs an end-to-end suite over every
110
- command, against the packed tarball, on Linux, macOS and Windows.
111
+ command, against the packed tarball, on Linux, macOS and Windows; releases
112
+ since 0.14 come from building real products with it, from brief to running app.
111
113
 
112
114
  ## 🆚 How it compares
113
115
 
114
- | Capability | **this** | [OpenSpec](https://github.com/Fission-AI/OpenSpec) | [spec-kit](https://github.com/github/spec-kit) | [Cursor rules](https://docs.cursor.com/context/rules-for-ai) | README only |
115
- | --- | :-: | :-: | :-: | :-: | :-: |
116
- | Change lifecycle | ✅ | ✅ | ❌ | ❌ | ❌ |
117
- | Versioned domain packs | ✅ | ❌ | ⚠️ | ❌ | ❌ |
118
- | Traceability matrix + CI gate | ✅ | ❌ | ⚠️ | ❌ | ❌ |
119
- | Agent JSON contract | ✅ | ✅ | ❌ | ❌ | ❌ |
120
- | Vendor-neutral | ✅ | ✅ | ✅ | ❌ | ✅ |
121
- | Smaller surface to learn | ⚠️ five daily commands | ✅ | ✅ | ✅ | ✅ |
122
-
123
- OpenSpec is the closest tool and the honest comparison: if you want the change
124
- loop without versioned packs or an enforced matrix, theirs is the better fit.
116
+ | Capability | **this** | [OpenSpec](https://github.com/Fission-AI/OpenSpec) | [spec-kit](https://github.com/github/spec-kit) | [Cursor rules](https://docs.cursor.com/context/rules-for-ai) | README only |
117
+ | -------------------------------------- | :--------------------: | :------------------------------------------------: | :--------------------------------------------: | :----------------------------------------------------------: | :---------: |
118
+ | Change lifecycle | ✅ | ✅ | ❌ | ❌ | ❌ |
119
+ | Versioned domain packs | ✅ | ❌ | ⚠️ | ❌ | ❌ |
120
+ | Traceability matrix + CI gate | ✅ | ❌ | ⚠️ | ❌ | ❌ |
121
+ | Agent JSON contract | ✅ | ✅ | ❌ | ❌ | ❌ |
122
+ | Draft checklist from a brief | ✅ | ❌ | ⚠️ | ❌ | ❌ |
123
+ | Proves OpenSpec's "done" against tests | ✅ `verify` | ❌ | ❌ | ❌ | ❌ |
124
+ | Vendor-neutral | ✅ | ✅ | ✅ | ❌ | ✅ |
125
+ | Commands to learn before the first PR | ✅ 5 (26 more, opt-in) | ✅ | ✅ | ✅ | ✅ |
126
+
127
+ OpenSpec is the closest tool: if you want the change loop without packs or an enforced matrix, it fits better.
125
128
  → [Full matrix, trade-offs and migration paths](docs/comparisons.md)
126
129
 
127
130
  ## 📚 Documentation
@@ -132,16 +135,13 @@ loop without versioned packs or an enforced matrix, theirs is the better fit.
132
135
 
133
136
  ## 🧰 Companion tools
134
137
 
135
- [Language server](packages/lsp-spec-driven) · [VS Code extension](packages/vscode-spec-driven) ·
136
- [Maven](packages/maven-plugin) and [Gradle](packages/gradle-plugin) plugins for builds
137
- without Node · Docker image `ghcr.io/rsaglobaltech/specgate`
138
+ [Language server](packages/lsp-spec-driven) · [VS Code extension](packages/vscode-spec-driven) · [Maven](packages/maven-plugin) and
139
+ [Gradle](packages/gradle-plugin) plugins for builds without Node · Docker image `ghcr.io/rsaglobaltech/specgate`
138
140
 
139
141
  ## 🤝 Contributing
140
142
 
141
- PRs welcome — see [CONTRIBUTING.md](CONTRIBUTING.md). Good first contributions:
142
- new module templates, validator rules, additional domain packs.
143
- [MAINTAINERS.md](MAINTAINERS.md) says who owns what;
144
- [SECURITY.md](SECURITY.md) is how to report a vulnerability privately.
143
+ PRs welcome — see [CONTRIBUTING.md](CONTRIBUTING.md) (good first: templates, validator rules,
144
+ domain packs) · [MAINTAINERS.md](MAINTAINERS.md) · [SECURITY.md](SECURITY.md) for private reports.
145
145
 
146
146
  ## 📄 License
147
147
 
@@ -81,8 +81,8 @@ function planGateCheck(projectDir, testCmd) {
81
81
  exports.NO_TEST_COMMAND_WARNING = Object.freeze({
82
82
  message: "No test command configured — this checked the specification, not the code.",
83
83
  fix: [
84
- 'Pass --test-cmd "<command>", or set test_cmd: in harness.config.yaml so',
85
- "every `done --check` runs it. A requirement marked Implemented on a static",
84
+ 'Configure it once with specgate config set test_cmd "<command>" (or pass',
85
+ "--test-cmd) so every `done` and `check` runs it. A requirement marked Implemented on a static",
86
86
  "check alone is a claim nothing executed.",
87
87
  ],
88
88
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DoneVerification.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/DoneVerification.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;;;AAyCH,oDAwBC;AAUD,sCAKC;AA9CD;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAClC,UAAkB,EAClB,IAAsB;IAEtB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IAE9E,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,0EAA0E;QAC1E,oEAAoE;QACpE,sEAAsE;QACtE,oEAAoE;QACpE,yEAAyE;QACzE,2DAA2D;QAC3D,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,IAAI,CAAC,KAAK;QAAE,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAE9D,MAAM,KAAK,GAAuB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IAE9E,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,IAAI,OAAO,KAAK,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEpE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,KAAK,EAAE,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,aAAa,CAAC,UAAkB,EAAE,OAAgB;IAChE,MAAM,KAAK,GAAuB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1F,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,GAAG,KAAK,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5D,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC;AAChD,CAAC;AAED,mEAAmE;AACtD,QAAA,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC;IACnD,OAAO,EAAE,4EAA4E;IACrF,GAAG,EAAE;QACH,yEAAyE;QACzE,4EAA4E;QAC5E,0CAA0C;KAC3C;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"DoneVerification.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/DoneVerification.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;;;AAyCH,oDAwBC;AAUD,sCAKC;AA9CD;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAClC,UAAkB,EAClB,IAAsB;IAEtB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IAE9E,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,0EAA0E;QAC1E,oEAAoE;QACpE,sEAAsE;QACtE,oEAAoE;QACpE,yEAAyE;QACzE,2DAA2D;QAC3D,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,IAAI,CAAC,KAAK;QAAE,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAE9D,MAAM,KAAK,GAAuB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IAE9E,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,IAAI,OAAO,KAAK,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEpE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,KAAK,EAAE,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,aAAa,CAAC,UAAkB,EAAE,OAAgB;IAChE,MAAM,KAAK,GAAuB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1F,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,GAAG,KAAK,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5D,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC;AAChD,CAAC;AAED,mEAAmE;AACtD,QAAA,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC;IACnD,OAAO,EAAE,4EAA4E;IACrF,GAAG,EAAE;QACH,0EAA0E;QAC1E,+FAA+F;QAC/F,0CAA0C;KAC3C;CACF,CAAC,CAAC"}
@@ -53,13 +53,32 @@ exports.previousFailureFromPrompt = previousFailureFromPrompt;
53
53
  * well have dropped a note in that directory.
54
54
  */
55
55
  function parseArchivedPromptName(fileName) {
56
- const match = /^(REQ-\d+)-(.+)-attempt-(\d+)-([^.]+)\.md$/.exec(fileName);
57
- if (!match)
56
+ // Taken apart by hand: `^(REQ-\d+)-(.+)-attempt-(\d+)-([^.]+)\.md$` ran
57
+ // polynomially on names with many "-attempt-" (CodeQL js/polynomial-redos).
58
+ // Same result — the stamp runs to the last "-attempt-", as `.+` did.
59
+ if (!fileName.endsWith(".md"))
58
60
  return null;
59
- const attempt = Number(match[3]);
61
+ const base = fileName.slice(0, -3);
62
+ const req = /^REQ-\d+-/.exec(base);
63
+ if (!req)
64
+ return null;
65
+ const rest = base.slice(req[0].length);
66
+ const at = rest.lastIndexOf("-attempt-");
67
+ if (at < 1)
68
+ return null;
69
+ const stamp = rest.slice(0, at);
70
+ const tail = rest.slice(at + "-attempt-".length);
71
+ const dash = tail.indexOf("-");
72
+ if (dash < 1)
73
+ return null;
74
+ const digits = tail.slice(0, dash);
75
+ const role = tail.slice(dash + 1);
76
+ if (!/^\d+$/.test(digits) || role === "" || role.includes("."))
77
+ return null;
78
+ const attempt = Number(digits);
60
79
  if (!Number.isInteger(attempt) || attempt < 1)
61
80
  return null;
62
- return { requirement: match[1], stamp: match[2], attempt, role: match[4], fileName };
81
+ return { requirement: req[0].slice(0, -1), stamp, attempt, role, fileName };
63
82
  }
64
83
  /**
65
84
  * Where to pick up, given the archive filenames and how the last attempt ended.
@@ -1 +1 @@
1
- {"version":3,"file":"ResumeState.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/ResumeState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResumeState.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/ResumeState.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@
32
32
  */
33
33
  Object.defineProperty(exports, "__esModule", { value: true });
34
34
  exports.renderRequirementSection = renderRequirementSection;
35
+ exports.templateObligationLines = templateObligationLines;
35
36
  exports.hasRequirementSection = hasRequirementSection;
36
37
  exports.requirementSections = requirementSections;
37
38
  exports.appendRequirementSection = appendRequirementSection;
@@ -50,6 +51,29 @@ function renderRequirementSection(reqId, title) {
50
51
  `obligation — what must hold, under which conditions, and how it is ` +
51
52
  `observed.\n`);
52
53
  }
54
+ /**
55
+ * The lines of a requirement section that are still what `specgate new` wrote
56
+ * (#67). Empty once the author has replaced them.
57
+ *
58
+ * The placeholder above passes `--strict-requirements` on purpose, so nothing
59
+ * else in the gate notices it: `done` closed a requirement whose only
60
+ * obligation was "The system MUST satisfy: <its title>." The sentence is
61
+ * matched against the section's own title, so a real obligation that happens
62
+ * to start with "satisfy:" is not mistaken for it.
63
+ */
64
+ function templateObligationLines(section) {
65
+ const lines = String(section || "")
66
+ .replace(/\r\n/g, "\n")
67
+ .split("\n");
68
+ const heading = /^#{2,4}\s+REQ-[A-Za-z0-9.]+\s+—\s+(.*)$/.exec((lines[0] || "").trim());
69
+ const title = heading ? heading[1].trim() : null;
70
+ return lines
71
+ .map((l) => l.trim())
72
+ .filter((l) => l.startsWith("> Written by Specgate. Replace this sentence") ||
73
+ (title !== null &&
74
+ (l === `The system MUST satisfy: ${title}.` ||
75
+ l === "The system MUST satisfy: the behaviour named above.")));
76
+ }
53
77
  /**
54
78
  * A requirement heading, at any level from `##` to `####`.
55
79
  *
@@ -1 +1 @@
1
- {"version":3,"file":"SpecSections.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/SpecSections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpecSections.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/SpecSections.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;;AAGH,4DAcC;AAYD,0DAeC;AAyDD,sDAWC;AAQD,kDAiBC;AASD,4DAcC;AAQD,8DAkCC;AAxMD,gFAAgF;AAChF,SAAgB,wBAAwB,CAAC,KAAa,EAAE,KAAa;IACnE,MAAM,OAAO,GAAG,MAAM,KAAK,MAAM,KAAK,EAAE,CAAC;IACzC,wEAAwE;IACxE,8EAA8E;IAC9E,yEAAyE;IACzE,qCAAqC;IACrC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,2BAA2B,CAAC;IAC7E,OAAO,CACL,GAAG,OAAO,MAAM;QAChB,4BAA4B,UAAU,OAAO;QAC7C,6DAA6D;QAC7D,qEAAqE;QACrE,aAAa,CACd,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,uBAAuB,CAAC,OAAe;IACrD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;SAChC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;SACtB,KAAK,CAAC,IAAI,CAAC,CAAC;IACf,MAAM,OAAO,GAAG,yCAAyC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACxF,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,UAAU,CAAC,8CAA8C,CAAC;QAC5D,CAAC,KAAK,KAAK,IAAI;YACb,CAAC,CAAC,KAAK,4BAA4B,KAAK,GAAG;gBACzC,CAAC,KAAK,qDAAqD,CAAC,CAAC,CACpE,CAAC;AACN,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAEhD;;;;;;;GAOG;AACH,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC;IACvD,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,qBAAqB,GAAG,yCAAyC,CAAC;AAExE,SAAS,YAAY,CAAC,UAAkB,EAAE,KAAa;IACrD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;SACxC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;SACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM;YAAE,SAAS;QACpC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAC7E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4EAA4E;AAC5E,SAAgB,qBAAqB,CAAC,UAAkB,EAAE,KAAa;IACrE,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;SACxC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;SACtB,KAAK,CAAC,IAAI,CAAC;SACX,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACb,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,CAAC,CAAC,CAAC;IACL,OAAO,UAAU,IAAI,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,UAAkB;IACpD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;SACxC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;SACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,GAAG;gBAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtE,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAAE,SAAS;QAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK;YAAE,SAAS;QAC1E,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,wBAAwB,CACtC,UAAkB,EAClB,KAAa,EACb,KAAa;IAEb,IAAI,qBAAqB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO;QACL,OAAO,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;QACvE,KAAK,EAAE,IAAI;KACZ,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,UAAkB,EAAE,KAAa;IACzE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;SACnC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;SACtB,KAAK,CAAC,IAAI,CAAC,CAAC;IAEf,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACf,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAClD,KAAK,GAAG,CAAC,CAAC;YACV,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YACtB,MAAM;QACR,CAAC;IACH,CAAC;IACD,4EAA4E;IAC5E,mBAAmB;IACnB,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC7C,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;IAChE,CAAC;IAED,yEAAyE;IACzE,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;IACrD,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,GAAG,GAAG,CAAC,CAAC;YACR,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACnD,CAAC"}
@@ -65,6 +65,7 @@ exports.resolveProfileAgent = resolveProfileAgent;
65
65
  exports.resolveHarnessSettings = resolveHarnessSettings;
66
66
  exports.readProfileRules = readProfileRules;
67
67
  exports.readCostHints = readCostHints;
68
+ exports.writeHarnessTestCmd = writeHarnessTestCmd;
68
69
  const fs = __importStar(require("node:fs"));
69
70
  const path = __importStar(require("node:path"));
70
71
  const YamlLite_1 = require("../domain/YamlLite");
@@ -380,4 +381,32 @@ function isAdvisoryProfile(projectDir, profileName) {
380
381
  const profile = (doc.profiles || {})[profileName];
381
382
  return Boolean(profile && profile.advisory === true);
382
383
  }
384
+ /**
385
+ * Set `test_cmd:` in harness.config.yaml, creating the file when there is none
386
+ * (#68). `check` and `done` read the test command from here, and until this
387
+ * existed only `harness init` wrote it — a command that talks about agents and
388
+ * prompts to a team that does not use the harness. Every other line is kept:
389
+ * the first `test_cmd:` line (or the commented one `harness init` leaves when it
390
+ * detects nothing) is replaced, otherwise the key is appended.
391
+ */
392
+ function writeHarnessTestCmd(projectDir, testCmd) {
393
+ const filePath = path.join(projectDir, exports.HARNESS_CONFIG_FILE);
394
+ const quoted = /["\\]/.test(testCmd) ? `'${testCmd.replace(/'/g, "''")}'` : `"${testCmd}"`;
395
+ const line = `test_cmd: ${quoted}`;
396
+ if (!fs.existsSync(filePath)) {
397
+ fs.writeFileSync(filePath, `harness_version: 1\n${line}\n`, "utf8");
398
+ return filePath;
399
+ }
400
+ const lines = fs.readFileSync(filePath, "utf8").split("\n");
401
+ const at = lines.findIndex((l) => /^#?\s*test_cmd:/.test(l));
402
+ if (at >= 0)
403
+ lines[at] = line;
404
+ else {
405
+ if (lines[lines.length - 1] === "")
406
+ lines.pop();
407
+ lines.push(line, "");
408
+ }
409
+ fs.writeFileSync(filePath, lines.join("\n"), "utf8");
410
+ return filePath;
411
+ }
383
412
  //# sourceMappingURL=HarnessConfigFile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HarnessConfigFile.js","sourceRoot":"","sources":["../../../../../packages/core/src/infrastructure/HarnessConfigFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HarnessConfigFile.js","sourceRoot":"","sources":["../../../../../packages/core/src/infrastructure/HarnessConfigFile.ts"],"names":[],"mappings":"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"}
@@ -143,4 +143,16 @@ const SpecSections_1 = require("../../src/domain/SpecSections");
143
143
  assert.equal((0, SpecSections_1.hasRequirementSection)(spec, "REQ-005"), false, `'${cell}' should not count`);
144
144
  }
145
145
  });
146
+ (0, node_test_1.test)("the generated obligation is recognised until it is replaced (#67)", () => {
147
+ const section = (0, SpecSections_1.renderRequirementSection)("REQ-002", "El carrito suma el total");
148
+ assert.equal((0, SpecSections_1.templateObligationLines)(section).length, 2);
149
+ const rewritten = section
150
+ .replace("The system MUST satisfy: El carrito suma el total.", "El sistema DEBE sumar precio por cantidad de cada línea.")
151
+ .replace(/^> Written by Specgate\..*$/m, "");
152
+ assert.deepEqual((0, SpecSections_1.templateObligationLines)(rewritten), []);
153
+ });
154
+ (0, node_test_1.test)("a real obligation that says 'satisfy:' is not the template", () => {
155
+ const section = "## REQ-003 — Orders are valid\n\nThe system MUST satisfy: every rule in docs/rules.md.\n";
156
+ assert.deepEqual((0, SpecSections_1.templateObligationLines)(section), []);
157
+ });
146
158
  //# sourceMappingURL=spec-sections.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spec-sections.test.js","sourceRoot":"","sources":["../../../../../packages/core/test/unit/spec-sections.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec-sections.test.js","sourceRoot":"","sources":["../../../../../packages/core/test/unit/spec-sections.test.ts"],"names":[],"mappings":"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"}
@@ -36,12 +36,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.CiInitCommand = exports.PROVIDERS = void 0;
37
37
  exports.detectProvider = detectProvider;
38
38
  exports.parseArgs = parseArgs;
39
+ exports.renderCi = renderCi;
39
40
  const fs = __importStar(require("node:fs"));
40
41
  const path = __importStar(require("node:path"));
41
42
  const node_child_process_1 = require("node:child_process");
42
43
  const PackSpec_1 = require("../../../../packages/core/src/domain/PackSpec");
43
44
  const command_1 = require("../../../lib/command");
44
45
  const project_root_1 = require("../../../lib/project-root");
46
+ const CiToolchain_1 = require("./CiToolchain");
45
47
  const ROOT_DIR = (0, project_root_1.findCliRoot)(__dirname);
46
48
  const CI_TEMPLATES = path.join(ROOT_DIR, "templates", "ci");
47
49
  const packageJson = require(path.join(ROOT_DIR, "package.json"));
@@ -129,6 +131,25 @@ function parseArgs(argv) {
129
131
  }
130
132
  return opts;
131
133
  }
134
+ /**
135
+ * The job for one provider. The toolchain comes from the project — a JDK for a
136
+ * pom.xml, `npm ci` for a lockfile — so the gate can run the tests (#70).
137
+ */
138
+ function renderCi(providerName, projectDir) {
139
+ const provider = exports.PROVIDERS[providerName];
140
+ const version = packageJson.version || "latest";
141
+ const plan = (0, CiToolchain_1.planCi)(projectDir, version);
142
+ const container = (0, CiToolchain_1.containerSetup)(plan, projectDir);
143
+ return (0, PackSpec_1.renderTemplate)(fs.readFileSync(path.join(CI_TEMPLATES, provider.template), "utf8"), {
144
+ SPECGATE_VERSION: version,
145
+ GATE_CMD: plan.gateCmd,
146
+ SETUP_STEPS: providerName === "azure" ? (0, CiToolchain_1.azureSetup)(plan, projectDir) : (0, CiToolchain_1.githubSetup)(plan, projectDir),
147
+ CI_IMAGE: (0, CiToolchain_1.ciImage)(plan),
148
+ SETUP_SCRIPT: providerName === "jenkins"
149
+ ? container.map((l) => ` ${l}`).join("\n")
150
+ : container.map((l) => ` - ${l.includes(": ") ? JSON.stringify(l) : l}`).join("\n"),
151
+ });
152
+ }
132
153
  class CiInitCommand extends command_1.BaseCommand {
133
154
  execute() {
134
155
  let rawArgs = this.args;
@@ -160,7 +181,8 @@ class CiInitCommand extends command_1.BaseCommand {
160
181
  logFix(`Supported providers: ${Object.keys(exports.PROVIDERS).join(", ")}`);
161
182
  process.exit(2);
162
183
  }
163
- const rendered = (0, PackSpec_1.renderTemplate)(fs.readFileSync(path.join(CI_TEMPLATES, provider.template), "utf8"), { SPECGATE_VERSION: packageJson.version || "latest" });
184
+ const rendered = renderCi(opts.provider, opts.projectDir);
185
+ const plan = (0, CiToolchain_1.planCi)(opts.projectDir, packageJson.version || "latest");
164
186
  if (opts.stdout) {
165
187
  process.stdout.write(rendered);
166
188
  process.exit(0);
@@ -175,8 +197,11 @@ class CiInitCommand extends command_1.BaseCommand {
175
197
  fs.mkdirSync(path.dirname(dest), { recursive: true });
176
198
  fs.writeFileSync(dest, rendered, "utf8");
177
199
  logInfo(`write ${provider.dest}`);
178
- logInfo("✅ CI gate installed. The job:");
179
- logInfo(" 1. runs `validate . --strict` on every PR/MR (the L2 gate)");
200
+ logInfo("✅ CI gate installed. On every PR/MR the job:");
201
+ logInfo(plan.testSource === "none"
202
+ ? " 1. runs `validate . --strict` (the specification)"
203
+ : " 1. runs `specgate check` — the specification, then the tests, as locally");
204
+ logInfo(` ${(0, CiToolchain_1.describeTests)(plan)}`);
180
205
  logInfo(" 2. runs `validate --against-lock` when .specops.lock exists, so a");
181
206
  logInfo(" moved pack tag or an edited generated file fails the build");
182
207
  logInfo(" 3. publishes `plan --format json` as the spec-plan artifact");
@@ -1 +1 @@
1
- {"version":3,"file":"CiInitCommand.js","sourceRoot":"","sources":["../../../../../scripts/cli/commands/config/CiInitCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CiInitCommand.js","sourceRoot":"","sources":["../../../../../scripts/cli/commands/config/CiInitCommand.ts"],"names":[],"mappings":"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"}