ppef 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (336) hide show
  1. package/README.md +172 -0
  2. package/bin/ppef.mjs +20 -0
  3. package/dist/__tests__/framework-pipeline.integration.test.d.ts +7 -0
  4. package/dist/__tests__/framework-pipeline.integration.test.d.ts.map +1 -0
  5. package/dist/__tests__/framework-pipeline.integration.test.js +415 -0
  6. package/dist/__tests__/framework-pipeline.integration.test.js.map +1 -0
  7. package/dist/__tests__/index-exports.unit.test.d.ts +8 -0
  8. package/dist/__tests__/index-exports.unit.test.d.ts.map +1 -0
  9. package/dist/__tests__/index-exports.unit.test.js +127 -0
  10. package/dist/__tests__/index-exports.unit.test.js.map +1 -0
  11. package/dist/__tests__/registry-executor.integration.test.d.ts +5 -0
  12. package/dist/__tests__/registry-executor.integration.test.d.ts.map +1 -0
  13. package/dist/__tests__/registry-executor.integration.test.js +352 -0
  14. package/dist/__tests__/registry-executor.integration.test.js.map +1 -0
  15. package/dist/__tests__/test-helpers.d.ts +94 -0
  16. package/dist/__tests__/test-helpers.d.ts.map +1 -0
  17. package/dist/__tests__/test-helpers.js +271 -0
  18. package/dist/__tests__/test-helpers.js.map +1 -0
  19. package/dist/aggregation/__tests__/aggregators.unit.test.d.ts +7 -0
  20. package/dist/aggregation/__tests__/aggregators.unit.test.d.ts.map +1 -0
  21. package/dist/aggregation/__tests__/aggregators.unit.test.js +350 -0
  22. package/dist/aggregation/__tests__/aggregators.unit.test.js.map +1 -0
  23. package/dist/aggregation/__tests__/pipeline.unit.test.d.ts +7 -0
  24. package/dist/aggregation/__tests__/pipeline.unit.test.d.ts.map +1 -0
  25. package/dist/aggregation/__tests__/pipeline.unit.test.js +213 -0
  26. package/dist/aggregation/__tests__/pipeline.unit.test.js.map +1 -0
  27. package/dist/aggregation/aggregators.d.ts +63 -0
  28. package/dist/aggregation/aggregators.d.ts.map +1 -0
  29. package/dist/aggregation/aggregators.js +228 -0
  30. package/dist/aggregation/aggregators.js.map +1 -0
  31. package/dist/aggregation/index.d.ts +8 -0
  32. package/dist/aggregation/index.d.ts.map +1 -0
  33. package/dist/aggregation/index.js +8 -0
  34. package/dist/aggregation/index.js.map +1 -0
  35. package/dist/aggregation/pipeline.d.ts +38 -0
  36. package/dist/aggregation/pipeline.d.ts.map +1 -0
  37. package/dist/aggregation/pipeline.js +198 -0
  38. package/dist/aggregation/pipeline.js.map +1 -0
  39. package/dist/claims/__tests__/evaluator.unit.test.d.ts +12 -0
  40. package/dist/claims/__tests__/evaluator.unit.test.d.ts.map +1 -0
  41. package/dist/claims/__tests__/evaluator.unit.test.js +801 -0
  42. package/dist/claims/__tests__/evaluator.unit.test.js.map +1 -0
  43. package/dist/claims/evaluator.d.ts +33 -0
  44. package/dist/claims/evaluator.d.ts.map +1 -0
  45. package/dist/claims/evaluator.js +174 -0
  46. package/dist/claims/evaluator.js.map +1 -0
  47. package/dist/claims/index.d.ts +7 -0
  48. package/dist/claims/index.d.ts.map +1 -0
  49. package/dist/claims/index.js +7 -0
  50. package/dist/claims/index.js.map +1 -0
  51. package/dist/cli/__tests__/aggregate.command.unit.test.d.ts +7 -0
  52. package/dist/cli/__tests__/aggregate.command.unit.test.d.ts.map +1 -0
  53. package/dist/cli/__tests__/aggregate.command.unit.test.js +396 -0
  54. package/dist/cli/__tests__/aggregate.command.unit.test.js.map +1 -0
  55. package/dist/cli/__tests__/commands.unit.test.d.ts +10 -0
  56. package/dist/cli/__tests__/commands.unit.test.d.ts.map +1 -0
  57. package/dist/cli/__tests__/commands.unit.test.js +217 -0
  58. package/dist/cli/__tests__/commands.unit.test.js.map +1 -0
  59. package/dist/cli/__tests__/index.unit.test.d.ts +10 -0
  60. package/dist/cli/__tests__/index.unit.test.d.ts.map +1 -0
  61. package/dist/cli/__tests__/index.unit.test.js +65 -0
  62. package/dist/cli/__tests__/index.unit.test.js.map +1 -0
  63. package/dist/cli/__tests__/logger.unit.test.d.ts +11 -0
  64. package/dist/cli/__tests__/logger.unit.test.d.ts.map +1 -0
  65. package/dist/cli/__tests__/logger.unit.test.js +180 -0
  66. package/dist/cli/__tests__/logger.unit.test.js.map +1 -0
  67. package/dist/cli/__tests__/module-loader.unit.test.d.ts +11 -0
  68. package/dist/cli/__tests__/module-loader.unit.test.d.ts.map +1 -0
  69. package/dist/cli/__tests__/module-loader.unit.test.js +262 -0
  70. package/dist/cli/__tests__/module-loader.unit.test.js.map +1 -0
  71. package/dist/cli/__tests__/output-writer.unit.test.d.ts +10 -0
  72. package/dist/cli/__tests__/output-writer.unit.test.d.ts.map +1 -0
  73. package/dist/cli/__tests__/output-writer.unit.test.js +216 -0
  74. package/dist/cli/__tests__/output-writer.unit.test.js.map +1 -0
  75. package/dist/cli/__tests__/plan.command.unit.test.d.ts +7 -0
  76. package/dist/cli/__tests__/plan.command.unit.test.d.ts.map +1 -0
  77. package/dist/cli/__tests__/plan.command.unit.test.js +289 -0
  78. package/dist/cli/__tests__/plan.command.unit.test.js.map +1 -0
  79. package/dist/cli/__tests__/run.command.unit.test.d.ts +7 -0
  80. package/dist/cli/__tests__/run.command.unit.test.d.ts.map +1 -0
  81. package/dist/cli/__tests__/run.command.unit.test.js +422 -0
  82. package/dist/cli/__tests__/run.command.unit.test.js.map +1 -0
  83. package/dist/cli/__tests__/validate.command.unit.test.d.ts +7 -0
  84. package/dist/cli/__tests__/validate.command.unit.test.d.ts.map +1 -0
  85. package/dist/cli/__tests__/validate.command.unit.test.js +226 -0
  86. package/dist/cli/__tests__/validate.command.unit.test.js.map +1 -0
  87. package/dist/cli/command-deps.d.ts +125 -0
  88. package/dist/cli/command-deps.d.ts.map +1 -0
  89. package/dist/cli/command-deps.js +7 -0
  90. package/dist/cli/command-deps.js.map +1 -0
  91. package/dist/cli/commands/aggregate.d.ts +35 -0
  92. package/dist/cli/commands/aggregate.d.ts.map +1 -0
  93. package/dist/cli/commands/aggregate.js +121 -0
  94. package/dist/cli/commands/aggregate.js.map +1 -0
  95. package/dist/cli/commands/plan.d.ts +36 -0
  96. package/dist/cli/commands/plan.d.ts.map +1 -0
  97. package/dist/cli/commands/plan.js +109 -0
  98. package/dist/cli/commands/plan.js.map +1 -0
  99. package/dist/cli/commands/run.d.ts +33 -0
  100. package/dist/cli/commands/run.d.ts.map +1 -0
  101. package/dist/cli/commands/run.js +185 -0
  102. package/dist/cli/commands/run.js.map +1 -0
  103. package/dist/cli/commands/validate.d.ts +27 -0
  104. package/dist/cli/commands/validate.d.ts.map +1 -0
  105. package/dist/cli/commands/validate.js +88 -0
  106. package/dist/cli/commands/validate.js.map +1 -0
  107. package/dist/cli/config-loader.d.ts +30 -0
  108. package/dist/cli/config-loader.d.ts.map +1 -0
  109. package/dist/cli/config-loader.js +181 -0
  110. package/dist/cli/config-loader.js.map +1 -0
  111. package/dist/cli/index.d.ts +26 -0
  112. package/dist/cli/index.d.ts.map +1 -0
  113. package/dist/cli/index.js +58 -0
  114. package/dist/cli/index.js.map +1 -0
  115. package/dist/cli/logger.d.ts +75 -0
  116. package/dist/cli/logger.d.ts.map +1 -0
  117. package/dist/cli/logger.js +131 -0
  118. package/dist/cli/logger.js.map +1 -0
  119. package/dist/cli/module-loader.d.ts +46 -0
  120. package/dist/cli/module-loader.d.ts.map +1 -0
  121. package/dist/cli/module-loader.js +116 -0
  122. package/dist/cli/module-loader.js.map +1 -0
  123. package/dist/cli/output-writer.d.ts +51 -0
  124. package/dist/cli/output-writer.d.ts.map +1 -0
  125. package/dist/cli/output-writer.js +65 -0
  126. package/dist/cli/output-writer.js.map +1 -0
  127. package/dist/cli/types.d.ts +174 -0
  128. package/dist/cli/types.d.ts.map +1 -0
  129. package/dist/cli/types.js +7 -0
  130. package/dist/cli/types.js.map +1 -0
  131. package/dist/collector/__tests__/result-collector.unit.test.d.ts +7 -0
  132. package/dist/collector/__tests__/result-collector.unit.test.d.ts.map +1 -0
  133. package/dist/collector/__tests__/result-collector.unit.test.js +1021 -0
  134. package/dist/collector/__tests__/result-collector.unit.test.js.map +1 -0
  135. package/dist/collector/__tests__/schema.unit.test.d.ts +7 -0
  136. package/dist/collector/__tests__/schema.unit.test.d.ts.map +1 -0
  137. package/dist/collector/__tests__/schema.unit.test.js +360 -0
  138. package/dist/collector/__tests__/schema.unit.test.js.map +1 -0
  139. package/dist/collector/index.d.ts +8 -0
  140. package/dist/collector/index.d.ts.map +1 -0
  141. package/dist/collector/index.js +8 -0
  142. package/dist/collector/index.js.map +1 -0
  143. package/dist/collector/result-collector.d.ts +159 -0
  144. package/dist/collector/result-collector.d.ts.map +1 -0
  145. package/dist/collector/result-collector.js +213 -0
  146. package/dist/collector/result-collector.js.map +1 -0
  147. package/dist/collector/schema.d.ts +34 -0
  148. package/dist/collector/schema.d.ts.map +1 -0
  149. package/dist/collector/schema.js +145 -0
  150. package/dist/collector/schema.js.map +1 -0
  151. package/dist/executor/__tests__/checkpoint-hash-bug.diagnostic.test.d.ts +10 -0
  152. package/dist/executor/__tests__/checkpoint-hash-bug.diagnostic.test.d.ts.map +1 -0
  153. package/dist/executor/__tests__/checkpoint-hash-bug.diagnostic.test.js +122 -0
  154. package/dist/executor/__tests__/checkpoint-hash-bug.diagnostic.test.js.map +1 -0
  155. package/dist/executor/__tests__/checkpoint-manager.integration.test.d.ts +7 -0
  156. package/dist/executor/__tests__/checkpoint-manager.integration.test.d.ts.map +1 -0
  157. package/dist/executor/__tests__/checkpoint-manager.integration.test.js +330 -0
  158. package/dist/executor/__tests__/checkpoint-manager.integration.test.js.map +1 -0
  159. package/dist/executor/__tests__/checkpoint-manager.unit.test.d.ts +7 -0
  160. package/dist/executor/__tests__/checkpoint-manager.unit.test.d.ts.map +1 -0
  161. package/dist/executor/__tests__/checkpoint-manager.unit.test.js +531 -0
  162. package/dist/executor/__tests__/checkpoint-manager.unit.test.js.map +1 -0
  163. package/dist/executor/__tests__/checkpoint-merge-bug.diagnostic.test.d.ts +8 -0
  164. package/dist/executor/__tests__/checkpoint-merge-bug.diagnostic.test.d.ts.map +1 -0
  165. package/dist/executor/__tests__/checkpoint-merge-bug.diagnostic.test.js +493 -0
  166. package/dist/executor/__tests__/checkpoint-merge-bug.diagnostic.test.js.map +1 -0
  167. package/dist/executor/__tests__/checkpoint-merge-bug.unit.test.d.ts +8 -0
  168. package/dist/executor/__tests__/checkpoint-merge-bug.unit.test.d.ts.map +1 -0
  169. package/dist/executor/__tests__/checkpoint-merge-bug.unit.test.js +164 -0
  170. package/dist/executor/__tests__/checkpoint-merge-bug.unit.test.js.map +1 -0
  171. package/dist/executor/__tests__/checkpoint-storage.unit.test.d.ts +7 -0
  172. package/dist/executor/__tests__/checkpoint-storage.unit.test.d.ts.map +1 -0
  173. package/dist/executor/__tests__/checkpoint-storage.unit.test.js +490 -0
  174. package/dist/executor/__tests__/checkpoint-storage.unit.test.js.map +1 -0
  175. package/dist/executor/__tests__/executor.unit.test.d.ts +7 -0
  176. package/dist/executor/__tests__/executor.unit.test.d.ts.map +1 -0
  177. package/dist/executor/__tests__/executor.unit.test.js +202 -0
  178. package/dist/executor/__tests__/executor.unit.test.js.map +1 -0
  179. package/dist/executor/__tests__/memory-monitor.unit.test.d.ts +7 -0
  180. package/dist/executor/__tests__/memory-monitor.unit.test.d.ts.map +1 -0
  181. package/dist/executor/__tests__/memory-monitor.unit.test.js +285 -0
  182. package/dist/executor/__tests__/memory-monitor.unit.test.js.map +1 -0
  183. package/dist/executor/__tests__/parallel-checkpoint-merge.integration.test.d.ts +12 -0
  184. package/dist/executor/__tests__/parallel-checkpoint-merge.integration.test.d.ts.map +1 -0
  185. package/dist/executor/__tests__/parallel-checkpoint-merge.integration.test.js +196 -0
  186. package/dist/executor/__tests__/parallel-checkpoint-merge.integration.test.js.map +1 -0
  187. package/dist/executor/__tests__/parallel-executor.integration.test.d.ts +7 -0
  188. package/dist/executor/__tests__/parallel-executor.integration.test.d.ts.map +1 -0
  189. package/dist/executor/__tests__/parallel-executor.integration.test.js +249 -0
  190. package/dist/executor/__tests__/parallel-executor.integration.test.js.map +1 -0
  191. package/dist/executor/__tests__/parallel-executor.unit.test.d.ts +8 -0
  192. package/dist/executor/__tests__/parallel-executor.unit.test.d.ts.map +1 -0
  193. package/dist/executor/__tests__/parallel-executor.unit.test.js +473 -0
  194. package/dist/executor/__tests__/parallel-executor.unit.test.js.map +1 -0
  195. package/dist/executor/__tests__/run-id.unit.test.d.ts +8 -0
  196. package/dist/executor/__tests__/run-id.unit.test.d.ts.map +1 -0
  197. package/dist/executor/__tests__/run-id.unit.test.js +156 -0
  198. package/dist/executor/__tests__/run-id.unit.test.js.map +1 -0
  199. package/dist/executor/__tests__/worker-entry.integration.test.d.ts +24 -0
  200. package/dist/executor/__tests__/worker-entry.integration.test.d.ts.map +1 -0
  201. package/dist/executor/__tests__/worker-entry.integration.test.js +82 -0
  202. package/dist/executor/__tests__/worker-entry.integration.test.js.map +1 -0
  203. package/dist/executor/__tests__/worker-entry.unit.test.d.ts +7 -0
  204. package/dist/executor/__tests__/worker-entry.unit.test.d.ts.map +1 -0
  205. package/dist/executor/__tests__/worker-entry.unit.test.js +364 -0
  206. package/dist/executor/__tests__/worker-entry.unit.test.js.map +1 -0
  207. package/dist/executor/checkpoint-manager.d.ts +231 -0
  208. package/dist/executor/checkpoint-manager.d.ts.map +1 -0
  209. package/dist/executor/checkpoint-manager.js +395 -0
  210. package/dist/executor/checkpoint-manager.js.map +1 -0
  211. package/dist/executor/checkpoint-storage.d.ts +230 -0
  212. package/dist/executor/checkpoint-storage.d.ts.map +1 -0
  213. package/dist/executor/checkpoint-storage.js +370 -0
  214. package/dist/executor/checkpoint-storage.js.map +1 -0
  215. package/dist/executor/checkpoint-types.d.ts +48 -0
  216. package/dist/executor/checkpoint-types.d.ts.map +1 -0
  217. package/dist/executor/checkpoint-types.js +8 -0
  218. package/dist/executor/checkpoint-types.js.map +1 -0
  219. package/dist/executor/executor.d.ts +164 -0
  220. package/dist/executor/executor.d.ts.map +1 -0
  221. package/dist/executor/executor.js +408 -0
  222. package/dist/executor/executor.js.map +1 -0
  223. package/dist/executor/index.d.ts +11 -0
  224. package/dist/executor/index.d.ts.map +1 -0
  225. package/dist/executor/index.js +11 -0
  226. package/dist/executor/index.js.map +1 -0
  227. package/dist/executor/memory-monitor.d.ts +115 -0
  228. package/dist/executor/memory-monitor.d.ts.map +1 -0
  229. package/dist/executor/memory-monitor.js +168 -0
  230. package/dist/executor/memory-monitor.js.map +1 -0
  231. package/dist/executor/parallel-executor.d.ts +239 -0
  232. package/dist/executor/parallel-executor.d.ts.map +1 -0
  233. package/dist/executor/parallel-executor.js +329 -0
  234. package/dist/executor/parallel-executor.js.map +1 -0
  235. package/dist/executor/run-id.d.ts +71 -0
  236. package/dist/executor/run-id.d.ts.map +1 -0
  237. package/dist/executor/run-id.js +74 -0
  238. package/dist/executor/run-id.js.map +1 -0
  239. package/dist/executor/worker-entry.d.ts +10 -0
  240. package/dist/executor/worker-entry.d.ts.map +1 -0
  241. package/dist/executor/worker-entry.js +42 -0
  242. package/dist/executor/worker-entry.js.map +1 -0
  243. package/dist/executor/worker-executor.d.ts +156 -0
  244. package/dist/executor/worker-executor.d.ts.map +1 -0
  245. package/dist/executor/worker-executor.js +88 -0
  246. package/dist/executor/worker-executor.js.map +1 -0
  247. package/dist/index.cjs +11 -0
  248. package/dist/index.d.ts +15 -0
  249. package/dist/index.d.ts.map +1 -0
  250. package/dist/index.js +24 -0
  251. package/dist/index.js.map +1 -0
  252. package/dist/registry/case-registry.d.ts +113 -0
  253. package/dist/registry/case-registry.d.ts.map +1 -0
  254. package/dist/registry/case-registry.js +160 -0
  255. package/dist/registry/case-registry.js.map +1 -0
  256. package/dist/registry/index.d.ts +8 -0
  257. package/dist/registry/index.d.ts.map +1 -0
  258. package/dist/registry/index.js +8 -0
  259. package/dist/registry/index.js.map +1 -0
  260. package/dist/registry/sut-registry.d.ts +96 -0
  261. package/dist/registry/sut-registry.d.ts.map +1 -0
  262. package/dist/registry/sut-registry.js +126 -0
  263. package/dist/registry/sut-registry.js.map +1 -0
  264. package/dist/renderers/index.d.ts +10 -0
  265. package/dist/renderers/index.d.ts.map +1 -0
  266. package/dist/renderers/index.js +9 -0
  267. package/dist/renderers/index.js.map +1 -0
  268. package/dist/renderers/latex-renderer.d.ts +84 -0
  269. package/dist/renderers/latex-renderer.d.ts.map +1 -0
  270. package/dist/renderers/latex-renderer.js +208 -0
  271. package/dist/renderers/latex-renderer.js.map +1 -0
  272. package/dist/renderers/types.d.ts +106 -0
  273. package/dist/renderers/types.d.ts.map +1 -0
  274. package/dist/renderers/types.js +23 -0
  275. package/dist/renderers/types.js.map +1 -0
  276. package/dist/robustness/__tests__/analyzer.unit.test.d.ts +11 -0
  277. package/dist/robustness/__tests__/analyzer.unit.test.d.ts.map +1 -0
  278. package/dist/robustness/__tests__/analyzer.unit.test.js +455 -0
  279. package/dist/robustness/__tests__/analyzer.unit.test.js.map +1 -0
  280. package/dist/robustness/__tests__/perturbations.unit.test.d.ts +11 -0
  281. package/dist/robustness/__tests__/perturbations.unit.test.d.ts.map +1 -0
  282. package/dist/robustness/__tests__/perturbations.unit.test.js +284 -0
  283. package/dist/robustness/__tests__/perturbations.unit.test.js.map +1 -0
  284. package/dist/robustness/analyzer.d.ts +61 -0
  285. package/dist/robustness/analyzer.d.ts.map +1 -0
  286. package/dist/robustness/analyzer.js +191 -0
  287. package/dist/robustness/analyzer.js.map +1 -0
  288. package/dist/robustness/index.d.ts +8 -0
  289. package/dist/robustness/index.d.ts.map +1 -0
  290. package/dist/robustness/index.js +8 -0
  291. package/dist/robustness/index.js.map +1 -0
  292. package/dist/robustness/perturbations.d.ts +46 -0
  293. package/dist/robustness/perturbations.d.ts.map +1 -0
  294. package/dist/robustness/perturbations.js +184 -0
  295. package/dist/robustness/perturbations.js.map +1 -0
  296. package/dist/statistical/__tests__/mann-whitney-u.unit.test.d.ts +7 -0
  297. package/dist/statistical/__tests__/mann-whitney-u.unit.test.d.ts.map +1 -0
  298. package/dist/statistical/__tests__/mann-whitney-u.unit.test.js +185 -0
  299. package/dist/statistical/__tests__/mann-whitney-u.unit.test.js.map +1 -0
  300. package/dist/statistical/index.d.ts +8 -0
  301. package/dist/statistical/index.d.ts.map +1 -0
  302. package/dist/statistical/index.js +8 -0
  303. package/dist/statistical/index.js.map +1 -0
  304. package/dist/statistical/mann-whitney-u.d.ts +62 -0
  305. package/dist/statistical/mann-whitney-u.d.ts.map +1 -0
  306. package/dist/statistical/mann-whitney-u.js +127 -0
  307. package/dist/statistical/mann-whitney-u.js.map +1 -0
  308. package/dist/types/aggregate.d.ts +124 -0
  309. package/dist/types/aggregate.d.ts.map +1 -0
  310. package/dist/types/aggregate.js +9 -0
  311. package/dist/types/aggregate.js.map +1 -0
  312. package/dist/types/case.d.ts +105 -0
  313. package/dist/types/case.d.ts.map +1 -0
  314. package/dist/types/case.js +10 -0
  315. package/dist/types/case.js.map +1 -0
  316. package/dist/types/claims.d.ts +122 -0
  317. package/dist/types/claims.d.ts.map +1 -0
  318. package/dist/types/claims.js +14 -0
  319. package/dist/types/claims.js.map +1 -0
  320. package/dist/types/index.d.ts +12 -0
  321. package/dist/types/index.d.ts.map +1 -0
  322. package/dist/types/index.js +7 -0
  323. package/dist/types/index.js.map +1 -0
  324. package/dist/types/perturbation.d.ts +105 -0
  325. package/dist/types/perturbation.d.ts.map +1 -0
  326. package/dist/types/perturbation.js +9 -0
  327. package/dist/types/perturbation.js.map +1 -0
  328. package/dist/types/result.d.ts +150 -0
  329. package/dist/types/result.d.ts.map +1 -0
  330. package/dist/types/result.js +12 -0
  331. package/dist/types/result.js.map +1 -0
  332. package/dist/types/sut.d.ts +128 -0
  333. package/dist/types/sut.d.ts.map +1 -0
  334. package/dist/types/sut.js +12 -0
  335. package/dist/types/sut.js.map +1 -0
  336. package/package.json +290 -7
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Renderer Type Definitions
3
+ *
4
+ * Types for the rendering layer that transforms aggregated results
5
+ * into human-readable output formats (LaTeX, Markdown, etc.).
6
+ */
7
+ /**
8
+ * Default claim status symbols for LaTeX.
9
+ */
10
+ export const LATEX_CLAIM_STATUS = {
11
+ satisfied: String.raw `\checkmark`,
12
+ violated: String.raw `\times`,
13
+ inconclusive: "?",
14
+ };
15
+ /**
16
+ * Default claim status symbols for Unicode.
17
+ */
18
+ export const UNICODE_CLAIM_STATUS = {
19
+ satisfied: "✓",
20
+ violated: "✗",
21
+ inconclusive: "?",
22
+ };
23
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/renderers/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqHH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAuB;IACrD,SAAS,EAAE,MAAM,CAAC,GAAG,CAAA,YAAY;IACjC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAA,QAAQ;IAC5B,YAAY,EAAE,GAAG;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAuB;IACvD,SAAS,EAAE,GAAG;IACd,QAAQ,EAAE,GAAG;IACb,YAAY,EAAE,GAAG;CACjB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Unit tests for Robustness Analyzer
3
+ *
4
+ * Tests robustness analysis functions including:
5
+ * - analyzeRobustnessForMetric
6
+ * - analyzeRobustnessWithCurve
7
+ * - compareRobustness
8
+ * - createRobustnessAnalysis
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=analyzer.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzer.unit.test.d.ts","sourceRoot":"","sources":["../../../src/robustness/__tests__/analyzer.unit.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,455 @@
1
+ /**
2
+ * Unit tests for Robustness Analyzer
3
+ *
4
+ * Tests robustness analysis functions including:
5
+ * - analyzeRobustnessForMetric
6
+ * - analyzeRobustnessWithCurve
7
+ * - compareRobustness
8
+ * - createRobustnessAnalysis
9
+ */
10
+ import { describe, it } from "node:test";
11
+ import { strict as assert } from "node:assert";
12
+ import { analyzeRobustnessForMetric, analyzeRobustnessWithCurve, compareRobustness, createRobustnessAnalysis, } from "../analyzer.js";
13
+ /**
14
+ * Create a mock evaluation result.
15
+ */
16
+ function createMockResult(metricValue, perturbationIntensity, perturbation) {
17
+ const config = {};
18
+ if (perturbation !== undefined)
19
+ config.perturbation = perturbation;
20
+ if (perturbationIntensity !== undefined)
21
+ config.perturbationIntensity = perturbationIntensity;
22
+ return {
23
+ run: {
24
+ runId: `run-${Math.random()}`,
25
+ sut: "test-sut",
26
+ sutRole: "primary",
27
+ caseId: "test-case",
28
+ repetition: 0,
29
+ config: Object.keys(config).length > 0 ? config : undefined,
30
+ },
31
+ metrics: {
32
+ numeric: {
33
+ accuracy: metricValue,
34
+ precision: metricValue * 0.9,
35
+ recall: metricValue * 0.95,
36
+ },
37
+ },
38
+ correctness: {
39
+ expectedExists: true,
40
+ producedOutput: true,
41
+ valid: true,
42
+ matchesExpected: true,
43
+ },
44
+ outputs: {},
45
+ provenance: {
46
+ runtime: {
47
+ platform: "test",
48
+ arch: "test",
49
+ nodeVersion: "test",
50
+ },
51
+ },
52
+ };
53
+ }
54
+ /**
55
+ * Create mock base results.
56
+ */
57
+ function createBaseResults() {
58
+ return [createMockResult(0.85), createMockResult(0.87), createMockResult(0.86)];
59
+ }
60
+ /**
61
+ * Create mock perturbed results.
62
+ */
63
+ function createPerturbedResults(values) {
64
+ return values.map((v) => createMockResult(v, 1, "noise"));
65
+ }
66
+ describe("analyzeRobustnessForMetric", () => {
67
+ describe("with valid base and perturbed results", () => {
68
+ it("should compute variance under perturbation", () => {
69
+ const baseResults = createBaseResults();
70
+ const perturbedResults = createPerturbedResults([0.82, 0.84, 0.86, 0.88, 0.9]);
71
+ const result = analyzeRobustnessForMetric(baseResults, perturbedResults, "accuracy");
72
+ // Variance should be a finite number
73
+ assert.ok(Number.isFinite(result.varianceUnderPerturbation));
74
+ assert.ok(result.varianceUnderPerturbation >= 0);
75
+ });
76
+ it("should compute standard deviation under perturbation", () => {
77
+ const baseResults = createBaseResults();
78
+ const perturbedResults = createPerturbedResults([0.8, 0.85, 0.9]);
79
+ const result = analyzeRobustnessForMetric(baseResults, perturbedResults, "accuracy");
80
+ // Std should be finite and non-negative
81
+ assert.ok(Number.isFinite(result.stdUnderPerturbation));
82
+ assert.ok(result.stdUnderPerturbation >= 0);
83
+ });
84
+ it("should compute coefficient of variation for non-zero mean", () => {
85
+ const baseResults = createBaseResults();
86
+ const perturbedResults = createPerturbedResults([0.82, 0.84, 0.86, 0.88, 0.9]);
87
+ const result = analyzeRobustnessForMetric(baseResults, perturbedResults, "accuracy");
88
+ // Coefficient of variation should be finite
89
+ assert.ok(Number.isFinite(result.coefficientOfVariation));
90
+ assert.ok(result.coefficientOfVariation >= 0);
91
+ });
92
+ it("should handle stable results with low variance", () => {
93
+ const baseResults = createBaseResults();
94
+ const perturbedResults = createPerturbedResults([0.85, 0.85, 0.85, 0.85, 0.85]);
95
+ const result = analyzeRobustnessForMetric(baseResults, perturbedResults, "accuracy");
96
+ // Very stable results should have near-zero variance
97
+ assert.ok(result.varianceUnderPerturbation < 0.01);
98
+ assert.ok(result.stdUnderPerturbation < 0.1);
99
+ });
100
+ it("should handle high variance results", () => {
101
+ const baseResults = createBaseResults();
102
+ const perturbedResults = createPerturbedResults([0.5, 0.6, 0.7, 0.8, 0.9]);
103
+ const result = analyzeRobustnessForMetric(baseResults, perturbedResults, "accuracy");
104
+ // High variance should be detected
105
+ assert.ok(result.varianceUnderPerturbation > 0.01);
106
+ assert.ok(result.stdUnderPerturbation > 0.1);
107
+ });
108
+ it("should filter out NaN values from results", () => {
109
+ const baseResults = [createMockResult(0.85), createMockResult(NaN), createMockResult(0.87)];
110
+ const perturbedResults = [
111
+ createMockResult(0.82),
112
+ createMockResult(NaN),
113
+ createMockResult(0.84),
114
+ ];
115
+ const result = analyzeRobustnessForMetric(baseResults, perturbedResults, "accuracy");
116
+ // Should compute stats from non-NaN values only
117
+ assert.ok(Number.isFinite(result.varianceUnderPerturbation));
118
+ assert.ok(Number.isFinite(result.stdUnderPerturbation));
119
+ });
120
+ });
121
+ describe("with empty results", () => {
122
+ it("should return NaN for all metrics when base results are empty", () => {
123
+ const baseResults = [];
124
+ const perturbedResults = createPerturbedResults([0.82, 0.84, 0.86]);
125
+ const result = analyzeRobustnessForMetric(baseResults, perturbedResults, "accuracy");
126
+ assert.ok(Number.isNaN(result.varianceUnderPerturbation));
127
+ assert.ok(Number.isNaN(result.stdUnderPerturbation));
128
+ assert.ok(Number.isNaN(result.coefficientOfVariation));
129
+ });
130
+ it("should return NaN for all metrics when perturbed results are empty", () => {
131
+ const baseResults = createBaseResults();
132
+ const perturbedResults = [];
133
+ const result = analyzeRobustnessForMetric(baseResults, perturbedResults, "accuracy");
134
+ assert.ok(Number.isNaN(result.varianceUnderPerturbation));
135
+ assert.ok(Number.isNaN(result.stdUnderPerturbation));
136
+ assert.ok(Number.isNaN(result.coefficientOfVariation));
137
+ });
138
+ it("should return NaN when both are empty", () => {
139
+ const baseResults = [];
140
+ const perturbedResults = [];
141
+ const result = analyzeRobustnessForMetric(baseResults, perturbedResults, "accuracy");
142
+ assert.ok(Number.isNaN(result.varianceUnderPerturbation));
143
+ assert.ok(Number.isNaN(result.stdUnderPerturbation));
144
+ assert.ok(Number.isNaN(result.coefficientOfVariation));
145
+ });
146
+ it("should return NaN when all values are NaN", () => {
147
+ const baseResults = [createMockResult(NaN), createMockResult(NaN)];
148
+ const perturbedResults = [createMockResult(NaN), createMockResult(NaN)];
149
+ const result = analyzeRobustnessForMetric(baseResults, perturbedResults, "accuracy");
150
+ assert.ok(Number.isNaN(result.varianceUnderPerturbation));
151
+ assert.ok(Number.isNaN(result.stdUnderPerturbation));
152
+ assert.ok(Number.isNaN(result.coefficientOfVariation));
153
+ });
154
+ });
155
+ describe("edge cases", () => {
156
+ it("should return NaN for coefficient of variation when mean is zero", () => {
157
+ const baseResults = createBaseResults();
158
+ const perturbedResults = [createMockResult(0), createMockResult(0), createMockResult(0)];
159
+ const result = analyzeRobustnessForMetric(baseResults, perturbedResults, "accuracy");
160
+ // Std should be 0 (no variance)
161
+ assert.strictEqual(result.stdUnderPerturbation, 0);
162
+ // Coefficient of variation should be NaN (mean is zero)
163
+ assert.ok(Number.isNaN(result.coefficientOfVariation));
164
+ });
165
+ it("should return NaN for std and coefficient of variation with single perturbed result", () => {
166
+ const baseResults = createBaseResults();
167
+ const perturbedResults = createPerturbedResults([0.85]);
168
+ const result = analyzeRobustnessForMetric(baseResults, perturbedResults, "accuracy");
169
+ // Single value: std is undefined (needs n > 1), so variance and cv are NaN
170
+ assert.ok(Number.isNaN(result.varianceUnderPerturbation));
171
+ assert.ok(Number.isNaN(result.stdUnderPerturbation));
172
+ assert.ok(Number.isNaN(result.coefficientOfVariation));
173
+ });
174
+ });
175
+ });
176
+ describe("analyzeRobustnessWithCurve", () => {
177
+ it("should group results by perturbation intensity", () => {
178
+ const results = [
179
+ createMockResult(0.85), // Base
180
+ createMockResult(0.86), // Base
181
+ createMockResult(0.82, 1), // Level 1
182
+ createMockResult(0.83, 1), // Level 1
183
+ createMockResult(0.78, 2), // Level 2
184
+ createMockResult(0.79, 2), // Level 2
185
+ ];
186
+ const result = analyzeRobustnessWithCurve(results, "accuracy", [1, 2]);
187
+ // Should have degradation curve points
188
+ assert.ok(result.degradationCurve.length >= 2);
189
+ });
190
+ it("should include level 0 (base) in degradation curve", () => {
191
+ const results = [
192
+ createMockResult(0.85), // Base
193
+ createMockResult(0.82, 1), // Level 1
194
+ ];
195
+ const result = analyzeRobustnessWithCurve(results, "accuracy", [1]);
196
+ // Should have base level
197
+ const baseLevel = result.degradationCurve.find((d) => d.perturbationLevel === 0);
198
+ assert.ok(baseLevel);
199
+ assert.strictEqual(baseLevel.metricValue, 0.85);
200
+ });
201
+ it("should sort degradation curve by perturbation level", () => {
202
+ const results = [
203
+ createMockResult(0.78, 2),
204
+ createMockResult(0.85), // Base
205
+ createMockResult(0.82, 1),
206
+ ];
207
+ const result = analyzeRobustnessWithCurve(results, "accuracy", [1, 2]);
208
+ // Check sorted order
209
+ for (let i = 1; i < result.degradationCurve.length; i++) {
210
+ assert.ok(result.degradationCurve[i].perturbationLevel >=
211
+ result.degradationCurve[i - 1].perturbationLevel);
212
+ }
213
+ });
214
+ it("should include stdDev in degradation curve", () => {
215
+ const results = [createMockResult(0.85), createMockResult(0.82, 1), createMockResult(0.84, 1)];
216
+ const result = analyzeRobustnessWithCurve(results, "accuracy", [1]);
217
+ const level1 = result.degradationCurve.find((d) => d.perturbationLevel === 1);
218
+ assert.ok(level1);
219
+ assert.ok(level1.stdDev !== undefined);
220
+ });
221
+ it("should detect breakpoint when degradation exceeds 10%", () => {
222
+ const results = [
223
+ createMockResult(0.9), // Base
224
+ createMockResult(0.89, 1), // 1.1% change - no breakpoint
225
+ createMockResult(0.8, 2), // 11% change - breakpoint!
226
+ ];
227
+ const result = analyzeRobustnessWithCurve(results, "accuracy", [1, 2]);
228
+ // Should detect breakpoint at level 2
229
+ assert.strictEqual(result.breakpoint, 2);
230
+ });
231
+ it("should not detect breakpoint when degradation is under 10%", () => {
232
+ const results = [
233
+ createMockResult(0.9), // Base
234
+ createMockResult(0.89, 1), // 1.1% change
235
+ createMockResult(0.88, 2), // 2.2% change
236
+ ];
237
+ const result = analyzeRobustnessWithCurve(results, "accuracy", [1, 2]);
238
+ // No breakpoint
239
+ assert.strictEqual(result.breakpoint, undefined);
240
+ });
241
+ it("should compute overall variance from all perturbed results", () => {
242
+ const results = [
243
+ createMockResult(0.85),
244
+ createMockResult(0.82, 1),
245
+ createMockResult(0.84, 1),
246
+ createMockResult(0.78, 2),
247
+ createMockResult(0.8, 2),
248
+ ];
249
+ const result = analyzeRobustnessWithCurve(results, "accuracy", [1, 2]);
250
+ // Should have finite overall variance
251
+ assert.ok(Number.isFinite(result.varianceUnderPerturbation));
252
+ assert.ok(result.varianceUnderPerturbation > 0);
253
+ });
254
+ it("should handle missing intensity levels gracefully", () => {
255
+ const results = [
256
+ createMockResult(0.85),
257
+ createMockResult(0.82, 1), // Only level 1 present
258
+ ];
259
+ const result = analyzeRobustnessWithCurve(results, "accuracy", [1, 2, 3]);
260
+ // Should only have levels with data
261
+ assert.ok(result.degradationCurve.length >= 1);
262
+ assert.ok(result.degradationCurve.length <= 2); // Base + level 1
263
+ });
264
+ it("should filter NaN values from curve computation", () => {
265
+ const results = [createMockResult(0.85), createMockResult(NaN, 1), createMockResult(0.82, 1)];
266
+ const result = analyzeRobustnessWithCurve(results, "accuracy", [1]);
267
+ const level1 = result.degradationCurve.find((d) => d.perturbationLevel === 1);
268
+ assert.ok(level1);
269
+ // Should compute from non-NaN values
270
+ assert.strictEqual(level1.metricValue, 0.82);
271
+ });
272
+ });
273
+ describe("compareRobustness", () => {
274
+ it("should compute variance for both SUTs", () => {
275
+ const sutAResults = [
276
+ createMockResult(0.85),
277
+ createMockResult(0.82, 1),
278
+ createMockResult(0.83, 1),
279
+ ];
280
+ const sutBResults = [
281
+ createMockResult(0.8),
282
+ createMockResult(0.78, 1),
283
+ createMockResult(0.82, 1),
284
+ ];
285
+ const result = compareRobustness(sutAResults, sutBResults, "accuracy");
286
+ assert.ok(Number.isFinite(result.sutAVariance));
287
+ assert.ok(Number.isFinite(result.sutBVariance));
288
+ });
289
+ it("should compute relative robustness correctly", () => {
290
+ const sutAResults = [
291
+ createMockResult(0.85),
292
+ createMockResult(0.82, 1), // Low variance
293
+ createMockResult(0.83, 1),
294
+ ];
295
+ const sutBResults = [
296
+ createMockResult(0.8),
297
+ createMockResult(0.7, 1), // High variance
298
+ createMockResult(0.9, 1),
299
+ ];
300
+ const result = compareRobustness(sutAResults, sutBResults, "accuracy");
301
+ // Lower relative robustness means A is more robust
302
+ assert.ok(result.relativeRobustness < 1);
303
+ });
304
+ it("should return Infinity when SUT B has zero variance", () => {
305
+ const sutAResults = [
306
+ createMockResult(0.85),
307
+ createMockResult(0.82, 1),
308
+ createMockResult(0.83, 1),
309
+ ];
310
+ const sutBResults = [
311
+ createMockResult(0.85),
312
+ createMockResult(0.85, 1),
313
+ createMockResult(0.85, 1), // Perfect stability
314
+ ];
315
+ const result = compareRobustness(sutAResults, sutBResults, "accuracy");
316
+ assert.strictEqual(result.relativeRobustness, Infinity);
317
+ });
318
+ it("should handle equal variance", () => {
319
+ const sutAResults = [
320
+ createMockResult(0.85),
321
+ createMockResult(0.82, 1),
322
+ createMockResult(0.83, 1),
323
+ ];
324
+ const sutBResults = [
325
+ createMockResult(0.8),
326
+ createMockResult(0.77, 1),
327
+ createMockResult(0.78, 1),
328
+ ];
329
+ const result = compareRobustness(sutAResults, sutBResults, "accuracy");
330
+ // Same variance pattern
331
+ assert.strictEqual(result.relativeRobustness, 1);
332
+ });
333
+ it("should filter results by perturbation intensity", () => {
334
+ const sutAResults = [
335
+ createMockResult(0.85), // Base
336
+ createMockResult(0.82, 1), // Perturbed
337
+ createMockResult(0.83, 1), // Perturbed
338
+ ];
339
+ const result = compareRobustness(sutAResults, sutAResults, "accuracy");
340
+ // Should only use perturbed results
341
+ assert.ok(Number.isFinite(result.sutAVariance));
342
+ });
343
+ });
344
+ describe("createRobustnessAnalysis", () => {
345
+ it("should create analysis output with correct structure", () => {
346
+ const results = [
347
+ createMockResult(0.85, undefined, undefined),
348
+ createMockResult(0.82, 1, "noise"),
349
+ createMockResult(0.83, 1, "noise"),
350
+ ];
351
+ const options = {
352
+ metrics: ["accuracy"],
353
+ perturbations: ["noise"],
354
+ intensityLevels: [1],
355
+ runsPerLevel: 2,
356
+ };
357
+ const output = createRobustnessAnalysis(results, options);
358
+ assert.strictEqual(output.version, "1.0.0");
359
+ assert.ok(output.timestamp);
360
+ assert.ok(Array.isArray(output.results));
361
+ assert.ok(output.config);
362
+ });
363
+ it("should include config in output", () => {
364
+ const results = [createMockResult(0.85), createMockResult(0.82, 1, "noise")];
365
+ const options = {
366
+ metrics: ["accuracy", "precision"],
367
+ perturbations: ["noise", "blur"],
368
+ intensityLevels: [1, 2],
369
+ runsPerLevel: 3,
370
+ };
371
+ const output = createRobustnessAnalysis(results, options);
372
+ assert.deepStrictEqual(output.config.perturbations, ["noise", "blur"]);
373
+ assert.deepStrictEqual(output.config.metrics, ["accuracy", "precision"]);
374
+ assert.deepStrictEqual(output.config.intensityLevels, [1, 2]);
375
+ assert.strictEqual(output.config.runsPerLevel, 3);
376
+ });
377
+ it("should analyze each metric-perturbation combination", () => {
378
+ const results = [
379
+ createMockResult(0.85),
380
+ createMockResult(0.82, 1, "noise"),
381
+ createMockResult(0.8, 1, "blur"),
382
+ ];
383
+ const options = {
384
+ metrics: ["accuracy", "precision"],
385
+ perturbations: ["noise", "blur"],
386
+ };
387
+ const output = createRobustnessAnalysis(results, options);
388
+ // Should have 4 results: 2 metrics x 2 perturbations
389
+ assert.strictEqual(output.results.length, 4);
390
+ });
391
+ it("should compute baseline value from base results", () => {
392
+ const results = [
393
+ createMockResult(0.85),
394
+ createMockResult(0.87),
395
+ createMockResult(0.82, 1, "noise"),
396
+ ];
397
+ const options = {
398
+ metrics: ["accuracy"],
399
+ perturbations: ["noise"],
400
+ };
401
+ const output = createRobustnessAnalysis(results, options);
402
+ // Baseline should be average of base results
403
+ const baseline = output.results[0].baselineValue;
404
+ assert.ok(Number.isFinite(baseline));
405
+ assert.ok(baseline > 0);
406
+ });
407
+ it("should include run count in results", () => {
408
+ const results = [
409
+ createMockResult(0.85),
410
+ createMockResult(0.82, 1, "noise"),
411
+ createMockResult(0.83, 1, "noise"),
412
+ createMockResult(0.84, 1, "noise"),
413
+ ];
414
+ const options = {
415
+ metrics: ["accuracy"],
416
+ perturbations: ["noise"],
417
+ };
418
+ const output = createRobustnessAnalysis(results, options);
419
+ assert.strictEqual(output.results[0].runCount, 3);
420
+ });
421
+ it("should group results by SUT", () => {
422
+ const results = [
423
+ createMockResult(0.85, undefined, undefined),
424
+ createMockResult(0.82, 1, "noise"),
425
+ ];
426
+ // Modify SUT name
427
+ results[0].run.sut = "sut-a";
428
+ results[1].run.sut = "sut-a";
429
+ const options = {
430
+ metrics: ["accuracy"],
431
+ perturbations: ["noise"],
432
+ };
433
+ const output = createRobustnessAnalysis(results, options);
434
+ assert.strictEqual(output.results[0].sut, "sut-a");
435
+ });
436
+ it("should handle empty results gracefully", () => {
437
+ const results = [];
438
+ const options = {
439
+ metrics: ["accuracy"],
440
+ perturbations: ["noise"],
441
+ };
442
+ const output = createRobustnessAnalysis(results, options);
443
+ assert.strictEqual(output.results.length, 0);
444
+ });
445
+ it("should default runsPerLevel to 1 when not specified", () => {
446
+ const results = [createMockResult(0.85), createMockResult(0.82, 1, "noise")];
447
+ const options = {
448
+ metrics: ["accuracy"],
449
+ perturbations: ["noise"],
450
+ };
451
+ const output = createRobustnessAnalysis(results, options);
452
+ assert.strictEqual(output.config.runsPerLevel, 1);
453
+ });
454
+ });
455
+ //# sourceMappingURL=analyzer.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzer.unit.test.js","sourceRoot":"","sources":["../../../src/robustness/__tests__/analyzer.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Unit tests for Perturbations
3
+ *
4
+ * Tests perturbation application including:
5
+ * - Edge removal perturbation
6
+ * - Seed shift perturbation
7
+ * - Node removal perturbation
8
+ * - Weight noise perturbation
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=perturbations.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perturbations.unit.test.d.ts","sourceRoot":"","sources":["../../../src/robustness/__tests__/perturbations.unit.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}