@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 +39 -0
- package/dist/packages/core/src/domain/ForeignSpec.js +55 -0
- package/dist/packages/core/src/domain/ForeignSpec.js.map +1 -0
- package/dist/packages/core/src/domain/OpenSpecReader.js +225 -0
- package/dist/packages/core/src/domain/OpenSpecReader.js.map +1 -0
- package/dist/packages/core/src/domain/VerifyClaims.js +113 -0
- package/dist/packages/core/src/domain/VerifyClaims.js.map +1 -0
- package/dist/scripts/agents/commands.js +4 -1
- package/dist/scripts/agents/commands.js.map +1 -1
- package/dist/scripts/agents/init.js +16 -1
- package/dist/scripts/agents/init.js.map +1 -1
- package/dist/scripts/cli/commands/harness/RunCommand.js +45 -2
- package/dist/scripts/cli/commands/harness/RunCommand.js.map +1 -1
- package/dist/scripts/cli/commands/quality/VerifyCommand.js +333 -0
- package/dist/scripts/cli/commands/quality/VerifyCommand.js.map +1 -0
- package/dist/scripts/lib/surface.js +11 -0
- package/dist/scripts/lib/surface.js.map +1 -1
- package/dist/scripts/verify.js +11 -0
- package/dist/scripts/verify.js.map +1 -0
- package/package.json +1 -1
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":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;AAmCH,oCAuHC;AAvJD,6CAAoD;AACpD,+CAAuF;AA+BvF,SAAgB,YAAY,CAAC,KAAkB;IAC7C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,MAAM,GAAiB,EAAE,CAAC;IAEhC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CACT,IAAA,kBAAK,EAAC,eAAe,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3D,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,GAAG,EAAE,2FAA2F;SACjG,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,MAAM,WAAW,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,qBAAO,EAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAElG,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7E,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAEhF,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACrD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,KAAK,WAAW,CAAC,CAAC,EAAE,yBAAyB,CAAC;gBACvE,MAAM,CAAC,IAAI,CACT,KAAK;oBACH,CAAC,CAAC,IAAA,kBAAK,EAAC,mBAAmB,EAAE,OAAO,EAAE;wBAClC,GAAG,KAAK;wBACR,MAAM,EAAE,CAAC,CAAC,EAAE;wBACZ,GAAG,EAAE,2CAA2C,CAAC,CAAC,EAAE,2BAA2B;qBAChF,CAAC;oBACJ,CAAC,CAAC,IAAA,iBAAI,EACF,mBAAmB,EACnB,GAAG,OAAO,gBAAgB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,GAAG,EAC/E;wBACE,GAAG,KAAK;wBACR,MAAM,EAAE,CAAC,CAAC,EAAE;qBACb,CACF,CACN,CAAC;gBACF,SAAS;YACX,CAAC;YACD,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,KAAK,IAAI,SAAS,IAAI,QAAQ,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC5F,MAAM,CAAC,IAAI,CACT,IAAA,kBAAK,EACH,sBAAsB,EACtB,GAAG,CAAC,CAAC,EAAE,+DAA+D,EACtE;oBACE,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,MAAM,EAAE,CAAC,CAAC,EAAE;oBACZ,GAAG,EAAE,6FAA6F;iBACnG,CACF,CACF,CAAC;gBACF,SAAS;YACX,CAAC;YACD,IAAI,KAAK;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,KAAK,cAAc,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;YAC/D,MAAM,CAAC,IAAI,CACT,KAAK,IAAI,KAAK,CAAC,gBAAgB;gBAC7B,CAAC,CAAC,IAAA,kBAAK,EAAC,sBAAsB,EAAE,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;gBACrE,CAAC,CAAC,IAAA,oBAAO,EAAC,sBAAsB,EAAE,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAC1E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;IAC1E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM;QAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACvE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM,EAAE,IAAI,IAAA,wBAAU,EAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,CACT,IAAA,oBAAO,EACL,gBAAgB,EAChB,GAAG,CAAC,CAAC,IAAI,UAAU,EAAE,0CAA0C,EAC/D;oBACE,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,MAAM,EAAE,EAAE;oBACV,GAAG,EAAE,8FAA8F;iBACpG,CACF,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IACrF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CACvC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CACzD,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CACT,IAAA,iBAAI,EACF,uBAAuB,EACvB,GAAG,KAAK,CAAC,MAAM,OAAO,QAAQ,CAAC,IAAI,yDAAyD,CAC7F,CACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM;QACN,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE;QACzC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;QACnB,MAAM;KACP,CAAC;AACJ,CAAC"}
|
|
@@ -49,7 +49,10 @@ exports.STEPS = [
|
|
|
49
49
|
],
|
|
50
50
|
},
|
|
51
51
|
{
|
|
52
|
-
|
|
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,
|
|
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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"}
|