@overkill-dev/run 0.0.81 → 0.0.82

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 (223) hide show
  1. package/baselines/calibration-reference.js +10 -0
  2. package/baselines/calibration-reference.js.map +1 -0
  3. package/baselines/calibration-store.js +185 -0
  4. package/baselines/calibration-store.js.map +1 -0
  5. package/baselines/performance-adapter.d.ts +1 -1
  6. package/baselines/performance-adapter.d.ts.map +1 -1
  7. package/baselines/performance-baseline.d.ts +17 -3
  8. package/baselines/performance-baseline.d.ts.map +1 -1
  9. package/baselines/performance-baseline.js +13 -1
  10. package/baselines/performance-baseline.js.map +1 -1
  11. package/baselines/performance-evaluation.js +12 -11
  12. package/baselines/performance-evaluation.js.map +1 -1
  13. package/baselines/performance-observation.js +74 -0
  14. package/baselines/performance-observation.js.map +1 -0
  15. package/baselines/performance-plan.js +28 -2
  16. package/baselines/performance-plan.js.map +1 -1
  17. package/baselines/performance-schema.js +14 -1
  18. package/baselines/performance-schema.js.map +1 -1
  19. package/baselines/performance-store.js +2 -14
  20. package/baselines/performance-store.js.map +1 -1
  21. package/baselines/performance-workflow.js +18 -10
  22. package/baselines/performance-workflow.js.map +1 -1
  23. package/bench/benchmark-run-report.js +14 -5
  24. package/bench/benchmark-run-report.js.map +1 -1
  25. package/bench/benchmark-statistics-schema.d.ts +4 -0
  26. package/bench/benchmark-statistics-schema.d.ts.map +1 -0
  27. package/bench/benchmark-statistics-schema.js +40 -0
  28. package/bench/benchmark-statistics-schema.js.map +1 -0
  29. package/bench/calibration-evidence.js +80 -0
  30. package/bench/calibration-evidence.js.map +1 -0
  31. package/bench/calibration-machine.d.ts +14 -0
  32. package/bench/calibration-machine.d.ts.map +1 -0
  33. package/bench/calibration-machine.js +43 -0
  34. package/bench/calibration-machine.js.map +1 -0
  35. package/bench/calibration-report.d.ts +24 -0
  36. package/bench/calibration-report.d.ts.map +1 -0
  37. package/bench/calibration-report.js +28 -0
  38. package/bench/calibration-report.js.map +1 -0
  39. package/bench/cpu-reference-workload.d.ts +2 -0
  40. package/bench/cpu-reference-workload.d.ts.map +1 -0
  41. package/bench/cpu-reference-workload.js +12 -0
  42. package/bench/cpu-reference-workload.js.map +1 -0
  43. package/bench/host-calibration-result.d.ts +15 -0
  44. package/bench/host-calibration-result.d.ts.map +1 -0
  45. package/engine/async-leak-diagnostics.js +18 -7
  46. package/engine/async-leak-diagnostics.js.map +1 -1
  47. package/engine/benchmark-environment.d.ts +8 -0
  48. package/engine/benchmark-environment.d.ts.map +1 -0
  49. package/engine/benchmark-garbage-collection.d.ts +0 -5
  50. package/engine/benchmark-garbage-collection.d.ts.map +1 -1
  51. package/engine/benchmark-garbage-collection.js.map +1 -1
  52. package/engine/benchmark-node.d.ts +3 -2
  53. package/engine/benchmark-node.d.ts.map +1 -1
  54. package/engine/benchmark-node.js +9 -0
  55. package/engine/benchmark-node.js.map +1 -0
  56. package/engine/benchmark-result.d.ts +85 -1
  57. package/engine/benchmark-result.d.ts.map +1 -1
  58. package/engine/benchmark-result.js.map +1 -1
  59. package/engine/case-attempt-execution.js +25 -17
  60. package/engine/case-attempt-execution.js.map +1 -1
  61. package/engine/case-body-execution.js +1 -0
  62. package/engine/case-body-execution.js.map +1 -1
  63. package/engine/execution-async-leak-policy.d.ts +3 -0
  64. package/engine/execution-async-leak-policy.d.ts.map +1 -0
  65. package/engine/execution-async-leak-policy.js +38 -23
  66. package/engine/execution-async-leak-policy.js.map +1 -1
  67. package/engine/execution-error-ownership.d.ts +6 -0
  68. package/engine/execution-error-ownership.d.ts.map +1 -0
  69. package/engine/execution-error-ownership.js +83 -0
  70. package/engine/execution-error-ownership.js.map +1 -0
  71. package/engine/execution-global-error-observer.d.ts +1 -4
  72. package/engine/execution-global-error-observer.d.ts.map +1 -1
  73. package/engine/execution-global-error-observer.js +41 -81
  74. package/engine/execution-global-error-observer.js.map +1 -1
  75. package/engine/execution-observation.js +198 -0
  76. package/engine/execution-observation.js.map +1 -0
  77. package/engine/execution-options.d.ts +9 -0
  78. package/engine/execution-options.d.ts.map +1 -1
  79. package/engine/execution-preparation.d.ts +13 -0
  80. package/engine/execution-preparation.d.ts.map +1 -0
  81. package/engine/execution-preparation.js +34 -0
  82. package/engine/execution-preparation.js.map +1 -0
  83. package/engine/execution-supervision-state.js +8 -0
  84. package/engine/execution-supervision-state.js.map +1 -1
  85. package/engine/execution-supervision.d.ts +1 -1
  86. package/engine/execution-supervision.d.ts.map +1 -1
  87. package/engine/execution-supervision.js +3 -3
  88. package/engine/execution-supervision.js.map +1 -1
  89. package/engine/execution-test-plan-cases.js +11 -9
  90. package/engine/execution-test-plan-cases.js.map +1 -1
  91. package/engine/execution.d.ts +3 -1
  92. package/engine/execution.d.ts.map +1 -1
  93. package/engine/execution.js +3 -27
  94. package/engine/execution.js.map +1 -1
  95. package/engine/infrastructure-resource-observation.js +55 -0
  96. package/engine/infrastructure-resource-observation.js.map +1 -0
  97. package/engine/reporter-dispatcher.d.ts.map +1 -1
  98. package/engine/reporter-dispatcher.js +6 -3
  99. package/engine/reporter-dispatcher.js.map +1 -1
  100. package/engine/reporter-output-scope.js +7 -2
  101. package/engine/reporter-output-scope.js.map +1 -1
  102. package/engine/resource-owner-observation.js +52 -3
  103. package/engine/resource-owner-observation.js.map +1 -1
  104. package/package.json +12 -1
  105. package/packages/run/benchmark-calibration.entry-point.d.ts +12 -14
  106. package/packages/run/benchmark-calibration.entry-point.d.ts.map +1 -1
  107. package/packages/run/benchmark-calibration.entry-point.js +11 -54
  108. package/packages/run/benchmark-calibration.entry-point.js.map +1 -1
  109. package/packages/run/command-line.entry-point.d.ts.map +1 -1
  110. package/packages/run/command-line.entry-point.js +4 -0
  111. package/packages/run/command-line.entry-point.js.map +1 -1
  112. package/readme.md +27 -0
  113. package/run/benchmark-baseline-commands.js +9 -4
  114. package/run/benchmark-baseline-commands.js.map +1 -1
  115. package/run/benchmark-baseline-execution.js +20 -0
  116. package/run/benchmark-baseline-execution.js.map +1 -0
  117. package/run/benchmark-baseline-operations.js +0 -14
  118. package/run/benchmark-baseline-operations.js.map +1 -1
  119. package/run/benchmark-baseline-preparation.js +63 -0
  120. package/run/benchmark-baseline-preparation.js.map +1 -0
  121. package/run/benchmark-baseline-run.js +1 -44
  122. package/run/benchmark-baseline-run.js.map +1 -1
  123. package/run/benchmark-calibration.js +7 -0
  124. package/run/benchmark-calibration.js.map +1 -1
  125. package/run/benchmark-commands.d.ts.map +1 -1
  126. package/run/benchmark-commands.js +31 -0
  127. package/run/benchmark-commands.js.map +1 -1
  128. package/run/benchmark-definition-schema.js +4 -1
  129. package/run/benchmark-definition-schema.js.map +1 -1
  130. package/run/benchmark-execution-environment.js +2 -1
  131. package/run/benchmark-execution-environment.js.map +1 -1
  132. package/run/benchmark-garbage-collection.js +14 -3
  133. package/run/benchmark-garbage-collection.js.map +1 -1
  134. package/run/benchmark-normalization-preparation.js +59 -0
  135. package/run/benchmark-normalization-preparation.js.map +1 -0
  136. package/run/benchmark-placement.js +1 -1
  137. package/run/benchmark-placement.js.map +1 -1
  138. package/run/benchmark-policy-schema.js +30 -0
  139. package/run/benchmark-policy-schema.js.map +1 -0
  140. package/run/benchmark-report-metadata.js +5 -3
  141. package/run/benchmark-report-metadata.js.map +1 -1
  142. package/run/benchmark-result-schema.js +5 -53
  143. package/run/benchmark-result-schema.js.map +1 -1
  144. package/run/calibration-baseline-references.js +39 -0
  145. package/run/calibration-baseline-references.js.map +1 -0
  146. package/run/calibration-capture-session.js +97 -0
  147. package/run/calibration-capture-session.js.map +1 -0
  148. package/run/calibration-inventory.js +27 -0
  149. package/run/calibration-inventory.js.map +1 -0
  150. package/run/calibration-maintenance.js +88 -0
  151. package/run/calibration-maintenance.js.map +1 -0
  152. package/run/capability-policy.js +82 -79
  153. package/run/capability-policy.js.map +1 -1
  154. package/run/collected-run-execution.js +3 -7
  155. package/run/collected-run-execution.js.map +1 -1
  156. package/run/command-line-command-namespace.js +3 -0
  157. package/run/command-line-command-namespace.js.map +1 -1
  158. package/run/command-line-command.d.ts +1 -0
  159. package/run/command-line-command.d.ts.map +1 -1
  160. package/run/command-line-command.js.map +1 -1
  161. package/run/default-run-engine.js +25 -0
  162. package/run/default-run-engine.js.map +1 -1
  163. package/run/execution-session-lifecycle.js +28 -9
  164. package/run/execution-session-lifecycle.js.map +1 -1
  165. package/run/frozen-supervised-command-schema.js +2 -2
  166. package/run/frozen-supervised-command-schema.js.map +1 -1
  167. package/run/initialized-run-collection.js +80 -0
  168. package/run/initialized-run-collection.js.map +1 -0
  169. package/run/initialized-run.js +2 -49
  170. package/run/initialized-run.js.map +1 -1
  171. package/run/path-containment.js +13 -0
  172. package/run/path-containment.js.map +1 -1
  173. package/run/permission-denial-runtime-policy.js +30 -50
  174. package/run/permission-denial-runtime-policy.js.map +1 -1
  175. package/run/run-cancellation.js.map +1 -1
  176. package/run/run-collected-resolution.js +7 -0
  177. package/run/run-collected-resolution.js.map +1 -1
  178. package/run/run-command-schema.js +2 -0
  179. package/run/run-command-schema.js.map +1 -1
  180. package/run/run-engine-primitives.d.ts +2 -1
  181. package/run/run-engine-primitives.d.ts.map +1 -1
  182. package/run/run-execution.js +1 -1
  183. package/run/run-execution.js.map +1 -1
  184. package/run/run-facts.js +1 -0
  185. package/run/run-facts.js.map +1 -1
  186. package/run/run-input-resolution.js +5 -3
  187. package/run/run-input-resolution.js.map +1 -1
  188. package/run/run-isolated-command.js +8 -2
  189. package/run/run-isolated-command.js.map +1 -1
  190. package/run/run-isolated-process.js +5 -0
  191. package/run/run-isolated-process.js.map +1 -1
  192. package/run/run-local-command.js +3 -7
  193. package/run/run-local-command.js.map +1 -1
  194. package/run/run-local-coverage.js +3 -7
  195. package/run/run-local-coverage.js.map +1 -1
  196. package/run/run-local-planning.js +2 -0
  197. package/run/run-local-planning.js.map +1 -1
  198. package/run/run-supervised-process.js +14 -3
  199. package/run/run-supervised-process.js.map +1 -1
  200. package/run/run-support.js +11 -9
  201. package/run/run-support.js.map +1 -1
  202. package/run/run-types.d.ts +5 -2
  203. package/run/run-types.d.ts.map +1 -1
  204. package/run/run-types.js.map +1 -1
  205. package/run/run.js +3 -1
  206. package/run/run.js.map +1 -1
  207. package/run/supervised-child-execution.js +1 -1
  208. package/run/supervised-child-execution.js.map +1 -1
  209. package/run/supervised-child-test-plan.js +3 -3
  210. package/run/supervised-child-test-plan.js.map +1 -1
  211. package/run/supervised-child.js +46 -33
  212. package/run/supervised-child.js.map +1 -1
  213. package/run/supervised-protocol.js.map +1 -1
  214. package/run/worker-execution-engine.js +1 -1
  215. package/run/worker-execution-engine.js.map +1 -1
  216. package/run/worker-pool-command.js +4 -6
  217. package/run/worker-pool-command.js.map +1 -1
  218. package/run/worker-pool-host.entry-point.js +1 -1
  219. package/run/worker-pool-host.entry-point.js.map +1 -1
  220. package/run/worker-pool-protocol.js.map +1 -1
  221. package/run/worker-pool-worker-plan.js +2 -2
  222. package/run/worker-pool-worker-plan.js.map +1 -1
  223. package/software-bill-of-materials.cyclonedx.json +4 -4
