@rsaglobaltech/specgate 0.27.9 → 1.0.0-rc.1

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 (136) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/packages/core/src/application/ValidateChangeUseCase.js +19 -3
  3. package/dist/packages/core/src/application/ValidateChangeUseCase.js.map +1 -1
  4. package/dist/packages/core/src/domain/ApiContract.js +157 -0
  5. package/dist/packages/core/src/domain/ApiContract.js.map +1 -0
  6. package/dist/packages/core/src/domain/Approvals.js +127 -0
  7. package/dist/packages/core/src/domain/Approvals.js.map +1 -0
  8. package/dist/packages/core/src/domain/ChangeLayers.js +281 -0
  9. package/dist/packages/core/src/domain/ChangeLayers.js.map +1 -0
  10. package/dist/packages/core/src/domain/HarnessConfig.js.map +1 -1
  11. package/dist/packages/core/src/domain/HarnessGaps.js +182 -0
  12. package/dist/packages/core/src/domain/HarnessGaps.js.map +1 -0
  13. package/dist/packages/core/src/domain/HarnessReport.js +16 -1
  14. package/dist/packages/core/src/domain/HarnessReport.js.map +1 -1
  15. package/dist/packages/core/src/domain/HarnessRun.js.map +1 -1
  16. package/dist/packages/core/src/domain/Principles.js +119 -0
  17. package/dist/packages/core/src/domain/Principles.js.map +1 -0
  18. package/dist/packages/core/src/domain/RequirementGraph.js +12 -1
  19. package/dist/packages/core/src/domain/RequirementGraph.js.map +1 -1
  20. package/dist/packages/core/src/domain/Workspace.js +150 -0
  21. package/dist/packages/core/src/domain/Workspace.js.map +1 -0
  22. package/dist/packages/core/src/index.js +1 -0
  23. package/dist/packages/core/src/index.js.map +1 -1
  24. package/dist/packages/core/src/infrastructure/HarnessConfigFile.js +12 -0
  25. package/dist/packages/core/src/infrastructure/HarnessConfigFile.js.map +1 -1
  26. package/dist/packages/mcp-spec-driven/src/tools.js +18 -0
  27. package/dist/packages/mcp-spec-driven/src/tools.js.map +1 -1
  28. package/dist/scripts/alm/cli.js +45 -4
  29. package/dist/scripts/alm/cli.js.map +1 -1
  30. package/dist/scripts/alm/clients.js +3 -1
  31. package/dist/scripts/alm/clients.js.map +1 -1
  32. package/dist/scripts/alm/phases.js +279 -0
  33. package/dist/scripts/alm/phases.js.map +1 -0
  34. package/dist/scripts/alm/port.js +33 -5
  35. package/dist/scripts/alm/port.js.map +1 -1
  36. package/dist/scripts/alm/providers/azure.js +72 -11
  37. package/dist/scripts/alm/providers/azure.js.map +1 -1
  38. package/dist/scripts/alm/providers/github.js +67 -7
  39. package/dist/scripts/alm/providers/github.js.map +1 -1
  40. package/dist/scripts/alm/providers/index.js +8 -2
  41. package/dist/scripts/alm/providers/index.js.map +1 -1
  42. package/dist/scripts/alm/providers/jira.js +86 -8
  43. package/dist/scripts/alm/providers/jira.js.map +1 -1
  44. package/dist/scripts/alm/providers/linear.js +167 -0
  45. package/dist/scripts/alm/providers/linear.js.map +1 -0
  46. package/dist/scripts/change/artifacts.js +15 -1
  47. package/dist/scripts/change/artifacts.js.map +1 -1
  48. package/dist/scripts/change/instructions.js +39 -5
  49. package/dist/scripts/change/instructions.js.map +1 -1
  50. package/dist/scripts/cli/commands/alm/PhaseCommand.js +153 -0
  51. package/dist/scripts/cli/commands/alm/PhaseCommand.js.map +1 -0
  52. package/dist/scripts/cli/commands/alm/PullCommand.js +33 -2
  53. package/dist/scripts/cli/commands/alm/PullCommand.js.map +1 -1
  54. package/dist/scripts/cli/commands/alm/pull-back.js +104 -0
  55. package/dist/scripts/cli/commands/alm/pull-back.js.map +1 -0
  56. package/dist/scripts/cli/commands/change/ChangeCommand.js +92 -14
  57. package/dist/scripts/cli/commands/change/ChangeCommand.js.map +1 -1
  58. package/dist/scripts/cli/commands/change/TicketCommand.js +20 -7
  59. package/dist/scripts/cli/commands/change/TicketCommand.js.map +1 -1
  60. package/dist/scripts/cli/commands/harness/RunCommand.js +64 -20
  61. package/dist/scripts/cli/commands/harness/RunCommand.js.map +1 -1
  62. package/dist/scripts/cli/commands/project/AdoptCommand.js +44 -4
  63. package/dist/scripts/cli/commands/project/AdoptCommand.js.map +1 -1
  64. package/dist/scripts/cli/commands/project/MigrateCommand.js +166 -0
  65. package/dist/scripts/cli/commands/project/MigrateCommand.js.map +1 -0
  66. package/dist/scripts/cli/commands/project/OnboardCommand.js +23 -5
  67. package/dist/scripts/cli/commands/project/OnboardCommand.js.map +1 -1
  68. package/dist/scripts/cli/commands/quality/CheckCommand.js +25 -0
  69. package/dist/scripts/cli/commands/quality/CheckCommand.js.map +1 -1
  70. package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js +15 -0
  71. package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js.map +1 -1
  72. package/dist/scripts/cli/commands/spec/ContractCommand.js +117 -0
  73. package/dist/scripts/cli/commands/spec/ContractCommand.js.map +1 -0
  74. package/dist/scripts/cli/commands/spec/DraftCommand.js +22 -8
  75. package/dist/scripts/cli/commands/spec/DraftCommand.js.map +1 -1
  76. package/dist/scripts/cli/commands/spec/DriftCommand.js +128 -0
  77. package/dist/scripts/cli/commands/spec/DriftCommand.js.map +1 -0
  78. package/dist/scripts/cli/commands/spec/StatusCommand.js +12 -0
  79. package/dist/scripts/cli/commands/spec/StatusCommand.js.map +1 -1
  80. package/dist/scripts/cli/commands/spec/StudioCommand.js +43 -1
  81. package/dist/scripts/cli/commands/spec/StudioCommand.js.map +1 -1
  82. package/dist/scripts/cli/commands/workspace/WorkspaceCommand.js +485 -0
  83. package/dist/scripts/cli/commands/workspace/WorkspaceCommand.js.map +1 -0
  84. package/dist/scripts/contract.js +10 -0
  85. package/dist/scripts/contract.js.map +1 -0
  86. package/dist/scripts/docs/nav.js +16 -1
  87. package/dist/scripts/docs/nav.js.map +1 -1
  88. package/dist/scripts/draft/drafting-guide.js +6 -0
  89. package/dist/scripts/draft/drafting-guide.js.map +1 -1
  90. package/dist/scripts/draft/ticket-guide.js +5 -0
  91. package/dist/scripts/draft/ticket-guide.js.map +1 -1
  92. package/dist/scripts/drift.js +10 -0
  93. package/dist/scripts/drift.js.map +1 -0
  94. package/dist/scripts/harness/gap-evidence.js +149 -0
  95. package/dist/scripts/harness/gap-evidence.js.map +1 -0
  96. package/dist/scripts/harness/prompt.js +5 -1
  97. package/dist/scripts/harness/prompt.js.map +1 -1
  98. package/dist/scripts/harness/report.js +104 -5
  99. package/dist/scripts/harness/report.js.map +1 -1
  100. package/dist/scripts/lib/approvals.js +243 -0
  101. package/dist/scripts/lib/approvals.js.map +1 -0
  102. package/dist/scripts/lib/change-review.js +19 -11
  103. package/dist/scripts/lib/change-review.js.map +1 -1
  104. package/dist/scripts/lib/contracts.js +211 -0
  105. package/dist/scripts/lib/contracts.js.map +1 -0
  106. package/dist/scripts/lib/drift.js +80 -0
  107. package/dist/scripts/lib/drift.js.map +1 -0
  108. package/dist/scripts/lib/live-model.js +1 -0
  109. package/dist/scripts/lib/live-model.js.map +1 -1
  110. package/dist/scripts/lib/migrate.js +264 -0
  111. package/dist/scripts/lib/migrate.js.map +1 -0
  112. package/dist/scripts/lib/role-packages.js +230 -0
  113. package/dist/scripts/lib/role-packages.js.map +1 -0
  114. package/dist/scripts/lib/steering.js +180 -0
  115. package/dist/scripts/lib/steering.js.map +1 -0
  116. package/dist/scripts/lib/studio-app-page.js +28 -5
  117. package/dist/scripts/lib/studio-app-page.js.map +1 -1
  118. package/dist/scripts/lib/studio-app.js +29 -0
  119. package/dist/scripts/lib/studio-app.js.map +1 -1
  120. package/dist/scripts/lib/studio-route.js +20 -0
  121. package/dist/scripts/lib/studio-route.js.map +1 -1
  122. package/dist/scripts/lib/surface.js +55 -0
  123. package/dist/scripts/lib/surface.js.map +1 -1
  124. package/dist/scripts/lib/workspace-live-page.js +90 -0
  125. package/dist/scripts/lib/workspace-live-page.js.map +1 -0
  126. package/dist/scripts/lib/workspace-live.js +216 -0
  127. package/dist/scripts/lib/workspace-live.js.map +1 -0
  128. package/dist/scripts/lib/workspace.js +406 -0
  129. package/dist/scripts/lib/workspace.js.map +1 -0
  130. package/dist/scripts/migrate.js +10 -0
  131. package/dist/scripts/migrate.js.map +1 -0
  132. package/dist/scripts/schema/registry.js +12 -0
  133. package/dist/scripts/schema/registry.js.map +1 -1
  134. package/dist/scripts/workspace.js +10 -0
  135. package/dist/scripts/workspace.js.map +1 -0
  136. package/package.json +1 -1
