@rsaglobaltech/specgate 0.14.5 → 0.15.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.
package/CHANGELOG.md CHANGED
@@ -8,6 +8,45 @@ The release process is in [`docs/release-process.md`](docs/release-process.md).
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [0.15.0] — 2026-10-08
12
+
13
+ ### Changed
14
+
15
+ - **The agent slash command `/specgate:verify` is now `/specgate:check`**, the
16
+ name of the command it runs. `specgate verify` is the OpenSpec check below,
17
+ and two things called "verify" doing different things is one too many.
18
+ `specgate update` moves `.claude/commands/specgate/verify.md` (and the older
19
+ `csda/verify.md`) to `check.md`, keeping the team's edits.
20
+
21
+ ### Added
22
+
23
+ - **`specgate verify` — gate what OpenSpec calls done** (ADR-0030). Reads
24
+ `openspec/` in place, without writing to it. An archived change claims the
25
+ current scenarios of every requirement it added or modified. The check
26
+ fails while one of them has no test naming its id
27
+ (`openspec:<capability>/<requirement>/<scenario>`), while the suite is red
28
+ (`--run`), or after a scenario's text changed since `--record` pinned it.
29
+ `--since <ref>` gates only claims made after the ref, so adopting it never
30
+ fails a project for its past. `--ids` prints the ids to name; `--format
31
+ github` annotates the spec lines; `actions/verify` runs it on pull requests.
32
+ Read against OpenSpec's own repository: 747 scenarios, 108 claims, including
33
+ its archived history from before the structured format.
34
+
35
+ ## [0.14.6] — 2026-10-08
36
+
37
+ ### Fixed
38
+
39
+ - **The harness no longer fails an attempt for a regenerated matrix.** The
40
+ write-scope guard counted any change to `docs/specs/traceability.md` as an
41
+ edit to the contract, and on a derived project the matrix changes the
42
+ moment tests name their scenarios and anything runs `specgate`. A matrix
43
+ identical to its own regeneration is not an edit; a hand edit still fails.
44
+ - **The harness publishes a requirement it ran before.** `--push` uses
45
+ `--force-with-lease`, which trusts the local remote-tracking ref; once the
46
+ branch had been merged and deleted on the remote, that ref was stale and
47
+ every second-round push was refused ("stale info") although the
48
+ requirement had passed. The ref is now refreshed from the remote first.
49
+
11
50
  ## [0.14.5] — 2026-10-08
12
51
 
