@zxyycom/vibe-check 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (670) hide show
  1. package/README.md +36 -5
  2. package/dist/esm/check/check.mjs +4 -0
  3. package/dist/esm/check/check.mjs.map +1 -1
  4. package/dist/esm/check/flag-enablement.mjs +32 -0
  5. package/dist/esm/check/flag-enablement.mjs.map +1 -0
  6. package/dist/esm/check/handoff-provider-identity.mjs +18 -0
  7. package/dist/esm/check/handoff-provider-identity.mjs.map +1 -0
  8. package/dist/esm/check/inherited-collection.mjs +1 -1
  9. package/dist/esm/check/inherited-collection.mjs.map +1 -1
  10. package/dist/esm/check/project-changes.mjs +2 -0
  11. package/dist/esm/check/project-changes.mjs.map +1 -0
  12. package/dist/esm/check/project-context.mjs +2 -0
  13. package/dist/esm/check/project-context.mjs.map +1 -0
  14. package/dist/esm/check-settlement/facts.mjs.map +1 -1
  15. package/dist/esm/check-settlement/record-store.mjs +1 -1
  16. package/dist/esm/check-settlement/record-store.mjs.map +1 -1
  17. package/dist/esm/data-boundary/canonical-data.mjs +36 -7
  18. package/dist/esm/data-boundary/canonical-data.mjs.map +1 -1
  19. package/dist/esm/data-boundary/canonical-json.mjs.map +1 -1
  20. package/dist/esm/data-boundary/closed-values.mjs +28 -4
  21. package/dist/esm/data-boundary/closed-values.mjs.map +1 -1
  22. package/dist/esm/{package-checks/project-files → data-boundary}/config-glob.mjs +3 -3
  23. package/dist/esm/data-boundary/config-glob.mjs.map +1 -0
  24. package/dist/esm/data-boundary/project-path.mjs +19 -0
  25. package/dist/esm/data-boundary/project-path.mjs.map +1 -0
  26. package/dist/esm/index.mjs +12 -5
  27. package/dist/esm/index.mjs.map +1 -1
  28. package/dist/esm/machine-output/v4/atomic-publication.mjs +4 -1
  29. package/dist/esm/machine-output/v4/atomic-publication.mjs.map +1 -1
  30. package/dist/esm/package-checks/check-authoring.mjs +69 -0
  31. package/dist/esm/package-checks/check-authoring.mjs.map +1 -0
  32. package/dist/esm/package-checks/code-quality-findings/finding-waiver-authoring.mjs.map +1 -1
  33. package/dist/esm/package-checks/code-quality-findings/finding-waiver-evidence.mjs.map +1 -1
  34. package/dist/esm/package-checks/command-check/command-check.mjs +55 -0
  35. package/dist/esm/package-checks/command-check/command-check.mjs.map +1 -0
  36. package/dist/esm/package-checks/command-check/contract.mjs +2 -0
  37. package/dist/esm/package-checks/command-check/contract.mjs.map +1 -0
  38. package/dist/esm/package-checks/command-check/execution.mjs +134 -0
  39. package/dist/esm/package-checks/command-check/execution.mjs.map +1 -0
  40. package/dist/esm/package-checks/command-check/options.mjs +284 -0
  41. package/dist/esm/package-checks/command-check/options.mjs.map +1 -0
  42. package/dist/esm/package-checks/command-check/transcript.mjs +26 -0
  43. package/dist/esm/package-checks/command-check/transcript.mjs.map +1 -0
  44. package/dist/esm/package-checks/duplicate-detection/default-check.mjs +9 -11
  45. package/dist/esm/package-checks/duplicate-detection/default-check.mjs.map +1 -1
  46. package/dist/esm/package-checks/duplicate-detection/execution.mjs +2 -4
  47. package/dist/esm/package-checks/duplicate-detection/execution.mjs.map +1 -1
  48. package/dist/esm/package-checks/duplicate-detection/finding-messages.mjs +1 -1
  49. package/dist/esm/package-checks/duplicate-detection/finding-messages.mjs.map +1 -1
  50. package/dist/esm/package-checks/duplicate-detection/jscpd/availability.mjs +1 -1
  51. package/dist/esm/package-checks/duplicate-detection/jscpd/availability.mjs.map +1 -1
  52. package/dist/esm/package-checks/duplicate-detection/options.mjs.map +1 -1
  53. package/dist/esm/package-checks/duplicate-detection/records.mjs.map +1 -1
  54. package/dist/esm/package-checks/file-metrics/constructor.mjs +9 -11
  55. package/dist/esm/package-checks/file-metrics/constructor.mjs.map +1 -1
  56. package/dist/esm/package-checks/file-metrics/execution.mjs +2 -4
  57. package/dist/esm/package-checks/file-metrics/execution.mjs.map +1 -1
  58. package/dist/esm/package-checks/file-metrics/finding-messages.mjs +1 -1
  59. package/dist/esm/package-checks/file-metrics/finding-messages.mjs.map +1 -1
  60. package/dist/esm/package-checks/file-metrics/options.mjs.map +1 -1
  61. package/dist/esm/package-checks/file-metrics/records.mjs.map +1 -1
  62. package/dist/esm/package-checks/file-metrics/scc/availability.mjs +1 -1
  63. package/dist/esm/package-checks/file-metrics/scc/availability.mjs.map +1 -1
  64. package/dist/esm/package-checks/file-metrics/scc/batch-planner.mjs +38 -0
  65. package/dist/esm/package-checks/file-metrics/scc/batch-planner.mjs.map +1 -0
  66. package/dist/esm/package-checks/file-metrics/scc/logical-scan-resources.mjs +35 -0
  67. package/dist/esm/package-checks/file-metrics/scc/logical-scan-resources.mjs.map +1 -0
  68. package/dist/esm/package-checks/file-metrics/scc/scanner.mjs +102 -29
  69. package/dist/esm/package-checks/file-metrics/scc/scanner.mjs.map +1 -1
  70. package/dist/esm/package-checks/function-metrics/analysis.mjs +7 -2
  71. package/dist/esm/package-checks/function-metrics/analysis.mjs.map +1 -1
  72. package/dist/esm/package-checks/function-metrics/analyzer/analysis-model.mjs +1 -1
  73. package/dist/esm/package-checks/function-metrics/analyzer/analysis-model.mjs.map +1 -1
  74. package/dist/esm/package-checks/function-metrics/analyzer/extensions/lizardcomplextags.mjs +1 -3
  75. package/dist/esm/package-checks/function-metrics/analyzer/extensions/lizardcomplextags.mjs.map +1 -1
  76. package/dist/esm/package-checks/function-metrics/analyzer/extensions/protocol.mjs.map +1 -1
  77. package/dist/esm/package-checks/function-metrics/analyzer/pipeline.mjs +3 -2
  78. package/dist/esm/package-checks/function-metrics/analyzer/pipeline.mjs.map +1 -1
  79. package/dist/esm/package-checks/function-metrics/analyzer/readers/erlang.mjs +6 -6
  80. package/dist/esm/package-checks/function-metrics/analyzer/readers/erlang.mjs.map +1 -1
  81. package/dist/esm/package-checks/function-metrics/analyzer/readers/fortran.mjs +1 -1
  82. package/dist/esm/package-checks/function-metrics/analyzer/readers/fortran.mjs.map +1 -1
  83. package/dist/esm/package-checks/function-metrics/analyzer/readers/objc.mjs +9 -3
  84. package/dist/esm/package-checks/function-metrics/analyzer/readers/objc.mjs.map +1 -1
  85. package/dist/esm/package-checks/function-metrics/analyzer/readers/php-states.mjs +12 -7
  86. package/dist/esm/package-checks/function-metrics/analyzer/readers/php-states.mjs.map +1 -1
  87. package/dist/esm/package-checks/function-metrics/analyzer/readers/plsql.mjs +6 -6
  88. package/dist/esm/package-checks/function-metrics/analyzer/readers/plsql.mjs.map +1 -1
  89. package/dist/esm/package-checks/function-metrics/analyzer/readers/python.mjs +5 -3
  90. package/dist/esm/package-checks/function-metrics/analyzer/readers/python.mjs.map +1 -1
  91. package/dist/esm/package-checks/function-metrics/analyzer/readers/r.mjs +2 -0
  92. package/dist/esm/package-checks/function-metrics/analyzer/readers/r.mjs.map +1 -1
  93. package/dist/esm/package-checks/function-metrics/analyzer/readers/ttcn.mjs +9 -3
  94. package/dist/esm/package-checks/function-metrics/analyzer/readers/ttcn.mjs.map +1 -1
  95. package/dist/esm/package-checks/function-metrics/analyzer/readers/typescript.mjs +9 -3
  96. package/dist/esm/package-checks/function-metrics/analyzer/readers/typescript.mjs.map +1 -1
  97. package/dist/esm/package-checks/function-metrics/analyzer/readers/zig.mjs +3 -1
  98. package/dist/esm/package-checks/function-metrics/analyzer/readers/zig.mjs.map +1 -1
  99. package/dist/esm/package-checks/function-metrics/analyzer/shared/code-reader.mjs +3 -1
  100. package/dist/esm/package-checks/function-metrics/analyzer/shared/code-reader.mjs.map +1 -1
  101. package/dist/esm/package-checks/function-metrics/analyzer/shared/js-style-regex.mjs +12 -5
  102. package/dist/esm/package-checks/function-metrics/analyzer/shared/js-style-regex.mjs.map +1 -1
  103. package/dist/esm/package-checks/function-metrics/analyzer-worker-port.mjs +20 -8
  104. package/dist/esm/package-checks/function-metrics/analyzer-worker-port.mjs.map +1 -1
  105. package/dist/esm/package-checks/function-metrics/constructor.mjs +9 -11
  106. package/dist/esm/package-checks/function-metrics/constructor.mjs.map +1 -1
  107. package/dist/esm/package-checks/function-metrics/execution.mjs +2 -4
  108. package/dist/esm/package-checks/function-metrics/execution.mjs.map +1 -1
  109. package/dist/esm/package-checks/function-metrics/finding-messages.mjs +1 -1
  110. package/dist/esm/package-checks/function-metrics/finding-messages.mjs.map +1 -1
  111. package/dist/esm/package-checks/function-metrics/measurement.mjs +3 -1
  112. package/dist/esm/package-checks/function-metrics/measurement.mjs.map +1 -1
  113. package/dist/esm/package-checks/function-metrics/options.mjs.map +1 -1
  114. package/dist/esm/package-checks/function-metrics/records.mjs.map +1 -1
  115. package/dist/esm/package-checks/host-environment/git.mjs +11 -0
  116. package/dist/esm/package-checks/host-environment/git.mjs.map +1 -1
  117. package/dist/esm/package-checks/host-environment/path.mjs +1 -17
  118. package/dist/esm/package-checks/host-environment/path.mjs.map +1 -1
  119. package/dist/esm/package-checks/host-environment/process/contract.mjs.map +1 -1
  120. package/dist/esm/package-checks/host-environment/process/result.mjs +43 -17
  121. package/dist/esm/package-checks/host-environment/process/result.mjs.map +1 -1
  122. package/dist/esm/package-checks/host-environment/process/runner.mjs +7 -5
  123. package/dist/esm/package-checks/host-environment/process/runner.mjs.map +1 -1
  124. package/dist/esm/package-checks/json-schema-validation/default-check.mjs +9 -11
  125. package/dist/esm/package-checks/json-schema-validation/default-check.mjs.map +1 -1
  126. package/dist/esm/package-checks/json-schema-validation/options.mjs.map +1 -1
  127. package/dist/esm/package-checks/json-schema-validation/reference-resolver.mjs +6 -2
  128. package/dist/esm/package-checks/json-schema-validation/reference-resolver.mjs.map +1 -1
  129. package/dist/esm/package-checks/json-schema-validation/schema-policy.mjs +11 -3
  130. package/dist/esm/package-checks/json-schema-validation/schema-policy.mjs.map +1 -1
  131. package/dist/esm/package-checks/json-validation/default-check.mjs +9 -11
  132. package/dist/esm/package-checks/json-validation/default-check.mjs.map +1 -1
  133. package/dist/esm/package-checks/json-validation/options.mjs.map +1 -1
  134. package/dist/esm/package-checks/local-cache-options.mjs +28 -0
  135. package/dist/esm/package-checks/local-cache-options.mjs.map +1 -0
  136. package/dist/esm/package-checks/maintenance-reminders/maintenance-reminders.mjs +37 -45
  137. package/dist/esm/package-checks/maintenance-reminders/maintenance-reminders.mjs.map +1 -1
  138. package/dist/esm/package-checks/maintenance-reminders/maintenance-support.mjs +3 -1
  139. package/dist/esm/package-checks/maintenance-reminders/maintenance-support.mjs.map +1 -1
  140. package/dist/esm/package-checks/markdown-link-validation/default-check.mjs +19 -33
  141. package/dist/esm/package-checks/markdown-link-validation/default-check.mjs.map +1 -1
  142. package/dist/esm/package-checks/markdown-link-validation/execution.mjs +1 -1
  143. package/dist/esm/package-checks/markdown-link-validation/execution.mjs.map +1 -1
  144. package/dist/esm/package-checks/markdown-link-validation/finding-messages.mjs +1 -1
  145. package/dist/esm/package-checks/markdown-link-validation/finding-messages.mjs.map +1 -1
  146. package/dist/esm/package-checks/markdown-link-validation/markdown-parser.mjs +1 -3
  147. package/dist/esm/package-checks/markdown-link-validation/markdown-parser.mjs.map +1 -1
  148. package/dist/esm/package-checks/markdown-link-validation/options-resolution.mjs +3 -18
  149. package/dist/esm/package-checks/markdown-link-validation/options-resolution.mjs.map +1 -1
  150. package/dist/esm/package-checks/markdown-link-validation/options-validation.mjs +2 -14
  151. package/dist/esm/package-checks/markdown-link-validation/options-validation.mjs.map +1 -1
  152. package/dist/esm/package-checks/markdown-link-validation/options.mjs.map +1 -1
  153. package/dist/esm/package-checks/markdown-link-validation/parse-facts-cache-payload.mjs +4 -5
  154. package/dist/esm/package-checks/markdown-link-validation/parse-facts-cache-payload.mjs.map +1 -1
  155. package/dist/esm/package-checks/markdown-lint/adapter.mjs +125 -0
  156. package/dist/esm/package-checks/markdown-lint/adapter.mjs.map +1 -0
  157. package/dist/esm/package-checks/markdown-lint/default-check.mjs +37 -0
  158. package/dist/esm/package-checks/markdown-lint/default-check.mjs.map +1 -0
  159. package/dist/esm/package-checks/markdown-lint/execution.mjs +202 -0
  160. package/dist/esm/package-checks/markdown-lint/execution.mjs.map +1 -0
  161. package/dist/esm/package-checks/markdown-lint/final-data.mjs +16 -0
  162. package/dist/esm/package-checks/markdown-lint/final-data.mjs.map +1 -0
  163. package/dist/esm/package-checks/markdown-lint/finding-messages.mjs +72 -0
  164. package/dist/esm/package-checks/markdown-lint/finding-messages.mjs.map +1 -0
  165. package/dist/esm/package-checks/markdown-lint/finding-waiver-identity.mjs +41 -0
  166. package/dist/esm/package-checks/markdown-lint/finding-waiver-identity.mjs.map +1 -0
  167. package/dist/esm/package-checks/markdown-lint/findings-cache.mjs +110 -0
  168. package/dist/esm/package-checks/markdown-lint/findings-cache.mjs.map +1 -0
  169. package/dist/esm/package-checks/markdown-lint/options-resolution.mjs +74 -0
  170. package/dist/esm/package-checks/markdown-lint/options-resolution.mjs.map +1 -0
  171. package/dist/esm/package-checks/markdown-lint/options-validation.mjs +41 -0
  172. package/dist/esm/package-checks/markdown-lint/options-validation.mjs.map +1 -0
  173. package/dist/esm/package-checks/markdown-lint/options.mjs +13 -0
  174. package/dist/esm/package-checks/markdown-lint/options.mjs.map +1 -0
  175. package/dist/esm/package-checks/markdown-lint/records.mjs +65 -0
  176. package/dist/esm/package-checks/markdown-lint/records.mjs.map +1 -0
  177. package/dist/esm/package-checks/markdown-lint/unavailable-reasons.mjs +14 -0
  178. package/dist/esm/package-checks/markdown-lint/unavailable-reasons.mjs.map +1 -0
  179. package/dist/esm/package-checks/project-files/collection.mjs +23 -19
  180. package/dist/esm/package-checks/project-files/collection.mjs.map +1 -1
  181. package/dist/esm/package-checks/project-files/configuration.mjs +1 -1
  182. package/dist/esm/package-checks/project-files/configuration.mjs.map +1 -1
  183. package/dist/esm/package-checks/project-files/gitlink-revision.mjs +2 -5
  184. package/dist/esm/package-checks/project-files/gitlink-revision.mjs.map +1 -1
  185. package/dist/esm/package-checks/project-files/gitlink-worktree.mjs +22 -6
  186. package/dist/esm/package-checks/project-files/gitlink-worktree.mjs.map +1 -1
  187. package/dist/esm/package-checks/project-files/public-collection.mjs +1 -1
  188. package/dist/esm/package-checks/project-files/public-collection.mjs.map +1 -1
  189. package/dist/esm/package-checks/project-files/revision-paths.mjs +3 -3
  190. package/dist/esm/package-checks/project-files/revision-paths.mjs.map +1 -1
  191. package/dist/esm/package-checks/project-files/revision-worktree-files.mjs +11 -15
  192. package/dist/esm/package-checks/project-files/revision-worktree-files.mjs.map +1 -1
  193. package/dist/esm/package-checks/secret-detection/default-check.mjs +9 -11
  194. package/dist/esm/package-checks/secret-detection/default-check.mjs.map +1 -1
  195. package/dist/esm/package-checks/secret-detection/execution.mjs +2 -2
  196. package/dist/esm/package-checks/secret-detection/execution.mjs.map +1 -1
  197. package/dist/esm/package-checks/secret-detection/input-preparation.mjs +46 -7
  198. package/dist/esm/package-checks/secret-detection/input-preparation.mjs.map +1 -1
  199. package/dist/esm/package-checks/secret-detection/options.mjs.map +1 -1
  200. package/dist/esm/package-checks/secret-detection/records.mjs.map +1 -1
  201. package/dist/esm/package-checks/secret-detection/secretlint/adapter.mjs +3 -4
  202. package/dist/esm/package-checks/secret-detection/secretlint/adapter.mjs.map +1 -1
  203. package/dist/esm/package-tools/admission-policy/define-admission-policy.mjs +10 -0
  204. package/dist/esm/package-tools/admission-policy/define-admission-policy.mjs.map +1 -0
  205. package/dist/esm/{cache → package-tools/cache}/cache-json-by-key.mjs +13 -14
  206. package/dist/esm/package-tools/cache/cache-json-by-key.mjs.map +1 -0
  207. package/dist/esm/package-tools/finding-presentation/finding-presentation.mjs.map +1 -0
  208. package/dist/esm/{finding-waivers → package-tools/finding-waivers}/reconciliation.mjs +14 -5
  209. package/dist/esm/package-tools/finding-waivers/reconciliation.mjs.map +1 -0
  210. package/dist/esm/package-tools/learned-critical-path/critical-path-ranking.mjs.map +1 -0
  211. package/dist/esm/package-tools/learned-critical-path/duration-model/bounded-history.mjs.map +1 -0
  212. package/dist/esm/{learned-critical-path → package-tools/learned-critical-path}/duration-model/prediction.mjs +2 -2
  213. package/dist/esm/package-tools/learned-critical-path/duration-model/prediction.mjs.map +1 -0
  214. package/dist/esm/{learned-critical-path → package-tools/learned-critical-path}/duration-model/preparation.mjs +4 -2
  215. package/dist/esm/package-tools/learned-critical-path/duration-model/preparation.mjs.map +1 -0
  216. package/dist/esm/package-tools/learned-critical-path/duration-model/recording.mjs.map +1 -0
  217. package/dist/esm/{learned-critical-path → package-tools/learned-critical-path}/duration-model/storage.mjs +8 -8
  218. package/dist/esm/package-tools/learned-critical-path/duration-model/storage.mjs.map +1 -0
  219. package/dist/esm/{learned-critical-path → package-tools/learned-critical-path}/selection-layers.mjs +1 -2
  220. package/dist/esm/package-tools/learned-critical-path/selection-layers.mjs.map +1 -0
  221. package/dist/esm/package-tools/learned-critical-path/static-decision.mjs.map +1 -0
  222. package/dist/esm/{learned-critical-path → package-tools/learned-critical-path}/strategy.mjs +3 -3
  223. package/dist/esm/package-tools/learned-critical-path/strategy.mjs.map +1 -0
  224. package/dist/esm/project-definition/check-tree/authoring.mjs +8 -5
  225. package/dist/esm/project-definition/check-tree/authoring.mjs.map +1 -1
  226. package/dist/esm/project-definition/check-tree/check-fields-authoring.mjs +79 -66
  227. package/dist/esm/project-definition/check-tree/check-fields-authoring.mjs.map +1 -1
  228. package/dist/esm/project-definition/check-tree/flag-conditions.mjs +71 -0
  229. package/dist/esm/project-definition/check-tree/flag-conditions.mjs.map +1 -0
  230. package/dist/esm/project-definition/check-tree/materialization.mjs +13 -8
  231. package/dist/esm/project-definition/check-tree/materialization.mjs.map +1 -1
  232. package/dist/esm/project-definition/check-tree/resolution.mjs +7 -6
  233. package/dist/esm/project-definition/check-tree/resolution.mjs.map +1 -1
  234. package/dist/esm/project-definition/declarative-snapshot.mjs +2 -1
  235. package/dist/esm/project-definition/declarative-snapshot.mjs.map +1 -1
  236. package/dist/esm/project-definition/project-changes.mjs +70 -0
  237. package/dist/esm/project-definition/project-changes.mjs.map +1 -0
  238. package/dist/esm/project-definition/project-definition-validation.mjs +40 -8
  239. package/dist/esm/project-definition/project-definition-validation.mjs.map +1 -1
  240. package/dist/esm/project-definition/project-definition.mjs +22 -15
  241. package/dist/esm/project-definition/project-definition.mjs.map +1 -1
  242. package/dist/esm/project-definition/scheduler-policy.mjs.map +1 -1
  243. package/dist/esm/project-run/admission-strategy-provider/custom-strategy-preparation.mjs +9 -6
  244. package/dist/esm/project-run/admission-strategy-provider/custom-strategy-preparation.mjs.map +1 -1
  245. package/dist/esm/project-run/admission-strategy-provider/prepared-admission-strategy.mjs.map +1 -1
  246. package/dist/esm/project-run/aggregation.mjs +42 -59
  247. package/dist/esm/project-run/aggregation.mjs.map +1 -1
  248. package/dist/esm/project-run/changes/git.mjs +161 -0
  249. package/dist/esm/project-run/changes/git.mjs.map +1 -0
  250. package/dist/esm/project-run/check-execution/admitted-check-execution.mjs +41 -0
  251. package/dist/esm/project-run/check-execution/admitted-check-execution.mjs.map +1 -0
  252. package/dist/esm/project-run/check-execution/callback.mjs +3 -2
  253. package/dist/esm/project-run/check-execution/callback.mjs.map +1 -1
  254. package/dist/esm/project-run/check-execution/dependencies.mjs +80 -5
  255. package/dist/esm/project-run/check-execution/dependencies.mjs.map +1 -1
  256. package/dist/esm/project-run/check-execution/execution-finalization.mjs +5 -3
  257. package/dist/esm/project-run/check-execution/execution-finalization.mjs.map +1 -1
  258. package/dist/esm/project-run/check-execution/execution-settlement.mjs +37 -16
  259. package/dist/esm/project-run/check-execution/execution-settlement.mjs.map +1 -1
  260. package/dist/esm/project-run/check-execution/flag-controls.mjs +15 -7
  261. package/dist/esm/project-run/check-execution/flag-controls.mjs.map +1 -1
  262. package/dist/esm/project-run/check-execution/lifecycle.mjs.map +1 -1
  263. package/dist/esm/project-run/check-execution/{preflight-result.mjs → preparation-result.mjs} +24 -24
  264. package/dist/esm/project-run/check-execution/preparation-result.mjs.map +1 -0
  265. package/dist/esm/project-run/check-execution/{preflight.mjs → preparation.mjs} +52 -52
  266. package/dist/esm/project-run/check-execution/preparation.mjs.map +1 -0
  267. package/dist/esm/project-run/check-execution/ready-check-execution.mjs +71 -0
  268. package/dist/esm/project-run/check-execution/ready-check-execution.mjs.map +1 -0
  269. package/dist/esm/project-run/check-execution/resolved-checks.mjs +27 -164
  270. package/dist/esm/project-run/check-execution/resolved-checks.mjs.map +1 -1
  271. package/dist/esm/project-run/check-execution/scheduled-check-run.mjs +79 -0
  272. package/dist/esm/project-run/check-execution/scheduled-check-run.mjs.map +1 -0
  273. package/dist/esm/project-run/check-execution/terminal-result.mjs +70 -25
  274. package/dist/esm/project-run/check-execution/terminal-result.mjs.map +1 -1
  275. package/dist/esm/project-run/completion/completion.mjs +18 -1
  276. package/dist/esm/project-run/completion/completion.mjs.map +1 -1
  277. package/dist/esm/project-run/controls/contract.mjs.map +1 -1
  278. package/dist/esm/project-run/controls/validation.mjs +7 -54
  279. package/dist/esm/project-run/controls/validation.mjs.map +1 -1
  280. package/dist/esm/project-run/diagnostic-logging/diagnostic-detail-rendering.mjs +3 -3
  281. package/dist/esm/project-run/diagnostic-logging/diagnostic-detail-rendering.mjs.map +1 -1
  282. package/dist/esm/project-run/diagnostic-logging/observation-rendering.mjs +1 -1
  283. package/dist/esm/project-run/diagnostic-logging/observation-rendering.mjs.map +1 -1
  284. package/dist/esm/project-run/invocation/candidate.mjs +17 -13
  285. package/dist/esm/project-run/invocation/candidate.mjs.map +1 -1
  286. package/dist/esm/project-run/invocation/candidates.mjs +26 -0
  287. package/dist/esm/project-run/invocation/candidates.mjs.map +1 -0
  288. package/dist/esm/project-run/invocation/creation.mjs +7 -3
  289. package/dist/esm/project-run/invocation/creation.mjs.map +1 -1
  290. package/dist/esm/project-run/invocation/execution.mjs +98 -0
  291. package/dist/esm/project-run/invocation/execution.mjs.map +1 -0
  292. package/dist/esm/project-run/invocation/run.mjs +13 -112
  293. package/dist/esm/project-run/invocation/run.mjs.map +1 -1
  294. package/dist/esm/project-run/invocation/scheduler.mjs +13 -6
  295. package/dist/esm/project-run/invocation/scheduler.mjs.map +1 -1
  296. package/dist/esm/project-run/outputs/status.mjs +12 -12
  297. package/dist/esm/project-run/outputs/status.mjs.map +1 -1
  298. package/dist/esm/project-run/progress-rendering/presentation.mjs +31 -11
  299. package/dist/esm/project-run/progress-rendering/presentation.mjs.map +1 -1
  300. package/dist/esm/project-run/progress-rendering/renderer-formatting.mjs +11 -4
  301. package/dist/esm/project-run/progress-rendering/renderer-formatting.mjs.map +1 -1
  302. package/dist/esm/project-run/progress-rendering/renderer-lifecycle.mjs +20 -6
  303. package/dist/esm/project-run/progress-rendering/renderer-lifecycle.mjs.map +1 -1
  304. package/dist/esm/project-run/progress-rendering/renderer.mjs +6 -2
  305. package/dist/esm/project-run/progress-rendering/renderer.mjs.map +1 -1
  306. package/dist/esm/project-run/project-context.mjs +2 -1
  307. package/dist/esm/project-run/project-context.mjs.map +1 -1
  308. package/dist/esm/project-run/result.mjs +2 -2
  309. package/dist/esm/project-run/result.mjs.map +1 -1
  310. package/dist/esm/project-run/run.mjs.map +1 -1
  311. package/dist/esm/project-run/task-scheduler/admission-core/compiled-graph-lookup.mjs +45 -0
  312. package/dist/esm/project-run/task-scheduler/admission-core/compiled-graph-lookup.mjs.map +1 -0
  313. package/dist/esm/project-run/task-scheduler/admission-core/compiled-graph.mjs +9 -4
  314. package/dist/esm/project-run/task-scheduler/admission-core/compiled-graph.mjs.map +1 -1
  315. package/dist/esm/project-run/task-scheduler/admission-core/selection-query.mjs +3 -5
  316. package/dist/esm/project-run/task-scheduler/admission-core/selection-query.mjs.map +1 -1
  317. package/dist/esm/project-run/task-scheduler/admission-core/selection-seed.mjs +25 -8
  318. package/dist/esm/project-run/task-scheduler/admission-core/selection-seed.mjs.map +1 -1
  319. package/dist/esm/project-run/task-scheduler/admission-core/selection-transition.mjs +8 -8
  320. package/dist/esm/project-run/task-scheduler/admission-core/selection-transition.mjs.map +1 -1
  321. package/dist/esm/project-run/task-scheduler/execution-state.mjs.map +1 -1
  322. package/dist/esm/project-run/task-scheduler/measurement/diagnostics.mjs +8 -4
  323. package/dist/esm/project-run/task-scheduler/measurement/diagnostics.mjs.map +1 -1
  324. package/dist/esm/project-run/task-scheduler/measurement/timing.mjs +12 -6
  325. package/dist/esm/project-run/task-scheduler/measurement/timing.mjs.map +1 -1
  326. package/dist/esm/project-run/task-scheduler/scheduler-observation.mjs +3 -1
  327. package/dist/esm/project-run/task-scheduler/scheduler-observation.mjs.map +1 -1
  328. package/dist/esm/project-run/task-scheduler/scheduler-terminal-measurement.mjs +17 -17
  329. package/dist/esm/project-run/task-scheduler/scheduler-terminal-measurement.mjs.map +1 -1
  330. package/dist/esm/project-run/task-scheduler/scheduler.mjs +18 -6
  331. package/dist/esm/project-run/task-scheduler/scheduler.mjs.map +1 -1
  332. package/docs/api-mechanics.md +147 -28
  333. package/docs/changelog.md +145 -2
  334. package/docs/checks/duplicate-detection.md +22 -3
  335. package/docs/checks/file-metrics.md +25 -6
  336. package/docs/checks/function-metrics.md +21 -2
  337. package/docs/checks/json-schema-validation.md +25 -4
  338. package/docs/checks/json-validation.md +24 -5
  339. package/docs/checks/maintenance-reminders.md +30 -6
  340. package/docs/checks/markdown-link-validation.md +24 -4
  341. package/docs/checks/markdown-lint.md +167 -0
  342. package/docs/checks/secret-detection.md +31 -7
  343. package/docs/examples/artifacts/mixed-outcomes/definition.ts +10 -10
  344. package/docs/guides/building-project-gate.md +706 -0
  345. package/docs/guides/callbacks.md +81 -22
  346. package/docs/guides/check-dependencies.md +41 -10
  347. package/docs/guides/collecting-project-files.md +7 -7
  348. package/docs/guides/command-check.md +155 -0
  349. package/docs/guides/data-boundaries.md +140 -0
  350. package/docs/guides/extending-check-lifecycle.md +77 -25
  351. package/docs/guides/finding-waivers.md +43 -1
  352. package/docs/guides/learned-scheduling.md +1 -1
  353. package/docs/guides/run-outputs.md +35 -9
  354. package/docs/guides/scheduling.md +15 -15
  355. package/docs/output.md +6 -5
  356. package/package.json +2 -1
  357. package/src/check/check.ts +332 -92
  358. package/src/check/flag-enablement.ts +76 -0
  359. package/src/check/handoff-provider-identity.ts +34 -0
  360. package/src/check/inherited-collection.ts +1 -1
  361. package/src/check/project-changes.ts +14 -0
  362. package/src/check/project-context.ts +11 -0
  363. package/src/check-settlement/facts.ts +1 -1
  364. package/src/check-settlement/record-store.ts +1 -1
  365. package/src/data-boundary/canonical-data.ts +36 -9
  366. package/src/data-boundary/canonical-json.ts +18 -1
  367. package/src/data-boundary/closed-values.ts +26 -6
  368. package/src/data-boundary/config-glob.ts +17 -0
  369. package/src/data-boundary/project-path.ts +21 -0
  370. package/src/index.ts +72 -11
  371. package/src/machine-output/v4/atomic-publication.ts +3 -1
  372. package/src/package-checks/check-authoring.ts +136 -0
  373. package/src/package-checks/code-quality-findings/finding-waiver-authoring.ts +1 -1
  374. package/src/package-checks/code-quality-findings/finding-waiver-evidence.ts +1 -1
  375. package/src/package-checks/command-check/command-check.ts +152 -0
  376. package/src/package-checks/command-check/contract.ts +168 -0
  377. package/src/package-checks/command-check/execution.ts +211 -0
  378. package/src/package-checks/command-check/options.ts +331 -0
  379. package/src/package-checks/command-check/transcript.ts +35 -0
  380. package/src/package-checks/duplicate-detection/default-check.ts +37 -6
  381. package/src/package-checks/duplicate-detection/execution.ts +2 -4
  382. package/src/package-checks/duplicate-detection/finding-messages.ts +2 -2
  383. package/src/package-checks/duplicate-detection/jscpd/availability.ts +1 -1
  384. package/src/package-checks/duplicate-detection/options.ts +6 -3
  385. package/src/package-checks/duplicate-detection/records.ts +1 -1
  386. package/src/package-checks/file-metrics/constructor.ts +29 -6
  387. package/src/package-checks/file-metrics/execution.ts +2 -4
  388. package/src/package-checks/file-metrics/finding-messages.ts +1 -1
  389. package/src/package-checks/file-metrics/options.ts +6 -3
  390. package/src/package-checks/file-metrics/records.ts +1 -1
  391. package/src/package-checks/file-metrics/scc/availability.ts +1 -1
  392. package/src/package-checks/file-metrics/scc/batch-planner.ts +56 -0
  393. package/src/package-checks/file-metrics/scc/logical-scan-resources.ts +59 -0
  394. package/src/package-checks/file-metrics/scc/scanner.ts +134 -32
  395. package/src/package-checks/function-metrics/analysis.ts +7 -2
  396. package/src/package-checks/function-metrics/analyzer/analysis-model.ts +1 -1
  397. package/src/package-checks/function-metrics/analyzer/extension-output.ts +14 -6
  398. package/src/package-checks/function-metrics/analyzer/extensions/lizardcomplextags.ts +1 -3
  399. package/src/package-checks/function-metrics/analyzer/extensions/protocol.ts +3 -3
  400. package/src/package-checks/function-metrics/analyzer/pipeline.ts +4 -2
  401. package/src/package-checks/function-metrics/analyzer/readers/erlang.ts +6 -6
  402. package/src/package-checks/function-metrics/analyzer/readers/fortran.ts +1 -1
  403. package/src/package-checks/function-metrics/analyzer/readers/objc.ts +9 -3
  404. package/src/package-checks/function-metrics/analyzer/readers/php-states.ts +14 -7
  405. package/src/package-checks/function-metrics/analyzer/readers/plsql.ts +8 -4
  406. package/src/package-checks/function-metrics/analyzer/readers/python.ts +4 -3
  407. package/src/package-checks/function-metrics/analyzer/readers/r.ts +2 -1
  408. package/src/package-checks/function-metrics/analyzer/readers/ttcn.ts +9 -3
  409. package/src/package-checks/function-metrics/analyzer/readers/typescript.ts +9 -3
  410. package/src/package-checks/function-metrics/analyzer/readers/zig.ts +2 -1
  411. package/src/package-checks/function-metrics/analyzer/shared/code-reader.ts +3 -1
  412. package/src/package-checks/function-metrics/analyzer/shared/js-style-regex.ts +10 -5
  413. package/src/package-checks/function-metrics/analyzer-worker-port.ts +20 -6
  414. package/src/package-checks/function-metrics/constructor.ts +30 -7
  415. package/src/package-checks/function-metrics/execution.ts +2 -4
  416. package/src/package-checks/function-metrics/finding-messages.ts +2 -2
  417. package/src/package-checks/function-metrics/measurement.ts +3 -1
  418. package/src/package-checks/function-metrics/options.ts +6 -3
  419. package/src/package-checks/function-metrics/records.ts +1 -1
  420. package/src/package-checks/host-environment/git.ts +11 -0
  421. package/src/package-checks/host-environment/path.ts +1 -20
  422. package/src/package-checks/host-environment/process/contract.ts +17 -9
  423. package/src/package-checks/host-environment/process/result.ts +48 -20
  424. package/src/package-checks/host-environment/process/runner.ts +8 -4
  425. package/src/package-checks/json-schema-validation/default-check.ts +38 -5
  426. package/src/package-checks/json-schema-validation/options.ts +4 -1
  427. package/src/package-checks/json-schema-validation/reference-resolver.ts +6 -2
  428. package/src/package-checks/json-schema-validation/schema-policy.ts +10 -5
  429. package/src/package-checks/json-validation/default-check.ts +27 -6
  430. package/src/package-checks/json-validation/options.ts +4 -1
  431. package/src/package-checks/local-cache-options.ts +40 -0
  432. package/src/package-checks/maintenance-reminders/maintenance-reminders.ts +89 -9
  433. package/src/package-checks/maintenance-reminders/maintenance-support.ts +3 -3
  434. package/src/package-checks/markdown-link-validation/default-check.ts +48 -5
  435. package/src/package-checks/markdown-link-validation/execution.ts +1 -1
  436. package/src/package-checks/markdown-link-validation/finding-messages.ts +1 -1
  437. package/src/package-checks/markdown-link-validation/markdown-parser.ts +1 -5
  438. package/src/package-checks/markdown-link-validation/options-resolution.ts +2 -19
  439. package/src/package-checks/markdown-link-validation/options-validation.ts +2 -17
  440. package/src/package-checks/markdown-link-validation/options.ts +6 -7
  441. package/src/package-checks/markdown-link-validation/parse-facts-cache-payload.ts +4 -5
  442. package/src/package-checks/markdown-lint/adapter.ts +167 -0
  443. package/src/package-checks/markdown-lint/default-check.ts +92 -0
  444. package/src/package-checks/markdown-lint/execution.ts +266 -0
  445. package/src/package-checks/markdown-lint/final-data.ts +33 -0
  446. package/src/package-checks/markdown-lint/finding-messages.ts +87 -0
  447. package/src/package-checks/markdown-lint/finding-waiver-identity.ts +54 -0
  448. package/src/package-checks/markdown-lint/findings-cache.ts +141 -0
  449. package/src/package-checks/markdown-lint/options-resolution.ts +102 -0
  450. package/src/package-checks/markdown-lint/options-validation.ts +50 -0
  451. package/src/package-checks/markdown-lint/options.ts +82 -0
  452. package/src/package-checks/markdown-lint/records.ts +132 -0
  453. package/src/package-checks/markdown-lint/unavailable-reasons.ts +33 -0
  454. package/src/package-checks/project-files/collection.ts +38 -22
  455. package/src/package-checks/project-files/config-glob.ts +1 -17
  456. package/src/package-checks/project-files/configuration.ts +1 -1
  457. package/src/package-checks/project-files/gitlink-revision.ts +4 -6
  458. package/src/package-checks/project-files/gitlink-worktree.ts +35 -7
  459. package/src/package-checks/project-files/public-collection.ts +1 -1
  460. package/src/package-checks/project-files/revision-paths.ts +3 -3
  461. package/src/package-checks/project-files/revision-worktree-files.ts +16 -16
  462. package/src/package-checks/secret-detection/default-check.ts +29 -6
  463. package/src/package-checks/secret-detection/execution.ts +2 -2
  464. package/src/package-checks/secret-detection/input-preparation.ts +64 -7
  465. package/src/package-checks/secret-detection/options.ts +5 -2
  466. package/src/package-checks/secret-detection/records.ts +1 -1
  467. package/src/package-checks/secret-detection/secretlint/adapter.ts +3 -4
  468. package/src/package-tools/admission-policy/define-admission-policy.ts +54 -0
  469. package/src/{cache → package-tools/cache}/cache-json-by-key.ts +13 -17
  470. package/src/{check → package-tools/finding-presentation}/finding-presentation.ts +3 -1
  471. package/src/{finding-waivers → package-tools/finding-waivers}/reconciliation.ts +16 -8
  472. package/src/{learned-critical-path → package-tools/learned-critical-path}/duration-model/prediction.ts +5 -2
  473. package/src/{learned-critical-path → package-tools/learned-critical-path}/duration-model/preparation.ts +5 -3
  474. package/src/{learned-critical-path → package-tools/learned-critical-path}/duration-model/recording.ts +5 -4
  475. package/src/{learned-critical-path → package-tools/learned-critical-path}/duration-model/storage.ts +9 -10
  476. package/src/{learned-critical-path → package-tools/learned-critical-path}/selection-layers.ts +2 -3
  477. package/src/{learned-critical-path → package-tools/learned-critical-path}/static-decision.ts +1 -1
  478. package/src/{learned-critical-path → package-tools/learned-critical-path}/strategy.ts +7 -4
  479. package/src/project-definition/check-tree/authoring.ts +15 -8
  480. package/src/project-definition/check-tree/check-fields-authoring.ts +106 -91
  481. package/src/project-definition/check-tree/flag-conditions.ts +99 -0
  482. package/src/project-definition/check-tree/materialization.ts +12 -8
  483. package/src/project-definition/check-tree/resolution.ts +13 -15
  484. package/src/project-definition/declarative-snapshot.ts +9 -2
  485. package/src/project-definition/project-changes.ts +112 -0
  486. package/src/project-definition/project-definition-validation.ts +58 -10
  487. package/src/project-definition/project-definition.ts +41 -68
  488. package/src/project-definition/scheduler-policy.ts +6 -3
  489. package/src/project-run/admission-strategy-provider/custom-strategy-preparation.ts +11 -8
  490. package/src/project-run/admission-strategy-provider/prepared-admission-strategy.ts +2 -2
  491. package/src/project-run/aggregation.ts +51 -74
  492. package/src/project-run/changes/git.ts +206 -0
  493. package/src/project-run/check-execution/admitted-check-execution.ts +62 -0
  494. package/src/project-run/check-execution/callback.ts +3 -2
  495. package/src/project-run/check-execution/dependencies.ts +120 -6
  496. package/src/project-run/check-execution/execution-finalization.ts +6 -4
  497. package/src/project-run/check-execution/execution-settlement.ts +88 -29
  498. package/src/project-run/check-execution/flag-controls.ts +22 -8
  499. package/src/project-run/check-execution/lifecycle.ts +14 -6
  500. package/src/project-run/check-execution/{preflight-result.ts → preparation-result.ts} +34 -32
  501. package/src/project-run/check-execution/{preflight.ts → preparation.ts} +92 -84
  502. package/src/project-run/check-execution/ready-check-execution.ts +97 -0
  503. package/src/project-run/check-execution/resolved-checks.ts +40 -219
  504. package/src/project-run/check-execution/scheduled-check-run.ts +119 -0
  505. package/src/project-run/check-execution/terminal-result.ts +108 -29
  506. package/src/project-run/completion/completion.ts +17 -3
  507. package/src/project-run/controls/contract.ts +6 -16
  508. package/src/project-run/controls/validation.ts +7 -60
  509. package/src/project-run/diagnostic-logging/diagnostic-detail-rendering.ts +1 -2
  510. package/src/project-run/diagnostic-logging/observation-rendering.ts +1 -1
  511. package/src/project-run/invocation/candidate.ts +28 -15
  512. package/src/project-run/invocation/candidates.ts +56 -0
  513. package/src/project-run/invocation/creation.ts +7 -3
  514. package/src/project-run/invocation/execution.ts +136 -0
  515. package/src/project-run/invocation/run.ts +15 -179
  516. package/src/project-run/invocation/scheduler.ts +13 -6
  517. package/src/project-run/outputs/status.ts +15 -15
  518. package/src/project-run/progress-rendering/presentation.ts +35 -13
  519. package/src/project-run/progress-rendering/renderer-formatting.ts +20 -7
  520. package/src/project-run/progress-rendering/renderer-lifecycle.ts +23 -6
  521. package/src/project-run/progress-rendering/renderer.ts +10 -4
  522. package/src/project-run/project-context.ts +8 -4
  523. package/src/project-run/result.ts +5 -5
  524. package/src/project-run/run.ts +1 -1
  525. package/src/project-run/task-scheduler/admission-core/compiled-graph-lookup.ts +71 -0
  526. package/src/project-run/task-scheduler/admission-core/compiled-graph.ts +9 -4
  527. package/src/project-run/task-scheduler/admission-core/selection-query.ts +6 -4
  528. package/src/project-run/task-scheduler/admission-core/selection-seed.ts +36 -6
  529. package/src/project-run/task-scheduler/admission-core/selection-transition.ts +17 -8
  530. package/src/project-run/task-scheduler/execution-state.ts +4 -4
  531. package/src/project-run/task-scheduler/measurement/diagnostics.ts +10 -4
  532. package/src/project-run/task-scheduler/measurement/timing.ts +13 -5
  533. package/src/project-run/task-scheduler/scheduler-observation.ts +3 -1
  534. package/src/project-run/task-scheduler/scheduler-terminal-measurement.ts +24 -22
  535. package/src/project-run/task-scheduler/scheduler.ts +23 -6
  536. package/types/check/check.d.ts +178 -67
  537. package/types/check/flag-enablement.d.ts +42 -0
  538. package/types/check/handoff-provider-identity.d.ts +12 -0
  539. package/types/check/project-changes.d.ts +13 -0
  540. package/types/check/project-context.d.ts +10 -0
  541. package/types/check-settlement/facts.d.ts +1 -1
  542. package/types/data-boundary/canonical-data.d.ts +28 -5
  543. package/types/data-boundary/canonical-json.d.ts +18 -1
  544. package/types/data-boundary/closed-values.d.ts +17 -1
  545. package/types/data-boundary/config-glob.d.ts +5 -0
  546. package/types/data-boundary/project-path.d.ts +4 -0
  547. package/types/index.d.ts +27 -11
  548. package/types/package-checks/check-authoring.d.ts +45 -0
  549. package/types/package-checks/code-quality-findings/finding-waiver-authoring.d.ts +1 -1
  550. package/types/package-checks/code-quality-findings/finding-waiver-evidence.d.ts +1 -1
  551. package/types/package-checks/command-check/command-check.d.ts +48 -0
  552. package/types/package-checks/command-check/contract.d.ts +108 -0
  553. package/types/package-checks/command-check/execution.d.ts +7 -0
  554. package/types/package-checks/command-check/options.d.ts +11 -0
  555. package/types/package-checks/command-check/transcript.d.ts +8 -0
  556. package/types/package-checks/duplicate-detection/default-check.d.ts +5 -2
  557. package/types/package-checks/duplicate-detection/finding-messages.d.ts +1 -1
  558. package/types/package-checks/duplicate-detection/options.d.ts +4 -3
  559. package/types/package-checks/duplicate-detection/records.d.ts +1 -1
  560. package/types/package-checks/file-metrics/constructor.d.ts +5 -2
  561. package/types/package-checks/file-metrics/options.d.ts +4 -3
  562. package/types/package-checks/file-metrics/records.d.ts +1 -1
  563. package/types/package-checks/file-metrics/scc/batch-planner.d.ts +18 -0
  564. package/types/package-checks/file-metrics/scc/logical-scan-resources.d.ts +14 -0
  565. package/types/package-checks/function-metrics/analyzer/extensions/protocol.d.ts +3 -3
  566. package/types/package-checks/function-metrics/constructor.d.ts +5 -2
  567. package/types/package-checks/function-metrics/finding-messages.d.ts +1 -1
  568. package/types/package-checks/function-metrics/options.d.ts +4 -3
  569. package/types/package-checks/function-metrics/records.d.ts +1 -1
  570. package/types/package-checks/host-environment/git.d.ts +2 -0
  571. package/types/package-checks/host-environment/path.d.ts +1 -3
  572. package/types/package-checks/host-environment/process/contract.d.ts +17 -9
  573. package/types/package-checks/json-schema-validation/default-check.d.ts +4 -1
  574. package/types/package-checks/json-schema-validation/options.d.ts +2 -1
  575. package/types/package-checks/json-validation/default-check.d.ts +4 -1
  576. package/types/package-checks/json-validation/options.d.ts +2 -1
  577. package/types/package-checks/local-cache-options.d.ts +9 -0
  578. package/types/package-checks/maintenance-reminders/maintenance-reminders.d.ts +11 -2
  579. package/types/package-checks/markdown-link-validation/default-check.d.ts +4 -1
  580. package/types/package-checks/markdown-link-validation/options.d.ts +4 -7
  581. package/types/package-checks/markdown-lint/adapter.d.ts +10 -0
  582. package/types/package-checks/markdown-lint/default-check.d.ts +37 -0
  583. package/types/package-checks/markdown-lint/execution.d.ts +24 -0
  584. package/types/package-checks/markdown-lint/final-data.d.ts +8 -0
  585. package/types/package-checks/markdown-lint/finding-messages.d.ts +6 -0
  586. package/types/package-checks/markdown-lint/finding-waiver-identity.d.ts +3 -0
  587. package/types/package-checks/markdown-lint/findings-cache.d.ts +17 -0
  588. package/types/package-checks/markdown-lint/options-resolution.d.ts +3 -0
  589. package/types/package-checks/markdown-lint/options-validation.d.ts +2 -0
  590. package/types/package-checks/markdown-lint/options.d.ts +65 -0
  591. package/types/package-checks/markdown-lint/records.d.ts +39 -0
  592. package/types/package-checks/markdown-lint/unavailable-reasons.d.ts +3 -0
  593. package/types/package-checks/secret-detection/default-check.d.ts +4 -1
  594. package/types/package-checks/secret-detection/options.d.ts +3 -2
  595. package/types/package-tools/admission-policy/define-admission-policy.d.ts +26 -0
  596. package/types/{check → package-tools/finding-presentation}/finding-presentation.d.ts +3 -1
  597. package/types/{finding-waivers → package-tools/finding-waivers}/reconciliation.d.ts +3 -3
  598. package/types/{learned-critical-path → package-tools/learned-critical-path}/duration-model/prediction.d.ts +2 -2
  599. package/types/{learned-critical-path → package-tools/learned-critical-path}/duration-model/preparation.d.ts +1 -1
  600. package/types/{learned-critical-path → package-tools/learned-critical-path}/duration-model/recording.d.ts +1 -1
  601. package/types/{learned-critical-path → package-tools/learned-critical-path}/selection-layers.d.ts +1 -1
  602. package/types/{learned-critical-path → package-tools/learned-critical-path}/static-decision.d.ts +1 -1
  603. package/types/{learned-critical-path → package-tools/learned-critical-path}/strategy.d.ts +1 -1
  604. package/types/project-definition/check-tree/authoring.d.ts +5 -3
  605. package/types/project-definition/check-tree/check-fields-authoring.d.ts +12 -7
  606. package/types/project-definition/check-tree/flag-conditions.d.ts +5 -0
  607. package/types/project-definition/check-tree/resolution.d.ts +6 -4
  608. package/types/project-definition/declarative-snapshot.d.ts +4 -1
  609. package/types/project-definition/project-changes.d.ts +30 -0
  610. package/types/project-definition/project-definition.d.ts +15 -30
  611. package/types/project-definition/scheduler-policy.d.ts +3 -3
  612. package/types/project-run/admission-strategy-provider/prepared-admission-strategy.d.ts +2 -2
  613. package/types/project-run/aggregation.d.ts +8 -6
  614. package/types/project-run/changes/git.d.ts +14 -0
  615. package/types/project-run/check-execution/admitted-check-execution.d.ts +18 -0
  616. package/types/project-run/check-execution/dependencies.d.ts +3 -0
  617. package/types/project-run/check-execution/execution-finalization.d.ts +1 -1
  618. package/types/project-run/check-execution/execution-settlement.d.ts +15 -7
  619. package/types/project-run/check-execution/flag-controls.d.ts +1 -1
  620. package/types/project-run/check-execution/lifecycle.d.ts +9 -5
  621. package/types/project-run/check-execution/{preflight-result.d.ts → preparation-result.d.ts} +3 -3
  622. package/types/project-run/check-execution/{preflight.d.ts → preparation.d.ts} +10 -9
  623. package/types/project-run/check-execution/ready-check-execution.d.ts +18 -0
  624. package/types/project-run/check-execution/resolved-checks.d.ts +12 -13
  625. package/types/project-run/check-execution/scheduled-check-run.d.ts +10 -0
  626. package/types/project-run/check-execution/terminal-result.d.ts +13 -1
  627. package/types/project-run/completion/completion.d.ts +3 -1
  628. package/types/project-run/controls/contract.d.ts +6 -16
  629. package/types/project-run/invocation/candidates.d.ts +8 -0
  630. package/types/project-run/invocation/execution.d.ts +5 -0
  631. package/types/project-run/invocation/run.d.ts +2 -2
  632. package/types/project-run/outputs/status.d.ts +4 -4
  633. package/types/project-run/progress-rendering/presentation.d.ts +4 -3
  634. package/types/project-run/progress-rendering/renderer-formatting.d.ts +5 -2
  635. package/types/project-run/progress-rendering/renderer-lifecycle.d.ts +2 -0
  636. package/types/project-run/progress-rendering/renderer.d.ts +4 -2
  637. package/types/project-run/project-context.d.ts +3 -3
  638. package/types/project-run/result.d.ts +3 -3
  639. package/types/project-run/run.d.ts +1 -1
  640. package/types/project-run/task-scheduler/admission-core/compiled-graph-lookup.d.ts +10 -0
  641. package/types/project-run/task-scheduler/execution-state.d.ts +4 -4
  642. package/types/project-run/task-scheduler/measurement/diagnostics.d.ts +2 -2
  643. package/types/project-run/task-scheduler/scheduler-terminal-measurement.d.ts +1 -1
  644. package/dist/esm/cache/cache-json-by-key.mjs.map +0 -1
  645. package/dist/esm/check/finding-presentation.mjs.map +0 -1
  646. package/dist/esm/finding-waivers/reconciliation.mjs.map +0 -1
  647. package/dist/esm/learned-critical-path/duration-model/bounded-history.mjs.map +0 -1
  648. package/dist/esm/learned-critical-path/duration-model/prediction.mjs.map +0 -1
  649. package/dist/esm/learned-critical-path/duration-model/preparation.mjs.map +0 -1
  650. package/dist/esm/learned-critical-path/duration-model/recording.mjs.map +0 -1
  651. package/dist/esm/learned-critical-path/duration-model/storage.mjs.map +0 -1
  652. package/dist/esm/learned-critical-path/selection-layers.mjs.map +0 -1
  653. package/dist/esm/learned-critical-path/static-decision.mjs.map +0 -1
  654. package/dist/esm/learned-critical-path/strategy.mjs.map +0 -1
  655. package/dist/esm/package-checks/project-files/config-glob.mjs.map +0 -1
  656. package/dist/esm/project-run/check-execution/preflight-result.mjs.map +0 -1
  657. package/dist/esm/project-run/check-execution/preflight.mjs.map +0 -1
  658. package/dist/esm/project-run/task-scheduler/critical-path-ranking.mjs.map +0 -1
  659. package/types/package-checks/project-files/config-glob.d.ts +0 -5
  660. /package/dist/esm/{check → package-tools/finding-presentation}/finding-presentation.mjs +0 -0
  661. /package/dist/esm/{project-run/task-scheduler → package-tools/learned-critical-path}/critical-path-ranking.mjs +0 -0
  662. /package/dist/esm/{learned-critical-path → package-tools/learned-critical-path}/duration-model/bounded-history.mjs +0 -0
  663. /package/dist/esm/{learned-critical-path → package-tools/learned-critical-path}/duration-model/recording.mjs +0 -0
  664. /package/dist/esm/{learned-critical-path → package-tools/learned-critical-path}/static-decision.mjs +0 -0
  665. /package/src/{project-run/task-scheduler → package-tools/learned-critical-path}/critical-path-ranking.ts +0 -0
  666. /package/src/{learned-critical-path → package-tools/learned-critical-path}/duration-model/bounded-history.ts +0 -0
  667. /package/types/{cache → package-tools/cache}/cache-json-by-key.d.ts +0 -0
  668. /package/types/{project-run/task-scheduler → package-tools/learned-critical-path}/critical-path-ranking.d.ts +0 -0
  669. /package/types/{learned-critical-path → package-tools/learned-critical-path}/duration-model/bounded-history.d.ts +0 -0
  670. /package/types/{learned-critical-path → package-tools/learned-critical-path}/duration-model/storage.d.ts +0 -0