@@ -0,0 +1,281 @@
1
+ "use strict";
2
+ /**
3
+ * The three layers of a change (ADR-0042): what the business needs, how the
4
+ * system will do it, and the work that does it — each with the role that owns
5
+ * it, so a product owner, an architect and a developer each write and review
6
+ * their own part instead of one proposal that mixes the three.
7
+ *
8
+ * Pure: the caller reads the files. A 0.27 change has no `discover.md`; its
9
+ * `proposal.md` is read as the Discover, and a missing `design.md` is a
10
+ * warning that names `specgate migrate 1.0`, never an error — a change already
11
+ * in flight stays valid.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.layer = exports.LEGACY_DISCOVER = exports.LAYERED_SCHEMA = exports.LAYERS = void 0;
15
+ exports.templateDiscover = templateDiscover;
16
+ exports.templateLayeredDesign = templateLayeredDesign;
17
+ exports.templateLayeredTasks = templateLayeredTasks;
18
+ exports.templateDraftTasks = templateDraftTasks;
19
+ exports.isUntouchedLayer = isUntouchedLayer;
20
+ exports.designFromProposal = designFromProposal;
21
+ exports.acceptanceCriteria = acceptanceCriteria;
22
+ exports.checkLayers = checkLayers;
23
+ exports.discoverRewritten = discoverRewritten;
24
+ const Diagnostic_1 = require("./Diagnostic");
25
+ const BriefCards_1 = require("./BriefCards");
26
+ exports.LAYERS = Object.freeze([
27
+ {
28
+ id: "discover",
29
+ file: "discover.md",
30
+ owner: "product",
31
+ purpose: "the business context, the use case and its acceptance criteria",
32
+ },
33
+ {
34
+ id: "design",
35
+ file: "design.md",
36
+ owner: "architect",
37
+ purpose: "the modules, mechanisms and channels that meet each criterion",
38
+ },
39
+ {
40
+ id: "tasks",
41
+ file: "tasks.md",
42
+ owner: "developer",
43
+ purpose: "verifiable tasks, each naming the requirement it delivers",
44
+ },
45
+ ]);
46
+ /** The schema new changes follow from 1.0 on. 0.27 changes say `spec-driven`. */
47
+ exports.LAYERED_SCHEMA = "layered";
48
+ /** The Discover of a 0.27 change: its proposal. */
49
+ exports.LEGACY_DISCOVER = "proposal.md";
50
+ const layer = (id) => exports.LAYERS.find((l) => l.id === id);
51
+ exports.layer = layer;
52
+ // ── Templates ────────────────────────────────────────────────────────────────
53
+ function templateDiscover(changeId) {
54
+ return `# Discover: ${changeId}
55
+
56
+ > Owner: product — what the business needs and why. No technology here: the
57
+ > design says how.
58
+
59
+ ## Context
60
+
61
+ <!-- Who has the problem, and what it costs them today. -->
62
+
63
+ ## Use case
64
+
65
+ <!-- What the person does, step by step, once this exists. -->
66
+
67
+ ## Acceptance criteria
68
+
69
+ <!-- One line each, numbered: the design must answer every one. -->
70
+ - AC-1:
71
+ `;
72
+ }
73
+ function templateLayeredDesign(changeId) {
74
+ return `# Design: ${changeId}
75
+
76
+ > Owner: architect — how the system meets the Discover. Name each acceptance
77
+ > criterion (AC-1, AC-2…) where it is answered.
78
+
79
+ ## Modules
80
+
81
+ <!-- Which modules or services change, and what each one owns. -->
82
+
83
+ ## Mechanisms
84
+
85
+ <!-- How: data, rules, flows. Answer each criterion: "AC-1 — …". -->
86
+
87
+ ## Channels
88
+
89
+ <!-- APIs, events, queues between modules or repositories. -->
90
+
91
+ ## Decisions
92
+
93
+ <!-- The ADRs this touches, or the choice made here and what was rejected. -->
94
+ `;
95
+ }
96
+ function templateLayeredTasks() {
97
+ return `# Tasks
98
+
99
+ > Owner: developer — each task is verifiable and names the requirement it
100
+ > delivers (REQ-NNN).
101
+
102
+ ## 1. Specification
103
+
104
+ - [ ] 1.1 Write the delta spec for each affected capability
105
+ - [ ] 1.2 Run \`specgate change validate\`
106
+
107
+ ## 2. Implementation
108
+
109
+ - [ ] 2.1 REQ-NNN —
110
+ `;
111
+ }
112
+ /**
113
+ * A draft's tasks before the review: the developer's layer, with nothing to
114
+ * tick yet — a draft has no work to check off until its requirements are
115
+ * agreed.
116
+ */
117
+ function templateDraftTasks() {
118
+ return `# Tasks
119
+
120
+ > Owner: developer — verifiable tasks, each naming the requirement it
121
+ > delivers (REQ-NNN). Written once the draft is reviewed.
122
+ `;
123
+ }
124
+ const normal = (t) => t.replace(/\r\n/g, "\n").trim();
125
+ /** True when a layer is still as `change new` wrote it: not written yet. */
126
+ function isUntouchedLayer(id, content, changeId) {
127
+ const template = id === "discover"
128
+ ? templateDiscover(changeId)
129
+ : id === "design"
130
+ ? templateLayeredDesign(changeId)
131
+ : templateLayeredTasks();
132
+ if (id === "tasks" && normal(content) === normal(templateDraftTasks()))
133
+ return true;
134
+ return normal(content) === normal(template);
135
+ }
136
+ /**
137
+ * A first `design.md` for a 0.27 change, from its proposal, for
138
+ * `specgate migrate 1.0`: the proposal's Approach becomes the Mechanisms, and
139
+ * every criterion the proposal states is listed for the architect to answer.
140
+ */
141
+ function designFromProposal(proposal, changeId) {
142
+ const approach = section(proposal, /approach|enfoque|ansatz/i);
143
+ const criteria = acceptanceCriteria(proposal);
144
+ const body = [
145
+ `# Design: ${changeId}`,
146
+ "",
147
+ "> Owner: architect — written by `specgate migrate 1.0` from the proposal. Review it.",
148
+ "",
149
+ "## Modules",
150
+ "",
151
+ "<!-- Which modules or services change, and what each one owns. -->",
152
+ "",
153
+ "## Mechanisms",
154
+ "",
155
+ approach.trim() || "<!-- How: data, rules, flows. -->",
156
+ "",
157
+ ];
158
+ if (criteria.length > 0) {
159
+ body.push(...criteria.map((c) => `- ${c.id} — <!-- how it is met -->`), "");
160
+ }
161
+ body.push("## Channels", "", "<!-- APIs, events, queues. -->", "", "## Decisions", "", "");
162
+ return body.join("\n");
163
+ }
164
+ // ── Reading the layers ───────────────────────────────────────────────────────
165
+ /** The text under the first `##` heading matching `heading`, up to the next `##`. */
166
+ function section(md, heading) {
167
+ const lines = md.replace(/\r\n/g, "\n").split("\n");
168
+ const start = lines.findIndex((l) => /^##\s/.test(l) && heading.test(l));
169
+ if (start < 0)
170
+ return "";
171
+ const out = [];
172
+ for (const l of lines.slice(start + 1)) {
173
+ if (/^##\s/.test(l))
174
+ break;
175
+ out.push(l);
176
+ }
177
+ return out.join("\n");
178
+ }
179
+ const withoutComments = (t) => t.replace(/<!--[\s\S]*?-->/g, "");
180
+ /**
181
+ * The numbered criteria of a Discover: `- AC-1: text` (or `—`, `-`) under
182
+ * "Acceptance criteria" ("Criterios de aceptación", "Akzeptanzkriterien").
183
+ * A criterion with no text yet is not one.
184
+ */
185
+ function acceptanceCriteria(discover) {
186
+ const body = withoutComments(section(discover, /acceptance criteria|criterios de aceptaci[oó]n|akzeptanzkriterien/i));
187
+ const out = [];
188
+ for (const m of body.matchAll(/^\s*[-*]\s*(AC-\d+)\s*[:—–-]\s*(.*\S)\s*$/gm)) {
189
+ out.push({ id: m[1], text: m[2] });
190
+ }
191
+ return out;
192
+ }
193
+ /** Words of how, in a layer about what: the brief's list plus the architecture's. */
194
+ const DISCOVER_TECHNICAL = new RegExp(`${BriefCards_1.TECHNICAL.source}|\\b(api|apis|endpoints?|database|base de datos|sql|http|json|microservices?|microservicios?|queue|cola de mensajes|controllers?|tables?|tablas?)\\b`, "i");
195
+ /** REST in capitals only: "the rest of the week" is plain English. */
196
+ const DISCOVER_REST = /\bREST(?:ful)?\b/;
197
+ /**
198
+ * The layer rules (REQ-284..REQ-286), plus the 0.27 notice (REQ-283). All
199
+ * warnings: a change is drafted one layer at a time, and the project's gate
200
+ * must not fail while the architect has not written the design yet.
201
+ * `change validate --strict` fails on them.
202
+ */
203
+ function checkLayers(files) {
204
+ const out = [];
205
+ const dir = `docs/specs/changes/${files.changeId}`;
206
+ const legacy = files.discoverFile === exports.LEGACY_DISCOVER;
207
+ if (files.design === null) {
208
+ out.push((0, Diagnostic_1.warning)("layer_no_design", legacy
209
+ ? `Change "${files.changeId}" has the 0.27 layout: a proposal and no design.md.`
210
+ : `Change "${files.changeId}" has no design.md.`, {
211
+ target: files.changeId,
212
+ file: `${dir}/design.md`,
213
+ fix: legacy
214
+ ? "Run `specgate migrate 1.0` to add its design.md from the proposal, or write one: the architect's layer."
215
+ : "Write design.md: the architect's layer, answering each acceptance criterion.",
216
+ }));
217
+ }
218
+ const discover = files.discover && withoutComments(files.discover);
219
+ // The rules below judge the layers of a 1.0 change; a proposal was never
220
+ // written to them.
221
+ if (legacy || !discover)
222
+ return out;
223
+ // REQ-284: the Discover is the business story.
224
+ const tech = DISCOVER_TECHNICAL.exec(discover) || DISCOVER_REST.exec(discover);
225
+ if (tech) {
226
+ out.push((0, Diagnostic_1.warning)("layer_discover_technical", `discover.md names ${tech[0]}: how, not what.`, {
227
+ target: files.changeId,
228
+ file: `${dir}/${files.discoverFile}`,
229
+ fix: "Say what the business needs; the technology goes in design.md.",
230
+ }));
231
+ }
232
+ // REQ-285: the design answers every criterion.
233
+ const criteria = acceptanceCriteria(files.discover || "");
234
+ if (files.design !== null && criteria.length > 0) {
235
+ const design = withoutComments(files.design);
236
+ for (const c of criteria) {
237
+ if (!new RegExp(`\\b${c.id}\\b`).test(design)) {
238
+ out.push((0, Diagnostic_1.warning)("layer_design_misses_criterion", `design.md does not answer ${c.id}: "${c.text}".`, {
239
+ target: c.id,
240
+ file: `${dir}/design.md`,
241
+ fix: `Say in design.md how ${c.id} is met, naming it ("${c.id} — …").`,
242
+ }));
243
+ }
244
+ }
245
+ }
246
+ // REQ-286: every task names the requirement it delivers — once the
247
+ // developer has written them; the template's placeholder is not a task.
248
+ if (files.tasks !== null && !isUntouchedLayer("tasks", files.tasks, files.changeId)) {
249
+ const lines = files.tasks.replace(/\r\n/g, "\n").split("\n");
250
+ let heading = "";
251
+ lines.forEach((l, i) => {
252
+ if (/^##\s/.test(l))
253
+ heading = l;
254
+ const task = /^\s*[-*]\s*\[[ xX]\]\s*(.*)$/.exec(l);
255
+ if (!task)
256
+ return;
257
+ // The specification tasks are the process, not a requirement's work.
258
+ if (/specification|especificaci[oó]n|spezifikation/i.test(heading))
259
+ return;
260
+ if (/\bREQ-\d+\b/.test(task[1]))
261
+ return;
262
+ out.push((0, Diagnostic_1.warning)("layer_task_without_requirement", `Task "${task[1].trim() || "(empty)"}" names no requirement.`, {
263
+ target: files.changeId,
264
+ file: `${dir}/tasks.md`,
265
+ line: i + 1,
266
+ fix: "Name the requirement the task delivers (REQ-NNN), or move it under the specification tasks.",
267
+ }));
268
+ });
269
+ }
270
+ return out;
271
+ }
272
+ /**
273
+ * REQ-287: whether the Discover differs from the version it was agreed at —
274
+ * the one approved, or else the first committed. Whitespace and comments do not
275
+ * count: rewording a placeholder is not a new story.
276
+ */
277
+ function discoverRewritten(baseline, current) {
278
+ const flat = (t) => withoutComments(t).replace(/\s+/g, " ").trim();
279
+ return flat(baseline) !== flat(current);
280
+ }
281
+ //# sourceMappingURL=ChangeLayers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChangeLayers.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/ChangeLayers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"HarnessConfig.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/HarnessConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HarnessConfig.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/HarnessConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ /**
3
+ * The two gaps a context harness is measured by (REQ-300..REQ-303).
4
+ *
5
+ * The 1.0 line takes them from the InfoQ article on enterprise spec-driven
6
+ * development (docs/specs/enterprise-sdd-gap.md, 6):
7
+ *
8
+ * - **spec → implementation**: the spec was clear and the code diverged. The
9
+ * fix is stronger validation and constraints — the check that caught it.
10
+ * - **intent → spec**: a detail of the use case was missed while talking. The
11
+ * fix is better elicitation — the module whose questions came late.
12
+ *
13
+ * A person's classification is the truth. What the harness recorded only
14
+ * suggests one: a rejection the agent fixed on a later attempt reads as the
15
+ * code diverging, and a requirement that changed after review — an answered
16
+ * question, a note, a modified delta — as intent the spec had missed. Pure
17
+ * arithmetic over records, like the rest of the report.
18
+ */
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.GAPS = void 0;
21
+ exports.checkName = checkName;
22
+ exports.summariseGaps = summariseGaps;
23
+ exports.parseGapMarks = parseGapMarks;
24
+ exports.GAPS = Object.freeze(["spec-impl", "intent-spec"]);
25
+ /** "quality check: pmd" → "pmd"; "test command: npm test" → "test command". */
26
+ function checkName(stage) {
27
+ const s = (stage || "").trim();
28
+ const quality = /^quality check:\s*(\S+)/.exec(s);
29
+ if (quality)
30
+ return quality[1];
31
+ const colon = s.indexOf(":");
32
+ return colon > 0 ? s.slice(0, colon).trim() : s || "gate";
33
+ }
34
+ /**
35
+ * Every requirement's gap, if it has one, and the rates.
36
+ *
37
+ * `attemptsOf` holds each requirement's attempts across every run, oldest
38
+ * first; `requirements` the ones the ledger records, in any order.
39
+ */
40
+ function summariseGaps(requirements, attemptsOf, input = {}) {
41
+ const moduleOf = (id) => (input.moduleOf && input.moduleOf[id]) || "spec";
42
+ const marks = new Map();
43
+ for (const m of input.marks ?? [])
44
+ marks.set(m.requirement, m); // the latest wins
45
+ const evidence = new Map();
46
+ for (const e of input.evidence ?? [])
47
+ if (!evidence.has(e.requirement))
48
+ evidence.set(e.requirement, e);
49
+ const ids = [...new Set([...requirements, ...marks.keys()])].sort();
50
+ const rows = [];
51
+ const when = new Map();
52
+ for (const id of ids) {
53
+ const mark = marks.get(id);
54
+ if (mark) {
55
+ rows.push({
56
+ requirement: id,
57
+ gap: mark.gap,
58
+ source: "person",
59
+ why: mark.reason,
60
+ module: moduleOf(id),
61
+ });
62
+ when.set(id, mark.markedAt);
63
+ continue;
64
+ }
65
+ const log = attemptsOf.get(id) ?? [];
66
+ const onSpec = log.some((a) => a.endedAt === "spec");
67
+ const said = evidence.get(id);
68
+ if (said || onSpec) {
69
+ rows.push({
70
+ requirement: id,
71
+ gap: "intent-spec",
72
+ source: "suggested",
73
+ why: said ? said.why : "the gate failed on the specification",
74
+ module: moduleOf(id),
75
+ });
76
+ if (said && said.at)
77
+ when.set(id, said.at);
78
+ continue;
79
+ }
80
+ // A rejection followed by a pass: the agent got there, the code had diverged.
81
+ const fixed = log.findIndex((a, i) => a.endedAt === "gate" && log.slice(i + 1).some((b) => b.endedAt === "pass"));
82
+ if (fixed >= 0) {
83
+ const check = checkName(log[fixed].gateStage || "");
84
+ rows.push({
85
+ requirement: id,
86
+ gap: "spec-impl",
87
+ source: "suggested",
88
+ why: `rejected at ${log[fixed].gateStage || "the gate"}, then passed`,
89
+ check,
90
+ module: moduleOf(id),
91
+ });
92
+ }
93
+ }
94
+ const total = requirements.length;
95
+ const count = (g) => rows.filter((r) => r.gap === g).length;
96
+ const rate = (n) => (total > 0 ? n / total : null);
97
+ const modules = new Map();
98
+ for (const id of requirements) {
99
+ const name = moduleOf(id);
100
+ const m = modules.get(name) || { module: name, requirements: 0, specImpl: 0, intentSpec: 0 };
101
+ m.requirements += 1;
102
+ modules.set(name, m);
103
+ }
104
+ for (const r of rows) {
105
+ const m = modules.get(r.module) || {
106
+ module: r.module,
107
+ requirements: 0,
108
+ specImpl: 0,
109
+ intentSpec: 0,
110
+ };
111
+ if (r.gap === "spec-impl")
112
+ m.specImpl += 1;
113
+ else
114
+ m.intentSpec += 1;
115
+ modules.set(r.module, m);
116
+ }
117
+ return {
118
+ requirements: total,
119
+ specImpl: { count: count("spec-impl"), rate: rate(count("spec-impl")) },
120
+ intentSpec: { count: count("intent-spec"), rate: rate(count("intent-spec")) },
121
+ byModule: [...modules.values()].sort((a, b) => a.module.localeCompare(b.module)),
122
+ strengthen: {
123
+ specImpl: commonest(rows.filter((r) => r.gap === "spec-impl" && r.check).map((r) => r.check)),
124
+ intentSpec: newestOfCommonest(rows.filter((r) => r.gap === "intent-spec").map((r) => r.module), rows
125
+ .filter((r) => r.gap === "intent-spec")
126
+ .map((r) => [r.module, when.get(r.requirement) || ""])),
127
+ },
128
+ marked: rows.filter((r) => r.source === "person").length,
129
+ suggested: rows.filter((r) => r.source === "suggested").length,
130
+ rows,
131
+ };
132
+ }
133
+ function tally(names) {
134
+ const n = new Map();
135
+ for (const name of names)
136
+ n.set(name, (n.get(name) ?? 0) + 1);
137
+ return n;
138
+ }
139
+ /** The commonest name; a tie goes to the first alphabetically. */
140
+ function commonest(names) {
141
+ const best = [...tally(names).entries()].sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0]));
142
+ return best.length ? best[0][0] : null;
143
+ }
144
+ /** The commonest name; a tie goes to the one seen most recently. */
145
+ function newestOfCommonest(names, dated) {
146
+ const counts = tally(names);
147
+ if (counts.size === 0)
148
+ return null;
149
+ const top = Math.max(...counts.values());
150
+ const latest = new Map();
151
+ for (const [name, at] of dated)
152
+ if (at > (latest.get(name) ?? ""))
153
+ latest.set(name, at);
154
+ return [...counts.entries()]
155
+ .filter(([, n]) => n === top)
156
+ .map(([name]) => name)
157
+ .sort((a, b) => (latest.get(b) ?? "").localeCompare(latest.get(a) ?? "") || a.localeCompare(b))[0];
158
+ }
159
+ /** The ledger of classifications, one JSON object per line (REQ-300). */
160
+ function parseGapMarks(jsonl) {
161
+ const marks = [];
162
+ for (const line of (jsonl || "").split("\n")) {
163
+ if (!line.trim())
164
+ continue;
165
+ try {
166
+ const p = JSON.parse(line);
167
+ if (p && typeof p.requirement === "string" && exports.GAPS.includes(p.gap)) {
168
+ marks.push({
169
+ requirement: p.requirement,
170
+ gap: p.gap,
171
+ reason: String(p.reason ?? ""),
172
+ markedAt: String(p.markedAt ?? ""),
173
+ });
174
+ }
175
+ }
176
+ catch {
177
+ // A half-written line is what a killed process leaves; skip it.
178
+ }
179
+ }
180
+ return marks;
181
+ }
182
+ //# sourceMappingURL=HarnessGaps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HarnessGaps.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/HarnessGaps.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,7 @@ exports.parseFalseFailures = parseFalseFailures;
35
35
  exports.sparkline = sparkline;