13
52
  ### Fixed
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ /**
3
+ * A specification Specgate did not write, read into the one shape the
4
+ * verification rules understand (ADR-0030).
5
+ *
6
+ * Each tool says three things in its own words: what must hold (a
7
+ * requirement), how you would know (an acceptance criterion — a scenario), and
8
+ * that it is done (a ticked task, an archived change). A reader turns those
9
+ * words into `ForeignRequirement`, `ForeignCriterion` and `ForeignClaim`; the
10
+ * rules in `VerifyClaims` never see a format.
11
+ *
12
+ * Pure: readers receive file contents, never paths to open.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.slug = slug;
16
+ exports.namesId = namesId;
17
+ exports.idsNamedIn = idsNamedIn;
18
+ /** `Path configuration for supported tools` → `path-configuration-for-supported-tools`. */
19
+ function slug(text) {
20
+ return String(text || "")
21
+ .toLowerCase()
22
+ .normalize("NFKD")
23
+ .replace(/[̀-ͯ]/g, "")
24
+ .replace(/[^a-z0-9]+/g, "-")
25
+ .replace(/^-+|-+$/g, "");
26
+ }
27
+ /** Does `source` name `id` as a whole token — not as a prefix of a longer id? */
28
+ function namesId(source, id) {
29
+ let from = 0;
30
+ for (;;) {
31
+ const at = source.indexOf(id, from);
32
+ if (at === -1)
33
+ return false;
34
+ const after = source.charAt(at + id.length);
35
+ const next = source.charAt(at + id.length + 1);
36
+ const before = at > 0 ? source.charAt(at - 1) : "";
37
+ // An id ends at anything that cannot continue it: `/a-b` must not match
38
+ // inside `/a-bc` or `/a-b/c`, nor `US1.2` inside `US1.25` or `US1` inside
39
+ // `US1.2`. A full stop ends a sentence; followed by a digit it continues.
40
+ const continues = /[a-z0-9/-]/i.test(after) || (after === "." && /[0-9]/.test(next));
41
+ if (!continues && !/[a-z0-9:/-]/i.test(before))
42
+ return true;
43
+ from = at + 1;
44
+ }
45
+ }
46
+ /** Every `openspec:…` / `speckit:…` id a source mentions, for orphan detection. */
47
+ function idsNamedIn(source) {
48
+ const out = new Set();
49
+ const re = /\b(openspec|speckit):[a-z0-9][a-z0-9/._-]*[a-z0-9]/gi;
50
+ let m;
51
+ while ((m = re.exec(source)) !== null)
52
+ out.add(m[0]);
53
+ return [...out];
54
+ }
55
+ //# sourceMappingURL=ForeignSpec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ForeignSpec.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/ForeignSpec.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAmEH,oBAOC;AAGD,0BAeC;AAGD,gCAMC;AAnCD,2FAA2F;AAC3F,SAAgB,IAAI,CAAC,IAAY;IAC/B,OAAO,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;SACtB,WAAW,EAAE;SACb,SAAS,CAAC,MAAM,CAAC;SACjB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,iFAAiF;AACjF,SAAgB,OAAO,CAAC,MAAc,EAAE,EAAU;IAChD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,SAAS,CAAC;QACR,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACpC,IAAI,EAAE,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5D,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;IAChB,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,SAAgB,UAAU,CAAC,MAAc;IACvC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,MAAM,EAAE,GAAG,sDAAsD,CAAC;IAClE,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI;QAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;AAClB,CAAC"}
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+ /**
3
+ * OpenSpec, read in place (ADR-0030).
4
+ *
5
+ * openspec/specs/<capability>/spec.md the current specification
6
+ * openspec/changes/<change>/specs/<capability>/spec.md a change's delta
7
+ * openspec/changes/<change>/tasks.md its task list
8
+ * openspec/changes/archive/<date>-<change>/… a change that shipped
9
+ *
10
+ * ```markdown
11
+ * ### Requirement: Path configuration for supported tools
12
+ * The `AI_TOOLS` array SHALL include `skillsDir` …
13
+ * #### Scenario: Claude Code paths defined
14
+ * - **WHEN** looking up the `claude` tool
15
+ * - **THEN** `skillsDir` SHALL be `.claude`
16
+ * ```
17
+ *
18
+ * OpenSpec names requirements and scenarios; it numbers neither. The id is
19
+ * built from the names: `openspec:<capability>/<slug(requirement)>/<slug(scenario)>`,
20
+ * where a nested capability keeps its path (`time-attendance/clock-punches`).
21
+ *
22
+ * Its claim of done is the archive: a change moved under `changes/archive/`
23
+ * has been applied to the specification, and every requirement its delta
24
+ * ADDED or MODIFIED is claimed. What it owes is judged against the scenarios
25
+ * the current specification holds for that requirement — the archive records
26
+ * what changed then; the specification is what holds now.
27
+ *
28
+ * An active change with every task ticked is a claim too, but OpenSpec itself
29
+ * has not called it finished until it is archived, so it is reported, not
30
+ * gated.
31
+ */
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ exports.isOpenSpecProject = isOpenSpecProject;
34
+ exports.readOpenSpec = readOpenSpec;
35
+ const ForeignSpec_1 = require("./ForeignSpec");
36
+ const ROOT = "openspec/";
37
+ // A capability may be nested — `specs/time-attendance/clock-punches/spec.md`
38
+ // (OpenSpec 1.14). Reading one level only skipped those files silently, which
39
+ // is the one thing this reader must never do; found by the verify pilot.
40
+ const MAIN_SPEC = /^openspec\/specs\/(.+)\/spec\.md$/;
41
+ const DELTA_SPEC = /^openspec\/changes\/(archive\/)?([^/]+)\/specs\/(.+)\/spec\.md$/;
42
+ const TASKS = /^openspec\/changes\/(archive\/)?([^/]+)\/tasks\.md$/;
43
+ const REQUIREMENT = /^###\s+Requirement:\s*(.+?)\s*$/;
44
+ const SCENARIO = /^####\s+Scenario:\s*(.+?)\s*$/;
45
+ const DELTA_SECTION = /^##\s+(ADDED|MODIFIED|REMOVED|RENAMED)\b/i;
46
+ const FENCE = /^\s*(```|~~~)/;
47
+ /** The requirements of one spec file, with the delta section each sits in. */
48
+ function requirementBlocks(source) {
49
+ const lines = source.replace(/\r\n/g, "\n").split("\n");
50
+ const out = [];
51
+ let section = "";
52
+ let fenced = false;
53
+ let req = null;
54
+ let scn = null;
55
+ lines.forEach((text, i) => {
56
+ if (FENCE.test(text))
57
+ fenced = !fenced;
58
+ if (fenced) {
59
+ (scn ? scn.body : req ? req.body : []).push(text);
60
+ return;
61
+ }
62
+ const sec = DELTA_SECTION.exec(text);
63
+ if (sec) {
64
+ section = sec[1].toUpperCase();
65
+ req = null;
66
+ scn = null;
67
+ return;
68
+ }
69
+ const r = REQUIREMENT.exec(text);
70
+ if (r) {
71
+ req = { name: r[1], line: i + 1, body: [], scenarios: [], section };
72
+ scn = null;
73
+ out.push(req);
74
+ return;
75
+ }
76
+ const s = SCENARIO.exec(text);
77
+ if (s && req) {
78
+ scn = { name: s[1], line: i + 1, body: [] };
79
+ req.scenarios.push(scn);
80
+ return;
81
+ }
82
+ // Any other heading at level 1–3 closes the requirement.
83
+ if (/^#{1,3}\s/.test(text)) {
84
+ req = null;
85
+ scn = null;
86
+ return;
87
+ }
88
+ (scn ? scn.body : req ? req.body : []).push(text);
89
+ });
90
+ return out;
91
+ }
92
+ function toRequirement(capability, file, block) {
93
+ const requirementId = `openspec:${capability}/${(0, ForeignSpec_1.slug)(block.name)}`;
94
+ const seen = new Map();
95
+ const criteria = block.scenarios.map((s) => {
96
+ const base = (0, ForeignSpec_1.slug)(s.name);
97
+ const n = (seen.get(base) || 0) + 1;
98
+ seen.set(base, n);
99
+ return {
100
+ id: `${requirementId}/${n === 1 ? base : `${base}-${n}`}`,
101
+ requirementId,
102
+ title: s.name,
103
+ text: [s.name, ...s.body].join("\n").trim(),
104
+ file,
105
+ line: s.line,
106
+ };
107
+ });
108
+ return { id: requirementId, title: block.name, file, line: block.line, criteria };
109
+ }
110
+ /** Every task line, and whether it is ticked. */
111
+ function tasksIn(source) {
112
+ return source
113
+ .replace(/\r\n/g, "\n")
114
+ .split("\n")
115
+ .map((l) => /^\s*[-*]\s+\[([ xX])\]\s+/.exec(l))
116
+ .filter((m) => m !== null)
117
+ .map((m) => ({ done: m[1].toLowerCase() === "x" }));
118
+ }
119
+ function isOpenSpecProject(paths) {
120
+ return paths.some((p) => MAIN_SPEC.test(p) || DELTA_SPEC.test(p));
121
+ }
122
+ function readOpenSpec(files) {
123
+ const problems = [];
124
+ const requirements = [];
125
+ const byId = new Map();
126
+ for (const f of files) {
127
+ const m = MAIN_SPEC.exec(f.path);
128
+ if (!m)
129
+ continue;
130
+ const blocks = requirementBlocks(f.source);
131
+ if (blocks.length === 0) {
132
+ problems.push({
133
+ file: f.path,
134
+ line: 1,
135
+ message: "no `### Requirement:` heading found — the file does not read as an OpenSpec spec",
136
+ });
137
+ continue;
138
+ }
139
+ for (const b of blocks) {
140
+ const req = toRequirement(m[1], f.path, b);
141
+ requirements.push(req);
142
+ byId.set(req.id, req);
143
+ }
144
+ }
145
+ const changes = new Map();
146
+ const changeFor = (archived, name) => {
147
+ const key = `${archived ? "archive/" : ""}${name}`;
148
+ let c = changes.get(key);
149
+ if (!c) {
150
+ const dir = `${ROOT}changes/${key}`;
151
+ c = { archived, name, deltas: [], tasks: null, tasksFile: `${dir}/tasks.md`, dir };
152
+ changes.set(key, c);
153
+ }
154
+ return c;
155
+ };
156
+ for (const f of files) {
157
+ const d = DELTA_SPEC.exec(f.path);
158
+ if (d) {
159
+ let blocks = requirementBlocks(f.source);
160
+ if (blocks.length > 0 && !blocks.some((b) => b.section)) {
161
+ // Before delta-based changes (OpenSpec, August 2025) a change carried
162
+ // the capability's whole future spec. Every requirement in it is what
163
+ // the change delivered — read as ADDED, not as an unreadable delta.
164
+ blocks = blocks.map((b) => ({ ...b, section: "ADDED" }));
165
+ }
166
+ else if (blocks.length === 0 &&
167
+ !d[1] &&
168
+ !/^##\s+(ADDED|MODIFIED|REMOVED|RENAMED)\b/im.test(f.source)) {
169
+ // Archived history older than OpenSpec's structured format (free-form
170
+ // "## Core Requirements" prose, 2025) has nothing to verify and is not
171
+ // the project's current state; only a change in flight is an error.
172
+ problems.push({
173
+ file: f.path,
174
+ line: 1,
175
+ message: "no `### Requirement:` and no `## ADDED|MODIFIED|REMOVED|RENAMED Requirements` section — the file does not read as an OpenSpec delta",
176
+ });
177
+ }
178
+ changeFor(Boolean(d[1]), d[2]).deltas.push({ capability: d[3], file: f.path, blocks });
179
+ continue;
180
+ }
181
+ const t = TASKS.exec(f.path);
182
+ if (t)
183
+ changeFor(Boolean(t[1]), t[2]).tasks = tasksIn(f.source);
184
+ }
185
+ const claims = [];
186
+ for (const c of [...changes.values()].sort((a, b) => a.dir.localeCompare(b.dir))) {
187
+ const allTicked = Boolean(c.tasks && c.tasks.length > 0 && c.tasks.every((t) => t.done));
188
+ if (!c.archived && !allTicked)
189
+ continue; // work in progress claims nothing
190
+ const criteria = new Set();
191
+ const unresolved = [];
192
+ let first = null;
193
+ for (const delta of c.deltas) {
194
+ for (const b of delta.blocks) {
195
+ if (b.section !== "ADDED" && b.section !== "MODIFIED")
196
+ continue;
197
+ first = first || { file: delta.file, line: b.line };
198
+ const id = `openspec:${delta.capability}/${(0, ForeignSpec_1.slug)(b.name)}`;
199
+ // Shipped: judged against the current spec. In flight: the delta is
200
+ // the only text there is.
201
+ const req = c.archived ? byId.get(id) : toRequirement(delta.capability, delta.file, b);
202
+ if (!req) {
203
+ unresolved.push({
204
+ ref: id,
205
+ why: `"${b.name}" is not in openspec/specs/${delta.capability}/spec.md — removed or renamed since`,
206
+ });
207
+ continue;
208
+ }
209
+ for (const k of req.criteria)
210
+ criteria.add(k.id);
211
+ }
212
+ }
213
+ claims.push({
214
+ label: `${c.archived ? "archived change" : "change, every task ticked"} ${c.name}`,
215
+ file: first ? first.file : c.tasksFile,
216
+ line: first ? first.line : 1,
217
+ finished: c.archived,
218
+ criteria: [...criteria],
219
+ unresolved,
220
+ datedBy: c.dir,
221
+ });
222
+ }
223
+ return { format: "openspec", requirements, claims, problems };
224
+ }
225
+ //# sourceMappingURL=OpenSpecReader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenSpecReader.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/OpenSpecReader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ /**
3
+ * Does what the other tool calls done have evidence behind it? (ADR-0030)
4
+ *
5
+ * The rules of `specgate verify`, over a `ForeignSpec` and the project's test
6
+ * sources. Pure: the caller reads files, runs the suite, consults git and the
7
+ * lock, and hands the facts in.
8
+ *
9
+ * | Code | Fails when | Gate or report |
10
+ * |---|---|---|
11
+ * | V1 | a finished claim covers a criterion no test names | gate |
12
+ * | V2 | the test command fails (decided by the caller) | gate |
13
+ * | V3 | a claimed criterion's text changed since it was verified | gate |
14
+ * | V4 | a claim refers to something the spec does not have | gate for a claim the tool cannot have meant; report when the spec moved on |
15
+ * | V5 | a spec file does not read as its format | gate |
16
+ * | V6 | a test names an id that does not exist | report |
17
+ * | V7 | criteria no claim covers and no test names | report |
18
+ *
19
+ * A claim is gated when it is finished and, under `--since`, new. An
20
+ * unfinished claim, or one older than `--since`, is reported: adopting the
21
+ * check never turns a project red for work done before it (ADR-0023).
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.verifyClaims = verifyClaims;
25
+ const Diagnostic_1 = require("./Diagnostic");
26
+ const ForeignSpec_1 = require("./ForeignSpec");
27
+ function verifyClaims(facts) {
28
+ const { spec, tests } = facts;
29
+ const status = [];
30
+ for (const p of spec.problems) {
31
+ status.push((0, Diagnostic_1.error)("V5_unreadable", `${p.file}:${p.line} — ${p.message}`, {
32
+ file: p.file,
33
+ line: p.line,
34
+ fix: "Fix the file so its own tool reads it, or tell `verify` which format it is with `--from`.",
35
+ }));
36
+ }
37
+ const criteria = new Map(spec.requirements.flatMap((r) => r.criteria.map((c) => [c.id, c])));
38
+ const testsNaming = (id) => tests.filter((t) => (0, ForeignSpec_1.namesId)(t.source, id)).map((t) => t.path);
39
+ const claims = [];
40
+ const proved = new Set();
41
+ for (const claim of spec.claims) {
42
+ const fresh = !facts.freshClaims || facts.freshClaims.has(claim.datedBy);
43
+ const gated = claim.finished && fresh;
44
+ const results = claim.criteria.map((id) => ({ id, tests: testsNaming(id) }));
45
+ claims.push({ label: claim.label, file: claim.file, gated, criteria: results });
46
+ const where = { file: claim.file, line: claim.line };
47
+ for (const r of results) {
48
+ if (r.tests.length === 0) {
49
+ const message = `${claim.label} claims ${r.id}, and no test names it.`;
50
+ status.push(gated
51
+ ? (0, Diagnostic_1.error)("V1_unproved_claim", message, {
52
+ ...where,
53
+ target: r.id,
54
+ fix: `Write a test that proves it and names \`${r.id}\` — a comment is enough.`,
55
+ })
56
+ : (0, Diagnostic_1.info)("V1_unproved_claim", `${message} (not gated: ${claim.finished ? "before --since" : "not finished"})`, {
57
+ ...where,
58
+ target: r.id,
59
+ }));
60
+ continue;
61
+ }
62
+ const criterion = criteria.get(r.id);
63
+ const recorded = facts.lock && facts.lock.get(r.id);
64
+ if (gated && criterion && recorded && facts.hash && facts.hash(criterion.text) !== recorded) {
65
+ status.push((0, Diagnostic_1.error)("V3_criterion_changed", `${r.id} changed after it was verified; its tests prove the old text.`, {
66
+ file: criterion.file,
67
+ line: criterion.line,
68
+ target: r.id,
69
+ fix: "Check the tests against the new text, then record it again with `specgate verify --record`.",
70
+ }));
71
+ continue;
72
+ }
73
+ if (gated)
74
+ proved.add(r.id);
75
+ }
76
+ for (const u of claim.unresolved) {
77
+ const message = `${claim.label} refers to ${u.ref}: ${u.why}.`;
78
+ status.push(gated && facts.strictReferences
79
+ ? (0, Diagnostic_1.error)("V4_unknown_reference", message, { ...where, target: u.ref })
80
+ : (0, Diagnostic_1.warning)("V4_unknown_reference", message, { ...where, target: u.ref }));
81
+ }
82
+ }
83
+ // Orphans: a test naming an id of this format that does not exist.
84
+ const prefix = `${spec.format === "spec-kit" ? "speckit" : spec.format}:`;
85
+ const known = new Set([...criteria.keys(), ...spec.requirements.map((r) => r.id)]);
86
+ for (const c of spec.claims)
87
+ c.criteria.forEach((id) => known.add(id));
88
+ for (const t of tests) {
89
+ for (const id of (0, ForeignSpec_1.idsNamedIn)(t.source)) {
90
+ if (id.startsWith(prefix) && !known.has(id)) {
91
+ status.push((0, Diagnostic_1.warning)("V6_orphan_name", `${t.path} names ${id}, which the specification does not have.`, {
92
+ file: t.path,
93
+ target: id,
94
+ fix: "Renamed or removed in the spec? Update the test to the current id (`specgate verify --ids`).",
95
+ }));
96
+ }
97
+ }
98
+ }
99
+ const named = [...criteria.keys()].filter((id) => testsNaming(id).length > 0).length;
100
+ const claimed = new Set(spec.claims.flatMap((c) => c.criteria));
101
+ const loose = [...criteria.keys()].filter((id) => !claimed.has(id) && testsNaming(id).length === 0);
102
+ if (loose.length > 0) {
103
+ status.push((0, Diagnostic_1.info)("V7_unclaimed_coverage", `${loose.length} of ${criteria.size} criteria are neither claimed done nor named by a test.`));
104
+ }
105
+ return {
106
+ format: spec.format,
107
+ claims,
108
+ coverage: { named, total: criteria.size },
109
+ proved: [...proved],
110
+ status,
111
+ };
112
+ }
113
+ //# sourceMappingURL=VerifyClaims.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerifyClaims.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/VerifyClaims.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,10 @@ exports.STEPS = [
49
49
  ],