@@ -1,9 +1,20 @@
1
1
  import { resolveBenchmarkGarbageCollection } from "../engine/benchmark-garbage-collection.js";
2
2
  import { invalidRequest } from "./run-errors.js";
3
3
  function requiresGarbageCollection(cases, profile) {
4
- return cases.some(function requestsCollection({ testCase }) {
5
- const request = testCase.benchmark?.lifecycle?.garbageCollection ?? 'off';
6
- return testCase.skipReason === null && resolveBenchmarkGarbageCollection(request, profile) === 'after-sample';
4
+ return cases
5
+ .filter(function activeCase({ testCase }) {
6
+ return testCase.skipReason === null;
7
+ })
8
+ .some(function requestsCollection({ testCase }) {
9
+ const requests = [
10
+ testCase.benchmark?.lifecycle?.garbageCollection ?? 'off',
11
+ ...Object.values(testCase.benchmark?.normalization ?? {}).map(function calibrationRequest(rule) {
12
+ return rule.garbageCollection;
13
+ })
14
+ ];
15
+ return requests.some(function enabled(request) {
16
+ return resolveBenchmarkGarbageCollection(request, profile) === 'after-sample';
17
+ });
7
18
  });
8
19
  }
9
20
  function garbageCollectionArguments(nodeArguments) {
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark-garbage-collection.js","sourceRoot":"","sources":["../../../../source/run/benchmark-garbage-collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,2CAA2C,CAAC;AAI9F,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,SAAS,yBAAyB,CAAC,KAAqB,EAAE,OAAyC;IAC/F,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,kBAAkB,CAAC,EAAE,QAAQ,EAAE;QACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,iBAAiB,IAAI,KAAK,CAAC;QAC1E,OAAO,QAAQ,CAAC,UAAU,KAAK,IAAI,IAAI,iCAAiC,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,cAAc,CAAC;IAClH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,0BAA0B,CAAC,aAAgC;IAChE,IACI,aAAa,CAAC,IAAI,CAAC,SAAS,yBAAyB,CAAC,QAAQ;QAC1D,OAAO,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC,CAAC,EACJ,CAAC;QACC,cAAc,CAAC,mFAAmF,CAAC,CAAC;IACxG,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,wBAAwB,CAAC,QAAQ;QACzE,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,aAAa,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAE,GAAG,aAAa,EAAE,aAAa,CAAE,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,qCAAqC,CACjD,WAAwB,EACxB,OAAyC,EACzC,KAAqB;IAErB,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QAC7C,OAAO,WAAW,CAAC;IACvB,CAAC;IACD,OAAO;QACH,IAAI,EAAE,OAAO;QACb,aAAa,EAAE,0BAA0B,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3G,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"benchmark-garbage-collection.js","sourceRoot":"","sources":["../../../../source/run/benchmark-garbage-collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,2CAA2C,CAAC;AAI9F,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAIjD,SAAS,yBAAyB,CAAC,KAAqB,EAAE,OAAyC;IAC/F,OAAO,KAAK;SACP,MAAM,CAAC,SAAS,UAAU,CAAC,EAAE,QAAQ,EAAE;QACpC,OAAO,QAAQ,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,CAAC,CAAC;SACD,IAAI,CAAC,SAAS,kBAAkB,CAAC,EAAE,QAAQ,EAAE;QAC1C,MAAM,QAAQ,GAAG;YACb,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,iBAAiB,IAAI,KAAK;YACzD,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,kBAAkB,CAAC,IAAI;gBAC1F,OAAO,IAAI,CAAC,iBAAiB,CAAC;YAClC,CAAC,CAAC;SACL,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,OAAO;YACzC,OAAO,iCAAiC,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,cAAc,CAAC;QAClF,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACX,CAAC;AAED,SAAS,0BAA0B,CAAC,aAAgC;IAChE,IACI,aAAa,CAAC,IAAI,CAAC,SAAS,yBAAyB,CAAC,QAAQ;QAC1D,OAAO,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC,CAAC,EACJ,CAAC;QACC,cAAc,CAAC,mFAAmF,CAAC,CAAC;IACxG,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,wBAAwB,CAAC,QAAQ;QACzE,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,aAAa,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAE,GAAG,aAAa,EAAE,aAAa,CAAE,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,qCAAqC,CACjD,WAAwB,EACxB,OAAyC,EACzC,KAAqB;IAErB,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QAC7C,OAAO,WAAW,CAAC;IACvB,CAAC;IACD,OAAO;QACH,IAAI,EAAE,OAAO;QACb,aAAa,EAAE,0BAA0B,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3G,CAAC;AACN,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { createCalibrationReferenceStore } from "../baselines/calibration-store.js";
3
+ import { benchmarkNormalizationMachine } from "./benchmark-calibration.js";
4
+ import { calibrationMaintenanceSession } from "./calibration-maintenance.js";
5
+ import { createCalibrationCaptureSession } from "./calibration-capture-session.js";
6
+ import { readSavedCalibrationReferences } from "./calibration-baseline-references.js";
7
+ export async function prepareBenchmarkNormalization(input, calibration, dependencies) {
8
+ if (input.profile.testFamily !== 'benchmark') {
9
+ throw new TypeError('Calibration references require a benchmark profile.');
10
+ }
11
+ const storeInput = {
12
+ projectRoot: input.projectRoot,
13
+ directory: input.profile.baselines.directory,
14
+ maxBytes: input.profile.attachments.maxArtifactBytes
15
+ };
16
+ const store = await createCalibrationReferenceStore(storeInput);
17
+ const references = input.benchmarkPurpose === 'capture' ? [] : await store.list();
18
+ const machine = benchmarkNormalizationMachine(input.profile.execution, calibration);
19
+ const context = {
20
+ executionId: randomUUID(),
21
+ mode: input.benchmarkPurpose,
22
+ profile: input.request.profile,
23
+ machine,
24
+ references: references
25
+ .filter(function matchingReference(entry) {
26
+ return entry.profile === input.request.profile;
27
+ })
28
+ .map(function snapshot(entry) {
29
+ return entry.snapshot;
30
+ }),
31
+ saved: await readSavedCalibrationReferences({
32
+ profile: input.profile,
33
+ profileName: input.request.profile,
34
+ projectRoot: input.projectRoot,
35
+ purpose: input.benchmarkPurpose
36
+ })
37
+ };
38
+ return {
39
+ context,
40
+ capture: input.benchmarkPurpose === 'capture'
41
+ ? createCalibrationCaptureSession({
42
+ store,
43
+ profile: input.request.profile,
44
+ maxBytes: storeInput.maxBytes,
45
+ dependencies
46
+ })
47
+ : null,
48
+ maintain(baseline) {
49
+ return calibrationMaintenanceSession({
50
+ input: { ...input, benchmarkNormalization: context },
51
+ references,
52
+ store,
53
+ baseline,
54
+ dependencies
55
+ });
56
+ }
57
+ };
58
+ }
59
+ //# sourceMappingURL=benchmark-normalization-preparation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-normalization-preparation.js","sourceRoot":"","sources":["../../../../source/run/benchmark-normalization-preparation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAEpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AActF,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAC/C,KAAuB,EACvB,WAAyC,EACzC,YAAyC;IAEzC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;QAC3C,MAAM,IAAI,SAAS,CAAC,qDAAqD,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,UAAU,GAAG;QACf,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS;QAC5C,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB;KACvD,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,+BAA+B,CAAC,UAAU,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,KAAK,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IAClF,MAAM,OAAO,GAAG,6BAA6B,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACpF,MAAM,OAAO,GAAkC;QAC3C,WAAW,EAAE,UAAU,EAAE;QACzB,IAAI,EAAE,KAAK,CAAC,gBAAgB;QAC5B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;QAC9B,OAAO;QACP,UAAU,EAAE,UAAU;aACjB,MAAM,CAAC,SAAS,iBAAiB,CAAC,KAAK;YACpC,OAAO,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACnD,CAAC,CAAC;aACD,GAAG,CAAC,SAAS,QAAQ,CAAC,KAAK;YACxB,OAAO,KAAK,CAAC,QAAQ,CAAC;QAC1B,CAAC,CAAC;QACN,KAAK,EAAE,MAAM,8BAA8B,CAAC;YACxC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;YAClC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,OAAO,EAAE,KAAK,CAAC,gBAAgB;SAClC,CAAC;KACL,CAAC;IACF,OAAO;QACH,OAAO;QACP,OAAO,EAAE,KAAK,CAAC,gBAAgB,KAAK,SAAS;YACzC,CAAC,CAAC,+BAA+B,CAAC;gBAC9B,KAAK;gBACL,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;gBAC9B,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,YAAY;aACf,CAAC;YACF,CAAC,CAAC,IAAI;QACV,QAAQ,CAAC,QAAQ;YACb,OAAO,6BAA6B,CAAC;gBACjC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE;gBACpD,UAAU;gBACV,KAAK;gBACL,QAAQ;gBACR,YAAY;aACf,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -13,7 +13,7 @@ function parallelMeasurement(definition) {
13
13
  });
14
14
  })