36
36
  const QualitySummary_1 = require("./QualitySummary");
37
37
  const RunBudget_1 = require("./RunBudget");
38
+ const HarnessGaps_1 = require("./HarnessGaps");
38
39
  /**
39
40
  * A run's rows, with the requirement it was on reported as stopped when the
40
41
  * run never finished: killed, its record still says what it was doing.
@@ -70,7 +71,7 @@ exports.STAGE_LABELS = Object.freeze({
70
71
  done: "`specgate done` failed",
71
72
  commit: "commit failed",
72
73
  });
73
- function summariseRuns(runs, falseFailures = [], costPerRunHint = {}) {
74
+ function summariseRuns(runs, falseFailures = [], costPerRunHint = {}, gapInput = {}) {
74
75
  // REQ-269: every run's time counts, each requirement once, at its latest
75
76
  // outcome. Two runs of REQ-002 — failed, then passed — read "1 of 2 passed"
76
77
  // and listed REQ-002 as delivering nothing (truck-flote, S55).
@@ -161,8 +162,22 @@ function summariseRuns(runs, falseFailures = [], costPerRunHint = {}) {
161
162
  ? (failedRows.length - falseCount) / failedRows.length
162
163
  : null,
163
164
  quality: (0, QualitySummary_1.summariseQuality)(runs),
165
+ gaps: (0, HarnessGaps_1.summariseGaps)(current.map((r) => r.requirement), attemptsByRequirement(rows), gapInput),
164
166
  };
165
167
  }
168
+ /** Each requirement's attempts across every run, oldest first. */
169
+ function attemptsByRequirement(rows) {
170
+ const out = new Map();
171
+ for (const row of rows) {
172
+ const list = out.get(row.requirement) ?? [];
173
+ for (const a of row.attemptLog ?? []) {
174
+ if (a && a.endedAt)
175
+ list.push({ endedAt: a.endedAt, gateStage: a.gateStage });
176
+ }
177
+ out.set(row.requirement, list);
178
+ }
179
+ return out;
180
+ }
166
181
  /** The ledger of human marks, one JSON object per line. */
167
182
  function parseFalseFailures(jsonl) {
168
183
  const marks = [];
@@ -1 +1 @@
1
- {"version":3,"file":"HarnessReport.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/HarnessReport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HarnessReport.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/HarnessReport.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"HarnessRun.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/HarnessRun.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HarnessRun.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/HarnessRun.ts"],"names":[],"mappings":"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"}