50
50
  },
51
51
  {
52
- name: "verify",
52
+ // Was `verify` until 0.15, when `specgate verify` became the OpenSpec
53
+ // check (ADR-0030); the slash command takes the name of what it runs.
54
+ // `specgate update` moves files generated under the old name.
55
+ name: "check",
53
56
  summary: "Run the gate: specs, links, coverage and the project's tests.",
54
57
  when: "After every change, and before saying the work is done.",
55
58
  run: ["specgate check --json"],
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../scripts/agents/commands.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEU,QAAA,KAAK,GAAG;IACnB;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,oDAAoD;QAC7D,IAAI,EAAE,2CAA2C;QACjD,GAAG,EAAE,CAAC,wBAAwB,CAAC;QAC/B,QAAQ,EAAE;YACR,kFAAkF;YAClF,uFAAuF;YACvF,wEAAwE;SACzE;KACF;IACD;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,sEAAsE;QAC/E,IAAI,EAAE,+DAA+D;QACrE,GAAG,EAAE,CAAC,iDAAiD,CAAC;QACxD,QAAQ,EAAE;YACR,gHAAgH;YAChH,qJAAqJ;YACrJ,0CAA0C;SAC3C;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,2DAA2D;QACpE,IAAI,EAAE,8DAA8D;QACpE,GAAG,EAAE,CAAC,wBAAwB,EAAE,2CAA2C,CAAC;QAC5E,QAAQ,EAAE;YACR,oDAAoD;YACpD,6JAA6J;YAC7J,4FAA4F;YAC5F,6DAA6D;SAC9D;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,+DAA+D;QACxE,IAAI,EAAE,yDAAyD;QAC/D,GAAG,EAAE,CAAC,uBAAuB,CAAC;QAC9B,QAAQ,EAAE;YACR,kEAAkE;YAClE,kFAAkF;YAClF,yFAAyF;SAC1F;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,uCAAuC;QAChD,IAAI,EAAE,+DAA+D;QACrE,GAAG,EAAE,CAAC,yCAAyC,CAAC;QAChD,QAAQ,EAAE;YACR,2GAA2G;YAC3G,0EAA0E;SAC3E;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,mEAAmE;QAC5E,IAAI,EAAE,qFAAqF;QAC3F,GAAG,EAAE;YACH,iCAAiC;YACjC,8CAA8C;YAC9C,2CAA2C;SAC5C;QACD,QAAQ,EAAE;YACR,4JAA4J;YAC5J,iEAAiE;YACjE,mIAAmI;SACpI;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,8CAA8C;QACvD,IAAI,EAAE,sDAAsD;QAC5D,GAAG,EAAE;YACH,6CAA6C;YAC7C,+CAA+C;YAC/C,4CAA4C;SAC7C;QACD,QAAQ,EAAE;YACR,oEAAoE;YACpE,+FAA+F;SAChG;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,gEAAgE;QACzE,IAAI,EAAE,2CAA2C;QACjD,GAAG,EAAE,CAAC,eAAe,EAAE,uBAAuB,CAAC;QAC/C,QAAQ,EAAE;YACR,yGAAyG;YACzG,4GAA4G;SAC7G;KACF;CACF,CAAC;AAEF,0EAA0E;AAC7D,QAAA,aAAa,GAAG;IAC3B,qHAAqH;IACrH,kKAAkK;IAClK,2GAA2G;IAC3G,iFAAiF;IACjF,2HAA2H;CAC5H,CAAC"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../scripts/agents/commands.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEU,QAAA,KAAK,GAAG;IACnB;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,oDAAoD;QAC7D,IAAI,EAAE,2CAA2C;QACjD,GAAG,EAAE,CAAC,wBAAwB,CAAC;QAC/B,QAAQ,EAAE;YACR,kFAAkF;YAClF,uFAAuF;YACvF,wEAAwE;SACzE;KACF;IACD;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,sEAAsE;QAC/E,IAAI,EAAE,+DAA+D;QACrE,GAAG,EAAE,CAAC,iDAAiD,CAAC;QACxD,QAAQ,EAAE;YACR,gHAAgH;YAChH,qJAAqJ;YACrJ,0CAA0C;SAC3C;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,2DAA2D;QACpE,IAAI,EAAE,8DAA8D;QACpE,GAAG,EAAE,CAAC,wBAAwB,EAAE,2CAA2C,CAAC;QAC5E,QAAQ,EAAE;YACR,oDAAoD;YACpD,6JAA6J;YAC7J,4FAA4F;YAC5F,6DAA6D;SAC9D;KACF;IACD;QACE,sEAAsE;QACtE,sEAAsE;QACtE,8DAA8D;QAC9D,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,+DAA+D;QACxE,IAAI,EAAE,yDAAyD;QAC/D,GAAG,EAAE,CAAC,uBAAuB,CAAC;QAC9B,QAAQ,EAAE;YACR,kEAAkE;YAClE,kFAAkF;YAClF,yFAAyF;SAC1F;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,uCAAuC;QAChD,IAAI,EAAE,+DAA+D;QACrE,GAAG,EAAE,CAAC,yCAAyC,CAAC;QAChD,QAAQ,EAAE;YACR,2GAA2G;YAC3G,0EAA0E;SAC3E;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,mEAAmE;QAC5E,IAAI,EAAE,qFAAqF;QAC3F,GAAG,EAAE;YACH,iCAAiC;YACjC,8CAA8C;YAC9C,2CAA2C;SAC5C;QACD,QAAQ,EAAE;YACR,4JAA4J;YAC5J,iEAAiE;YACjE,mIAAmI;SACpI;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,8CAA8C;QACvD,IAAI,EAAE,sDAAsD;QAC5D,GAAG,EAAE;YACH,6CAA6C;YAC7C,+CAA+C;YAC/C,4CAA4C;SAC7C;QACD,QAAQ,EAAE;YACR,oEAAoE;YACpE,+FAA+F;SAChG;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,gEAAgE;QACzE,IAAI,EAAE,2CAA2C;QACjD,GAAG,EAAE,CAAC,eAAe,EAAE,uBAAuB,CAAC;QAC/C,QAAQ,EAAE;YACR,yGAAyG;YACzG,4GAA4G;SAC7G;KACF;CACF,CAAC;AAEF,0EAA0E;AAC7D,QAAA,aAAa,GAAG;IAC3B,qHAAqH;IACrH,kKAAkK;IAClK,2GAA2G;IAC3G,iFAAiF;IACjF,2HAA2H;CAC5H,CAAC"}
@@ -44,7 +44,7 @@ var __importStar = (this && this.__importStar) || (function () {
44
44
  };
45
45
  })();
