@sun-asterisk/sungen 3.2.16 → 3.2.18-beta.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 (206) hide show
  1. package/dist/cli/commands/audit.d.ts.map +1 -1
  2. package/dist/cli/commands/audit.js +23 -0
  3. package/dist/cli/commands/audit.js.map +1 -1
  4. package/dist/cli/commands/delivery.d.ts.map +1 -1
  5. package/dist/cli/commands/delivery.js +209 -16
  6. package/dist/cli/commands/delivery.js.map +1 -1
  7. package/dist/cli/commands/ingest.d.ts.map +1 -1
  8. package/dist/cli/commands/ingest.js +56 -4
  9. package/dist/cli/commands/ingest.js.map +1 -1
  10. package/dist/cli/index.js +5 -0
  11. package/dist/cli/index.js.map +1 -1
  12. package/dist/dashboard/snapshot-builder.d.ts.map +1 -1
  13. package/dist/dashboard/snapshot-builder.js +8 -1
  14. package/dist/dashboard/snapshot-builder.js.map +1 -1
  15. package/dist/dashboard/templates/index.html +1 -1
  16. package/dist/exporters/api-environment.d.ts +11 -0
  17. package/dist/exporters/api-environment.d.ts.map +1 -0
  18. package/dist/exporters/api-environment.js +129 -0
  19. package/dist/exporters/api-environment.js.map +1 -0
  20. package/dist/exporters/feature-parser.d.ts +16 -1
  21. package/dist/exporters/feature-parser.d.ts.map +1 -1
  22. package/dist/exporters/feature-parser.js +21 -2
  23. package/dist/exporters/feature-parser.js.map +1 -1
  24. package/dist/exporters/matrix/build.d.ts +70 -0
  25. package/dist/exporters/matrix/build.d.ts.map +1 -0
  26. package/dist/exporters/matrix/build.js +516 -0
  27. package/dist/exporters/matrix/build.js.map +1 -0
  28. package/dist/exporters/matrix/export.d.ts +50 -0
  29. package/dist/exporters/matrix/export.d.ts.map +1 -0
  30. package/dist/exporters/matrix/export.js +152 -0
  31. package/dist/exporters/matrix/export.js.map +1 -0
  32. package/dist/exporters/matrix/fingerprint.d.ts +20 -0
  33. package/dist/exporters/matrix/fingerprint.d.ts.map +1 -0
  34. package/dist/exporters/matrix/fingerprint.js +83 -0
  35. package/dist/exporters/matrix/fingerprint.js.map +1 -0
  36. package/dist/exporters/matrix/gates.d.ts +21 -0
  37. package/dist/exporters/matrix/gates.d.ts.map +1 -0
  38. package/dist/exporters/matrix/gates.js +367 -0
  39. package/dist/exporters/matrix/gates.js.map +1 -0
  40. package/dist/exporters/matrix/map-loader.d.ts +22 -0
  41. package/dist/exporters/matrix/map-loader.d.ts.map +1 -0
  42. package/dist/exporters/matrix/map-loader.js +193 -0
  43. package/dist/exporters/matrix/map-loader.js.map +1 -0
  44. package/dist/exporters/matrix/render-csv.d.ts +9 -0
  45. package/dist/exporters/matrix/render-csv.d.ts.map +1 -0
  46. package/dist/exporters/matrix/render-csv.js +92 -0
  47. package/dist/exporters/matrix/render-csv.js.map +1 -0
  48. package/dist/exporters/matrix/render-xlsx.d.ts +41 -0
  49. package/dist/exporters/matrix/render-xlsx.d.ts.map +1 -0
  50. package/dist/exporters/matrix/render-xlsx.js +430 -0
  51. package/dist/exporters/matrix/render-xlsx.js.map +1 -0
  52. package/dist/exporters/matrix/types.d.ts +199 -0
  53. package/dist/exporters/matrix/types.d.ts.map +1 -0
  54. package/dist/exporters/matrix/types.js +15 -0
  55. package/dist/exporters/matrix/types.js.map +1 -0
  56. package/dist/exporters/matrix/wording.d.ts +61 -0
  57. package/dist/exporters/matrix/wording.d.ts.map +1 -0
  58. package/dist/exporters/matrix/wording.js +221 -0
  59. package/dist/exporters/matrix/wording.js.map +1 -0
  60. package/dist/exporters/scenario-merger.d.ts.map +1 -1
  61. package/dist/exporters/scenario-merger.js +2 -1
  62. package/dist/exporters/scenario-merger.js.map +1 -1
  63. package/dist/exporters/spec-parser.d.ts.map +1 -1
  64. package/dist/exporters/spec-parser.js +2 -1
  65. package/dist/exporters/spec-parser.js.map +1 -1
  66. package/dist/exporters/xlsx-report-builder.d.ts +1 -1
  67. package/dist/exporters/xlsx-report-builder.d.ts.map +1 -1
  68. package/dist/exporters/xlsx-report-builder.js +3 -3
  69. package/dist/exporters/xlsx-report-builder.js.map +1 -1
  70. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/click-action.hbs +1 -1
  71. package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/click-element-with-text.hbs +1 -1
  72. package/dist/generators/test-generator/adapters/playwright/templates/steps/navigation/wait-timeout.hbs +1 -1
  73. package/dist/generators/test-generator/utils/runtime-data-transformer.d.ts.map +1 -1
  74. package/dist/generators/test-generator/utils/runtime-data-transformer.js +28 -17
  75. package/dist/generators/test-generator/utils/runtime-data-transformer.js.map +1 -1
  76. package/dist/harness/audit.d.ts +10 -0
  77. package/dist/harness/audit.d.ts.map +1 -1
  78. package/dist/harness/audit.js +98 -16
  79. package/dist/harness/audit.js.map +1 -1
  80. package/dist/harness/blindspot.d.ts.map +1 -1
  81. package/dist/harness/blindspot.js +2 -1
  82. package/dist/harness/blindspot.js.map +1 -1
  83. package/dist/harness/capability-plan.d.ts +2 -0
  84. package/dist/harness/capability-plan.d.ts.map +1 -1
  85. package/dist/harness/capability-plan.js +17 -4
  86. package/dist/harness/capability-plan.js.map +1 -1
  87. package/dist/harness/feedback.d.ts.map +1 -1
  88. package/dist/harness/feedback.js +3 -2
  89. package/dist/harness/feedback.js.map +1 -1
  90. package/dist/harness/flow-check.d.ts.map +1 -1
  91. package/dist/harness/flow-check.js +2 -1
  92. package/dist/harness/flow-check.js.map +1 -1
  93. package/dist/harness/flow-plan.d.ts.map +1 -1
  94. package/dist/harness/flow-plan.js +3 -2
  95. package/dist/harness/flow-plan.js.map +1 -1
  96. package/dist/harness/intent.d.ts.map +1 -1
  97. package/dist/harness/intent.js +2 -1
  98. package/dist/harness/intent.js.map +1 -1
  99. package/dist/harness/journey.d.ts.map +1 -1
  100. package/dist/harness/journey.js +3 -2
  101. package/dist/harness/journey.js.map +1 -1
  102. package/dist/harness/ledger.d.ts.map +1 -1
  103. package/dist/harness/ledger.js +3 -2
  104. package/dist/harness/ledger.js.map +1 -1
  105. package/dist/harness/manifest.d.ts.map +1 -1
  106. package/dist/harness/manifest.js +4 -3
  107. package/dist/harness/manifest.js.map +1 -1
  108. package/dist/harness/parse.d.ts.map +1 -1
  109. package/dist/harness/parse.js +16 -3
  110. package/dist/harness/parse.js.map +1 -1
  111. package/dist/harness/quality-gates.d.ts.map +1 -1
  112. package/dist/harness/quality-gates.js +2 -1
  113. package/dist/harness/quality-gates.js.map +1 -1
  114. package/dist/harness/read-text.d.ts +22 -0
  115. package/dist/harness/read-text.d.ts.map +1 -0
  116. package/dist/harness/read-text.js +64 -0
  117. package/dist/harness/read-text.js.map +1 -0
  118. package/dist/harness/script-check.d.ts.map +1 -1
  119. package/dist/harness/script-check.js +3 -2
  120. package/dist/harness/script-check.js.map +1 -1
  121. package/dist/harness/sensors.d.ts +13 -1
  122. package/dist/harness/sensors.d.ts.map +1 -1
  123. package/dist/harness/sensors.js +63 -20
  124. package/dist/harness/sensors.js.map +1 -1
  125. package/dist/harness/spec-coverage.d.ts +5 -0
  126. package/dist/harness/spec-coverage.d.ts.map +1 -1
  127. package/dist/harness/spec-coverage.js +17 -7
  128. package/dist/harness/spec-coverage.js.map +1 -1
  129. package/dist/harness/trace.d.ts.map +1 -1
  130. package/dist/harness/trace.js +4 -3
  131. package/dist/harness/trace.js.map +1 -1
  132. package/dist/harness/viewpoint-baseline.d.ts +49 -0
  133. package/dist/harness/viewpoint-baseline.d.ts.map +1 -0
  134. package/dist/harness/viewpoint-baseline.js +141 -0
  135. package/dist/harness/viewpoint-baseline.js.map +1 -0
  136. package/dist/harness/viewpoint-ledger.d.ts.map +1 -1
  137. package/dist/harness/viewpoint-ledger.js +2 -1
  138. package/dist/harness/viewpoint-ledger.js.map +1 -1
  139. package/dist/ingest/legacy-parser.d.ts +3 -0
  140. package/dist/ingest/legacy-parser.d.ts.map +1 -1
  141. package/dist/ingest/legacy-parser.js +52 -3
  142. package/dist/ingest/legacy-parser.js.map +1 -1
  143. package/dist/orchestrator/assets-drift.d.ts +24 -0
  144. package/dist/orchestrator/assets-drift.d.ts.map +1 -0
  145. package/dist/orchestrator/assets-drift.js +80 -0
  146. package/dist/orchestrator/assets-drift.js.map +1 -0
  147. package/dist/orchestrator/templates/ai-src/commands/create-test.md +24 -0
  148. package/dist/orchestrator/templates/ai-src/commands/delivery.md +203 -120
  149. package/dist/orchestrator/templates/ai-src/config/claude.md +1 -1
  150. package/dist/orchestrator/templates/ai-src/config/copilot.md +1 -1
  151. package/dist/orchestrator/templates/ai-src/skills/sungen-delivery/SKILL.md +102 -6
  152. package/dist/orchestrator/templates/ai-src/skills/sungen-gherkin-syntax/SKILL.md +8 -0
  153. package/dist/orchestrator/templates/ai-src/skills/sungen-tc-generation/SKILL.md +23 -0
  154. package/package.json +4 -4
  155. package/src/cli/commands/audit.ts +23 -1
  156. package/src/cli/commands/delivery.ts +240 -18
  157. package/src/cli/commands/ingest.ts +57 -5
  158. package/src/cli/index.ts +6 -0
  159. package/src/dashboard/snapshot-builder.ts +8 -1
  160. package/src/dashboard/templates/index.html +1 -1
  161. package/src/exporters/api-environment.ts +97 -0
  162. package/src/exporters/feature-parser.ts +21 -2
  163. package/src/exporters/matrix/build.ts +551 -0
  164. package/src/exporters/matrix/export.ts +149 -0
  165. package/src/exporters/matrix/fingerprint.ts +49 -0
  166. package/src/exporters/matrix/gates.ts +400 -0
  167. package/src/exporters/matrix/map-loader.ts +163 -0
  168. package/src/exporters/matrix/render-csv.ts +94 -0
  169. package/src/exporters/matrix/render-xlsx.ts +420 -0
  170. package/src/exporters/matrix/types.ts +226 -0
  171. package/src/exporters/matrix/wording.ts +221 -0
  172. package/src/exporters/scenario-merger.ts +2 -1
  173. package/src/exporters/spec-parser.ts +2 -1
  174. package/src/exporters/xlsx-report-builder.ts +3 -2
  175. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/click-action.hbs +1 -1
  176. package/src/generators/test-generator/adapters/playwright/templates/steps/actions/click-element-with-text.hbs +1 -1
  177. package/src/generators/test-generator/adapters/playwright/templates/steps/navigation/wait-timeout.hbs +1 -1
  178. package/src/generators/test-generator/utils/runtime-data-transformer.ts +29 -18
  179. package/src/harness/audit.ts +104 -18
  180. package/src/harness/blindspot.ts +2 -1
  181. package/src/harness/capability-plan.ts +17 -4
  182. package/src/harness/feedback.ts +3 -2
  183. package/src/harness/flow-check.ts +2 -1
  184. package/src/harness/flow-plan.ts +3 -2
  185. package/src/harness/intent.ts +2 -1
  186. package/src/harness/journey.ts +3 -2
  187. package/src/harness/ledger.ts +3 -2
  188. package/src/harness/manifest.ts +4 -3
  189. package/src/harness/parse.ts +17 -3
  190. package/src/harness/quality-gates.ts +2 -1
  191. package/src/harness/read-text.ts +28 -0
  192. package/src/harness/script-check.ts +3 -2
  193. package/src/harness/sensors.ts +55 -8
  194. package/src/harness/spec-coverage.ts +22 -7
  195. package/src/harness/trace.ts +4 -3
  196. package/src/harness/viewpoint-baseline.ts +128 -0
  197. package/src/harness/viewpoint-ledger.ts +2 -1
  198. package/src/ingest/legacy-parser.ts +48 -3
  199. package/src/orchestrator/assets-drift.ts +64 -0
  200. package/src/orchestrator/templates/ai-src/commands/create-test.md +24 -0
  201. package/src/orchestrator/templates/ai-src/commands/delivery.md +203 -120
  202. package/src/orchestrator/templates/ai-src/config/claude.md +1 -1
  203. package/src/orchestrator/templates/ai-src/config/copilot.md +1 -1
  204. package/src/orchestrator/templates/ai-src/skills/sungen-delivery/SKILL.md +102 -6
  205. package/src/orchestrator/templates/ai-src/skills/sungen-gherkin-syntax/SKILL.md +8 -0
  206. package/src/orchestrator/templates/ai-src/skills/sungen-tc-generation/SKILL.md +23 -0