15
15
  ];
16
- return metrics.every(function artifactMetric(name) {
16
+ return Object.keys(definition.normalization).length === 0 && metrics.every(function artifactMetric(name) {
17
17
  return !timingMetrics.has(name);
18
18
  });
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark-placement.js","sourceRoot":"","sources":["../../../../source/run/benchmark-placement.ts"],"names":[],"mappings":"AAeA,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC,CAAE,sBAAsB,EAAE,qBAAqB,CAAE,CAAC,CAAC;AACtG,MAAM,YAAY,GAAG,GAAG,CAAC;AAEzB,SAAS,mBAAmB,CAAC,UAA6C;IACtE,IACI,UAAU,EAAE,IAAI,KAAK,aAAa,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS;QAC/E,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAC9C,CAAC;QACC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,OAAO,GAAG;QACZ,GAAG,UAAU,CAAC,WAAW;QACzB,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,aAAa,CAAC,OAAO;YACvE,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM;gBACrC,OAAO,MAAM,CAAC,MAAM,CAAC;YACzB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;KACL,CAAC;IACF,OAAO,OAAO,CAAC,KAAK,CAAC,SAAS,cAAc,CAAC,IAAI;QAC7C,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,eAAe,CAAC,OAA4B;IAGjD,OAAO,OAAO,CAAC,YAAY,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC;AAC5D,CAAC;AAED,SAAS,UAAU,CAAC,OAA4B;IAG5C,OAAO,OAAO,CAAC,YAAY,KAAK,WAAW,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;AAC5G,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA+B;IACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,KAAK,OAAO;QACzD,CAAC,CAAC;YACE,QAAQ,CAAC,OAAO,CAAC,oBAAoB;YACrC,QAAQ,CAAC,OAAO,CAAC,uBAAuB;YACxC,QAAQ,CAAC,OAAO,CAAC,mBAAmB;SACvC;QACD,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,KAAK,QAAQ;QAC5D,CAAC,CAAC,CAAE,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,QAAQ,CAAC,OAAO,CAAC,yBAAyB,CAAE;QACxF,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,OAAO;QACzC,OAAO,OAAO,CAAC,YAAY,KAAK,WAAW,IAAI,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACpG,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,OAAO;QAC5C,OAAO,OAAO,CAAC,YAAY,KAAK,WAAW,IAAI,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC;IAC/G,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,YAAY,CAAC,OAAyD;IAC3E,IAAI,OAAO,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;QACzC,OAAO,CAAC,CAAC;IACb,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5D,CAAC;AAED,SAAS,WAAW,CAAC,QAA+B;IAChD,MAAM,EAAE,oBAAoB,EAAE,eAAe,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACpE,MAAM,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;QACxG,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACzD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,GAAG,YAAY,EAAE,IAAI,CAAC,CAAC;IAC3F,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,UAAU,CAAC,IAAoC;IACpD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAChB,OAAO,CAAE,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,EAAE,CAAE,CAAC;IAC7D,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC1B,MAAM,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,EAAE,sBAAsB,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;IACpD,IAAI,cAAc,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACtE,OAAO,CAAE,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,EAAE,CAAE,CAAC;IAC9D,CAAC;IACD,OAAO;QACH,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE;QAC1C,GAAG,sBAAsB,CAAC,KAAK,KAAK,CAAC;YACjC,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,iBAA0B,EAAE,cAAc,EAAE,CAAC,EAAE,CAAE;YAC/D,CAAC,CAAC,EAAE;QACR,GAAG,gBAAgB,CAAC,QAAQ,CAAC;YACzB,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,mBAA4B,EAAE,cAAc,EAAE,CAAC,EAAE,CAAE;YACjE,CAAC,CAAC,EAAE;KACX,CAAC;AACN,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAA8B;IACpE,MAAM,MAAM,GAAuC;QAC/C,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,aAAsB,EAAE,cAAc,EAAE,CAAC,EAAE,CAAE;QAC/D,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,GAAG,KAAK,CAAC,YAAY,KAAK,oBAAoB;YAC1C,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,eAAwB,EAAE,cAAc,EAAE,CAAC,EAAE,CAAE;YAC7D,CAAC,CAAC,EAAE;KACX,CAAC;IACF,OAAO;QACH,MAAM,EAAE,2BAA2B;QACnC,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,KAAK;YACzD,OAAO,KAAK,CAAC,cAAc,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,MAAM;KACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"benchmark-placement.js","sourceRoot":"","sources":["../../../../source/run/benchmark-placement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { z } from 'zod/v4';
2
+ import { maximumRetainedSamples, minimumInferentialSamples } from "../engine/benchmark-limits.js";
3
+ export const samplingPolicySchema = z
4
+ .strictObject({
5
+ confidenceLevel: z.number().gt(0).lt(1),
6
+ relativePrecision: z.number().nonnegative(),
7
+ absolutePrecision: z.record(z.string(), z.number().nonnegative()),
8
+ minimumSamples: z.number().int().min(minimumInferentialSamples),
9
+ maximumSamples: z.number().int().min(minimumInferentialSamples).max(maximumRetainedSamples)
10
+ })
11
+ .refine(function orderedLimits(policy) {
12
+ return policy.minimumSamples <= policy.maximumSamples;
13
+ });
14
+ const minimumCooldownMilliseconds = 100;
15
+ const maximumCooldownMilliseconds = 60_000;
16
+ export const legacyLifecyclePolicySchema = z.strictObject({
17
+ warmupSamples: z.number().int().min(0).max(maximumRetainedSamples),
18
+ cooldown: z.discriminatedUnion('mode', [
19
+ z.strictObject({ mode: z.literal('off') }),
20
+ z.strictObject({
21
+ mode: z.literal('runtime'),
22
+ maximumEventLoopUtilization: z.number().min(0).max(1),
23
+ timeoutMilliseconds: z.number().int().gt(minimumCooldownMilliseconds).max(maximumCooldownMilliseconds)
24
+ })
25
+ ])
26
+ });
27
+ export const benchmarkLifecyclePolicySchema = legacyLifecyclePolicySchema.extend({
28
+ garbageCollection: z.enum(['off', 'after-sample', 'profile-default']).default('off')
29
+ });
30
+ //# sourceMappingURL=benchmark-policy-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark-policy-schema.js","sourceRoot":"","sources":["../../../../source/run/benchmark-policy-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAElG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAChC,YAAY,CAAC;IACV,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE;IAC3C,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IACjE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAC/D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC;CAC9F,CAAC;KACD,MAAM,CAAC,SAAS,aAAa,CAAC,MAAM;IACjC,OAAO,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEP,MAAM,2BAA2B,GAAG,GAAG,CAAC;AACxC,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAC3C,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,YAAY,CAAC;IACtD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAClE,QAAQ,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;QACnC,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,CAAC,CAAC,YAAY,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;YAC1B,2BAA2B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,2BAA2B,CAAC;SACzG,CAAC;KACL,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,2BAA2B,CAAC,MAAM,CAAC;IAC7E,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,KAAK,EAAE,cAAc,EAAE,iBAAiB,CAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CACzF,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { appendRunnerErrors } from "../engine/execution-result.js";
2
2
  import { defaultAttachmentLimits } from "../engine/runtime-attachment.js";
3
3
  import { runJsonArtifact } from "../attachments/run-json-artifact.js";
4
- import { benchmarkRunMediaType, readBenchmarkRunMetadata } from "../bench/benchmark-run-report.js";
4
+ import { benchmarkRunMediaType, benchmarkRunMetadataVersion, readBenchmarkRunMetadata } from "../bench/benchmark-run-report.js";
5
5
  function attachMetadata(result, metadata, maxBytes, capturedAtMicroseconds) {
6
6
  try {
7
7
  const artifact = runJsonArtifact({
@@ -32,7 +32,8 @@ export function withBenchmarkRunMetadata(result, facts, capturedAtMicroseconds)
32
32
  return result;
33
33
  }
34
34
  const metadata = {
35
- version: 3,
35
+ version: benchmarkRunMetadataVersion,
36
+ normalization: facts.benchmarkNormalization,
36
37
  host: facts.benchmarkHost,
37
38
  placement: facts.benchmarkPlacement,
38
39
  node: facts.environment.node,
@@ -54,7 +55,8 @@ export function withBenchmarkErrorMetadata(result, command, host) {
54
55
  return result;
55
56
  }
56
57
  const metadata = {
57
- version: 3,
58
+ version: benchmarkRunMetadataVersion,
59
+ normalization: null,
58
60
  host,
59
61
  placement: null,
60
62
  node: { arch: process.arch, platform: process.platform, version: process.version },
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark-report-metadata.js","sourceRoot":"","sources":["../../../../source/run/benchmark-report-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmark-report-metadata.js","sourceRoot":"","sources":["../../../../source/run/benchmark-report-metadata.ts"],"names":[],"mappings":"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"}
@@ -1,52 +1,12 @@
1
1
  import { z } from 'zod/v4';
2
+ import { metricSummarySchema, benchmarkBudgetResultSchema } from "../bench/benchmark-statistics-schema.js";
3
+ import { normalizationEvidenceSchema } from "../bench/calibration-evidence.js";
2
4
  import { benchmarkLifecycleVersion } from "../engine/benchmark-result.js";
3
5
  import { workloadIdSchema } from "../engine/identity-schema.js";
4
- import { minimumInferentialSamples, maximumRetainedSamples } from "../engine/benchmark-limits.js";
5
- const minimumCooldownMilliseconds = 100;
6
- const maximumCooldownMilliseconds = 60_000;
7
- const legacyLifecyclePolicySchema = z.strictObject({
8
- warmupSamples: z.number().int().min(0).max(maximumRetainedSamples),
9
- cooldown: z.discriminatedUnion('mode', [
10
- z.strictObject({ mode: z.literal('off') }),
11
- z.strictObject({
12
- mode: z.literal('runtime'),
13
- maximumEventLoopUtilization: z.number().min(0).max(1),
14
- timeoutMilliseconds: z.number().int().gt(minimumCooldownMilliseconds).max(maximumCooldownMilliseconds)
15
- })
16
- ])
17
- });
18
- export const benchmarkLifecyclePolicySchema = legacyLifecyclePolicySchema.extend({
19
- garbageCollection: z.enum(['off', 'after-sample', 'profile-default']).default('off')
20
- });
6
+ import { samplingPolicySchema, legacyLifecyclePolicySchema } from "./benchmark-policy-schema.js";
21
7
  const resolvedLifecyclePolicySchema = legacyLifecyclePolicySchema.extend({
22
8
  garbageCollection: z.enum(['off', 'after-sample'])
23
9
  });
24
- export const budgetStatisticSchema = z.discriminatedUnion('kind', [
25
- z.strictObject({ kind: z.literal('quantile'), probability: z.number().gt(0).lt(1) }),
26
- z.strictObject({ kind: z.literal('mean'), range: z.strictObject({ minimum: z.number(), maximum: z.number() }) }),
27
- z.strictObject({ kind: z.literal('observed-minimum') }),
28
- z.strictObject({ kind: z.literal('observed-maximum') })
29
- ]);
30
- export const samplingPolicySchema = z.strictObject({
31
- confidenceLevel: z.number().gt(0).lt(1),
32
- relativePrecision: z.number().nonnegative(),
33
- absolutePrecision: z.record(z.string(), z.number().nonnegative()),
34
- minimumSamples: z.number().int().min(minimumInferentialSamples),
35
- maximumSamples: z.number().int().min(minimumInferentialSamples).max(maximumRetainedSamples)
36
- });
37
- const metricSummarySchema = z.strictObject({
38
- count: z.number().int().nonnegative(),
39
- minimum: z.number().nullable(),
40
- maximum: z.number().nullable(),
41
- mean: z.number().nullable(),
42
- median: z.number().nullable(),
43
- provenance: z.strictObject({
44
- collector: z.string(),
45
- scope: z.enum(['region', 'thread', 'process', 'runtime', 'custom']),
46
- unit: z.string()
47
- }),
48
- unavailableReasons: z.array(z.string())
49
- });
50
10
  const rawSamplesSchema = z.strictObject({
51
11
  status: z.enum(['recorded', 'omitted', 'truncated']),
52
12
  reference: z.string().nullable(),
@@ -99,6 +59,7 @@ const lifecycleResultSchema = z.union([
99
59
  })
100
60
  ]);
101
61
  export const benchmarkResultSchema = z.strictObject({
62
+ normalization: normalizationEvidenceSchema.nullable().default(null),
102
63
  lifecycle: lifecycleResultSchema.nullable().default(null),
103
64
  workload: workloadIdSchema,
104
65
  policy: samplingPolicySchema,
@@ -106,16 +67,7 @@ export const benchmarkResultSchema = z.strictObject({
106
67
  status: z.enum(['sampling', 'complete', 'incomplete']),
107
68
  assumption: z.literal('independent-stationary-observations'),
108
69
  metrics: z.record(z.string(), metricSummarySchema),
109
- budgets: z.array(z.strictObject({
110
- metric: z.string(),
111
- statistic: budgetStatisticSchema,
112
- minimum: z.number().nullable(),
113
- maximum: z.number().nullable(),
114
- estimate: z.number().nullable(),
115
- interval: z.strictObject({ lower: z.number().nullable(), upper: z.number().nullable() }),
116
- precise: z.boolean(),
117
- decision: z.enum(['pass', 'fail', 'undecided', 'unavailable'])
118
- })),
70
+ budgets: z.array(benchmarkBudgetResultSchema),
119
71
  rawSamples: rawSamplesSchema
120
72
  });
121
73
  //# sourceMappingURL=benchmark-result-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark-result-schema.js","sourceRoot":"","sources":["../../../../source/run/benchmark-result-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EACH,yBAAyB,EAI5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAElG,MAAM,2BAA2B,GAAG,GAAG,CAAC;AACxC,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAC3C,MAAM,2BAA2B,GAAG,CAAC,CAAC,YAAY,CAAC;IAC/C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAClE,QAAQ,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;QACnC,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,CAAC,CAAC,YAAY,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;YAC1B,2BAA2B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,2BAA2B,CAAC;SACzG,CAAC;KACL,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,2BAA2B,CAAC,MAAM,CAAC;IAC7E,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,KAAK,EAAE,cAAc,EAAE,iBAAiB,CAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;CACzF,CAAC,CAAC;AACH,MAAM,6BAA6B,GAAG,2BAA2B,CAAC,MAAM,CAAC;IACrE,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,KAAK,EAAE,cAAc,CAAE,CAAC;CACvD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAA+B,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC1F,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpF,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;IAChH,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;IACvD,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;CAC1D,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC/C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE;IAC3C,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IACjE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAC/D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC;CAC9F,CAAC,CAAC;AACH,MAAM,mBAAmB,GAAG,CAAC,CAAC,YAAY,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACrC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,UAAU,EAAE,CAAC,CAAC,YAAY,CAAC;QACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAE,CAAC;QACrE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB,CAAC;IACF,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC1C,CAAC,CAAC;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC,YAAY,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAE,CAAC;IACtD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AACH,MAAM,2BAA2B,GAAG,CAAC,CAAC,YAAY,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,2BAA2B;IACnC,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC;QACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QACvC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC;QAClD,UAAU,EAAE,gBAAgB;KAC/B,CAAC;IACF,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;IAChH,QAAQ,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;QACnC,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,CAAC,CAAC,YAAY,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;YAC1B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC;YAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;YACzC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;YACvC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE;YAC9C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACpD,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,CAAE,CAAC;SACrF,CAAC;KACL,CAAC;CACL,CAAC,CAAC;AACH,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC;IAClC,2BAA2B,CAAC,MAAM,CAAC;QAC/B,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC;QAC7C,MAAM,EAAE,6BAA6B;QACrC,iBAAiB,EAAE,CAAC;aACf,kBAAkB,CAAC,MAAM,EAAE;YACxB,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,CAAC,CAAC,YAAY,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;gBAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;gBACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;aAC3C,CAAC;SACL,CAAC;aACD,QAAQ,EAAE;KAClB,CAAC;IACF,2BAA2B,CAAC,SAAS,CAAC,SAAS,2BAA2B,CAAC,KAAK;QAC5E,OAAO;YACH,GAAG,KAAK;YACR,OAAO,EAAE,yBAAyB;YAClC,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAc,EAAE;YAC9D,iBAAiB,EAAE,IAAI;SAC1B,CAAC;IACN,CAAC,CAAC;CACL,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAwC,CAAC,CAAC,YAAY,CAAC;IACrF,SAAS,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACzD,QAAQ,EAAE,gBAAgB;IAC1B,MAAM,EAAE,oBAAoB;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACvC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,UAAU,EAAE,UAAU,EAAE,YAAY,CAAE,CAAC;IACxD,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,qCAAqC,CAAC;IAC5D,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC;IAClD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;QAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,SAAS,EAAE,qBAAqB;QAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,QAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QACxF,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;QACpB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,CAAE,CAAC;KACnE,CAAC,CAAC;IACH,UAAU,EAAE,gBAAgB;CAC/B,CAAC,CAAC"}
1
+ {"version":3,"file":"benchmark-result-schema.js","sourceRoot":"","sources":["../../../../source/run/benchmark-result-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { createPerformanceBaselineStore } from "../baselines/performance-store.js";
2
+ import { normalizedPerformanceBaselineVersion } from "../baselines/performance-baseline.js";
3
+ function selectedBaseline(input, baseline) {
4
+ return baseline.profile === input.profileName &&
5
+ input.profile.baselines.adapters.some(function selectedAdapter(adapter) {
6
+ return adapter.id === baseline.adapter;
7
+ });
8
+ }
9
+ function storedReferences(baseline) {
10
+ if (baseline.version !== normalizedPerformanceBaselineVersion || baseline.normalization === null) {
11
+ return [];
12
+ }
13
+ return Object.entries(baseline.normalization.metrics).map(function metric([name, evidence]) {
14
+ return {
15
+ work: baseline.work,
16
+ metric: name,
17
+ reference: evidence.reference,
18
+ budgetReference: evidence.budgetReference
19
+ };
20
+ });
21
+ }
22
+ async function readReferences(input, store) {
23
+ const expected = await store.list();
24
+ return expected.flatMap(function savedReferences(entry) {
25
+ return selectedBaseline(input, entry.baseline) ? storedReferences(entry.baseline) : [];
26
+ });
27
+ }
28
+ export async function readSavedCalibrationReferences(input) {
29
+ if (input.purpose === 'capture' || input.profile.baselines.adapters.length === 0) {
30
+ return [];
31
+ }
32
+ const store = await createPerformanceBaselineStore({
33
+ projectRoot: input.projectRoot,
34
+ directory: input.profile.baselines.directory,
35
+ maxBytes: input.profile.attachments.maxArtifactBytes
36
+ });
37
+ return await readReferences(input, store);
38
+ }
39
+ //# sourceMappingURL=calibration-baseline-references.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calibration-baseline-references.js","sourceRoot":"","sources":["../../../../source/run/calibration-baseline-references.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAiC,MAAM,mCAAmC,CAAC;AAClH,OAAO,EACH,oCAAoC,EAEvC,MAAM,sCAAsC,CAAC;AAU9C,SAAS,gBAAgB,CAAC,KAAsB,EAAE,QAAmC;IACjF,OAAO,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,WAAW;QACzC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,eAAe,CAAC,OAAO;YAClE,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CAAC;QAC3C,CAAC,CAAC,CAAC;AACX,CAAC;AACD,SAAS,gBAAgB,CAAC,QAAmC;IACzD,IAAI,QAAQ,CAAC,OAAO,KAAK,oCAAoC,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;QAC/F,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,CAAE,IAAI,EAAE,QAAQ,CAAE;QACxF,OAAO;YACH,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,eAAe,EAAE,QAAQ,CAAC,eAAe;SAC5C,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AACD,KAAK,UAAU,cAAc,CACzB,KAAsB,EACtB,KAA+B;IAE/B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACpC,OAAO,QAAQ,CAAC,OAAO,CAAC,SAAS,eAAe,CAAC,KAAK;QAClD,OAAO,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,CAAC,CAAC,CAAC;AACP,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,KAAsB;IACvE,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/E,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,8BAA8B,CAAC;QAC/C,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS;QAC5C,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB;KACvD,CAAC,CAAC;IACH,OAAO,MAAM,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,97 @@
1
+ import { canonicalIdentityJson } from "../canonical-identity.js";
2
+ import { CalibrationPublicationError } from "../baselines/calibration-store.js";
3
+ import { successfulPerformanceRun } from "../baselines/performance-workflow.js";
4
+ import { appendRunnerErrors } from "../engine/execution-result.js";
5
+ import { performanceBaselineError } from "../baselines/performance-evaluation.js";
6
+ import { calibrationReferenceReportArtifact } from "../bench/calibration-report.js";
7
+ function capturedReferences(result) {
8
+ const snapshots = new Map();
9
+ const candidates = result.perTest.flatMap(function references(test) {
10
+ return test.benchmark?.normalization?.calibrations ?? [];
11
+ });
12
+ for (const snapshot of candidates) {
13
+ const key = canonicalIdentityJson(snapshot.identity);
14
+ if (!snapshots.has(key)) {
15
+ snapshots.set(key, snapshot);
16
+ }
17
+ }
18
+ return Array.from(snapshots.values());
19
+ }
20
+ function captureReport(input, result, snapshots) {
21
+ const owners = result.perTest.map(function owner(test) {
22
+ return test.workId;
23
+ });
24
+ return {
25
+ version: 1,
26
+ changes: snapshots.map(function writtenReference(snapshot) {
27
+ return {
28
+ kind: 'write',
29
+ path: input.store.pathOf({ profile: input.profile, snapshot, owners, version: 1 })
30
+ };
31
+ }),
32
+ completed: [],
33
+ outcome: 'read-only'
34
+ };
35
+ }
36
+ function appendCaptureReport(input, result, report) {
37
+ const artifact = calibrationReferenceReportArtifact({
38
+ result,
39
+ report,
40
+ maxBytes: input.maxBytes,
41
+ capturedAtMicroseconds: Number(input.dependencies.wallClock.currentMonotonicMicroseconds)
42
+ });
43
+ return { ...result, artifacts: [...result.artifacts, artifact] };
44
+ }
45
+ function referenceOwners(result, snapshot) {
46
+ const key = canonicalIdentityJson(snapshot.identity);
47
+ return result
48
+ .perTest
49
+ .filter(function ownsReference(test) {
50
+ return test.benchmark?.normalization?.calibrations.some(function matchingReference(actual) {
51
+ return canonicalIdentityJson(actual.identity) === key;
52
+ }) ?? false;
53
+ })
54
+ .map(function work(test) {
55
+ return test.workId;
56
+ });
57
+ }
58
+ async function publishCapture(input, result, report, snapshots) {
59
+ appendCaptureReport(input, result, report);
60
+ const completed = snapshots.length === 0
61
+ ? []
62
+ : await input.store.write(input.profile, snapshots, function owners(snapshot) {
63
+ return referenceOwners(result, snapshot);
64
+ });
65
+ return appendCaptureReport(input, result, { ...report, completed, outcome: 'written' });
66
+ }
67
+ async function completeCapture(input, result, report, snapshots) {
68
+ return successfulPerformanceRun(result)
69
+ ? await publishCapture(input, result, report, snapshots)
70
+ : appendCaptureReport(input, result, { ...report, outcome: 'blocked' });
71
+ }
72
+ async function finalizeCapture(input, result) {
73
+ const snapshots = capturedReferences(result);
74
+ const report = captureReport(input, result, snapshots);
75
+ try {
76
+ return await completeCapture(input, result, report, snapshots);
77
+ }
78
+ catch (error) {
79
+ const failed = appendRunnerErrors(result, [performanceBaselineError(error, null)]);
80
+ const completed = error instanceof CalibrationPublicationError ? error.completed() : [];
81
+ try {
82
+ return appendCaptureReport(input, failed, { ...report, completed, outcome: 'failed' });
83
+ }
84
+ catch {
85
+ return failed;
86
+ }
87
+ }
88
+ }
89
+ export function createCalibrationCaptureSession(input) {
90
+ return {
91
+ reporterDispatcher: input.dependencies.reporterDispatcher,
92
+ async finalize(result) {
93
+ return await finalizeCapture(input, result);
94
+ }
95
+ };
96
+ }
97
+ //# sourceMappingURL=calibration-capture-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calibration-capture-session.js","sourceRoot":"","sources":["../../../../source/run/calibration-capture-session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { canonicalIdentityJson } from "../canonical-identity.js";
2
+ import { caseIdentityKey } from "../engine/identity.js";
3
+ export function staleCalibrationReferences(input) {
4
+ const { result, references } = input;
5
+ const active = new Set(result.perTest.flatMap(function usedReferences(test) {
6
+ return (test.benchmark?.normalization?.calibrations ?? []).map(function identity(snapshot) {
7
+ return canonicalIdentityJson(snapshot.identity);
8
+ });
9
+ }));
10
+ const skipped = new Set(result
11
+ .perTest
12
+ .filter(function skippedCase(test) {
13
+ return test.verdict === 'skip';
14
+ })
15
+ .map(function identity(test) {
16
+ return caseIdentityKey(test.id);
17
+ }));
18
+ return references.filter(function staleReference(reference) {
19
+ const preserved = active.has(canonicalIdentityJson(reference.snapshot.identity)) ||
20
+ reference.owners.some(function skippedOwner(owner) {
21
+ return skipped.has(caseIdentityKey(owner.case));
22
+ });
23
+ const sameScope = reference.profile === input.profile && reference.snapshot.machineClass === input.machineClass;
24
+ return sameScope && reference.owners.length > 0 && !preserved;
25
+ });
26
+ }
27
+ //# sourceMappingURL=calibration-inventory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calibration-inventory.js","sourceRoot":"","sources":["../../../../source/run/calibration-inventory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAWxD,MAAM,UAAU,0BAA0B,CAAC,KAAgC;IACvE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,cAAc,CAAC,IAAI;QACtE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,QAAQ,CAAC,QAAQ;YACrF,OAAO,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC,CAAC;IACJ,MAAM,OAAO,GAAG,IAAI,GAAG,CACnB,MAAM;SACD,OAAO;SACP,MAAM,CAAC,SAAS,WAAW,CAAC,IAAI;QAC7B,OAAO,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC;IACnC,CAAC,CAAC;SACD,GAAG,CAAC,SAAS,QAAQ,CAAC,IAAI;QACvB,OAAO,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,CACT,CAAC;IACF,OAAO,UAAU,CAAC,MAAM,CAAC,SAAS,cAAc,CAAC,SAAS;QACtD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC5E,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,YAAY,CAAC,KAAK;gBAC7C,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACP,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,CAAC;QAChH,OAAO,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;IAClE,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,88 @@
1
+ import { appendRunnerErrors } from "../engine/execution-result.js";
2
+ import { performanceBaselineError } from "../baselines/performance-evaluation.js";
3
+ import { successfulPerformanceRun } from "../baselines/performance-workflow.js";
4
+ import { CalibrationPublicationError } from "../baselines/calibration-store.js";
5
+ import { calibrationReferenceReportArtifact } from "../bench/calibration-report.js";
6
+ import { staleCalibrationReferences } from "./calibration-inventory.js";
7
+ function completeInventory(input) {
8
+ return input.request.paths.length === 0 && input.request.selection.kind === 'all' &&
9
+ input.request.shard.total === 1;
10
+ }
11
+ function appendReport(session, result, report) {
12
+ const { profile } = session.input;
13
+ if (profile.testFamily !== 'benchmark') {
14
+ throw new TypeError('Calibration maintenance requires a benchmark profile.');
15
+ }
16
+ const artifact = calibrationReferenceReportArtifact({
17
+ result,
18
+ report,
19
+ maxBytes: profile.attachments.maxArtifactBytes,
20
+ capturedAtMicroseconds: Number(session.dependencies.wallClock.currentMonotonicMicroseconds)
21
+ });
22
+ return { ...result, artifacts: [...result.artifacts, artifact] };
23
+ }
24
+ async function publishRemovals(session, result, stale, report) {
25
+ appendReport(session, result, report);
26
+ const completed = session.input.request.baselineUpdateMode === 'apply' && successfulPerformanceRun(result)
27
+ ? await session.store.remove(stale)
28
+ : [];
29
+ return appendReport(session, result, {
30
+ ...report,
31
+ completed,
32
+ outcome: completed.length > 0 ? 'written' : 'read-only'
33
+ });
34
+ }
35
+ async function retainMaintenance(session, result, stale) {
36
+ const report = {
37
+ version: 1,
38
+ completed: [],
39
+ outcome: 'read-only',
40
+ changes: stale.map(function removal(reference) {
41
+ return { kind: 'remove', path: session.store.pathOf(reference) };
42
+ })
43
+ };
44
+ try {
45
+ return await publishRemovals(session, result, stale, report);
46
+ }
47
+ catch (error) {
48
+ const failed = appendRunnerErrors(result, [performanceBaselineError(error, null)]);
49
+ const completed = error instanceof CalibrationPublicationError ? error.completed() : [];
50
+ try {
51
+ return appendReport(session, failed, { ...report, completed, outcome: 'failed' });
52
+ }
53
+ catch {
54
+ return failed;
55
+ }
56
+ }
57
+ }
58
+ function checkedResult(session, result, stale) {
59
+ const mode = session.input.request.baselineUpdateMode;
60
+ return stale.length > 0 && mode !== 'apply' && mode !== 'diff'
61
+ ? appendRunnerErrors(result, [performanceBaselineError(new Error('Stale calibration references require overkill bench baseline apply.'), null)])
62
+ : result;
63
+ }
64
+ async function finalizeMaintenance(session, result) {
65
+ const stale = successfulPerformanceRun(result)
66
+ ? staleCalibrationReferences({
67
+ profile: session.input.request.profile,
68
+ machineClass: session.input.benchmarkNormalization?.machine.machineClass ?? null,
69
+ references: session.references,
70
+ result
71
+ })
72
+ : [];
73
+ const checked = checkedResult(session, result, stale);
74
+ const finalized = session.baseline === null ? checked : await session.baseline.finalize(checked);
75
+ return stale.length === 0 ? finalized : await retainMaintenance(session, finalized, stale);
76
+ }
77
+ export function calibrationMaintenanceSession(session) {
78
+ if (session.references.length === 0 || !completeInventory(session.input)) {
79
+ return session.baseline;
80
+ }
81
+ return {
82
+ reporterDispatcher: session.baseline?.reporterDispatcher ?? session.dependencies.reporterDispatcher,
83
+ async finalize(result) {
84
+ return await finalizeMaintenance(session, result);
85
+ }
86
+ };
87
+ }
88
+ //# sourceMappingURL=calibration-maintenance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calibration-maintenance.js","sourceRoot":"","sources":["../../../../source/run/calibration-maintenance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EACH,2BAA2B,EAE9B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,kCAAkC,EAAmC,MAAM,gCAAgC,CAAC;AACrH,OAAO,EAAE,0BAA0B,EAA6B,MAAM,4BAA4B,CAAC;AAYnG,SAAS,iBAAiB,CAAC,KAAuB;IAC9C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,KAAK;QAC7E,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC;AACxC,CAAC;AACD,SAAS,YAAY,CAAC,OAAyB,EAAE,MAAiB,EAAE,MAAkC;IAClG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;IAClC,IAAI,OAAO,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;QACrC,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,QAAQ,GAAG,kCAAkC,CAAC;QAChD,MAAM;QACN,MAAM;QACN,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,gBAAgB;QAC9C,sBAAsB,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,4BAA4B,CAAC;KAC9F,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,CAAE,GAAG,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAE,EAAE,CAAC;AACvE,CAAC;AACD,KAAK,UAAU,eAAe,CAC1B,OAAyB,EACzB,MAAiB,EACjB,KAA2B,EAC3B,MAAkC;IAElC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,KAAK,OAAO,IAAI,wBAAwB,CAAC,MAAM,CAAC;QACtG,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACnC,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE;QACjC,GAAG,MAAM;QACT,SAAS;QACT,OAAO,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;KAC1D,CAAC,CAAC;AACP,CAAC;AACD,KAAK,UAAU,iBAAiB,CAC5B,OAAyB,EACzB,MAAiB,EACjB,KAA2B;IAE3B,MAAM,MAAM,GAA+B;QACvC,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,WAAW;QACpB,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,SAAS;YACzC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACrE,CAAC,CAAC;KACL,CAAC;IACF,IAAI,CAAC;QACD,OAAO,MAAM,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAE,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAE,CAAC,CAAC;QACrF,MAAM,SAAS,GAAG,KAAK,YAAY,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,IAAI,CAAC;YACD,OAAO,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtF,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,MAAM,CAAC;QAClB,CAAC;IACL,CAAC;AACL,CAAC;AACD,SAAS,aAAa,CAAC,OAAyB,EAAE,MAAiB,EAAE,KAA2B;IAC5F,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACtD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM;QAC1D,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAE,wBAAwB,CACnD,IAAI,KAAK,CAAC,qEAAqE,CAAC,EAChF,IAAI,CACP,CAAE,CAAC;QACJ,CAAC,CAAC,MAAM,CAAC;AACjB,CAAC;AACD,KAAK,UAAU,mBAAmB,CAAC,OAAyB,EAAE,MAAiB;IAC3E,MAAM,KAAK,GAAG,wBAAwB,CAAC,MAAM,CAAC;QAC1C,CAAC,CAAC,0BAA0B,CAAC;YACzB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO;YACtC,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;YAChF,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM;SACT,CAAC;QACF,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjG,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAC/F,CAAC;AACD,MAAM,UAAU,6BAA6B,CAAC,OAAyB;IACnE,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvE,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC5B,CAAC;IACD,OAAO;QACH,kBAAkB,EAAE,OAAO,CAAC,QAAQ,EAAE,kBAAkB,IAAI,OAAO,CAAC,YAAY,CAAC,kBAAkB;QACnG,KAAK,CAAC,QAAQ,CAAC,MAAM;YACjB,OAAO,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;KACJ,CAAC;AACN,CAAC"}