46
46
  Object.defineProperty(exports, "__esModule", { value: true });
47
- exports.DEFAULT_TOOLS = exports.ALL_TOOLS = exports.TOOLS = exports.AGENT_NAMESPACE = void 0;
47
+ exports.DEFAULT_TOOLS = exports.RENAMED_COMMANDS = exports.ALL_TOOLS = exports.TOOLS = exports.AGENT_NAMESPACE = void 0;
48
48
  exports.slashCommandBody = slashCommandBody;
49
49
  exports.instructionsBody = instructionsBody;
50
50
  exports.mcpServerConfig = mcpServerConfig;
@@ -378,10 +378,25 @@ function renamedPaths() {
378
378
  seen.add(old);
379
379
  pairs.push([old, file.path]);
380
380
  }
381
+ // A slash command renamed since: its file moves too, from either
382
+ // namespace — `csda/verify.md` and `specgate/verify.md` → `specgate/check.md`.
383
+ for (const [was, now] of exports.RENAMED_COMMANDS) {
384
+ if (parts[parts.length - 1] !== `${now}.md`)
385
+ continue;
386
+ for (const base of [file.path, old]) {
387
+ const before = path.join(path.dirname(base), `${was}.md`);
388
+ if (!seen.has(before)) {
389
+ seen.add(before);
390
+ pairs.push([before, file.path]);
391
+ }
392
+ }
393
+ }
381
394
  }
382
395
  }
383
396
  return pairs;
384
397
  }
398
+ /** Slash commands renamed after they shipped: [old name, new name]. */
399
+ exports.RENAMED_COMMANDS = [["verify", "check"]];
385
400
  /** What `--tool` defaults to: everything that belongs inside a project. */
386
401
  exports.DEFAULT_TOOLS = exports.ALL_TOOLS.filter((t) => !exports.TOOLS[t].optIn);
387
402
  function usage() {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../scripts/agents/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../scripts/agents/init.ts"],"names":[],"mappings":"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"}