@@ -39,9 +39,24 @@ export declare function extractTestcaseType(tags: string[]): 'Auto' | 'Manual';
39
39
  */
40
40
  export declare function extractAuthRole(tags: string[]): string | null;
41
41
  /**
42
- * Extract VP ID and human-readable name from scenario name like
42
+ * The leading viewpoint/requirement id of a scenario title.
43
+ *
44
+ * The `VP-` prefix is the scheme sungen suggests, NOT a requirement: real projects
45
+ * bring their own (`SEC-123`, `PER-345`, `MS-HP-001`, `VP0-001`), and the harness
46
+ * has always been format-tolerant about it. The exporters were not — a project
47
+ * using `SEC-123` got no id at all, which made every scenario "unaddressable" and
48
+ * blocked the whole delivery matrix at Gate A.
49
+ *
50
+ * Shape: uppercase segments joined by `-`, ending in a number (with an optional
51
+ * letter or sub-code suffix). Requiring the trailing number is what keeps an
52
+ * ordinary title word ("A11y check…") from being mistaken for an id.
53
+ */
54
+ export declare const SCENARIO_ID: RegExp;
55
+ /**
56
+ * Extract the id and the human-readable name from a scenario title:
43
57
  * "VP-UI-001 Modal displays all required fields" →
44
58
  * { vpId: "VP-UI-001", category1: "Modal displays all required fields" }
59
+ * "SEC-123 Login is protected" → { vpId: "SEC-123", category1: "Login is protected" }
45
60
  */
