@healflow/shared 0.1.2 → 0.1.3

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 (168) hide show
  1. package/README.md +33 -10
  2. package/dist/config-loader.d.ts +2 -1
  3. package/dist/config-loader.d.ts.map +1 -1
  4. package/dist/config-loader.js +15 -0
  5. package/dist/config-loader.js.map +1 -1
  6. package/dist/config.d.ts +13 -0
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +14 -0
  9. package/dist/config.js.map +1 -1
  10. package/dist/domain.d.ts +12 -2
  11. package/dist/domain.d.ts.map +1 -1
  12. package/dist/enums.d.ts +77 -2
  13. package/dist/enums.d.ts.map +1 -1
  14. package/dist/enums.js +82 -2
  15. package/dist/enums.js.map +1 -1
  16. package/dist/healing-matrix/entries.d.ts +3 -0
  17. package/dist/healing-matrix/entries.d.ts.map +1 -0
  18. package/dist/healing-matrix/entries.js +52 -0
  19. package/dist/healing-matrix/entries.js.map +1 -0
  20. package/dist/healing-matrix/family-01-locator-selector/ambiguous-match.d.ts +3 -0
  21. package/dist/healing-matrix/family-01-locator-selector/ambiguous-match.d.ts.map +1 -0
  22. package/dist/healing-matrix/family-01-locator-selector/ambiguous-match.js +84 -0
  23. package/dist/healing-matrix/family-01-locator-selector/ambiguous-match.js.map +1 -0
  24. package/dist/healing-matrix/family-01-locator-selector/element-not-found.d.ts +3 -0
  25. package/dist/healing-matrix/family-01-locator-selector/element-not-found.d.ts.map +1 -0
  26. package/dist/healing-matrix/family-01-locator-selector/element-not-found.js +174 -0
  27. package/dist/healing-matrix/family-01-locator-selector/element-not-found.js.map +1 -0
  28. package/dist/healing-matrix/family-01-locator-selector/index.d.ts +3 -0
  29. package/dist/healing-matrix/family-01-locator-selector/index.d.ts.map +1 -0
  30. package/dist/healing-matrix/family-01-locator-selector/index.js +14 -0
  31. package/dist/healing-matrix/family-01-locator-selector/index.js.map +1 -0
  32. package/dist/healing-matrix/family-01-locator-selector/locator-chain.d.ts +3 -0
  33. package/dist/healing-matrix/family-01-locator-selector/locator-chain.d.ts.map +1 -0
  34. package/dist/healing-matrix/family-01-locator-selector/locator-chain.js +80 -0
  35. package/dist/healing-matrix/family-01-locator-selector/locator-chain.js.map +1 -0
  36. package/dist/healing-matrix/family-01-locator-selector/wrong-state.d.ts +3 -0
  37. package/dist/healing-matrix/family-01-locator-selector/wrong-state.d.ts.map +1 -0
  38. package/dist/healing-matrix/family-01-locator-selector/wrong-state.js +96 -0
  39. package/dist/healing-matrix/family-01-locator-selector/wrong-state.js.map +1 -0
  40. package/dist/healing-matrix/family-01-locator-selector.d.ts +3 -0
  41. package/dist/healing-matrix/family-01-locator-selector.d.ts.map +1 -0
  42. package/dist/healing-matrix/family-01-locator-selector.js +413 -0
  43. package/dist/healing-matrix/family-01-locator-selector.js.map +1 -0
  44. package/dist/healing-matrix/family-02-timing-sync.d.ts +3 -0
  45. package/dist/healing-matrix/family-02-timing-sync.d.ts.map +1 -0
  46. package/dist/healing-matrix/family-02-timing-sync.js +150 -0
  47. package/dist/healing-matrix/family-02-timing-sync.js.map +1 -0
  48. package/dist/healing-matrix/family-03-overlay-modal.d.ts +3 -0
  49. package/dist/healing-matrix/family-03-overlay-modal.d.ts.map +1 -0
  50. package/dist/healing-matrix/family-03-overlay-modal.js +141 -0
  51. package/dist/healing-matrix/family-03-overlay-modal.js.map +1 -0
  52. package/dist/healing-matrix/family-04-navigation-routing.d.ts +3 -0
  53. package/dist/healing-matrix/family-04-navigation-routing.d.ts.map +1 -0
  54. package/dist/healing-matrix/family-04-navigation-routing.js +100 -0
  55. package/dist/healing-matrix/family-04-navigation-routing.js.map +1 -0
  56. package/dist/healing-matrix/family-05-frame-iframe.d.ts +3 -0
  57. package/dist/healing-matrix/family-05-frame-iframe.d.ts.map +1 -0
  58. package/dist/healing-matrix/family-05-frame-iframe.js +103 -0
  59. package/dist/healing-matrix/family-05-frame-iframe.js.map +1 -0
  60. package/dist/healing-matrix/family-06-shadow-dom.d.ts +3 -0
  61. package/dist/healing-matrix/family-06-shadow-dom.d.ts.map +1 -0
  62. package/dist/healing-matrix/family-06-shadow-dom.js +78 -0
  63. package/dist/healing-matrix/family-06-shadow-dom.js.map +1 -0
  64. package/dist/healing-matrix/family-07-auth-session.d.ts +3 -0
  65. package/dist/healing-matrix/family-07-auth-session.d.ts.map +1 -0
  66. package/dist/healing-matrix/family-07-auth-session.js +120 -0
  67. package/dist/healing-matrix/family-07-auth-session.js.map +1 -0
  68. package/dist/healing-matrix/family-08-network.d.ts +3 -0
  69. package/dist/healing-matrix/family-08-network.d.ts.map +1 -0
  70. package/dist/healing-matrix/family-08-network.js +128 -0
  71. package/dist/healing-matrix/family-08-network.js.map +1 -0
  72. package/dist/healing-matrix/family-09-api-mocking.d.ts +3 -0
  73. package/dist/healing-matrix/family-09-api-mocking.d.ts.map +1 -0
  74. package/dist/healing-matrix/family-09-api-mocking.js +102 -0
  75. package/dist/healing-matrix/family-09-api-mocking.js.map +1 -0
  76. package/dist/healing-matrix/family-10-test-data.d.ts +3 -0
  77. package/dist/healing-matrix/family-10-test-data.d.ts.map +1 -0
  78. package/dist/healing-matrix/family-10-test-data.js +89 -0
  79. package/dist/healing-matrix/family-10-test-data.js.map +1 -0
  80. package/dist/healing-matrix/family-11-environment-config.d.ts +3 -0
  81. package/dist/healing-matrix/family-11-environment-config.d.ts.map +1 -0
  82. package/dist/healing-matrix/family-11-environment-config.js +97 -0
  83. package/dist/healing-matrix/family-11-environment-config.js.map +1 -0
  84. package/dist/healing-matrix/family-12-browser-infra.d.ts +3 -0
  85. package/dist/healing-matrix/family-12-browser-infra.d.ts.map +1 -0
  86. package/dist/healing-matrix/family-12-browser-infra.js +109 -0
  87. package/dist/healing-matrix/family-12-browser-infra.js.map +1 -0
  88. package/dist/healing-matrix/family-13-upload-download.d.ts +3 -0
  89. package/dist/healing-matrix/family-13-upload-download.d.ts.map +1 -0
  90. package/dist/healing-matrix/family-13-upload-download.js +64 -0
  91. package/dist/healing-matrix/family-13-upload-download.js.map +1 -0
  92. package/dist/healing-matrix/family-14-multi-tab.d.ts +3 -0
  93. package/dist/healing-matrix/family-14-multi-tab.d.ts.map +1 -0
  94. package/dist/healing-matrix/family-14-multi-tab.js +54 -0
  95. package/dist/healing-matrix/family-14-multi-tab.js.map +1 -0
  96. package/dist/healing-matrix/family-15-visual-a11y.d.ts +3 -0
  97. package/dist/healing-matrix/family-15-visual-a11y.d.ts.map +1 -0
  98. package/dist/healing-matrix/family-15-visual-a11y.js +81 -0
  99. package/dist/healing-matrix/family-15-visual-a11y.js.map +1 -0
  100. package/dist/healing-matrix/family-16-i18n.d.ts +3 -0
  101. package/dist/healing-matrix/family-16-i18n.d.ts.map +1 -0
  102. package/dist/healing-matrix/family-16-i18n.js +52 -0
  103. package/dist/healing-matrix/family-16-i18n.js.map +1 -0
  104. package/dist/healing-matrix/family-17-mobile-touch.d.ts +3 -0
  105. package/dist/healing-matrix/family-17-mobile-touch.d.ts.map +1 -0
  106. package/dist/healing-matrix/family-17-mobile-touch.js +52 -0
  107. package/dist/healing-matrix/family-17-mobile-touch.js.map +1 -0
  108. package/dist/healing-matrix/family-18-performance.d.ts +3 -0
  109. package/dist/healing-matrix/family-18-performance.d.ts.map +1 -0
  110. package/dist/healing-matrix/family-18-performance.js +54 -0
  111. package/dist/healing-matrix/family-18-performance.js.map +1 -0
  112. package/dist/healing-matrix/family-19-third-party.d.ts +3 -0
  113. package/dist/healing-matrix/family-19-third-party.d.ts.map +1 -0
  114. package/dist/healing-matrix/family-19-third-party.js +65 -0
  115. package/dist/healing-matrix/family-19-third-party.js.map +1 -0
  116. package/dist/healing-matrix/family-20-test-structure.d.ts +3 -0
  117. package/dist/healing-matrix/family-20-test-structure.d.ts.map +1 -0
  118. package/dist/healing-matrix/family-20-test-structure.js +78 -0
  119. package/dist/healing-matrix/family-20-test-structure.js.map +1 -0
  120. package/dist/healing-matrix/family-21-assertion.d.ts +3 -0
  121. package/dist/healing-matrix/family-21-assertion.d.ts.map +1 -0
  122. package/dist/healing-matrix/family-21-assertion.js +88 -0
  123. package/dist/healing-matrix/family-21-assertion.js.map +1 -0
  124. package/dist/healing-matrix/family-22-product-defect.d.ts +3 -0
  125. package/dist/healing-matrix/family-22-product-defect.d.ts.map +1 -0
  126. package/dist/healing-matrix/family-22-product-defect.js +72 -0
  127. package/dist/healing-matrix/family-22-product-defect.js.map +1 -0
  128. package/dist/healing-matrix/family-23-security-compliance.d.ts +3 -0
  129. package/dist/healing-matrix/family-23-security-compliance.d.ts.map +1 -0
  130. package/dist/healing-matrix/family-23-security-compliance.js +74 -0
  131. package/dist/healing-matrix/family-23-security-compliance.js.map +1 -0
  132. package/dist/healing-matrix/family-summaries.d.ts +3 -0
  133. package/dist/healing-matrix/family-summaries.d.ts.map +1 -0
  134. package/dist/healing-matrix/family-summaries.js +224 -0
  135. package/dist/healing-matrix/family-summaries.js.map +1 -0
  136. package/dist/healing-matrix/global-hard-stops.d.ts +23 -0
  137. package/dist/healing-matrix/global-hard-stops.d.ts.map +1 -0
  138. package/dist/healing-matrix/global-hard-stops.js +19 -0
  139. package/dist/healing-matrix/global-hard-stops.js.map +1 -0
  140. package/dist/healing-matrix/helpers.d.ts +6 -0
  141. package/dist/healing-matrix/helpers.d.ts.map +1 -0
  142. package/dist/healing-matrix/helpers.js +16 -0
  143. package/dist/healing-matrix/helpers.js.map +1 -0
  144. package/dist/healing-matrix/index.d.ts +5 -0
  145. package/dist/healing-matrix/index.d.ts.map +1 -0
  146. package/dist/healing-matrix/index.js +14 -0
  147. package/dist/healing-matrix/index.js.map +1 -0
  148. package/dist/healing-matrix-types.d.ts +40 -0
  149. package/dist/healing-matrix-types.d.ts.map +1 -0
  150. package/dist/healing-matrix-types.js +3 -0
  151. package/dist/healing-matrix-types.js.map +1 -0
  152. package/dist/healing-matrix.d.ts +2 -0
  153. package/dist/healing-matrix.d.ts.map +1 -0
  154. package/dist/healing-matrix.js +11 -0
  155. package/dist/healing-matrix.js.map +1 -0
  156. package/dist/index.d.ts +3 -0
  157. package/dist/index.d.ts.map +1 -1
  158. package/dist/index.js +3 -0
  159. package/dist/index.js.map +1 -1
  160. package/dist/matrix-policy.d.ts +30 -0
  161. package/dist/matrix-policy.d.ts.map +1 -0
  162. package/dist/matrix-policy.js +168 -0
  163. package/dist/matrix-policy.js.map +1 -0
  164. package/dist/policy.d.ts +2 -2
  165. package/dist/policy.d.ts.map +1 -1
  166. package/dist/policy.js +19 -2
  167. package/dist/policy.js.map +1 -1
  168. package/package.json +6 -3
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FAMILY_21_ENTRIES = void 0;
4
+ const enums_js_1 = require("../enums.js");
5
+ exports.FAMILY_21_ENTRIES = [
6
+ {
7
+ id: 'assert.value_mismatch',
8
+ family: enums_js_1.FailureFamily.ASSERTION,
9
+ familyNumber: 21,
10
+ group: '21 Assertion',
11
+ name: 'expect(value).toBe(expected) mismatch',
12
+ category: enums_js_1.FailureCategory.ASSERTION,
13
+ canHeal: enums_js_1.MatrixHealability.NO,
14
+ healPath: null,
15
+ techniqueStack: [],
16
+ notHealedReason: 'Documents wrong behavior or wrong test oracle',
17
+ skippedReason: 'Skipped — never auto-heal',
18
+ detectionPatterns: ['expect\(.*\)\.toBe', 'expected.*received'],
19
+ },
20
+ {
21
+ id: 'assert.text_fail',
22
+ family: enums_js_1.FailureFamily.ASSERTION,
23
+ familyNumber: 21,
24
+ group: '21 Assertion',
25
+ name: 'toHaveText / toContainText fail',
26
+ category: enums_js_1.FailureCategory.ASSERTION,
27
+ canHeal: enums_js_1.MatrixHealability.NO,
28
+ healPath: null,
29
+ techniqueStack: [],
30
+ notHealedReason: 'Content or product bug',
31
+ skippedReason: 'Skipped',
32
+ detectionPatterns: ['toHaveText', 'toContainText'],
33
+ },
34
+ {
35
+ id: 'assert.count_fail',
36
+ family: enums_js_1.FailureFamily.ASSERTION,
37
+ familyNumber: 21,
38
+ group: '21 Assertion',
39
+ name: 'toHaveCount fail',
40
+ category: enums_js_1.FailureCategory.ASSERTION,
41
+ canHeal: enums_js_1.MatrixHealability.NO,
42
+ healPath: null,
43
+ techniqueStack: [],
44
+ notHealedReason: 'Data/rendering bug',
45
+ skippedReason: 'Skipped',
46
+ detectionPatterns: ['toHaveCount'],
47
+ },
48
+ {
49
+ id: 'assert.url_fail',
50
+ family: enums_js_1.FailureFamily.ASSERTION,
51
+ familyNumber: 21,
52
+ group: '21 Assertion',
53
+ name: 'toHaveURL fail',
54
+ category: enums_js_1.FailureCategory.ASSERTION,
55
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
56
+ healPath: enums_js_1.HealPath.PERMANENT,
57
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY, enums_js_1.HealingTechnique.T6_AST],
58
+ notHealedReason: 'Wrong product route',
59
+ skippedReason: 'Assertion itself not edited',
60
+ detectionPatterns: ['toHaveURL'],
61
+ },
62
+ {
63
+ id: 'assert.poll_timeout',
64
+ family: enums_js_1.FailureFamily.ASSERTION,
65
+ familyNumber: 21,
66
+ group: '21 Assertion',
67
+ name: 'expect.poll timeout',
68
+ category: enums_js_1.FailureCategory.ASSERTION,
69
+ canHeal: enums_js_1.MatrixHealability.PARTIAL,
70
+ healPath: enums_js_1.HealPath.BOTH,
71
+ techniqueStack: [enums_js_1.HealingTechnique.T0_RETRY, enums_js_1.HealingTechnique.T6_AST],
72
+ notHealedReason: 'Poll condition false (bug)',
73
+ },
74
+ {
75
+ id: 'assert.soft_batch',
76
+ family: enums_js_1.FailureFamily.ASSERTION,
77
+ familyNumber: 21,
78
+ group: '21 Assertion',
79
+ name: 'Soft assertions batch',
80
+ category: enums_js_1.FailureCategory.ASSERTION,
81
+ canHeal: enums_js_1.MatrixHealability.NO,
82
+ healPath: null,
83
+ techniqueStack: [],
84
+ notHealedReason: 'Multiple product signals',
85
+ skippedReason: 'Skipped',
86
+ },
87
+ ];
88
+ //# sourceMappingURL=family-21-assertion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"family-21-assertion.js","sourceRoot":"","sources":["../../src/healing-matrix/family-21-assertion.ts"],"names":[],"mappings":";;;AAAA,0CAMqB;AAGR,QAAA,iBAAiB,GAAyB;IACrD;QACE,EAAE,EAAE,uBAAuB;QAC3B,MAAM,EAAE,wBAAa,CAAC,SAAS;QAC/B,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,uCAAuC;QAC7C,QAAQ,EAAE,0BAAe,CAAC,SAAS;QACnC,OAAO,EAAE,4BAAiB,CAAC,EAAE;QAC7B,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,+CAA+C;QAChE,aAAa,EAAE,2BAA2B;QAC1C,iBAAiB,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;KAChE;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,MAAM,EAAE,wBAAa,CAAC,SAAS;QAC/B,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,iCAAiC;QACvC,QAAQ,EAAE,0BAAe,CAAC,SAAS;QACnC,OAAO,EAAE,4BAAiB,CAAC,EAAE;QAC7B,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,wBAAwB;QACzC,aAAa,EAAE,SAAS;QACxB,iBAAiB,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;KACnD;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,MAAM,EAAE,wBAAa,CAAC,SAAS;QAC/B,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,0BAAe,CAAC,SAAS;QACnC,OAAO,EAAE,4BAAiB,CAAC,EAAE;QAC7B,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,oBAAoB;QACrC,aAAa,EAAE,SAAS;QACxB,iBAAiB,EAAE,CAAC,aAAa,CAAC;KACnC;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,MAAM,EAAE,wBAAa,CAAC,SAAS;QAC/B,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,0BAAe,CAAC,SAAS;QACnC,OAAO,EAAE,4BAAiB,CAAC,OAAO;QAClC,QAAQ,EAAE,mBAAQ,CAAC,SAAS;QAC5B,cAAc,EAAE,CAAC,2BAAgB,CAAC,QAAQ,EAAE,2BAAgB,CAAC,MAAM,CAAC;QACpE,eAAe,EAAE,qBAAqB;QACtC,aAAa,EAAE,6BAA6B;QAC5C,iBAAiB,EAAE,CAAC,WAAW,CAAC;KACjC;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,MAAM,EAAE,wBAAa,CAAC,SAAS;QAC/B,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE,0BAAe,CAAC,SAAS;QACnC,OAAO,EAAE,4BAAiB,CAAC,OAAO;QAClC,QAAQ,EAAE,mBAAQ,CAAC,IAAI;QACvB,cAAc,EAAE,CAAC,2BAAgB,CAAC,QAAQ,EAAE,2BAAgB,CAAC,MAAM,CAAC;QACpE,eAAe,EAAE,4BAA4B;KAC9C;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,MAAM,EAAE,wBAAa,CAAC,SAAS;QAC/B,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,uBAAuB;QAC7B,QAAQ,EAAE,0BAAe,CAAC,SAAS;QACnC,OAAO,EAAE,4BAAiB,CAAC,EAAE;QAC7B,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,0BAA0B;QAC3C,aAAa,EAAE,SAAS;KACzB;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { HealingMatrixEntry } from '../healing-matrix-types.js';
2
+ export declare const FAMILY_22_ENTRIES: HealingMatrixEntry[];
3
+ //# sourceMappingURL=family-22-product-defect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"family-22-product-defect.d.ts","sourceRoot":"","sources":["../../src/healing-matrix/family-22-product-defect.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,EAkEjD,CAAC"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FAMILY_22_ENTRIES = void 0;
4
+ const enums_js_1 = require("../enums.js");
5
+ exports.FAMILY_22_ENTRIES = [
6
+ {
7
+ id: 'product.missing_ui',
8
+ family: enums_js_1.FailureFamily.PRODUCT_DEFECT,
9
+ familyNumber: 22,
10
+ group: '22 Product defect',
11
+ name: 'Missing button / screen',
12
+ category: enums_js_1.FailureCategory.PRODUCT_BUG,
13
+ canHeal: enums_js_1.MatrixHealability.NO,
14
+ healPath: null,
15
+ techniqueStack: [],
16
+ notHealedReason: 'Feature not shipped or regression',
17
+ skippedReason: 'Skipped',
18
+ },
19
+ {
20
+ id: 'product.wrong_calc',
21
+ family: enums_js_1.FailureFamily.PRODUCT_DEFECT,
22
+ familyNumber: 22,
23
+ group: '22 Product defect',
24
+ name: 'Wrong business calculation',
25
+ category: enums_js_1.FailureCategory.PRODUCT_BUG,
26
+ canHeal: enums_js_1.MatrixHealability.NO,
27
+ healPath: null,
28
+ techniqueStack: [],
29
+ notHealedReason: 'Product logic',
30
+ skippedReason: 'Skipped',
31
+ },
32
+ {
33
+ id: 'product.error_500',
34
+ family: enums_js_1.FailureFamily.PRODUCT_DEFECT,
35
+ familyNumber: 22,
36
+ group: '22 Product defect',
37
+ name: '500 error page',
38
+ category: enums_js_1.FailureCategory.PRODUCT_BUG,
39
+ canHeal: enums_js_1.MatrixHealability.NO,
40
+ healPath: null,
41
+ techniqueStack: [],
42
+ notHealedReason: 'Server bug',
43
+ skippedReason: 'Skipped',
44
+ },
45
+ {
46
+ id: 'product.data_corruption',
47
+ family: enums_js_1.FailureFamily.PRODUCT_DEFECT,
48
+ familyNumber: 22,
49
+ group: '22 Product defect',
50
+ name: 'Data corruption shown in UI',
51
+ category: enums_js_1.FailureCategory.PRODUCT_BUG,
52
+ canHeal: enums_js_1.MatrixHealability.NO,
53
+ healPath: null,
54
+ techniqueStack: [],
55
+ notHealedReason: 'Backend bug',
56
+ skippedReason: 'Skipped',
57
+ },
58
+ {
59
+ id: 'product.security_exposed',
60
+ family: enums_js_1.FailureFamily.PRODUCT_DEFECT,
61
+ familyNumber: 22,
62
+ group: '22 Product defect',
63
+ name: 'Security vulnerability exposed',
64
+ category: enums_js_1.FailureCategory.PRODUCT_BUG,
65
+ canHeal: enums_js_1.MatrixHealability.NO,
66
+ healPath: null,
67
+ techniqueStack: [],
68
+ notHealedReason: 'Must fix in app',
69
+ skippedReason: 'Skipped',
70
+ },
71
+ ];
72
+ //# sourceMappingURL=family-22-product-defect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"family-22-product-defect.js","sourceRoot":"","sources":["../../src/healing-matrix/family-22-product-defect.ts"],"names":[],"mappings":";;;AAAA,0CAMqB;AAGR,QAAA,iBAAiB,GAAyB;IACrD;QACE,EAAE,EAAE,oBAAoB;QACxB,MAAM,EAAE,wBAAa,CAAC,cAAc;QACpC,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,yBAAyB;QAC/B,QAAQ,EAAE,0BAAe,CAAC,WAAW;QACrC,OAAO,EAAE,4BAAiB,CAAC,EAAE;QAC7B,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,mCAAmC;QACpD,aAAa,EAAE,SAAS;KACzB;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,MAAM,EAAE,wBAAa,CAAC,cAAc;QACpC,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,4BAA4B;QAClC,QAAQ,EAAE,0BAAe,CAAC,WAAW;QACrC,OAAO,EAAE,4BAAiB,CAAC,EAAE;QAC7B,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,eAAe;QAChC,aAAa,EAAE,SAAS;KACzB;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,MAAM,EAAE,wBAAa,CAAC,cAAc;QACpC,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,0BAAe,CAAC,WAAW;QACrC,OAAO,EAAE,4BAAiB,CAAC,EAAE;QAC7B,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,YAAY;QAC7B,aAAa,EAAE,SAAS;KACzB;IACD;QACE,EAAE,EAAE,yBAAyB;QAC7B,MAAM,EAAE,wBAAa,CAAC,cAAc;QACpC,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,6BAA6B;QACnC,QAAQ,EAAE,0BAAe,CAAC,WAAW;QACrC,OAAO,EAAE,4BAAiB,CAAC,EAAE;QAC7B,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,aAAa;QAC9B,aAAa,EAAE,SAAS;KACzB;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,MAAM,EAAE,wBAAa,CAAC,cAAc;QACpC,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,gCAAgC;QACtC,QAAQ,EAAE,0BAAe,CAAC,WAAW;QACrC,OAAO,EAAE,4BAAiB,CAAC,EAAE;QAC7B,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,iBAAiB;QAClC,aAAa,EAAE,SAAS;KACzB;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { HealingMatrixEntry } from '../healing-matrix-types.js';
2
+ export declare const FAMILY_23_ENTRIES: HealingMatrixEntry[];
3
+ //# sourceMappingURL=family-23-security-compliance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"family-23-security-compliance.d.ts","sourceRoot":"","sources":["../../src/healing-matrix/family-23-security-compliance.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,EAoEjD,CAAC"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FAMILY_23_ENTRIES = void 0;
4
+ const enums_js_1 = require("../enums.js");
5
+ exports.FAMILY_23_ENTRIES = [
6
+ {
7
+ id: 'security.captcha',
8
+ family: enums_js_1.FailureFamily.SECURITY_COMPLIANCE,
9
+ familyNumber: 23,
10
+ group: '23 Security & compliance',
11
+ name: 'CAPTCHA',
12
+ category: enums_js_1.FailureCategory.SECURITY,
13
+ canHeal: enums_js_1.MatrixHealability.NO,
14
+ healPath: null,
15
+ techniqueStack: [],
16
+ notHealedReason: 'Anti-bot',
17
+ skippedReason: 'Skipped',
18
+ detectionPatterns: ['captcha'],
19
+ },
20
+ {
21
+ id: 'security.mfa',
22
+ family: enums_js_1.FailureFamily.SECURITY_COMPLIANCE,
23
+ familyNumber: 23,
24
+ group: '23 Security & compliance',
25
+ name: 'MFA',
26
+ category: enums_js_1.FailureCategory.SECURITY,
27
+ canHeal: enums_js_1.MatrixHealability.NO,
28
+ healPath: null,
29
+ techniqueStack: [],
30
+ notHealedReason: 'Security',
31
+ skippedReason: 'Skipped',
32
+ detectionPatterns: ['mfa', '2fa'],
33
+ },
34
+ {
35
+ id: 'security.live_payment',
36
+ family: enums_js_1.FailureFamily.SECURITY_COMPLIANCE,
37
+ familyNumber: 23,
38
+ group: '23 Security & compliance',
39
+ name: 'Live payment capture',
40
+ category: enums_js_1.FailureCategory.SECURITY,
41
+ canHeal: enums_js_1.MatrixHealability.NO,
42
+ healPath: null,
43
+ techniqueStack: [],
44
+ notHealedReason: 'PCI / real money',
45
+ skippedReason: 'Skipped',
46
+ },
47
+ {
48
+ id: 'security.prod_mutation',
49
+ family: enums_js_1.FailureFamily.SECURITY_COMPLIANCE,
50
+ familyNumber: 23,
51
+ group: '23 Security & compliance',
52
+ name: 'Production data mutation',
53
+ category: enums_js_1.FailureCategory.SECURITY,
54
+ canHeal: enums_js_1.MatrixHealability.NO,
55
+ healPath: null,
56
+ techniqueStack: [],
57
+ notHealedReason: 'Policy',
58
+ skippedReason: 'Skipped',
59
+ },
60
+ {
61
+ id: 'security.secrets_in_source',
62
+ family: enums_js_1.FailureFamily.SECURITY_COMPLIANCE,
63
+ familyNumber: 23,
64
+ group: '23 Security & compliance',
65
+ name: 'Secrets in test source',
66
+ category: enums_js_1.FailureCategory.SECURITY,
67
+ canHeal: enums_js_1.MatrixHealability.NO,
68
+ healPath: null,
69
+ techniqueStack: [],
70
+ notHealedReason: 'HealFlow must not propagate secrets',
71
+ skippedReason: 'Skipped',
72
+ },
73
+ ];
74
+ //# sourceMappingURL=family-23-security-compliance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"family-23-security-compliance.js","sourceRoot":"","sources":["../../src/healing-matrix/family-23-security-compliance.ts"],"names":[],"mappings":";;;AAAA,0CAMqB;AAGR,QAAA,iBAAiB,GAAyB;IACrD;QACE,EAAE,EAAE,kBAAkB;QACtB,MAAM,EAAE,wBAAa,CAAC,mBAAmB;QACzC,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,0BAA0B;QACjC,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,0BAAe,CAAC,QAAQ;QAClC,OAAO,EAAE,4BAAiB,CAAC,EAAE;QAC7B,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,UAAU;QAC3B,aAAa,EAAE,SAAS;QACxB,iBAAiB,EAAE,CAAC,SAAS,CAAC;KAC/B;IACD;QACE,EAAE,EAAE,cAAc;QAClB,MAAM,EAAE,wBAAa,CAAC,mBAAmB;QACzC,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,0BAA0B;QACjC,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,0BAAe,CAAC,QAAQ;QAClC,OAAO,EAAE,4BAAiB,CAAC,EAAE;QAC7B,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,UAAU;QAC3B,aAAa,EAAE,SAAS;QACxB,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;KAClC;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,MAAM,EAAE,wBAAa,CAAC,mBAAmB;QACzC,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,0BAA0B;QACjC,IAAI,EAAE,sBAAsB;QAC5B,QAAQ,EAAE,0BAAe,CAAC,QAAQ;QAClC,OAAO,EAAE,4BAAiB,CAAC,EAAE;QAC7B,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,kBAAkB;QACnC,aAAa,EAAE,SAAS;KACzB;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,MAAM,EAAE,wBAAa,CAAC,mBAAmB;QACzC,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,0BAA0B;QACjC,IAAI,EAAE,0BAA0B;QAChC,QAAQ,EAAE,0BAAe,CAAC,QAAQ;QAClC,OAAO,EAAE,4BAAiB,CAAC,EAAE;QAC7B,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,QAAQ;QACzB,aAAa,EAAE,SAAS;KACzB;IACD;QACE,EAAE,EAAE,4BAA4B;QAChC,MAAM,EAAE,wBAAa,CAAC,mBAAmB;QACzC,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,0BAA0B;QACjC,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE,0BAAe,CAAC,QAAQ;QAClC,OAAO,EAAE,4BAAiB,CAAC,EAAE;QAC7B,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,qCAAqC;QACtD,aAAa,EAAE,SAAS;KACzB;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { HealingMatrixFamilySummary } from '../healing-matrix-types.js';
2
+ export declare const HEALING_MATRIX_FAMILY_SUMMARIES: HealingMatrixFamilySummary[];
3
+ //# sourceMappingURL=family-summaries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"family-summaries.d.ts","sourceRoot":"","sources":["../../src/healing-matrix/family-summaries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAE7E,eAAO,MAAM,+BAA+B,EAAE,0BAA0B,EA0NvE,CAAC"}
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HEALING_MATRIX_FAMILY_SUMMARIES = void 0;
4
+ const enums_js_1 = require("../enums.js");
5
+ exports.HEALING_MATRIX_FAMILY_SUMMARIES = [
6
+ {
7
+ family: enums_js_1.FailureFamily.LOCATOR_SELECTOR,
8
+ familyNumber: 1,
9
+ title: 'Locator / selector',
10
+ generallyHealable: enums_js_1.MatrixHealability.YES,
11
+ primaryTechniques: [
12
+ enums_js_1.HealingTechnique.T1_SCOPE,
13
+ enums_js_1.HealingTechnique.T3_FINGERPRINT,
14
+ enums_js_1.HealingTechnique.T4_TRACE,
15
+ enums_js_1.HealingTechnique.T6_AST,
16
+ enums_js_1.HealingTechnique.T7_AI,
17
+ ],
18
+ aiTypical: true,
19
+ entryCount: 31,
20
+ },
21
+ {
22
+ family: enums_js_1.FailureFamily.TIMING_SYNC,
23
+ familyNumber: 2,
24
+ title: 'Timing / sync',
25
+ generallyHealable: enums_js_1.MatrixHealability.YES,
26
+ primaryTechniques: [enums_js_1.HealingTechnique.T0_RETRY, enums_js_1.HealingTechnique.T6_AST],
27
+ aiTypical: false,
28
+ entryCount: 12,
29
+ },
30
+ {
31
+ family: enums_js_1.FailureFamily.OVERLAY_MODAL,
32
+ familyNumber: 3,
33
+ title: 'Overlay / modal',
34
+ generallyHealable: enums_js_1.MatrixHealability.YES,
35
+ primaryTechniques: [enums_js_1.HealingTechnique.T0_RETRY, enums_js_1.HealingTechnique.T6_AST],
36
+ aiTypical: false,
37
+ entryCount: 11,
38
+ },
39
+ {
40
+ family: enums_js_1.FailureFamily.NAVIGATION_ROUTING,
41
+ familyNumber: 4,
42
+ title: 'Navigation / routing',
43
+ generallyHealable: enums_js_1.MatrixHealability.PARTIAL,
44
+ primaryTechniques: [
45
+ enums_js_1.HealingTechnique.T0_RETRY,
46
+ enums_js_1.HealingTechnique.T4_TRACE,
47
+ enums_js_1.HealingTechnique.T6_AST,
48
+ ],
49
+ aiTypical: true,
50
+ entryCount: 8,
51
+ },
52
+ {
53
+ family: enums_js_1.FailureFamily.FRAME_IFRAME,
54
+ familyNumber: 5,
55
+ title: 'Frame / iframe',
56
+ generallyHealable: enums_js_1.MatrixHealability.YES,
57
+ primaryTechniques: [enums_js_1.HealingTechnique.T4_TRACE, enums_js_1.HealingTechnique.T6_AST],
58
+ aiTypical: true,
59
+ entryCount: 8,
60
+ },
61
+ {
62
+ family: enums_js_1.FailureFamily.SHADOW_DOM,
63
+ familyNumber: 6,
64
+ title: 'Shadow DOM',
65
+ generallyHealable: enums_js_1.MatrixHealability.PARTIAL,
66
+ primaryTechniques: [enums_js_1.HealingTechnique.T1_SCOPE, enums_js_1.HealingTechnique.T6_AST],
67
+ aiTypical: true,
68
+ entryCount: 6,
69
+ },
70
+ {
71
+ family: enums_js_1.FailureFamily.AUTH_SESSION,
72
+ familyNumber: 7,
73
+ title: 'Auth / session',
74
+ generallyHealable: enums_js_1.MatrixHealability.PARTIAL,
75
+ primaryTechniques: [enums_js_1.HealingTechnique.T0_RETRY, enums_js_1.HealingTechnique.T6_AST],
76
+ aiTypical: false,
77
+ entryCount: 9,
78
+ },
79
+ {
80
+ family: enums_js_1.FailureFamily.NETWORK,
81
+ familyNumber: 8,
82
+ title: 'Network',
83
+ generallyHealable: enums_js_1.MatrixHealability.PARTIAL,
84
+ primaryTechniques: [enums_js_1.HealingTechnique.T0_RETRY],
85
+ aiTypical: false,
86
+ entryCount: 10,
87
+ },
88
+ {
89
+ family: enums_js_1.FailureFamily.API_MOCKING,
90
+ familyNumber: 9,
91
+ title: 'API / mocks',
92
+ generallyHealable: enums_js_1.MatrixHealability.YES,
93
+ primaryTechniques: [enums_js_1.HealingTechnique.T5_HISTORY, enums_js_1.HealingTechnique.T6_AST],
94
+ aiTypical: true,
95
+ entryCount: 8,
96
+ },
97
+ {
98
+ family: enums_js_1.FailureFamily.TEST_DATA,
99
+ familyNumber: 10,
100
+ title: 'Test data',
101
+ generallyHealable: enums_js_1.MatrixHealability.PARTIAL,
102
+ primaryTechniques: [enums_js_1.HealingTechnique.T6_AST],
103
+ aiTypical: false,
104
+ entryCount: 7,
105
+ },
106
+ {
107
+ family: enums_js_1.FailureFamily.ENVIRONMENT_CONFIG,
108
+ familyNumber: 11,
109
+ title: 'Environment / config',
110
+ generallyHealable: enums_js_1.MatrixHealability.NO,
111
+ primaryTechniques: [],
112
+ aiTypical: false,
113
+ entryCount: 7,
114
+ },
115
+ {
116
+ family: enums_js_1.FailureFamily.BROWSER_INFRA,
117
+ familyNumber: 12,
118
+ title: 'Browser / infra',
119
+ generallyHealable: enums_js_1.MatrixHealability.NO,
120
+ primaryTechniques: [],
121
+ aiTypical: false,
122
+ entryCount: 8,
123
+ },
124
+ {
125
+ family: enums_js_1.FailureFamily.UPLOAD_DOWNLOAD,
126
+ familyNumber: 13,
127
+ title: 'Upload / download',
128
+ generallyHealable: enums_js_1.MatrixHealability.PARTIAL,
129
+ primaryTechniques: [enums_js_1.HealingTechnique.T6_AST],
130
+ aiTypical: false,
131
+ entryCount: 5,
132
+ },
133
+ {
134
+ family: enums_js_1.FailureFamily.MULTI_TAB,
135
+ familyNumber: 14,
136
+ title: 'Multi-tab / popup',
137
+ generallyHealable: enums_js_1.MatrixHealability.PARTIAL,
138
+ primaryTechniques: [enums_js_1.HealingTechnique.T4_TRACE, enums_js_1.HealingTechnique.T6_AST],
139
+ aiTypical: false,
140
+ entryCount: 4,
141
+ },
142
+ {
143
+ family: enums_js_1.FailureFamily.VISUAL_A11Y,
144
+ familyNumber: 15,
145
+ title: 'Visual / a11y snapshot',
146
+ generallyHealable: enums_js_1.MatrixHealability.PARTIAL,
147
+ primaryTechniques: [enums_js_1.HealingTechnique.T6_AST],
148
+ aiTypical: false,
149
+ entryCount: 6,
150
+ },
151
+ {
152
+ family: enums_js_1.FailureFamily.I18N,
153
+ familyNumber: 16,
154
+ title: 'i18n',
155
+ generallyHealable: enums_js_1.MatrixHealability.YES,
156
+ primaryTechniques: [enums_js_1.HealingTechnique.T6_AST, enums_js_1.HealingTechnique.T7_AI],
157
+ aiTypical: true,
158
+ entryCount: 4,
159
+ },
160
+ {
161
+ family: enums_js_1.FailureFamily.MOBILE_TOUCH,
162
+ familyNumber: 17,
163
+ title: 'Mobile / touch',
164
+ generallyHealable: enums_js_1.MatrixHealability.PARTIAL,
165
+ primaryTechniques: [enums_js_1.HealingTechnique.T6_AST],
166
+ aiTypical: false,
167
+ entryCount: 4,
168
+ },
169
+ {
170
+ family: enums_js_1.FailureFamily.PERFORMANCE,
171
+ familyNumber: 18,
172
+ title: 'Performance',
173
+ generallyHealable: enums_js_1.MatrixHealability.PARTIAL,
174
+ primaryTechniques: [enums_js_1.HealingTechnique.T0_RETRY, enums_js_1.HealingTechnique.T6_AST],
175
+ aiTypical: false,
176
+ entryCount: 4,
177
+ },
178
+ {
179
+ family: enums_js_1.FailureFamily.THIRD_PARTY,
180
+ familyNumber: 19,
181
+ title: 'Third-party embeds',
182
+ generallyHealable: enums_js_1.MatrixHealability.PARTIAL,
183
+ primaryTechniques: [enums_js_1.HealingTechnique.T5_HISTORY, enums_js_1.HealingTechnique.T6_AST],
184
+ aiTypical: true,
185
+ entryCount: 5,
186
+ },
187
+ {
188
+ family: enums_js_1.FailureFamily.TEST_STRUCTURE,
189
+ familyNumber: 20,
190
+ title: 'Test structure',
191
+ generallyHealable: enums_js_1.MatrixHealability.PARTIAL,
192
+ primaryTechniques: [enums_js_1.HealingTechnique.T6_AST],
193
+ aiTypical: false,
194
+ entryCount: 6,
195
+ },
196
+ {
197
+ family: enums_js_1.FailureFamily.ASSERTION,
198
+ familyNumber: 21,
199
+ title: 'Assertions',
200
+ generallyHealable: enums_js_1.MatrixHealability.NO,
201
+ primaryTechniques: [],
202
+ aiTypical: false,
203
+ entryCount: 6,
204
+ },
205
+ {
206
+ family: enums_js_1.FailureFamily.PRODUCT_DEFECT,
207
+ familyNumber: 22,
208
+ title: 'Product bugs',
209
+ generallyHealable: enums_js_1.MatrixHealability.NO,
210
+ primaryTechniques: [],
211
+ aiTypical: false,
212
+ entryCount: 5,
213
+ },
214
+ {
215
+ family: enums_js_1.FailureFamily.SECURITY_COMPLIANCE,
216
+ familyNumber: 23,
217
+ title: 'Security boundaries',
218
+ generallyHealable: enums_js_1.MatrixHealability.NO,
219
+ primaryTechniques: [],
220
+ aiTypical: false,
221
+ entryCount: 5,
222
+ },
223
+ ];
224
+ //# sourceMappingURL=family-summaries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"family-summaries.js","sourceRoot":"","sources":["../../src/healing-matrix/family-summaries.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export declare const GLOBAL_HARD_STOPS: readonly [{
2
+ readonly rule: "never_modify_assertions";
3
+ readonly reason: "Assertions encode product intent; changing them hides bugs";
4
+ }, {
5
+ readonly rule: "never_modify_product_code";
6
+ readonly reason: "HealFlow only touches test automation code";
7
+ }, {
8
+ readonly rule: "never_use_waitForTimeout";
9
+ readonly reason: "Creates flakiness; use condition-based waits only";
10
+ }, {
11
+ readonly rule: "never_click_ambiguous";
12
+ readonly reason: "Click when multiple candidates tie after scoping + scoring";
13
+ }, {
14
+ readonly rule: "never_bypass_mfa_captcha";
15
+ readonly reason: "MFA, CAPTCHA, human verification not automatable";
16
+ }, {
17
+ readonly rule: "never_pierce_closed_shadow";
18
+ readonly reason: "Closed shadow root with no external hook";
19
+ }, {
20
+ readonly rule: "requires_instrumentation";
21
+ readonly reason: "HealFlow not wired into the test run";
22
+ }];
23
+ //# sourceMappingURL=global-hard-stops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-hard-stops.d.ts","sourceRoot":"","sources":["../../src/healing-matrix/global-hard-stops.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;EAcpB,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GLOBAL_HARD_STOPS = void 0;
4
+ exports.GLOBAL_HARD_STOPS = [
5
+ {
6
+ rule: 'never_modify_assertions',
7
+ reason: 'Assertions encode product intent; changing them hides bugs',
8
+ },
9
+ { rule: 'never_modify_product_code', reason: 'HealFlow only touches test automation code' },
10
+ { rule: 'never_use_waitForTimeout', reason: 'Creates flakiness; use condition-based waits only' },
11
+ {
12
+ rule: 'never_click_ambiguous',
13
+ reason: 'Click when multiple candidates tie after scoping + scoring',
14
+ },
15
+ { rule: 'never_bypass_mfa_captcha', reason: 'MFA, CAPTCHA, human verification not automatable' },
16
+ { rule: 'never_pierce_closed_shadow', reason: 'Closed shadow root with no external hook' },
17
+ { rule: 'requires_instrumentation', reason: 'HealFlow not wired into the test run' },
18
+ ];
19
+ //# sourceMappingURL=global-hard-stops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-hard-stops.js","sourceRoot":"","sources":["../../src/healing-matrix/global-hard-stops.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG;IAC/B;QACE,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE,4DAA4D;KACrE;IACD,EAAE,IAAI,EAAE,2BAA2B,EAAE,MAAM,EAAE,4CAA4C,EAAE;IAC3F,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,mDAAmD,EAAE;IACjG;QACE,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,4DAA4D;KACrE;IACD,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,kDAAkD,EAAE;IAChG,EAAE,IAAI,EAAE,4BAA4B,EAAE,MAAM,EAAE,0CAA0C,EAAE;IAC1F,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,sCAAsC,EAAE;CAC5E,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { FailureCategory, FailureFamily } from '../enums.js';
2
+ import type { HealingMatrixEntry } from '../healing-matrix-types.js';
3
+ export declare function getMatrixEntryById(id: string): HealingMatrixEntry | undefined;
4
+ export declare function getMatrixEntriesByFamily(family: FailureFamily): HealingMatrixEntry[];
5
+ export declare function getMatrixEntriesByCategory(category: FailureCategory): HealingMatrixEntry[];
6
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/healing-matrix/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGrE,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAE7E;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,aAAa,GAAG,kBAAkB,EAAE,CAEpF;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,eAAe,GAAG,kBAAkB,EAAE,CAE1F"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMatrixEntryById = getMatrixEntryById;
4
+ exports.getMatrixEntriesByFamily = getMatrixEntriesByFamily;
5
+ exports.getMatrixEntriesByCategory = getMatrixEntriesByCategory;
6
+ const entries_js_1 = require("./entries.js");
7
+ function getMatrixEntryById(id) {
8
+ return entries_js_1.HEALING_MATRIX_ENTRIES.find((e) => e.id === id);
9
+ }
10
+ function getMatrixEntriesByFamily(family) {
11
+ return entries_js_1.HEALING_MATRIX_ENTRIES.filter((e) => e.family === family);
12
+ }
13
+ function getMatrixEntriesByCategory(category) {
14
+ return entries_js_1.HEALING_MATRIX_ENTRIES.filter((e) => e.category === category);
15
+ }
16
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/healing-matrix/helpers.ts"],"names":[],"mappings":";;AAIA,gDAEC;AAED,4DAEC;AAED,gEAEC;AAZD,6CAAsD;AAEtD,SAAgB,kBAAkB,CAAC,EAAU;IAC3C,OAAO,mCAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,SAAgB,wBAAwB,CAAC,MAAqB;IAC5D,OAAO,mCAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;AACnE,CAAC;AAED,SAAgB,0BAA0B,CAAC,QAAyB;IAClE,OAAO,mCAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AACvE,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { GLOBAL_HARD_STOPS } from './global-hard-stops.js';
2
+ export { HEALING_MATRIX_ENTRIES } from './entries.js';
3
+ export { HEALING_MATRIX_FAMILY_SUMMARIES } from './family-summaries.js';
4
+ export { getMatrixEntryById, getMatrixEntriesByFamily, getMatrixEntriesByCategory, } from './helpers.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/healing-matrix/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,cAAc,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMatrixEntriesByCategory = exports.getMatrixEntriesByFamily = exports.getMatrixEntryById = exports.HEALING_MATRIX_FAMILY_SUMMARIES = exports.HEALING_MATRIX_ENTRIES = exports.GLOBAL_HARD_STOPS = void 0;
4
+ var global_hard_stops_js_1 = require("./global-hard-stops.js");
5
+ Object.defineProperty(exports, "GLOBAL_HARD_STOPS", { enumerable: true, get: function () { return global_hard_stops_js_1.GLOBAL_HARD_STOPS; } });
6
+ var entries_js_1 = require("./entries.js");
7
+ Object.defineProperty(exports, "HEALING_MATRIX_ENTRIES", { enumerable: true, get: function () { return entries_js_1.HEALING_MATRIX_ENTRIES; } });
8
+ var family_summaries_js_1 = require("./family-summaries.js");
9
+ Object.defineProperty(exports, "HEALING_MATRIX_FAMILY_SUMMARIES", { enumerable: true, get: function () { return family_summaries_js_1.HEALING_MATRIX_FAMILY_SUMMARIES; } });
10
+ var helpers_js_1 = require("./helpers.js");
11
+ Object.defineProperty(exports, "getMatrixEntryById", { enumerable: true, get: function () { return helpers_js_1.getMatrixEntryById; } });
12
+ Object.defineProperty(exports, "getMatrixEntriesByFamily", { enumerable: true, get: function () { return helpers_js_1.getMatrixEntriesByFamily; } });
13
+ Object.defineProperty(exports, "getMatrixEntriesByCategory", { enumerable: true, get: function () { return helpers_js_1.getMatrixEntriesByCategory; } });
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/healing-matrix/index.ts"],"names":[],"mappings":";;;AAAA,+DAA2D;AAAlD,yHAAA,iBAAiB,OAAA;AAC1B,2CAAsD;AAA7C,oHAAA,sBAAsB,OAAA;AAC/B,6DAAwE;AAA/D,sIAAA,+BAA+B,OAAA;AACxC,2CAIsB;AAHpB,gHAAA,kBAAkB,OAAA;AAClB,sHAAA,wBAAwB,OAAA;AACxB,wHAAA,0BAA0B,OAAA"}