@@ -5,7 +5,7 @@ import {
5
5
  import type { CheckMessage } from "../../check/check.ts";
6
6
  import { parseCheckMessages } from "./messages.ts";
7
7
 
8
- export type ParsedCheckPreflightResult =
8
+ export type ParsedCheckPreparationResult =
9
9
  | Readonly<{
10
10
  readonly status: "success";
11
11
  readonly preparedOptions: unknown;
@@ -25,30 +25,32 @@ export type ParsedCheckPreflightResult =
25
25
  readonly messages: readonly CheckMessage[];
26
26
  }>;
27
27
 
28
- /** Parses the closed result vocabulary returned by one trusted Check preflight. */
29
- export function parseCheckPreflightResult(value: unknown): ParsedCheckPreflightResult | undefined {
30
- const preflightResult = snapshotClosedRecord(value);
31
- if (preflightResult === undefined) {
28
+ /** Parses the closed result vocabulary returned by one trusted Check preparation. */
29
+ export function parseCheckPreparationResult(
30
+ value: unknown
31
+ ): ParsedCheckPreparationResult | undefined {
32
+ const preparationResult = snapshotClosedRecord(value);
33
+ if (preparationResult === undefined) {
32
34
  return undefined;
33
35
  }
34
- const messages = parseCheckMessages(preflightResult.messages);
36
+ const messages = parseCheckMessages(preparationResult.messages);
35
37
  if (messages === undefined) return undefined;
36
- switch (preflightResult.status) {
38
+ switch (preparationResult.status) {
37
39
  case "success":
38
- return parseSuccessfulPreflight(preflightResult, messages);
40
+ return parseSuccessfulPreparation(preparationResult, messages);
39
41
  case "failure":
40
- return parseFailedPreflight(preflightResult, messages);
42
+ return parseFailedPreparation(preparationResult, messages);
41
43
  default:
42
44
  return undefined;
43
45
  }
44
46
  }
45
47
 
46
- function parseSuccessfulPreflight(
47
- preflightResult: Readonly<Record<string, unknown>>,
48
+ function parseSuccessfulPreparation(
49
+ preparationResult: Readonly<Record<string, unknown>>,
48
50
  messages: readonly CheckMessage[]
49
- ): ParsedCheckPreflightResult | undefined {
51
+ ): ParsedCheckPreparationResult | undefined {
50
52
  if (
51
- !hasRequiredAndOptionalRecordKeys(preflightResult, {
53
+ !hasRequiredAndOptionalRecordKeys(preparationResult, {
52
54
  optional: ["messages"],
53
55
  required: ["status", "preparedOptions"]
54
56
  })
@@ -57,35 +59,35 @@ function parseSuccessfulPreflight(
57
59
  }
58
60
  return Object.freeze({
59
61
  status: "success",
60
- preparedOptions: preflightResult.preparedOptions,
62
+ preparedOptions: preparationResult.preparedOptions,
61
63
  messages
62
64
  });
63
65
  }
64
66
 
65
- function parseFailedPreflight(
66
- preflightResult: Readonly<Record<string, unknown>>,
67
+ function parseFailedPreparation(
68
+ preparationResult: Readonly<Record<string, unknown>>,
67
69
  messages: readonly CheckMessage[]
68
- ): ParsedCheckPreflightResult | undefined {
69
- if (typeof preflightResult.action !== "string") return undefined;
70
- const reason = parsePreflightReason(preflightResult.reason);
70
+ ): ParsedCheckPreparationResult | undefined {
71
+ if (typeof preparationResult.action !== "string") return undefined;
72
+ const reason = parsePreparationReason(preparationResult.reason);
71
73
  if (reason === undefined) return undefined;
72
- switch (preflightResult.action) {
74
+ switch (preparationResult.action) {
73
75
  case "block":
74
- return parseBlockedPreflight(preflightResult, reason, messages);
76
+ return parseBlockedPreparation(preparationResult, reason, messages);
75
77
  case "continue":
76
- return parseContinuedPreflight(preflightResult, reason, messages);
78
+ return parseContinuedPreparation(preparationResult, reason, messages);
77
79
  default:
78
80
  return undefined;
79
81
  }
80
82
  }
81
83
 
82
- function parseBlockedPreflight(
83
- preflightResult: Readonly<Record<string, unknown>>,
84
+ function parseBlockedPreparation(
85
+ preparationResult: Readonly<Record<string, unknown>>,
84
86
  reason: Readonly<{ readonly code: string }>,
85
87
  messages: readonly CheckMessage[]
86
- ): ParsedCheckPreflightResult | undefined {
88
+ ): ParsedCheckPreparationResult | undefined {
87
89
  if (
88
- !hasRequiredAndOptionalRecordKeys(preflightResult, {
90
+ !hasRequiredAndOptionalRecordKeys(preparationResult, {
89
91
  optional: ["messages"],
90
92
  required: ["status", "action", "reason"]
91
93
  })
@@ -95,13 +97,13 @@ function parseBlockedPreflight(
95
97
  return Object.freeze({ status: "failure", action: "block", reason, messages });
96
98
  }
97
99
 
98
- function parseContinuedPreflight(
99
- preflightResult: Readonly<Record<string, unknown>>,
100
+ function parseContinuedPreparation(
101
+ preparationResult: Readonly<Record<string, unknown>>,
100
102
  reason: Readonly<{ readonly code: string }>,
101
103
  messages: readonly CheckMessage[]
102
- ): ParsedCheckPreflightResult | undefined {
104
+ ): ParsedCheckPreparationResult | undefined {
103
105
  if (
104
- !hasRequiredAndOptionalRecordKeys(preflightResult, {
106
+ !hasRequiredAndOptionalRecordKeys(preparationResult, {
105
107
  optional: ["messages"],
106
108
  required: ["status", "action", "fallback", "reason"]
107
109
  })
@@ -111,13 +113,13 @@ function parseContinuedPreflight(
111
113
  return Object.freeze({
112
114
  status: "failure",
113
115
  action: "continue" as const,
114
- fallback: preflightResult.fallback,
116
+ fallback: preparationResult.fallback,
115
117
  reason,
116
118
  messages
117
119
  });
118
120
  }
119
121
 
120
- function parsePreflightReason(value: unknown): Readonly<{ readonly code: string }> | undefined {
122
+ function parsePreparationReason(value: unknown): Readonly<{ readonly code: string }> | undefined {
121
123
  const reason = snapshotClosedRecord(value);
122
124
  if (
123
125
  reason === undefined ||
@@ -1,4 +1,4 @@
1
- import type { CheckMessage, CheckOutcome } from "../../check/check.ts";
1
+ import type { CheckMessage, CheckOutcome, CheckProjectContext } from "../../check/check.ts";
2
2
  import type { NormalizedCheck } from "../../project-definition/project-definition.ts";
3
3
  import { snapshotJsonObject } from "../../check/options-snapshot.ts";
4
4
  import {
@@ -6,35 +6,38 @@ import {
6
6
  summarizeDiagnosticValue,
7
7
  type DiagnosticLogger
8
8
  } from "../diagnostic-logging/logger.ts";
9
- import { parseCheckPreflightResult, type ParsedCheckPreflightResult } from "./preflight-result.ts";
9
+ import {
10
+ parseCheckPreparationResult,
11
+ type ParsedCheckPreparationResult
12
+ } from "./preparation-result.ts";
10
13
  import { invokeWithCapturedConsole } from "./console-capture.ts";
11
14
  import { combineCheckMessages } from "./messages.ts";
12
15
 
13
16
  const EMPTY_MESSAGES: readonly CheckMessage[] = Object.freeze([]);
14
17
  const INERT_SIGNAL = new AbortController().signal;
15
18
 
16
- export type PreparedCheck = Omit<NormalizedCheck, "options" | "preflight"> &
17
- Readonly<{ readonly options: object; readonly preflightMessages: readonly CheckMessage[] }>;
19
+ export type PreparedCheck = Omit<NormalizedCheck, "options" | "prepare"> &
20
+ Readonly<{ readonly options: object; readonly preparationMessages: readonly CheckMessage[] }>;
18
21
 
19
- type BlockedCheck = Pick<NormalizedCheck, "definition" | "visibility"> &
20
- Readonly<{ readonly preflightMessages: readonly CheckMessage[] }>;
22
+ type BlockedCheck = Pick<NormalizedCheck, "definition" | "omitQuietPassedRow"> &
23
+ Readonly<{ readonly preparationMessages: readonly CheckMessage[] }>;
21
24
 
22
- export type ReadyCheckPreflightResolution = Readonly<{
25
+ export type ReadyCheckPreparationResolution = Readonly<{
23
26
  readonly kind: "ready";
24
27
  readonly check: PreparedCheck;
25
28
  }>;
26
29
 
27
- export type BlockedCheckPreflightResolution = Readonly<{
30
+ export type BlockedCheckPreparationResolution = Readonly<{
28
31
  readonly kind: "blocked";
29
32
  readonly check: BlockedCheck;
30
33
  readonly outcome: CheckOutcome;
31
34
  }>;
32
35
 
33
- export type CheckPreflightResolution =
34
- | ReadyCheckPreflightResolution
35
- | BlockedCheckPreflightResolution;
36
+ export type CheckPreparationResolution =
37
+ | ReadyCheckPreparationResolution
38
+ | BlockedCheckPreparationResolution;
36
39
 
37
- type PreflightResolutionResult =
40
+ type PreparationResolutionResult =
38
41
  | "skipped"
39
42
  | "prepared"
40
43
  | "continued"
@@ -48,15 +51,16 @@ type PreflightResolutionResult =
48
51
  type PrepareCheckInput = Readonly<{
49
52
  readonly check: NormalizedCheck;
50
53
  readonly diagnosticLogger: DiagnosticLogger | undefined;
54
+ readonly project: CheckProjectContext;
51
55
  readonly signal: AbortSignal | undefined;
52
56
  }>;
53
57
 
54
- type PreflightInvocation = Awaited<ReturnType<typeof invokeWithCapturedConsole<unknown>>>;
58
+ type PreparationInvocation = Awaited<ReturnType<typeof invokeWithCapturedConsole<unknown>>>;
55
59
 
56
60
  /** Resolves one Check's task-local preparation after Scheduler admission. */
57
- export async function prepareCheck(input: PrepareCheckInput): Promise<CheckPreflightResolution> {
58
- if (input.signal?.aborted) {
59
- return observeBlockedPreflight({
61
+ export async function prepareCheck(input: PrepareCheckInput): Promise<CheckPreparationResolution> {
62
+ if (input.signal?.aborted === true) {
63
+ return observeBlockedPreparation({
60
64
  check: input.check,
61
65
  diagnosticLogger: input.diagnosticLogger,
62
66
  details: {},
@@ -64,13 +68,13 @@ export async function prepareCheck(input: PrepareCheckInput): Promise<CheckPrefl
64
68
  reasonCode: "execution-cancelled"
65
69
  });
66
70
  }
67
- if (input.check.preflight === undefined) {
71
+ if (input.check.prepare === undefined) {
68
72
  return resolveAuthoredOptions(input);
69
73
  }
70
- return resolvePreflightInvocation(input, await invokePreflight(input.check, input.signal));
74
+ return resolvePreparationInvocation(input, await invokePreparation(input));
71
75
  }
72
76
 
73
- function resolveAuthoredOptions(input: PrepareCheckInput): CheckPreflightResolution {
77
+ function resolveAuthoredOptions(input: PrepareCheckInput): CheckPreparationResolution {
74
78
  const resolution = readyResolution({
75
79
  authoredCheck: input.check,
76
80
  messages: EMPTY_MESSAGES,
@@ -86,125 +90,129 @@ function resolveAuthoredOptions(input: PrepareCheckInput): CheckPreflightResolut
86
90
  return resolution;
87
91
  }
88
92
 
89
- function resolvePreflightInvocation(
93
+ function resolvePreparationInvocation(
90
94
  input: PrepareCheckInput,
91
- invocation: PreflightInvocation
92
- ): CheckPreflightResolution {
95
+ invocation: PreparationInvocation
96
+ ): CheckPreparationResolution {
93
97
  if (invocation.kind === "threw") {
94
- return observeBlockedPreflight({
98
+ return observeBlockedPreparation({
95
99
  check: input.check,
96
100
  diagnosticLogger: input.diagnosticLogger,
97
101
  details: { error: invocation.error },
98
102
  messages: invocation.messages,
99
- result: input.signal?.aborted ? "cancelled-after-throw" : "threw",
100
- reasonCode: input.signal?.aborted ? "execution-cancelled" : "preflight-threw"
103
+ result: input.signal?.aborted === true ? "cancelled-after-throw" : "threw",
104
+ reasonCode: input.signal?.aborted === true ? "execution-cancelled" : "preparation-threw"
101
105
  });
102
106
  }
103
- return resolveReturnedPreflight(input, invocation.output, invocation.messages);
107
+ return resolveReturnedPreparation(input, invocation.output, invocation.messages);
104
108
  }
105
109
 
106
- function resolveReturnedPreflight(
110
+ function resolveReturnedPreparation(
107
111
  input: PrepareCheckInput,
108
- preflightOutput: unknown,
112
+ preparationOutput: unknown,
109
113
  consoleMessages: readonly CheckMessage[]
110
- ): CheckPreflightResolution {
111
- if (input.signal?.aborted) {
112
- return observeBlockedPreflight({
114
+ ): CheckPreparationResolution {
115
+ if (input.signal?.aborted === true) {
116
+ return observeBlockedPreparation({
113
117
  check: input.check,
114
118
  diagnosticLogger: input.diagnosticLogger,
115
- details: { raw: preflightOutput },
119
+ details: { raw: preparationOutput },
116
120
  messages: consoleMessages,
117
121
  result: "cancelled-after-callback",
118
122
  reasonCode: "execution-cancelled"
119
123
  });
120
124
  }
121
- const preflightResult = parseCheckPreflightResult(preflightOutput);
122
- if (preflightResult === undefined) {
123
- return observeBlockedPreflight({
125
+ const preparationResult = parseCheckPreparationResult(preparationOutput);
126
+ if (preparationResult === undefined) {
127
+ return observeBlockedPreparation({
124
128
  check: input.check,
125
129
  diagnosticLogger: input.diagnosticLogger,
126
- details: { raw: preflightOutput },
130
+ details: { raw: preparationOutput },
127
131
  messages: consoleMessages,
128
132
  result: "malformed",
129
- reasonCode: "invalid-preflight-result"
133
+ reasonCode: "invalid-preparation-result"
130
134
  });
131
135
  }
132
- if (preflightResult.status === "failure" && preflightResult.action === "block") {
133
- return resolveBlockedPreflightResult(input, preflightResult, consoleMessages);
136
+ if (preparationResult.status === "failure" && preparationResult.action === "block") {
137
+ return resolveBlockedPreparationResult(input, preparationResult, consoleMessages);
134
138
  }
135
- return resolveReadyPreflightResult(input, preflightOutput, preflightResult, consoleMessages);
139
+ return resolveReadyPreparationResult(
140
+ input,
141
+ preparationOutput,
142
+ preparationResult,
143
+ consoleMessages
144
+ );
136
145
  }
137
146
 
138
- function resolveBlockedPreflightResult(
147
+ function resolveBlockedPreparationResult(
139
148
  input: PrepareCheckInput,
140
- preflightResult: Extract<ParsedCheckPreflightResult, { readonly action: "block" }>,
149
+ preparationResult: Extract<ParsedCheckPreparationResult, { readonly action: "block" }>,
141
150
  consoleMessages: readonly CheckMessage[]
142
- ): CheckPreflightResolution {
151
+ ): CheckPreparationResolution {
143
152
  const resolution = blockedResolution({
144
153
  check: input.check,
145
- messages: combineCheckMessages(consoleMessages, preflightResult.messages),
146
- reasonCode: preflightResult.reason.code
154
+ messages: combineCheckMessages(consoleMessages, preparationResult.messages),
155
+ reasonCode: preparationResult.reason.code
147
156
  });
148
- observePreflightResolution(
157
+ observePreparationResolution(
149
158
  input.diagnosticLogger,
150
159
  input.check.definition.checkId,
151
160
  resolution,
152
161
  "blocked",
153
162
  {
154
- ...(preflightResult.messages.length === 0 ? {} : { messages: preflightResult.messages }),
155
- reason: preflightResult.reason
163
+ ...(preparationResult.messages.length === 0 ? {} : { messages: preparationResult.messages }),
164
+ reason: preparationResult.reason
156
165
  }
157
166
  );
158
167
  return resolution;
159
168
  }
160
169
 
161
- function resolveReadyPreflightResult(
170
+ function resolveReadyPreparationResult(
162
171
  input: PrepareCheckInput,
163
- preflightOutput: unknown,
164
- preflightResult: Exclude<ParsedCheckPreflightResult, { readonly action: "block" }>,
172
+ preparationOutput: unknown,
173
+ preparationResult: Exclude<ParsedCheckPreparationResult, { readonly action: "block" }>,
165
174
  consoleMessages: readonly CheckMessage[]
166
- ): CheckPreflightResolution {
175
+ ): CheckPreparationResolution {
167
176
  const checkId = input.check.definition.checkId;
168
- const result = preflightResult.status === "success" ? "prepared" : "continued";
177
+ const result = preparationResult.status === "success" ? "prepared" : "continued";
169
178
  const resolution = readyResolution({
170
179
  authoredCheck: input.check,
171
- messages: combineCheckMessages(consoleMessages, preflightResult.messages),
180
+ messages: combineCheckMessages(consoleMessages, preparationResult.messages),
172
181
  preparedOptions:
173
- preflightResult.status === "success"
174
- ? preflightResult.preparedOptions
175
- : preflightResult.fallback
182
+ preparationResult.status === "success"
183
+ ? preparationResult.preparedOptions
184
+ : preparationResult.fallback
176
185
  });
177
186
  observeReadyOrMalformedResolution(input.diagnosticLogger, checkId, resolution, result, {
178
- messages: preflightResult.messages,
179
- ...(preflightResult.status === "success" ? {} : { reason: preflightResult.reason }),
180
- raw: preflightOutput
187
+ messages: preparationResult.messages,
188
+ ...(preparationResult.status === "success" ? {} : { reason: preparationResult.reason }),
189
+ raw: preparationOutput
181
190
  });
182
191
  return resolution;
183
192
  }
184
193
 
185
- async function invokePreflight(
186
- check: NormalizedCheck,
187
- signal: AbortSignal | undefined
188
- ): Promise<PreflightInvocation> {
189
- return invokeWithCapturedConsole(() => check.preflight!(check.options, signal ?? INERT_SIGNAL));
194
+ async function invokePreparation(input: PrepareCheckInput): Promise<PreparationInvocation> {
195
+ return invokeWithCapturedConsole(() =>
196
+ input.check.prepare!(input.check.options, input.signal ?? INERT_SIGNAL, input.project)
197
+ );
190
198
  }
191
199
 
192
- function observeBlockedPreflight(
200
+ function observeBlockedPreparation(
193
201
  input: Readonly<{
194
202
  readonly check: NormalizedCheck;
195
203
  readonly diagnosticLogger: DiagnosticLogger | undefined;
196
204
  readonly details: Readonly<Record<string, unknown>>;
197
205
  readonly messages?: readonly CheckMessage[];
198
- readonly result: PreflightResolutionResult;
206
+ readonly result: PreparationResolutionResult;
199
207
  readonly reasonCode: string;
200
208
  }>
201
- ): BlockedCheckPreflightResolution {
209
+ ): BlockedCheckPreparationResolution {
202
210
  const resolution = blockedResolution({
203
211
  check: input.check,
204
212
  messages: input.messages ?? EMPTY_MESSAGES,
205
213
  reasonCode: input.reasonCode
206
214
  });
207
- observePreflightResolution(
215
+ observePreparationResolution(
208
216
  input.diagnosticLogger,
209
217
  input.check.definition.checkId,
210
218
  resolution,
@@ -217,18 +225,18 @@ function observeBlockedPreflight(
217
225
  function observeReadyOrMalformedResolution(
218
226
  diagnosticLogger: DiagnosticLogger | undefined,
219
227
  checkId: string,
220
- resolution: CheckPreflightResolution,
228
+ resolution: CheckPreparationResolution,
221
229
  result: "skipped" | "prepared" | "continued",
222
230
  details: Readonly<Record<string, unknown>>
223
231
  ): void {
224
232
  if (resolution.kind === "blocked") {
225
- observePreflightResolution(diagnosticLogger, checkId, resolution, "malformed", {
233
+ observePreparationResolution(diagnosticLogger, checkId, resolution, "malformed", {
226
234
  raw: "raw" in details ? details.raw : summarizeDiagnosticValue(details)
227
235
  });
228
236
  return;
229
237
  }
230
238
  const messages = "messages" in details ? details.messages : EMPTY_MESSAGES;
231
- observePreflightResolution(diagnosticLogger, checkId, resolution, result, {
239
+ observePreparationResolution(diagnosticLogger, checkId, resolution, result, {
232
240
  ...(Array.isArray(messages) && messages.length > 0 ? { messages } : {}),
233
241
  options: summarizeDiagnosticValue(resolution.check.options),
234
242
  ...("reason" in details ? { reason: details.reason } : {}),
@@ -236,16 +244,16 @@ function observeReadyOrMalformedResolution(
236
244
  });
237
245
  }
238
246
 
239
- function observePreflightResolution(
247
+ function observePreparationResolution(
240
248
  diagnosticLogger: DiagnosticLogger | undefined,
241
249
  checkId: string,
242
- resolution: CheckPreflightResolution,
243
- result: PreflightResolutionResult,
250
+ resolution: CheckPreparationResolution,
251
+ result: PreparationResolutionResult,
244
252
  details: Readonly<Record<string, unknown>>
245
253
  ): void {
246
254
  diagnosticLogger?.observe({
247
- event: "preflight.resolved",
248
- tags: diagnosticTags(`CHECK:${checkId}`, "PREFLIGHT", result.toUpperCase()),
255
+ event: "preparation.resolved",
256
+ tags: diagnosticTags(`CHECK:${checkId}`, "PREPARATION", result.toUpperCase()),
249
257
  details: {
250
258
  ...details,
251
259
  ...(resolution.kind === "blocked" ? { outcome: resolution.outcome } : {})
@@ -259,22 +267,22 @@ function readyResolution(
259
267
  readonly messages: readonly CheckMessage[];
260
268
  readonly preparedOptions: unknown;
261
269
  }>
262
- ): CheckPreflightResolution {
270
+ ): CheckPreparationResolution {
263
271
  const preparedOptions = snapshotJsonObject(input.preparedOptions);
264
272
  if (preparedOptions === undefined) {
265
273
  return blockedResolution({
266
274
  check: input.authoredCheck,
267
275
  messages: input.messages,
268
- reasonCode: "invalid-preflight-result"
276
+ reasonCode: "invalid-preparation-result"
269
277
  });
270
278
  }
271
- const { preflight: _preflight, ...check } = input.authoredCheck;
279
+ const { prepare: _preparation, ...check } = input.authoredCheck;
272
280
  return Object.freeze({
273
281
  kind: "ready",
274
282
  check: Object.freeze({
275
283
  ...check,
276
284
  options: preparedOptions,
277
- preflightMessages: input.messages
285
+ preparationMessages: input.messages
278
286
  })
279
287
  });
280
288
  }
@@ -285,13 +293,13 @@ function blockedResolution(
285
293
  readonly messages: readonly CheckMessage[];
286
294
  readonly reasonCode: string;
287
295
  }>
288
- ): BlockedCheckPreflightResolution {
296
+ ): BlockedCheckPreparationResolution {
289
297
  return Object.freeze({
290
298
  kind: "blocked",
291
299
  check: Object.freeze({
292
300
  definition: input.check.definition,
293
- preflightMessages: input.messages,
294
- visibility: input.check.visibility
301
+ preparationMessages: input.messages,
302
+ omitQuietPassedRow: input.check.omitQuietPassedRow
295
303
  }),
296
304
  outcome: Object.freeze({
297
305
  status: "unavailable",
@@ -0,0 +1,97 @@
1
+ /** Executes and settles a Check after its task-local preparation has admitted it. */
2
+
3
+ import type { CheckProjectContext } from "../../check/check.ts";
4
+ import type { NormalizedCheck } from "../../project-definition/project-definition.ts";
5
+ import { artifactDirectoryForCheck, type ResolvedInvocationPaths } from "../invocation/paths.ts";
6
+ import { diagnosticTags, summarizeDiagnosticValue } from "../diagnostic-logging/logger.ts";
7
+ import { executeCheckCallback } from "./callback.ts";
8
+ import { createCheckDependencies } from "./dependencies.ts";
9
+ import { checkIdentity } from "./execution-finalization.ts";
10
+ import {
11
+ recordSettledCheck,
12
+ settleCallback,
13
+ type CheckExecutionState
14
+ } from "./execution-settlement.ts";
15
+ import type { ReadyCheckPreparationResolution } from "./preparation.ts";
16
+
17
+ export type ReadyCheckExecutionInput = CheckExecutionState &
18
+ Readonly<{
19
+ readonly check: NormalizedCheck;
20
+ readonly clock: Readonly<{ now(): number }>;
21
+ readonly invocationId: string;
22
+ readonly paths: ResolvedInvocationPaths | undefined;
23
+ readonly prepare: ReadyCheckPreparationResolution;
24
+ readonly project: CheckProjectContext;
25
+ readonly signal: AbortSignal;
26
+ }>;
27
+
28
+ export async function executeReadyCheck(input: ReadyCheckExecutionInput): Promise<boolean> {
29
+ const check = input.prepare.check;
30
+ const checkId = check.definition.checkId;
31
+ const scope = input.session.openCheckScope(checkId);
32
+ const identity = checkIdentity(check);
33
+ input.diagnosticLogger?.observe({
34
+ event: "check.started",
35
+ tags: diagnosticTags(`CHECK:${checkId}`, "EXECUTION", "STARTED"),
36
+ details: {
37
+ dependencies: check.dependsOn,
38
+ displayName: check.definition.displayName,
39
+ options: summarizeDiagnosticValue(check.options)
40
+ }
41
+ });
42
+ input.lifecycle?.started(
43
+ Object.freeze({
44
+ checkId: identity.checkId,
45
+ displayName: identity.displayName,
46
+ omitQuietPassedRow: identity.omitQuietPassedRow
47
+ })
48
+ );
49
+ const startedAt = input.clock.now();
50
+ const callback = await executeCheckCallback({
51
+ artifactDirectory:
52
+ input.paths === undefined ? null : artifactDirectoryForCheck(input.paths, checkId),
53
+ check,
54
+ dependencies: createCheckDependencies({
55
+ checkId,
56
+ directDependsOnCheckIds: check.dependsOn,
57
+ diagnosticLogger: input.diagnosticLogger,
58
+ directRelationCheckIds: directRelationCheckIds(check),
59
+ handoffsByCheckId: input.handoffsByCheckId,
60
+ session: input.session
61
+ }),
62
+ ...(input.diagnosticLogger === undefined ? {} : { diagnosticLogger: input.diagnosticLogger }),
63
+ invocationId: input.invocationId,
64
+ project: input.project,
65
+ scope,
66
+ signal: input.signal
67
+ });
68
+ const settled = settleCallback({
69
+ callback,
70
+ checkId,
71
+ diagnosticLogger: input.diagnosticLogger,
72
+ handoff: check.handoff,
73
+ preparationMessages: check.preparationMessages,
74
+ scope,
75
+ state: input
76
+ });
77
+ recordSettledCheck({
78
+ check: identity,
79
+ durationMs: durationSince(startedAt, input.clock),
80
+ messages: settled.messages,
81
+ outcome: settled.outcome,
82
+ phase: "execution",
83
+ state: input
84
+ });
85
+ return settled.outcome.status === "passed";
86
+ }
87
+
88
+ function directRelationCheckIds(
89
+ check: Pick<NormalizedCheck, "dependsOn" | "observes">
90
+ ): readonly string[] {
91
+ return Object.freeze([...new Set([...check.dependsOn, ...check.observes])].sort());
92
+ }
93
+
94
+ function durationSince(startedAt: number, clock: Readonly<{ now(): number }>): number {
95
+ const elapsed = clock.now() - startedAt;
96
+ return Number.isFinite(elapsed) && elapsed >= 0 ? elapsed : 0;
97
+ }