46
61
  export declare function splitVpAndName(scenarioName: string): {
47
62
  vpId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"feature-parser.d.ts","sourceRoot":"","sources":["../../src/exporters/feature-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,eAAe,EAAe,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAyEzE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,eAAe,CAqC7E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAEtE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAKtD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,QAAQ,CAErE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAK7D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAMzF;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAcxF;AAOD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAQ5D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAGjE;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CASlE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAOpG"}
1
+ {"version":3,"file":"feature-parser.d.ts","sourceRoot":"","sources":["../../src/exporters/feature-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,eAAe,EAAe,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAyEzE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,eAAe,CAqC7E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAEjE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAEtE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAKtD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,QAAQ,CAErE;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAK7D;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,QAAiE,CAAC;AAE1F;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAMzF;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAiBxF;AAOD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAQ5D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAGjE;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CASlE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAOpG"}
@@ -4,6 +4,7 @@
4
4
  * Reuses the existing GherkinParser.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.SCENARIO_ID = void 0;
7
8
  exports.parseFeatureMetadata = parseFeatureMetadata;
8
9
  exports.isStepsBaseScenario = isStepsBaseScenario;
9
10
  exports.isSampleScaffoldScenario = isSampleScaffoldScenario;
@@ -173,12 +174,27 @@ function extractAuthRole(tags) {
173
174
  return null;
174
175
  }
175
176
  /**
176
- * Extract VP ID and human-readable name from scenario name like
177
+ * The leading viewpoint/requirement id of a scenario title.
178
+ *
179
+ * The `VP-` prefix is the scheme sungen suggests, NOT a requirement: real projects
180
+ * bring their own (`SEC-123`, `PER-345`, `MS-HP-001`, `VP0-001`), and the harness
181
+ * has always been format-tolerant about it. The exporters were not — a project
182
+ * using `SEC-123` got no id at all, which made every scenario "unaddressable" and
183
+ * blocked the whole delivery matrix at Gate A.
184
+ *
185
+ * Shape: uppercase segments joined by `-`, ending in a number (with an optional
186
+ * letter or sub-code suffix). Requiring the trailing number is what keeps an
187
+ * ordinary title word ("A11y check…") from being mistaken for an id.
188
+ */
189
+ exports.SCENARIO_ID = /^([A-Z][A-Z0-9]*(?:-[A-Z0-9]+)*-\d+(?:[a-zA-Z]|-[A-Z0-9]+)?)/;
190
+ /**
191
+ * Extract the id and the human-readable name from a scenario title:
177
192
  * "VP-UI-001 Modal displays all required fields" →
178
193
  * { vpId: "VP-UI-001", category1: "Modal displays all required fields" }
194
+ * "SEC-123 Login is protected" → { vpId: "SEC-123", category1: "Login is protected" }
179
195
  */
180
196
  function splitVpAndName(scenarioName) {
181
- const match = scenarioName.match(/^(VP-[A-Z][A-Z0-9]*-\d+[a-zA-Z]?)\s+(.+)$/);
197
+ const match = scenarioName.match(new RegExp(exports.SCENARIO_ID.source + '\\s+(.+)$'));
182
198
  if (match) {
183
199
  return { vpId: match[1], category1: match[2] };
184
200
  }
@@ -195,6 +211,9 @@ function splitVpAndName(scenarioName) {
195
211
  function mapVpToCategory2(vpId, scenarioName) {
196
212
  if (!vpId)
197
213
  return 'Function';
214
+ // Compare on the category segment so a project scheme without the `VP-` prefix
215
+ // (`SEC-123`) classifies the same as `VP-SEC-001`.
216
+ vpId = /^VP-/.test(vpId) ? vpId : `VP-${vpId}`;
198
217
  if (vpId.startsWith('VP-SEC-')) {
199
218
  if (scenarioName && /xss|injection/i.test(scenarioName))
200
219
  return 'Function';
@@ -1 +1 @@
1
- {"version":3,"file":"feature-parser.js","sourceRoot":"","sources":["../../src/exporters/feature-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-parser.js","sourceRoot":"","sources":["../../src/exporters/feature-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Build the matrix model: derive atomic coverage variants from the merged
3
+ * feature/spec view, assemble delivery items per the Delivery Map, attach
4
+ * per-variant Playwright results, and roll parents up (derived only — Gate F
5
+ * is structural: there is no independent parent result input).
6
+ */
7
+ import { FeatureMetadata, PlaywrightResult } from '../types';
8
+ import { MergedScenario } from '../scenario-merger';
9
+ import { CoverageVariant, DeliveryItem, DeliveryMap, ItemResult, VariantState, MatrixModel, RequirementCoverage } from './types';
10
+ export interface BuildInputs {
11
+ unit: string;
12
+ feature: FeatureMetadata;
13
+ merged: MergedScenario[];
14
+ testData: Record<string, string> | null;
15
+ results: Map<string, PlaywrightResult> | null;
16
+ map: DeliveryMap;
17
+ transformerVersion: string;
18
+ /** requirements/spec.md content — source of the requirement-id inventory (FR/TR/NFR). */
19
+ specText?: string;
20
+ }
21
+ /**
22
+ * Derive every atomic coverage variant of the unit (one per scenario, or one per
23
+ * `@cases` dataset row). Exported separately so the gates + the map-proposal
24
+ * support tooling see the same universe the builder does.
25
+ */
26
+ export declare function deriveVariants(inputs: Pick<BuildInputs, 'feature' | 'merged' | 'testData' | 'results'>): CoverageVariant[];
27
+ /**
28
+ * Make invisible test data VISIBLE instead of losing it (review GAP-04):
29
+ * '' → (empty) · whitespace-only → (N spaces) · padded → quoted verbatim.
30
+ * The canonical value is never changed — only its presentation.
31
+ */
32
+ export declare function displayValue(v: string): string;
33
+ /**
34
+ * Requirement inventory ∪ traces → coverage table. Ids are scanned from the spec
35
+ * text (FR-/TR-/NFR-<n>); map overrides win over the derived covered/gap status.
36
+ */
37
+ export declare function computeRequirements(specText: string, map: DeliveryMap, items: DeliveryItem[]): RequirementCoverage[];
38
+ /**
39
+ * The exact word rendered in a variant's Result cell. This is the SINGLE
40
+ * vocabulary both the renderers and the parent's COUNTIF roll-up use — the
41
+ * legacy exporter's statusToTestResult disagreed on two statuses (`skipped`
42
+ * showed N/A but counted as not-run; `interrupted` showed Pending but counted
43
+ * as blocked), which silently skewed the derived parent result.
44
+ */
45
+ export declare function variantState(v: CoverageVariant): VariantState;
46
+ /**
47
+ * Derived parent result — precedence failed → blocked → all-N/A → not_run →
48
+ * partial → passed. `N/A` variants leave the denominator (an intentionally
49
+ * skipped case must not make the parent look incomplete).
50
+ */
51
+ export declare function rollUp(variants: CoverageVariant[]): {
52
+ result: ItemResult;
53
+ counts: DeliveryItem['resultCounts'];
54
+ };
55
+ /**
56
+ * What the parent row's Action says when the variants share no opening step.
57
+ *
58
+ * The parent is the row a reviewer (and the customer) reads AS the test case, and
59
+ * with nothing to hoist its Action cell came out empty — 12 of 38 items in a real
60
+ * delivery. The steps are not missing, they are per-variant; say that, and name the
61
+ * axis they vary along so the cell carries meaning on its own.
62
+ */
63
+ export declare function varyingTriggerNote(dimensions: string | undefined, count: number): string;
64
+ /**
65
+ * Expand one map variant ref to concrete variant refs:
66
+ * a bare VP-id whose scenario has a dataset means ALL its rows.
67
+ */
68
+ export declare function expandMapRef(ref: string, variantsByVp: Map<string, CoverageVariant[]>): CoverageVariant[];
69
+ export declare function buildMatrix(inputs: BuildInputs): MatrixModel;
70
+ //# sourceMappingURL=build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/exporters/matrix/build.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAUpD,OAAO,EACL,eAAe,EACf,YAAY,EACZ,WAAW,EACX,UAAU,EACV,YAAY,EAGZ,WAAW,EACX,mBAAmB,EAEpB,MAAM,SAAS,CAAC;AAwDjB,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAC9C,GAAG,EAAE,WAAW,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,yFAAyF;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC,GAAG,eAAe,EAAE,CAmJ1H;AA2BD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAK9C;AASD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,YAAY,EAAE,GACpB,mBAAmB,EAAE,CA8BvB;AAyBD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,eAAe,GAAG,YAAY,CAW7D;AAMD;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC,cAAc,CAAC,CAAA;CAAE,CAYhH;AAUD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMxF;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,GAAG,eAAe,EAAE,CAMzG;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAiH5D"}