agentskeptic 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (661) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +342 -0
  3. package/dist/actionableFailure.d.ts +53 -0
  4. package/dist/actionableFailure.d.ts.map +1 -0
  5. package/dist/actionableFailure.js +424 -0
  6. package/dist/actionableFailure.js.map +1 -0
  7. package/dist/actionableFailure.partitionExhaustive.test.d.ts +2 -0
  8. package/dist/actionableFailure.partitionExhaustive.test.d.ts.map +1 -0
  9. package/dist/actionableFailure.partitionExhaustive.test.js +20 -0
  10. package/dist/actionableFailure.partitionExhaustive.test.js.map +1 -0
  11. package/dist/actionableFailure.remediationExhaustive.test.d.ts +2 -0
  12. package/dist/actionableFailure.remediationExhaustive.test.d.ts.map +1 -0
  13. package/dist/actionableFailure.remediationExhaustive.test.js +297 -0
  14. package/dist/actionableFailure.remediationExhaustive.test.js.map +1 -0
  15. package/dist/actionableFailure.test.d.ts +2 -0
  16. package/dist/actionableFailure.test.d.ts.map +1 -0
  17. package/dist/actionableFailure.test.js +211 -0
  18. package/dist/actionableFailure.test.js.map +1 -0
  19. package/dist/agentRunBundle.d.ts +24 -0
  20. package/dist/agentRunBundle.d.ts.map +1 -0
  21. package/dist/agentRunBundle.js +114 -0
  22. package/dist/agentRunBundle.js.map +1 -0
  23. package/dist/agentRunBundle.rollback.test.d.ts +2 -0
  24. package/dist/agentRunBundle.rollback.test.d.ts.map +1 -0
  25. package/dist/agentRunBundle.rollback.test.js +65 -0
  26. package/dist/agentRunBundle.rollback.test.js.map +1 -0
  27. package/dist/agentRunBundle.test.d.ts +2 -0
  28. package/dist/agentRunBundle.test.d.ts.map +1 -0
  29. package/dist/agentRunBundle.test.js +126 -0
  30. package/dist/agentRunBundle.test.js.map +1 -0
  31. package/dist/agentRunRecord.d.ts +82 -0
  32. package/dist/agentRunRecord.d.ts.map +1 -0
  33. package/dist/agentRunRecord.js +51 -0
  34. package/dist/agentRunRecord.js.map +1 -0
  35. package/dist/agentRunRecord.test.d.ts +2 -0
  36. package/dist/agentRunRecord.test.d.ts.map +1 -0
  37. package/dist/agentRunRecord.test.js +49 -0
  38. package/dist/agentRunRecord.test.js.map +1 -0
  39. package/dist/aggregate.d.ts +3 -0
  40. package/dist/aggregate.d.ts.map +1 -0
  41. package/dist/aggregate.js +36 -0
  42. package/dist/aggregate.js.map +1 -0
  43. package/dist/assurance/assurancePathArgs.d.ts +10 -0
  44. package/dist/assurance/assurancePathArgs.d.ts.map +1 -0
  45. package/dist/assurance/assurancePathArgs.js +54 -0
  46. package/dist/assurance/assurancePathArgs.js.map +1 -0
  47. package/dist/assurance/checkStale.d.ts +14 -0
  48. package/dist/assurance/checkStale.d.ts.map +1 -0
  49. package/dist/assurance/checkStale.js +48 -0
  50. package/dist/assurance/checkStale.js.map +1 -0
  51. package/dist/assurance/findRepoRoot.d.ts +6 -0
  52. package/dist/assurance/findRepoRoot.d.ts.map +1 -0
  53. package/dist/assurance/findRepoRoot.js +27 -0
  54. package/dist/assurance/findRepoRoot.js.map +1 -0
  55. package/dist/assurance/runAssurance.d.ts +24 -0
  56. package/dist/assurance/runAssurance.d.ts.map +1 -0
  57. package/dist/assurance/runAssurance.js +105 -0
  58. package/dist/assurance/runAssurance.js.map +1 -0
  59. package/dist/bundleSignatureCodes.d.ts +13 -0
  60. package/dist/bundleSignatureCodes.d.ts.map +1 -0
  61. package/dist/bundleSignatureCodes.js +12 -0
  62. package/dist/bundleSignatureCodes.js.map +1 -0
  63. package/dist/canonicalParams.d.ts +3 -0
  64. package/dist/canonicalParams.d.ts.map +1 -0
  65. package/dist/canonicalParams.js +16 -0
  66. package/dist/canonicalParams.js.map +1 -0
  67. package/dist/ciLock.d.ts +52 -0
  68. package/dist/ciLock.d.ts.map +1 -0
  69. package/dist/ciLock.js +117 -0
  70. package/dist/ciLock.js.map +1 -0
  71. package/dist/ciLockWorkflow.d.ts +4 -0
  72. package/dist/ciLockWorkflow.d.ts.map +1 -0
  73. package/dist/ciLockWorkflow.js +278 -0
  74. package/dist/ciLockWorkflow.js.map +1 -0
  75. package/dist/cli.d.ts +3 -0
  76. package/dist/cli.d.ts.map +1 -0
  77. package/dist/cli.failureExplanationInvariant.test.d.ts +2 -0
  78. package/dist/cli.failureExplanationInvariant.test.d.ts.map +1 -0
  79. package/dist/cli.failureExplanationInvariant.test.js +40 -0
  80. package/dist/cli.failureExplanationInvariant.test.js.map +1 -0
  81. package/dist/cli.js +998 -0
  82. package/dist/cli.js.map +1 -0
  83. package/dist/cliArgv.d.ts +40 -0
  84. package/dist/cliArgv.d.ts.map +1 -0
  85. package/dist/cliArgv.js +149 -0
  86. package/dist/cliArgv.js.map +1 -0
  87. package/dist/cliOperationalCodes.d.ts +65 -0
  88. package/dist/cliOperationalCodes.d.ts.map +1 -0
  89. package/dist/cliOperationalCodes.js +64 -0
  90. package/dist/cliOperationalCodes.js.map +1 -0
  91. package/dist/commercial/licensePreflight.d.ts +7 -0
  92. package/dist/commercial/licensePreflight.d.ts.map +1 -0
  93. package/dist/commercial/licensePreflight.js +95 -0
  94. package/dist/commercial/licensePreflight.js.map +1 -0
  95. package/dist/commercial/licensePreflight.test.d.ts +2 -0
  96. package/dist/commercial/licensePreflight.test.d.ts.map +1 -0
  97. package/dist/commercial/licensePreflight.test.js +123 -0
  98. package/dist/commercial/licensePreflight.test.js.map +1 -0
  99. package/dist/compare.acceptance.test.d.ts +2 -0
  100. package/dist/compare.acceptance.test.d.ts.map +1 -0
  101. package/dist/compare.acceptance.test.js +80 -0
  102. package/dist/compare.acceptance.test.js.map +1 -0
  103. package/dist/correctnessDefinition.d.ts +23 -0
  104. package/dist/correctnessDefinition.d.ts.map +1 -0
  105. package/dist/correctnessDefinition.docParity.test.d.ts +2 -0
  106. package/dist/correctnessDefinition.docParity.test.d.ts.map +1 -0
  107. package/dist/correctnessDefinition.docParity.test.js +22 -0
  108. package/dist/correctnessDefinition.docParity.test.js.map +1 -0
  109. package/dist/correctnessDefinition.js +283 -0
  110. package/dist/correctnessDefinition.js.map +1 -0
  111. package/dist/correctnessDefinitionTemplates.d.ts +70 -0
  112. package/dist/correctnessDefinitionTemplates.d.ts.map +1 -0
  113. package/dist/correctnessDefinitionTemplates.js +121 -0
  114. package/dist/correctnessDefinitionTemplates.js.map +1 -0
  115. package/dist/debug-ui/app.css +188 -0
  116. package/dist/debug-ui/app.js +245 -0
  117. package/dist/debug-ui/index.html +79 -0
  118. package/dist/debugCorpus.d.ts +68 -0
  119. package/dist/debugCorpus.d.ts.map +1 -0
  120. package/dist/debugCorpus.js +544 -0
  121. package/dist/debugCorpus.js.map +1 -0
  122. package/dist/debugCorpus.test.d.ts +2 -0
  123. package/dist/debugCorpus.test.d.ts.map +1 -0
  124. package/dist/debugCorpus.test.js +159 -0
  125. package/dist/debugCorpus.test.js.map +1 -0
  126. package/dist/debugFocus.d.ts +16 -0
  127. package/dist/debugFocus.d.ts.map +1 -0
  128. package/dist/debugFocus.js +51 -0
  129. package/dist/debugFocus.js.map +1 -0
  130. package/dist/debugFocus.test.d.ts +2 -0
  131. package/dist/debugFocus.test.d.ts.map +1 -0
  132. package/dist/debugFocus.test.js +43 -0
  133. package/dist/debugFocus.test.js.map +1 -0
  134. package/dist/debugPanels.d.ts +13 -0
  135. package/dist/debugPanels.d.ts.map +1 -0
  136. package/dist/debugPanels.js +113 -0
  137. package/dist/debugPanels.js.map +1 -0
  138. package/dist/debugPanels.test.d.ts +2 -0
  139. package/dist/debugPanels.test.d.ts.map +1 -0
  140. package/dist/debugPanels.test.js +204 -0
  141. package/dist/debugPanels.test.js.map +1 -0
  142. package/dist/debugPatterns.d.ts +47 -0
  143. package/dist/debugPatterns.d.ts.map +1 -0
  144. package/dist/debugPatterns.js +113 -0
  145. package/dist/debugPatterns.js.map +1 -0
  146. package/dist/debugPatterns.test.d.ts +2 -0
  147. package/dist/debugPatterns.test.d.ts.map +1 -0
  148. package/dist/debugPatterns.test.js +48 -0
  149. package/dist/debugPatterns.test.js.map +1 -0
  150. package/dist/debugRunFilters.d.ts +31 -0
  151. package/dist/debugRunFilters.d.ts.map +1 -0
  152. package/dist/debugRunFilters.js +118 -0
  153. package/dist/debugRunFilters.js.map +1 -0
  154. package/dist/debugRunFilters.test.d.ts +2 -0
  155. package/dist/debugRunFilters.test.d.ts.map +1 -0
  156. package/dist/debugRunFilters.test.js +78 -0
  157. package/dist/debugRunFilters.test.js.map +1 -0
  158. package/dist/debugRunIndex.d.ts +27 -0
  159. package/dist/debugRunIndex.d.ts.map +1 -0
  160. package/dist/debugRunIndex.js +58 -0
  161. package/dist/debugRunIndex.js.map +1 -0
  162. package/dist/debugServer.d.ts +19 -0
  163. package/dist/debugServer.d.ts.map +1 -0
  164. package/dist/debugServer.js +315 -0
  165. package/dist/debugServer.js.map +1 -0
  166. package/dist/debugServer.test.d.ts +2 -0
  167. package/dist/debugServer.test.d.ts.map +1 -0
  168. package/dist/debugServer.test.js +207 -0
  169. package/dist/debugServer.test.js.map +1 -0
  170. package/dist/discovery-payload-v1.json +75 -0
  171. package/dist/distributionFooter.d.ts +3 -0
  172. package/dist/distributionFooter.d.ts.map +1 -0
  173. package/dist/distributionFooter.js +3 -0
  174. package/dist/distributionFooter.js.map +1 -0
  175. package/dist/documentationCopyConsistency.test.d.ts +2 -0
  176. package/dist/documentationCopyConsistency.test.d.ts.map +1 -0
  177. package/dist/documentationCopyConsistency.test.js +94 -0
  178. package/dist/documentationCopyConsistency.test.js.map +1 -0
  179. package/dist/enforceCli.d.ts +4 -0
  180. package/dist/enforceCli.d.ts.map +1 -0
  181. package/dist/enforceCli.js +93 -0
  182. package/dist/enforceCli.js.map +1 -0
  183. package/dist/eventSequenceIntegrity.d.ts +7 -0
  184. package/dist/eventSequenceIntegrity.d.ts.map +1 -0
  185. package/dist/eventSequenceIntegrity.js +47 -0
  186. package/dist/eventSequenceIntegrity.js.map +1 -0
  187. package/dist/eventSequenceIntegrity.test.d.ts +2 -0
  188. package/dist/eventSequenceIntegrity.test.d.ts.map +1 -0
  189. package/dist/eventSequenceIntegrity.test.js +65 -0
  190. package/dist/eventSequenceIntegrity.test.js.map +1 -0
  191. package/dist/executionPathFindings.d.ts +15 -0
  192. package/dist/executionPathFindings.d.ts.map +1 -0
  193. package/dist/executionPathFindings.js +299 -0
  194. package/dist/executionPathFindings.js.map +1 -0
  195. package/dist/executionPathFindings.requirements.test.d.ts +2 -0
  196. package/dist/executionPathFindings.requirements.test.d.ts.map +1 -0
  197. package/dist/executionPathFindings.requirements.test.js +332 -0
  198. package/dist/executionPathFindings.requirements.test.js.map +1 -0
  199. package/dist/executionTrace.d.ts +13 -0
  200. package/dist/executionTrace.d.ts.map +1 -0
  201. package/dist/executionTrace.js +272 -0
  202. package/dist/executionTrace.js.map +1 -0
  203. package/dist/executionTrace.test.d.ts +2 -0
  204. package/dist/executionTrace.test.d.ts.map +1 -0
  205. package/dist/executionTrace.test.js +200 -0
  206. package/dist/executionTrace.test.js.map +1 -0
  207. package/dist/failureAnalysis.d.ts +8 -0
  208. package/dist/failureAnalysis.d.ts.map +1 -0
  209. package/dist/failureAnalysis.js +337 -0
  210. package/dist/failureAnalysis.js.map +1 -0
  211. package/dist/failureAnalysis.test.d.ts +2 -0
  212. package/dist/failureAnalysis.test.d.ts.map +1 -0
  213. package/dist/failureAnalysis.test.js +196 -0
  214. package/dist/failureAnalysis.test.js.map +1 -0
  215. package/dist/failureCatalog.d.ts +26 -0
  216. package/dist/failureCatalog.d.ts.map +1 -0
  217. package/dist/failureCatalog.js +51 -0
  218. package/dist/failureCatalog.js.map +1 -0
  219. package/dist/failureCatalog.test.d.ts +2 -0
  220. package/dist/failureCatalog.test.d.ts.map +1 -0
  221. package/dist/failureCatalog.test.js +25 -0
  222. package/dist/failureCatalog.test.js.map +1 -0
  223. package/dist/failureExplanation.d.ts +52 -0
  224. package/dist/failureExplanation.d.ts.map +1 -0
  225. package/dist/failureExplanation.failureAnalysisMock.test.d.ts +2 -0
  226. package/dist/failureExplanation.failureAnalysisMock.test.d.ts.map +1 -0
  227. package/dist/failureExplanation.failureAnalysisMock.test.js +200 -0
  228. package/dist/failureExplanation.failureAnalysisMock.test.js.map +1 -0
  229. package/dist/failureExplanation.golden.test.d.ts +2 -0
  230. package/dist/failureExplanation.golden.test.d.ts.map +1 -0
  231. package/dist/failureExplanation.golden.test.js +530 -0
  232. package/dist/failureExplanation.golden.test.js.map +1 -0
  233. package/dist/failureExplanation.js +389 -0
  234. package/dist/failureExplanation.js.map +1 -0
  235. package/dist/failureExplanationDocumentationParity.test.d.ts +2 -0
  236. package/dist/failureExplanationDocumentationParity.test.d.ts.map +1 -0
  237. package/dist/failureExplanationDocumentationParity.test.js +56 -0
  238. package/dist/failureExplanationDocumentationParity.test.js.map +1 -0
  239. package/dist/failureOriginCatalog.d.ts +30 -0
  240. package/dist/failureOriginCatalog.d.ts.map +1 -0
  241. package/dist/failureOriginCatalog.js +106 -0
  242. package/dist/failureOriginCatalog.js.map +1 -0
  243. package/dist/failureOriginCatalog.test.d.ts +2 -0
  244. package/dist/failureOriginCatalog.test.d.ts.map +1 -0
  245. package/dist/failureOriginCatalog.test.js +17 -0
  246. package/dist/failureOriginCatalog.test.js.map +1 -0
  247. package/dist/failureOriginSchemaEnum.test.d.ts +2 -0
  248. package/dist/failureOriginSchemaEnum.test.d.ts.map +1 -0
  249. package/dist/failureOriginSchemaEnum.test.js +21 -0
  250. package/dist/failureOriginSchemaEnum.test.js.map +1 -0
  251. package/dist/failureOriginSchemaParity.test.d.ts +2 -0
  252. package/dist/failureOriginSchemaParity.test.d.ts.map +1 -0
  253. package/dist/failureOriginSchemaParity.test.js +33 -0
  254. package/dist/failureOriginSchemaParity.test.js.map +1 -0
  255. package/dist/failureOriginTypes.d.ts +4 -0
  256. package/dist/failureOriginTypes.d.ts.map +1 -0
  257. package/dist/failureOriginTypes.generated.d.ts +4 -0
  258. package/dist/failureOriginTypes.generated.d.ts.map +1 -0
  259. package/dist/failureOriginTypes.generated.js +10 -0
  260. package/dist/failureOriginTypes.generated.js.map +1 -0
  261. package/dist/failureOriginTypes.js +3 -0
  262. package/dist/failureOriginTypes.js.map +1 -0
  263. package/dist/generated/commercialBuildFlags.d.ts +4 -0
  264. package/dist/generated/commercialBuildFlags.d.ts.map +1 -0
  265. package/dist/generated/commercialBuildFlags.js +5 -0
  266. package/dist/generated/commercialBuildFlags.js.map +1 -0
  267. package/dist/index.d.ts +50 -0
  268. package/dist/index.d.ts.map +1 -0
  269. package/dist/index.js +34 -0
  270. package/dist/index.js.map +1 -0
  271. package/dist/jsonPointer.d.ts +3 -0
  272. package/dist/jsonPointer.d.ts.map +1 -0
  273. package/dist/jsonPointer.js +28 -0
  274. package/dist/jsonPointer.js.map +1 -0
  275. package/dist/jsonStableStringify.d.ts +3 -0
  276. package/dist/jsonStableStringify.d.ts.map +1 -0
  277. package/dist/jsonStableStringify.js +3 -0
  278. package/dist/jsonStableStringify.js.map +1 -0
  279. package/dist/loadEvents.d.ts +3 -0
  280. package/dist/loadEvents.d.ts.map +1 -0
  281. package/dist/loadEvents.eventFileAggregateCounts.test.d.ts +2 -0
  282. package/dist/loadEvents.eventFileAggregateCounts.test.d.ts.map +1 -0
  283. package/dist/loadEvents.eventFileAggregateCounts.test.js +18 -0
  284. package/dist/loadEvents.eventFileAggregateCounts.test.js.map +1 -0
  285. package/dist/loadEvents.js +85 -0
  286. package/dist/loadEvents.js.map +1 -0
  287. package/dist/multiEffectRollup.d.ts +43 -0
  288. package/dist/multiEffectRollup.d.ts.map +1 -0
  289. package/dist/multiEffectRollup.js +164 -0
  290. package/dist/multiEffectRollup.js.map +1 -0
  291. package/dist/multiEffectRollup.test.d.ts +2 -0
  292. package/dist/multiEffectRollup.test.d.ts.map +1 -0
  293. package/dist/multiEffectRollup.test.js +128 -0
  294. package/dist/multiEffectRollup.test.js.map +1 -0
  295. package/dist/noStepsMessage.d.ts +7 -0
  296. package/dist/noStepsMessage.d.ts.map +1 -0
  297. package/dist/noStepsMessage.js +12 -0
  298. package/dist/noStepsMessage.js.map +1 -0
  299. package/dist/noStepsMessage.test.d.ts +2 -0
  300. package/dist/noStepsMessage.test.d.ts.map +1 -0
  301. package/dist/noStepsMessage.test.js +15 -0
  302. package/dist/noStepsMessage.test.js.map +1 -0
  303. package/dist/operationalDisposition.d.ts +498 -0
  304. package/dist/operationalDisposition.d.ts.map +1 -0
  305. package/dist/operationalDisposition.js +490 -0
  306. package/dist/operationalDisposition.js.map +1 -0
  307. package/dist/operationalDispositionDerivation.test.d.ts +2 -0
  308. package/dist/operationalDispositionDerivation.test.d.ts.map +1 -0
  309. package/dist/operationalDispositionDerivation.test.js +19 -0
  310. package/dist/operationalDispositionDerivation.test.js.map +1 -0
  311. package/dist/operationalFailureDiagnosis.d.ts +3 -0
  312. package/dist/operationalFailureDiagnosis.d.ts.map +1 -0
  313. package/dist/operationalFailureDiagnosis.js +25 -0
  314. package/dist/operationalFailureDiagnosis.js.map +1 -0
  315. package/dist/pipeline.d.ts +38 -0
  316. package/dist/pipeline.d.ts.map +1 -0
  317. package/dist/pipeline.js +457 -0
  318. package/dist/pipeline.js.map +1 -0
  319. package/dist/planLogicalSteps.d.ts +16 -0
  320. package/dist/planLogicalSteps.d.ts.map +1 -0
  321. package/dist/planLogicalSteps.js +51 -0
  322. package/dist/planLogicalSteps.js.map +1 -0
  323. package/dist/planLogicalSteps.test.d.ts +2 -0
  324. package/dist/planLogicalSteps.test.d.ts.map +1 -0
  325. package/dist/planLogicalSteps.test.js +88 -0
  326. package/dist/planLogicalSteps.test.js.map +1 -0
  327. package/dist/planTransition.d.ts +88 -0
  328. package/dist/planTransition.d.ts.map +1 -0
  329. package/dist/planTransition.js +490 -0
  330. package/dist/planTransition.js.map +1 -0
  331. package/dist/planTransition.test.d.ts +2 -0
  332. package/dist/planTransition.test.d.ts.map +1 -0
  333. package/dist/planTransition.test.js +956 -0
  334. package/dist/planTransition.test.js.map +1 -0
  335. package/dist/planTransitionConstants.d.ts +3 -0
  336. package/dist/planTransitionConstants.d.ts.map +1 -0
  337. package/dist/planTransitionConstants.js +3 -0
  338. package/dist/planTransitionConstants.js.map +1 -0
  339. package/dist/planTransitionPathHarvest.d.ts +24 -0
  340. package/dist/planTransitionPathHarvest.d.ts.map +1 -0
  341. package/dist/planTransitionPathHarvest.js +273 -0
  342. package/dist/planTransitionPathHarvest.js.map +1 -0
  343. package/dist/planTransitionPathHarvest.test.d.ts +2 -0
  344. package/dist/planTransitionPathHarvest.test.d.ts.map +1 -0
  345. package/dist/planTransitionPathHarvest.test.js +232 -0
  346. package/dist/planTransitionPathHarvest.test.js.map +1 -0
  347. package/dist/prepareWorkflowEvents.d.ts +6 -0
  348. package/dist/prepareWorkflowEvents.d.ts.map +1 -0
  349. package/dist/prepareWorkflowEvents.js +8 -0
  350. package/dist/prepareWorkflowEvents.js.map +1 -0
  351. package/dist/publicDistribution.generated.d.ts +3 -0
  352. package/dist/publicDistribution.generated.d.ts.map +1 -0
  353. package/dist/publicDistribution.generated.js +9 -0
  354. package/dist/publicDistribution.generated.js.map +1 -0
  355. package/dist/quickVerify/atomicWrite.d.ts +6 -0
  356. package/dist/quickVerify/atomicWrite.d.ts.map +1 -0
  357. package/dist/quickVerify/atomicWrite.js +33 -0
  358. package/dist/quickVerify/atomicWrite.js.map +1 -0
  359. package/dist/quickVerify/buildQuickContractEventsNdjson.d.ts +14 -0
  360. package/dist/quickVerify/buildQuickContractEventsNdjson.d.ts.map +1 -0
  361. package/dist/quickVerify/buildQuickContractEventsNdjson.js +28 -0
  362. package/dist/quickVerify/buildQuickContractEventsNdjson.js.map +1 -0
  363. package/dist/quickVerify/canonicalJson.d.ts +5 -0
  364. package/dist/quickVerify/canonicalJson.d.ts.map +1 -0
  365. package/dist/quickVerify/canonicalJson.js +23 -0
  366. package/dist/quickVerify/canonicalJson.js.map +1 -0
  367. package/dist/quickVerify/decomposeUnits.d.ts +15 -0
  368. package/dist/quickVerify/decomposeUnits.d.ts.map +1 -0
  369. package/dist/quickVerify/decomposeUnits.js +50 -0
  370. package/dist/quickVerify/decomposeUnits.js.map +1 -0
  371. package/dist/quickVerify/exportTool.d.ts +6 -0
  372. package/dist/quickVerify/exportTool.d.ts.map +1 -0
  373. package/dist/quickVerify/exportTool.js +20 -0
  374. package/dist/quickVerify/exportTool.js.map +1 -0
  375. package/dist/quickVerify/forbiddenMutatingSql.d.ts +4 -0
  376. package/dist/quickVerify/forbiddenMutatingSql.d.ts.map +1 -0
  377. package/dist/quickVerify/forbiddenMutatingSql.js +6 -0
  378. package/dist/quickVerify/forbiddenMutatingSql.js.map +1 -0
  379. package/dist/quickVerify/formatQuickVerifyHumanReport.d.ts +17 -0
  380. package/dist/quickVerify/formatQuickVerifyHumanReport.d.ts.map +1 -0
  381. package/dist/quickVerify/formatQuickVerifyHumanReport.js +65 -0
  382. package/dist/quickVerify/formatQuickVerifyHumanReport.js.map +1 -0
  383. package/dist/quickVerify/formatQuickVerifyHumanReport.test.d.ts +2 -0
  384. package/dist/quickVerify/formatQuickVerifyHumanReport.test.d.ts.map +1 -0
  385. package/dist/quickVerify/formatQuickVerifyHumanReport.test.js +41 -0
  386. package/dist/quickVerify/formatQuickVerifyHumanReport.test.js.map +1 -0
  387. package/dist/quickVerify/ingest.d.ts +34 -0
  388. package/dist/quickVerify/ingest.d.ts.map +1 -0
  389. package/dist/quickVerify/ingest.js +327 -0
  390. package/dist/quickVerify/ingest.js.map +1 -0
  391. package/dist/quickVerify/noMutatingSqlInSources.test.d.ts +2 -0
  392. package/dist/quickVerify/noMutatingSqlInSources.test.d.ts.map +1 -0
  393. package/dist/quickVerify/noMutatingSqlInSources.test.js +34 -0
  394. package/dist/quickVerify/noMutatingSqlInSources.test.js.map +1 -0
  395. package/dist/quickVerify/postgresCatalog.d.ts +19 -0
  396. package/dist/quickVerify/postgresCatalog.d.ts.map +1 -0
  397. package/dist/quickVerify/postgresCatalog.js +107 -0
  398. package/dist/quickVerify/postgresCatalog.js.map +1 -0
  399. package/dist/quickVerify/quickVerifyHumanCopy.d.ts +9 -0
  400. package/dist/quickVerify/quickVerifyHumanCopy.d.ts.map +1 -0
  401. package/dist/quickVerify/quickVerifyHumanCopy.js +24 -0
  402. package/dist/quickVerify/quickVerifyHumanCopy.js.map +1 -0
  403. package/dist/quickVerify/quickVerifyProductTruth.d.ts +16 -0
  404. package/dist/quickVerify/quickVerifyProductTruth.d.ts.map +1 -0
  405. package/dist/quickVerify/quickVerifyProductTruth.js +19 -0
  406. package/dist/quickVerify/quickVerifyProductTruth.js.map +1 -0
  407. package/dist/quickVerify/quickVerifyScope.d.ts +12 -0
  408. package/dist/quickVerify/quickVerifyScope.d.ts.map +1 -0
  409. package/dist/quickVerify/quickVerifyScope.js +16 -0
  410. package/dist/quickVerify/quickVerifyScope.js.map +1 -0
  411. package/dist/quickVerify/relationalPlan.d.ts +10 -0
  412. package/dist/quickVerify/relationalPlan.d.ts.map +1 -0
  413. package/dist/quickVerify/relationalPlan.js +37 -0
  414. package/dist/quickVerify/relationalPlan.js.map +1 -0
  415. package/dist/quickVerify/rowUnit.d.ts +15 -0
  416. package/dist/quickVerify/rowUnit.d.ts.map +1 -0
  417. package/dist/quickVerify/rowUnit.js +132 -0
  418. package/dist/quickVerify/rowUnit.js.map +1 -0
  419. package/dist/quickVerify/runQuickVerify.d.ts +65 -0
  420. package/dist/quickVerify/runQuickVerify.d.ts.map +1 -0
  421. package/dist/quickVerify/runQuickVerify.js +320 -0
  422. package/dist/quickVerify/runQuickVerify.js.map +1 -0
  423. package/dist/quickVerify/schemaCatalogTypes.d.ts +22 -0
  424. package/dist/quickVerify/schemaCatalogTypes.d.ts.map +1 -0
  425. package/dist/quickVerify/schemaCatalogTypes.js +2 -0
  426. package/dist/quickVerify/schemaCatalogTypes.js.map +1 -0
  427. package/dist/quickVerify/sqliteCatalog.d.ts +13 -0
  428. package/dist/quickVerify/sqliteCatalog.d.ts.map +1 -0
  429. package/dist/quickVerify/sqliteCatalog.js +48 -0
  430. package/dist/quickVerify/sqliteCatalog.js.map +1 -0
  431. package/dist/quickVerify/tableScoring.d.ts +24 -0
  432. package/dist/quickVerify/tableScoring.d.ts.map +1 -0
  433. package/dist/quickVerify/tableScoring.js +156 -0
  434. package/dist/quickVerify/tableScoring.js.map +1 -0
  435. package/dist/quickVerify/thresholds.d.ts +11 -0
  436. package/dist/quickVerify/thresholds.d.ts.map +1 -0
  437. package/dist/quickVerify/thresholds.js +11 -0
  438. package/dist/quickVerify/thresholds.js.map +1 -0
  439. package/dist/quickVerify/verifyExecution.d.ts +15 -0
  440. package/dist/quickVerify/verifyExecution.d.ts.map +1 -0
  441. package/dist/quickVerify/verifyExecution.js +153 -0
  442. package/dist/quickVerify/verifyExecution.js.map +1 -0
  443. package/dist/reconciler.d.ts +25 -0
  444. package/dist/reconciler.d.ts.map +1 -0
  445. package/dist/reconciler.js +266 -0
  446. package/dist/reconciler.js.map +1 -0
  447. package/dist/reconciliationPresentation.d.ts +83 -0
  448. package/dist/reconciliationPresentation.d.ts.map +1 -0
  449. package/dist/reconciliationPresentation.js +195 -0
  450. package/dist/reconciliationPresentation.js.map +1 -0
  451. package/dist/registryValidation.d.ts +48 -0
  452. package/dist/registryValidation.d.ts.map +1 -0
  453. package/dist/registryValidation.js +254 -0
  454. package/dist/registryValidation.js.map +1 -0
  455. package/dist/registryValidation.test.d.ts +2 -0
  456. package/dist/registryValidation.test.d.ts.map +1 -0
  457. package/dist/registryValidation.test.js +186 -0
  458. package/dist/registryValidation.test.js.map +1 -0
  459. package/dist/relationalInvariant.d.ts +28 -0
  460. package/dist/relationalInvariant.d.ts.map +1 -0
  461. package/dist/relationalInvariant.existsSql.test.d.ts +2 -0
  462. package/dist/relationalInvariant.existsSql.test.d.ts.map +1 -0
  463. package/dist/relationalInvariant.existsSql.test.js +12 -0
  464. package/dist/relationalInvariant.existsSql.test.js.map +1 -0
  465. package/dist/relationalInvariant.js +347 -0
  466. package/dist/relationalInvariant.js.map +1 -0
  467. package/dist/relationalInvariant.test.d.ts +2 -0
  468. package/dist/relationalInvariant.test.d.ts.map +1 -0
  469. package/dist/relationalInvariant.test.js +32 -0
  470. package/dist/relationalInvariant.test.js.map +1 -0
  471. package/dist/remediationConsumptionGuard.test.d.ts +2 -0
  472. package/dist/remediationConsumptionGuard.test.d.ts.map +1 -0
  473. package/dist/remediationConsumptionGuard.test.js +80 -0
  474. package/dist/remediationConsumptionGuard.test.js.map +1 -0
  475. package/dist/remediationWireSurfaceGuard.test.d.ts +2 -0
  476. package/dist/remediationWireSurfaceGuard.test.d.ts.map +1 -0
  477. package/dist/remediationWireSurfaceGuard.test.js +39 -0
  478. package/dist/remediationWireSurfaceGuard.test.js.map +1 -0
  479. package/dist/resolveExpectation.d.ts +28 -0
  480. package/dist/resolveExpectation.d.ts.map +1 -0
  481. package/dist/resolveExpectation.js +654 -0
  482. package/dist/resolveExpectation.js.map +1 -0
  483. package/dist/resolveExpectation.test.d.ts +2 -0
  484. package/dist/resolveExpectation.test.d.ts.map +1 -0
  485. package/dist/resolveExpectation.test.js +434 -0
  486. package/dist/resolveExpectation.test.js.map +1 -0
  487. package/dist/resolveFailureCodes.d.ts +2 -0
  488. package/dist/resolveFailureCodes.d.ts.map +1 -0
  489. package/dist/resolveFailureCodes.js +7 -0
  490. package/dist/resolveFailureCodes.js.map +1 -0
  491. package/dist/runComparison.d.ts +168 -0
  492. package/dist/runComparison.d.ts.map +1 -0
  493. package/dist/runComparison.js +675 -0
  494. package/dist/runComparison.js.map +1 -0
  495. package/dist/runComparison.test.d.ts +2 -0
  496. package/dist/runComparison.test.d.ts.map +1 -0
  497. package/dist/runComparison.test.js +507 -0
  498. package/dist/runComparison.test.js.map +1 -0
  499. package/dist/runLevelDriftMessages.d.ts +4 -0
  500. package/dist/runLevelDriftMessages.d.ts.map +1 -0
  501. package/dist/runLevelDriftMessages.js +4 -0
  502. package/dist/runLevelDriftMessages.js.map +1 -0
  503. package/dist/schema-validation.test.d.ts +2 -0
  504. package/dist/schema-validation.test.d.ts.map +1 -0
  505. package/dist/schema-validation.test.js +531 -0
  506. package/dist/schema-validation.test.js.map +1 -0
  507. package/dist/schemaLoad.d.ts +5 -0
  508. package/dist/schemaLoad.d.ts.map +1 -0
  509. package/dist/schemaLoad.js +152 -0
  510. package/dist/schemaLoad.js.map +1 -0
  511. package/dist/shareReport/postPublicVerificationReport.d.ts +26 -0
  512. package/dist/shareReport/postPublicVerificationReport.d.ts.map +1 -0
  513. package/dist/shareReport/postPublicVerificationReport.js +38 -0
  514. package/dist/shareReport/postPublicVerificationReport.js.map +1 -0
  515. package/dist/slice6.compare.ac.test.d.ts +2 -0
  516. package/dist/slice6.compare.ac.test.d.ts.map +1 -0
  517. package/dist/slice6.compare.ac.test.js +81 -0
  518. package/dist/slice6.compare.ac.test.js.map +1 -0
  519. package/dist/sqlConnector.d.ts +15 -0
  520. package/dist/sqlConnector.d.ts.map +1 -0
  521. package/dist/sqlConnector.js +36 -0
  522. package/dist/sqlConnector.js.map +1 -0
  523. package/dist/sqlReadBackend.d.ts +19 -0
  524. package/dist/sqlReadBackend.d.ts.map +1 -0
  525. package/dist/sqlReadBackend.js +67 -0
  526. package/dist/sqlReadBackend.js.map +1 -0
  527. package/dist/standardVerifyWorkflowCli.d.ts +24 -0
  528. package/dist/standardVerifyWorkflowCli.d.ts.map +1 -0
  529. package/dist/standardVerifyWorkflowCli.js +95 -0
  530. package/dist/standardVerifyWorkflowCli.js.map +1 -0
  531. package/dist/taxonomyAuthority.test.d.ts +2 -0
  532. package/dist/taxonomyAuthority.test.d.ts.map +1 -0
  533. package/dist/taxonomyAuthority.test.js +44 -0
  534. package/dist/taxonomyAuthority.test.js.map +1 -0
  535. package/dist/toolsRegistryLoad.d.ts +7 -0
  536. package/dist/toolsRegistryLoad.d.ts.map +1 -0
  537. package/dist/toolsRegistryLoad.js +32 -0
  538. package/dist/toolsRegistryLoad.js.map +1 -0
  539. package/dist/truthLayerError.d.ts +8 -0
  540. package/dist/truthLayerError.d.ts.map +1 -0
  541. package/dist/truthLayerError.js +9 -0
  542. package/dist/truthLayerError.js.map +1 -0
  543. package/dist/types.d.ts +706 -0
  544. package/dist/types.d.ts.map +1 -0
  545. package/dist/types.js +24 -0
  546. package/dist/types.js.map +1 -0
  547. package/dist/valueVerification.d.ts +12 -0
  548. package/dist/valueVerification.d.ts.map +1 -0
  549. package/dist/valueVerification.js +112 -0
  550. package/dist/valueVerification.js.map +1 -0
  551. package/dist/valueVerification.test.d.ts +2 -0
  552. package/dist/valueVerification.test.d.ts.map +1 -0
  553. package/dist/valueVerification.test.js +112 -0
  554. package/dist/valueVerification.test.js.map +1 -0
  555. package/dist/verificationAgainstSystemState.requirements.test.d.ts +2 -0
  556. package/dist/verificationAgainstSystemState.requirements.test.d.ts.map +1 -0
  557. package/dist/verificationAgainstSystemState.requirements.test.js +326 -0
  558. package/dist/verificationAgainstSystemState.requirements.test.js.map +1 -0
  559. package/dist/verificationDiagnostics.d.ts +21 -0
  560. package/dist/verificationDiagnostics.d.ts.map +1 -0
  561. package/dist/verificationDiagnostics.js +141 -0
  562. package/dist/verificationDiagnostics.js.map +1 -0
  563. package/dist/verificationDiagnostics.test.d.ts +2 -0
  564. package/dist/verificationDiagnostics.test.d.ts.map +1 -0
  565. package/dist/verificationDiagnostics.test.js +228 -0
  566. package/dist/verificationDiagnostics.test.js.map +1 -0
  567. package/dist/verificationPolicy.d.ts +33 -0
  568. package/dist/verificationPolicy.d.ts.map +1 -0
  569. package/dist/verificationPolicy.js +495 -0
  570. package/dist/verificationPolicy.js.map +1 -0
  571. package/dist/verificationPolicy.test.d.ts +2 -0
  572. package/dist/verificationPolicy.test.d.ts.map +1 -0
  573. package/dist/verificationPolicy.test.js +252 -0
  574. package/dist/verificationPolicy.test.js.map +1 -0
  575. package/dist/verificationRunContext.d.ts +10 -0
  576. package/dist/verificationRunContext.d.ts.map +1 -0
  577. package/dist/verificationRunContext.js +111 -0
  578. package/dist/verificationRunContext.js.map +1 -0
  579. package/dist/verificationUserPhrases.d.ts +22 -0
  580. package/dist/verificationUserPhrases.d.ts.map +1 -0
  581. package/dist/verificationUserPhrases.js +99 -0
  582. package/dist/verificationUserPhrases.js.map +1 -0
  583. package/dist/verificationUserPhrases.test.d.ts +2 -0
  584. package/dist/verificationUserPhrases.test.d.ts.map +1 -0
  585. package/dist/verificationUserPhrases.test.js +47 -0
  586. package/dist/verificationUserPhrases.test.js.map +1 -0
  587. package/dist/verifyRunBundleSignature.d.ts +14 -0
  588. package/dist/verifyRunBundleSignature.d.ts.map +1 -0
  589. package/dist/verifyRunBundleSignature.js +139 -0
  590. package/dist/verifyRunBundleSignature.js.map +1 -0
  591. package/dist/verifyRunBundleSignature.test.d.ts +2 -0
  592. package/dist/verifyRunBundleSignature.test.d.ts.map +1 -0
  593. package/dist/verifyRunBundleSignature.test.js +169 -0
  594. package/dist/verifyRunBundleSignature.test.js.map +1 -0
  595. package/dist/wireReasonCodes.d.ts +57 -0
  596. package/dist/wireReasonCodes.d.ts.map +1 -0
  597. package/dist/wireReasonCodes.js +57 -0
  598. package/dist/wireReasonCodes.js.map +1 -0
  599. package/dist/wireReasonEmittersGuard.test.d.ts +2 -0
  600. package/dist/wireReasonEmittersGuard.test.d.ts.map +1 -0
  601. package/dist/wireReasonEmittersGuard.test.js +36 -0
  602. package/dist/wireReasonEmittersGuard.test.js.map +1 -0
  603. package/dist/withWorkflowVerification.persistBundle.test.d.ts +2 -0
  604. package/dist/withWorkflowVerification.persistBundle.test.d.ts.map +1 -0
  605. package/dist/withWorkflowVerification.persistBundle.test.js +104 -0
  606. package/dist/withWorkflowVerification.persistBundle.test.js.map +1 -0
  607. package/dist/workflowResultNormalize.d.ts +9 -0
  608. package/dist/workflowResultNormalize.d.ts.map +1 -0
  609. package/dist/workflowResultNormalize.js +40 -0
  610. package/dist/workflowResultNormalize.js.map +1 -0
  611. package/dist/workflowResultSignature.d.ts +8 -0
  612. package/dist/workflowResultSignature.d.ts.map +1 -0
  613. package/dist/workflowResultSignature.js +44 -0
  614. package/dist/workflowResultSignature.js.map +1 -0
  615. package/dist/workflowRunLevelConsistency.d.ts +5 -0
  616. package/dist/workflowRunLevelConsistency.d.ts.map +1 -0
  617. package/dist/workflowRunLevelConsistency.js +30 -0
  618. package/dist/workflowRunLevelConsistency.js.map +1 -0
  619. package/dist/workflowTruthReport.d.ts +24 -0
  620. package/dist/workflowTruthReport.d.ts.map +1 -0
  621. package/dist/workflowTruthReport.js +395 -0
  622. package/dist/workflowTruthReport.js.map +1 -0
  623. package/dist/workflowTruthReport.semantics.test.d.ts +2 -0
  624. package/dist/workflowTruthReport.semantics.test.d.ts.map +1 -0
  625. package/dist/workflowTruthReport.semantics.test.js +182 -0
  626. package/dist/workflowTruthReport.semantics.test.js.map +1 -0
  627. package/dist/workflowVerdictSurface.test.d.ts +2 -0
  628. package/dist/workflowVerdictSurface.test.d.ts.map +1 -0
  629. package/dist/workflowVerdictSurface.test.js +68 -0
  630. package/dist/workflowVerdictSurface.test.js.map +1 -0
  631. package/dist/writeRunBundleCli.d.ts +9 -0
  632. package/dist/writeRunBundleCli.d.ts.map +1 -0
  633. package/dist/writeRunBundleCli.js +28 -0
  634. package/dist/writeRunBundleCli.js.map +1 -0
  635. package/package.json +115 -0
  636. package/schemas/agent-run-record-v1.schema.json +51 -0
  637. package/schemas/agent-run-record-v2.schema.json +61 -0
  638. package/schemas/assurance-manifest-v1.schema.json +28 -0
  639. package/schemas/assurance-run-report-v1.schema.json +28 -0
  640. package/schemas/ci-lock-v1.schema.json +163 -0
  641. package/schemas/cli-error-envelope.schema.json +48 -0
  642. package/schemas/event.schema.json +111 -0
  643. package/schemas/execution-trace-view.schema.json +122 -0
  644. package/schemas/openapi-commercial-v1.in.yaml +215 -0
  645. package/schemas/openapi-commercial-v1.yaml +215 -0
  646. package/schemas/plan-validation-core.schema.json +95 -0
  647. package/schemas/public-verification-report-v1.schema.json +51 -0
  648. package/schemas/quick-verify-report.schema.json +251 -0
  649. package/schemas/registry-validation-result.schema.json +99 -0
  650. package/schemas/run-comparison-report.schema.json +513 -0
  651. package/schemas/tools-registry-export.schema.json +9 -0
  652. package/schemas/tools-registry.schema.json +284 -0
  653. package/schemas/workflow-engine-result.schema.json +591 -0
  654. package/schemas/workflow-result-compare-input.schema.json +15 -0
  655. package/schemas/workflow-result-signature.schema.json +20 -0
  656. package/schemas/workflow-result-v9.schema.json +85 -0
  657. package/schemas/workflow-result.schema.json +80 -0
  658. package/schemas/workflow-truth-report.schema.json +761 -0
  659. package/scripts/discovery-acquisition.lib.cjs +195 -0
  660. package/scripts/discovery-payload.lib.cjs +346 -0
  661. package/scripts/render-discovery-ci.mjs +103 -0
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Forward-looking correctness templates. Normative semantics: docs/correctness-definition-normative.md.
3
+ * CD_DOC_ANCHORS must appear in that file (doc parity test).
4
+ */
5
+ export declare const CD_DOC_ANCHORS: readonly ["CD_TPL_RUN_INGEST", "CD_TPL_EVENT_CAPTURE", "CD_TPL_RUN_CONTEXT", "CD_TPL_STEP_SQL", "CD_TPL_PLAN_TRANSITION", "CD_TPL_QUICK_ROW", "CD_TPL_QUICK_REL", "CD_TPL_QUICK_GAP"];
6
+ export declare const CORRECTNESS_ENFORCEMENT_KINDS: readonly ["run_ingest_integrity", "event_capture_integrity", "run_context_fairness", "step_sql_expectation", "plan_transition_expectation", "quick_inferred_sql_row", "quick_inferred_relational", "quick_mapping_gap"];
7
+ export type CorrectnessEnforcementKind = (typeof CORRECTNESS_ENFORCEMENT_KINDS)[number];
8
+ /** CD_TPL_RUN_INGEST */
9
+ export declare function templateRunIngestMustHold(vars: {
10
+ workflowId: string;
11
+ P: string;
12
+ codes: string;
13
+ nonEmptySteps: boolean;
14
+ }): string;
15
+ export declare function templateRunIngestEnforceAs(codes: string): [string, string];
16
+ /** CD_TPL_EVENT_CAPTURE */
17
+ export declare function templateEventCaptureMustHold(vars: {
18
+ workflowId: string;
19
+ P: string;
20
+ codes: string;
21
+ }): string;
22
+ export declare function templateEventCaptureEnforceAs(codes: string): [string, string];
23
+ /** CD_TPL_RUN_CONTEXT */
24
+ export declare function templateRunContextMustHold(vars: {
25
+ workflowId: string;
26
+ P: string;
27
+ I: string;
28
+ C: string;
29
+ codes: string;
30
+ }): string;
31
+ export declare function templateRunContextEnforceAs(C: string): [string, string];
32
+ /** CD_TPL_STEP_SQL */
33
+ export declare function templateStepSqlMustHold(vars: {
34
+ W: string;
35
+ S: string;
36
+ T: string;
37
+ P: string;
38
+ }): string;
39
+ export declare function templateStepSqlEnforceAs(S: string): [string, string];
40
+ /** CD_TPL_PLAN_TRANSITION */
41
+ export declare function templatePlanTransitionMustHold(vars: {
42
+ W: string;
43
+ S: string;
44
+ T: string;
45
+ P: string;
46
+ codes: string;
47
+ }): string;
48
+ export declare function templatePlanTransitionEnforceAs(): [string, string];
49
+ /** CD_TPL_QUICK_ROW */
50
+ export declare function templateQuickRowMustHold(vars: {
51
+ toolName: string;
52
+ A: string;
53
+ table: string;
54
+ }): string;
55
+ export declare function templateQuickRowEnforceAs(table: string): [string, string];
56
+ /** CD_TPL_QUICK_REL */
57
+ export declare function templateQuickRelMustHold(vars: {
58
+ toolName: string;
59
+ A: string;
60
+ T: string;
61
+ }): string;
62
+ export declare function templateQuickRelEnforceAs(T: string): [string, string];
63
+ /** CD_TPL_QUICK_GAP */
64
+ export declare function templateQuickGapMustHold(vars: {
65
+ toolName: string;
66
+ A: string;
67
+ codes: string;
68
+ }): string;
69
+ export declare function templateQuickGapEnforceAs(): [string, string];
70
+ //# sourceMappingURL=correctnessDefinitionTemplates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"correctnessDefinitionTemplates.d.ts","sourceRoot":"","sources":["../src/correctnessDefinitionTemplates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Forward-looking correctness templates. Normative semantics: docs/correctness-definition-normative.md.
3
+ * CD_DOC_ANCHORS must appear in that file (doc parity test).
4
+ */
5
+ export const CD_DOC_ANCHORS = [
6
+ "CD_TPL_RUN_INGEST",
7
+ "CD_TPL_EVENT_CAPTURE",
8
+ "CD_TPL_RUN_CONTEXT",
9
+ "CD_TPL_STEP_SQL",
10
+ "CD_TPL_PLAN_TRANSITION",
11
+ "CD_TPL_QUICK_ROW",
12
+ "CD_TPL_QUICK_REL",
13
+ "CD_TPL_QUICK_GAP",
14
+ ];
15
+ export const CORRECTNESS_ENFORCEMENT_KINDS = [
16
+ "run_ingest_integrity",
17
+ "event_capture_integrity",
18
+ "run_context_fairness",
19
+ "step_sql_expectation",
20
+ "plan_transition_expectation",
21
+ "quick_inferred_sql_row",
22
+ "quick_inferred_relational",
23
+ "quick_mapping_gap",
24
+ ];
25
+ function fill(s, vars) {
26
+ let out = s;
27
+ for (const [k, v] of Object.entries(vars)) {
28
+ out = out.split(`<${k}>`).join(v);
29
+ }
30
+ return out;
31
+ }
32
+ /** CD_TPL_RUN_INGEST */
33
+ export function templateRunIngestMustHold(vars) {
34
+ const tail = vars.nonEmptySteps
35
+ ? " The stream SHALL yield at least one tool_observed step for verification."
36
+ : "";
37
+ return fill("Must: ingest for workflowId=<workflowId> SHALL deliver a valid captured run under policy [<P>] with no blocking run-level failures (codes: <codes>)." + tail, { workflowId: vars.workflowId, P: vars.P, codes: vars.codes });
38
+ }
39
+ export function templateRunIngestEnforceAs(codes) {
40
+ return [
41
+ "Ingest pipelines SHALL validate each event line against the wire event contract before verification.",
42
+ fill("CI or preflight SHALL reject captures that surface primary failure codes <codes> for this workflow under the same policy.", {
43
+ codes,
44
+ }),
45
+ ];
46
+ }
47
+ /** CD_TPL_EVENT_CAPTURE */
48
+ export function templateEventCaptureMustHold(vars) {
49
+ return fill("Must: event capture for workflowId=<workflowId> SHALL preserve monotonic, well-formed ordering under policy [<P>] and SHALL NOT emit event-sequence fault codes <codes>.", vars);
50
+ }
51
+ export function templateEventCaptureEnforceAs(codes) {
52
+ return [
53
+ "Capture agents SHALL preserve capture-order and timestamp monotonicity rules required for seq-sorted verification.",
54
+ fill("Automated checks SHALL fail runs that include codes <codes> in the event_sequence integrity set.", { codes }),
55
+ ];
56
+ }
57
+ /** CD_TPL_RUN_CONTEXT */
58
+ export function templateRunContextMustHold(vars) {
59
+ return fill("Must: before evaluating the failing tool observation at ingest_index=<I>, upstream run context SHALL satisfy contract <C> under policy [<P>] for workflowId=<workflowId> (primary codes: <codes>).", vars);
60
+ }
61
+ export function templateRunContextEnforceAs(C) {
62
+ return [
63
+ "Orchestration SHALL record retrieval, model turns, controls, and tool_skipped events so fairness can be checked at the failing ingest index.",
64
+ fill("Replays SHALL not evaluate downstream tool_observed steps when <C> is violated for that index.", { C }),
65
+ ];
66
+ }
67
+ /** CD_TPL_STEP_SQL */
68
+ export function templateStepSqlMustHold(vars) {
69
+ return fill("Must: after tool_observed seq=<S> toolId=<T>, database state SHALL satisfy the verification contract in verificationRequest under policy [<P>] for workflowId=<W>.", { W: vars.W, S: vars.S, T: vars.T, P: vars.P });
70
+ }
71
+ export function templateStepSqlEnforceAs(S) {
72
+ return [
73
+ fill("Registry (or synthetic events plus registry) SHALL keep verificationRequest aligned with declared tool parameters for seq=<S>.", {
74
+ S,
75
+ }),
76
+ "Authoritative SQL state SHALL match identity, required fields, and relational checks encoded in verificationRequest.",
77
+ ];
78
+ }
79
+ /** CD_TPL_PLAN_TRANSITION */
80
+ export function templatePlanTransitionMustHold(vars) {
81
+ return fill("Must: plan-validation step seq=<S> toolId=<T> SHALL satisfy declared plan rules under policy [<P>] for workflowId=<W> (primary codes: <codes>).", vars);
82
+ }
83
+ export function templatePlanTransitionEnforceAs() {
84
+ return [
85
+ "Plan.md rules and git transition inputs SHALL remain aligned with the verification target for this step.",
86
+ "CI SHALL re-run plan-transition verification after changing patterns or git refs implicated by this failure.",
87
+ ];
88
+ }
89
+ /** CD_TPL_QUICK_ROW */
90
+ export function templateQuickRowMustHold(vars) {
91
+ return fill("Must: when tool <toolName> actionIndex=<A> is treated as successful for quick verification, table <table> SHALL satisfy the inferred sql_row contract (provisional, not a signed export) under read-only SQL checks.", vars);
92
+ }
93
+ export function templateQuickRowEnforceAs(table) {
94
+ return [
95
+ fill("Structured tool activity SHALL continue to expose parameters needed to infer identity and required fields for table <table>.", {
96
+ table,
97
+ }),
98
+ "For production enforcement, promote this check to contract verification via exported registry and synthetic events when eligible.",
99
+ ];
100
+ }
101
+ /** CD_TPL_QUICK_REL */
102
+ export function templateQuickRelMustHold(vars) {
103
+ return fill("Must: when tool <toolName> actionIndex=<A> is treated as successful, related row existence for childTable=<T> SHALL hold as checked by the inferred related_exists contract (provisional).", vars);
104
+ }
105
+ export function templateQuickRelEnforceAs(T) {
106
+ return [
107
+ fill("Foreign-key or pointer fields in structured activity SHALL remain sufficient to infer match columns for <T>.", { T }),
108
+ "For full contract coverage, add explicit sql_relational tooling in the registry; quick inference does not export all relational rules.",
109
+ ];
110
+ }
111
+ /** CD_TPL_QUICK_GAP */
112
+ export function templateQuickGapMustHold(vars) {
113
+ return fill("Must: either structured tool activity for tool <toolName> actionIndex=<A> SHALL map to an inferrable sql_row check, or you SHALL add an explicit registry-backed expectation—provisional quick verification cannot enforce this action until one path exists (reason codes: <codes>).", vars);
114
+ }
115
+ export function templateQuickGapEnforceAs() {
116
+ return [
117
+ "Extend ingest fields or tool naming so row identity and required columns can be inferred, or author a registry tool for this action.",
118
+ "Re-run quick verify; then use contract replay for exported row tools to lock the expectation in batch mode.",
119
+ ];
120
+ }
121
+ //# sourceMappingURL=correctnessDefinitionTemplates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"correctnessDefinitionTemplates.js","sourceRoot":"","sources":["../src/correctnessDefinitionTemplates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,188 @@
1
+ * {
2
+ box-sizing: border-box;
3
+ }
4
+ body {
5
+ font-family: system-ui, sans-serif;
6
+ margin: 0;
7
+ padding: 1rem 1.5rem 3rem;
8
+ background: #0f1419;
9
+ color: #e6edf3;
10
+ }
11
+ header h1 {
12
+ margin: 0 0 0.25rem;
13
+ }
14
+ .sub {
15
+ color: #8b949e;
16
+ margin: 0 0 1rem;
17
+ max-width: 52rem;
18
+ }
19
+ .tabs {
20
+ display: flex;
21
+ gap: 0.5rem;
22
+ margin-bottom: 1rem;
23
+ }
24
+ .tab {
25
+ background: #21262d;
26
+ border: 1px solid #30363d;
27
+ color: #e6edf3;
28
+ padding: 0.4rem 0.8rem;
29
+ cursor: pointer;
30
+ border-radius: 6px;
31
+ }
32
+ .tab.active {
33
+ background: #238636;
34
+ border-color: #238636;
35
+ }
36
+ .panel {
37
+ display: none;
38
+ }
39
+ .panel.active {
40
+ display: block;
41
+ }
42
+ .filters {
43
+ display: flex;
44
+ flex-wrap: wrap;
45
+ gap: 0.75rem;
46
+ align-items: flex-end;
47
+ margin-bottom: 1rem;
48
+ }
49
+ .filters label {
50
+ display: flex;
51
+ flex-direction: column;
52
+ font-size: 0.8rem;
53
+ color: #8b949e;
54
+ gap: 0.2rem;
55
+ }
56
+ .filters input[type="text"],
57
+ .filters input[type="number"],
58
+ .filters select {
59
+ background: #161b22;
60
+ border: 1px solid #30363d;
61
+ color: #e6edf3;
62
+ padding: 0.35rem 0.5rem;
63
+ border-radius: 4px;
64
+ min-width: 8rem;
65
+ }
66
+ .filters .check {
67
+ flex-direction: row;
68
+ align-items: center;
69
+ gap: 0.35rem;
70
+ }
71
+ .meta {
72
+ color: #8b949e;
73
+ font-size: 0.9rem;
74
+ }
75
+ table.runs {
76
+ width: 100%;
77
+ border-collapse: collapse;
78
+ font-size: 0.85rem;
79
+ }
80
+ table.runs th,
81
+ table.runs td {
82
+ border: 1px solid #30363d;
83
+ padding: 0.35rem 0.5rem;
84
+ text-align: left;
85
+ vertical-align: top;
86
+ }
87
+ table.runs th {
88
+ background: #161b22;
89
+ }
90
+ tr.load-error {
91
+ background: #3d1114;
92
+ }
93
+ tr.load-ok {
94
+ background: #0d1117;
95
+ }
96
+ tr.selected {
97
+ outline: 2px solid #58a6ff;
98
+ }
99
+ .json-out {
100
+ background: #161b22;
101
+ border: 1px solid #30363d;
102
+ padding: 1rem;
103
+ overflow: auto;
104
+ max-height: 28rem;
105
+ font-size: 0.8rem;
106
+ white-space: pre-wrap;
107
+ word-break: break-all;
108
+ }
109
+ .drawer {
110
+ position: fixed;
111
+ top: 0;
112
+ right: 0;
113
+ width: min(52rem, 96vw);
114
+ height: 100vh;
115
+ background: #161b22;
116
+ border-left: 1px solid #30363d;
117
+ overflow: auto;
118
+ padding: 1rem;
119
+ z-index: 20;
120
+ box-shadow: -4px 0 24px rgba(0, 0, 0, 0.4);
121
+ }
122
+ .drawer.hidden {
123
+ display: none;
124
+ }
125
+ .drawer-head {
126
+ display: flex;
127
+ justify-content: space-between;
128
+ align-items: center;
129
+ margin-bottom: 1rem;
130
+ }
131
+ .focus-panel {
132
+ background: #21262d;
133
+ padding: 0.75rem;
134
+ border-radius: 6px;
135
+ margin-bottom: 1rem;
136
+ font-size: 0.85rem;
137
+ }
138
+ .verdict-panel {
139
+ background: #1a2332;
140
+ border: 1px solid #388bfd;
141
+ padding: 0.85rem 1rem;
142
+ border-radius: 8px;
143
+ margin-bottom: 1rem;
144
+ font-size: 0.9rem;
145
+ }
146
+ .verdict-panel .verdict-status {
147
+ font-weight: 600;
148
+ font-size: 1rem;
149
+ margin-bottom: 0.35rem;
150
+ }
151
+ .verdict-panel .verdict-trust {
152
+ color: #8b949e;
153
+ margin-bottom: 0.6rem;
154
+ line-height: 1.4;
155
+ }
156
+ .verdict-panel .verdict-counts {
157
+ font-size: 0.8rem;
158
+ color: #c9d1d9;
159
+ }
160
+ .trace-step {
161
+ padding: 0.35rem 0.5rem;
162
+ margin: 0.2rem 0;
163
+ border-radius: 4px;
164
+ cursor: pointer;
165
+ border: 1px solid transparent;
166
+ }
167
+ .trace-step:hover {
168
+ border-color: #58a6ff;
169
+ }
170
+ .trace-step.focus-hit {
171
+ border-color: #f0883e;
172
+ background: #2d1f12;
173
+ }
174
+ button {
175
+ cursor: pointer;
176
+ background: #21262d;
177
+ border: 1px solid #30363d;
178
+ color: #e6edf3;
179
+ padding: 0.4rem 0.75rem;
180
+ border-radius: 6px;
181
+ }
182
+ button:disabled {
183
+ opacity: 0.45;
184
+ cursor: not-allowed;
185
+ }
186
+ button#close-detail {
187
+ background: transparent;
188
+ }
@@ -0,0 +1,245 @@
1
+ /* global fetch, URLSearchParams, document, window */
2
+
3
+ const state = {
4
+ nextCursor: null,
5
+ filterParams: new URLSearchParams(),
6
+ selected: new Set(),
7
+ };
8
+
9
+ function api(path, opts) {
10
+ return fetch(path, opts).then(async (r) => {
11
+ const text = await r.text();
12
+ let data;
13
+ try {
14
+ data = text ? JSON.parse(text) : null;
15
+ } catch {
16
+ data = { _raw: text };
17
+ }
18
+ if (!r.ok) {
19
+ const err = new Error(data?.message || r.statusText);
20
+ err.status = r.status;
21
+ err.data = data;
22
+ throw err;
23
+ }
24
+ return data;
25
+ });
26
+ }
27
+
28
+ function buildFilterParamsFromForm() {
29
+ const form = document.getElementById("filters");
30
+ const fd = new FormData(form);
31
+ const p = new URLSearchParams();
32
+ for (const [k, v] of fd.entries()) {
33
+ if (k === "includeLoadErrors" || k === "hasPathFindings") continue;
34
+ if (v !== "" && v != null) {
35
+ p.set(k, String(v));
36
+ }
37
+ }
38
+ // Unchecked checkboxes are omitted from FormData.
39
+ const includeLoadErrorsEl = form.querySelector('[name="includeLoadErrors"]');
40
+ if (includeLoadErrorsEl && !includeLoadErrorsEl.checked) {
41
+ p.set("includeLoadErrors", "false");
42
+ }
43
+ const hasPathFindingsEl = form.querySelector('[name="hasPathFindings"]');
44
+ if (hasPathFindingsEl && hasPathFindingsEl.checked) {
45
+ p.set("hasPathFindings", "true");
46
+ }
47
+ return p;
48
+ }
49
+
50
+ async function loadRuns(append) {
51
+ const p = new URLSearchParams(state.filterParams);
52
+ p.set("limit", "100");
53
+ if (append && state.nextCursor) p.set("cursor", state.nextCursor);
54
+ else state.nextCursor = null;
55
+
56
+ const data = await api(`/api/runs?${p.toString()}`);
57
+ const tbody = document.getElementById("runs-body");
58
+ if (!append) {
59
+ tbody.innerHTML = "";
60
+ state.selected.clear();
61
+ }
62
+ document.getElementById("runs-meta").textContent = `totalMatched=${data.totalMatched} showing ${tbody.children.length + data.items.length} (paged)`;
63
+ for (const row of data.items) {
64
+ const tr = document.createElement("tr");
65
+ tr.className = row.loadStatus === "error" ? "load-error" : "load-ok";
66
+ tr.dataset.runId = row.runId;
67
+ const codes = (row.primaryReasonCodes || []).slice(0, 6).join(", ");
68
+ const pathCodes = (row.pathFindingCodes || []).slice(0, 4).join(", ");
69
+ tr.innerHTML = `
70
+ <td><input type="checkbox" class="pick" aria-label="select ${row.runId}" /></td>
71
+ <td><button type="button" class="open-run">${escapeHtml(row.runId)}</button></td>
72
+ <td>${escapeHtml(row.loadStatus)}</td>
73
+ <td>${escapeHtml(row.workflowId || "—")}</td>
74
+ <td>${escapeHtml(row.status || "—")}</td>
75
+ <td>${escapeHtml(row.actionableCategory || "—")}</td>
76
+ <td>${escapeHtml(row.customerId || "—")}</td>
77
+ <td>${escapeHtml(pathCodes || "—")}</td>
78
+ <td>${escapeHtml(codes)}</td>
79
+ `;
80
+ tr.querySelector(".open-run").addEventListener("click", () => openDetail(row.runId));
81
+ tr.querySelector(".pick").addEventListener("change", (ev) => {
82
+ if (ev.target.checked) {
83
+ state.selected.add(row.runId);
84
+ tr.classList.add("selected");
85
+ } else {
86
+ state.selected.delete(row.runId);
87
+ tr.classList.remove("selected");
88
+ }
89
+ document.getElementById("run-compare").disabled = state.selected.size < 2;
90
+ });
91
+ tbody.appendChild(tr);
92
+ }
93
+ state.nextCursor = data.nextCursor;
94
+ document.getElementById("load-more").hidden = !data.nextCursor;
95
+ }
96
+
97
+ function escapeHtml(s) {
98
+ return String(s)
99
+ .replace(/&/g, "&amp;")
100
+ .replace(/</g, "&lt;")
101
+ .replace(/>/g, "&gt;")
102
+ .replace(/"/g, "&quot;");
103
+ }
104
+
105
+ function formatVerdictSurface(vs) {
106
+ if (!vs || typeof vs !== "object") return "";
107
+ const counts = vs.stepStatusCounts || {};
108
+ const parts = Object.entries(counts)
109
+ .filter(([, n]) => n > 0)
110
+ .map(([k, n]) => `${k}: ${n}`);
111
+ const countsLine = parts.length ? parts.join(" · ") : "(no steps)";
112
+ return `
113
+ <div class="verdict-panel" role="region" aria-label="Workflow verdict">
114
+ <div class="verdict-status">Workflow status: <code>${escapeHtml(vs.status)}</code></div>
115
+ <div class="verdict-trust">${escapeHtml(vs.trustSummary || "")}</div>
116
+ <div class="verdict-counts">Step outcomes: ${escapeHtml(countsLine)}</div>
117
+ </div>`;
118
+ }
119
+
120
+ async function openDetail(runId) {
121
+ const drawer = document.getElementById("detail-drawer");
122
+ const body = document.getElementById("detail-body");
123
+ const title = document.getElementById("detail-title");
124
+ drawer.classList.remove("hidden");
125
+ title.textContent = `Run: ${runId}`;
126
+ body.innerHTML = "<p>Loading…</p>";
127
+ try {
128
+ const data = await api(`/api/runs/${encodeURIComponent(runId)}`);
129
+ if (data.loadStatus === "error") {
130
+ body.innerHTML = `
131
+ <p class="focus-panel"><strong>Load error</strong> <code>${escapeHtml(data.error.code)}</code></p>
132
+ <pre class="json-out">${escapeHtml(JSON.stringify(data, null, 2))}</pre>
133
+ `;
134
+ return;
135
+ }
136
+ let focusHtml = "";
137
+ const focusSet = new Set();
138
+ try {
139
+ const focus = await api(`/api/runs/${encodeURIComponent(runId)}/focus`);
140
+ focusHtml = `<div class="focus-panel"><strong>Focus targets (from API)</strong><pre>${escapeHtml(JSON.stringify(focus.targets, null, 2))}</pre></div>`;
141
+ for (const t of focus.targets) {
142
+ if (t.kind === "seq") focusSet.add(`seq:${t.value}`);
143
+ if (t.kind === "ingestIndex") focusSet.add(`ingest:${t.value}`);
144
+ if (t.kind === "runEventId") focusSet.add(`runEventId:${t.value}`);
145
+ }
146
+ } catch (e) {
147
+ focusHtml = `<p class="meta">Focus: ${escapeHtml(e.message)}</p>`;
148
+ }
149
+ const verdictHtml = formatVerdictSurface(data.workflowVerdictSurface);
150
+ const steps = (data.executionTrace?.nodes || []).map((n, i) => {
151
+ const seq = n.toolSeq ?? n.verificationLink?.seq;
152
+ const seqKey = seq != null ? `seq:${seq}` : "";
153
+ const ingestKey = `ingest:${n.ingestIndex}`;
154
+ const runEvKey = n.runEventId ? `runEventId:${n.runEventId}` : "";
155
+ const hit =
156
+ (seqKey && focusSet.has(seqKey)) ||
157
+ focusSet.has(ingestKey) ||
158
+ (runEvKey && focusSet.has(runEvKey));
159
+ return `<div class="trace-step ${hit ? "focus-hit" : ""}" data-idx="${i}">${escapeHtml(JSON.stringify(n))}</div>`;
160
+ });
161
+ const trustHtml =
162
+ typeof data.runTrustPanelHtml === "string"
163
+ ? `<div class="run-trust-panel">${data.runTrustPanelHtml}</div>`
164
+ : "";
165
+ body.innerHTML = `
166
+ ${trustHtml}
167
+ ${verdictHtml}
168
+ ${focusHtml}
169
+ <h3>Trace nodes</h3>
170
+ ${steps.join("") || "<p>(no trace nodes)</p>"}
171
+ <h3>WorkflowResult</h3>
172
+ <pre class="json-out">${escapeHtml(JSON.stringify(data.workflowResult, null, 2))}</pre>
173
+ `;
174
+ } catch (e) {
175
+ body.innerHTML = `<p class="focus-panel">Error: ${escapeHtml(e.message)}</p>`;
176
+ }
177
+ }
178
+
179
+ document.getElementById("filters").addEventListener("submit", (ev) => {
180
+ ev.preventDefault();
181
+ state.filterParams = buildFilterParamsFromForm();
182
+ loadRuns(false).catch((e) => alert(e.message));
183
+ });
184
+
185
+ document.getElementById("clear-filters").addEventListener("click", () => {
186
+ document.getElementById("filters").reset();
187
+ document.querySelector('[name="includeLoadErrors"]').checked = true;
188
+ state.filterParams = buildFilterParamsFromForm();
189
+ loadRuns(false).catch((e) => alert(e.message));
190
+ });
191
+
192
+ document.getElementById("load-more").addEventListener("click", () => {
193
+ loadRuns(true).catch((e) => alert(e.message));
194
+ });
195
+
196
+ document.querySelectorAll(".tab").forEach((btn) => {
197
+ btn.addEventListener("click", () => {
198
+ document.querySelectorAll(".tab").forEach((b) => b.classList.remove("active"));
199
+ document.querySelectorAll(".panel").forEach((p) => p.classList.remove("active"));
200
+ btn.classList.add("active");
201
+ document.getElementById(`panel-${btn.dataset.tab}`).classList.add("active");
202
+ });
203
+ });
204
+
205
+ document.getElementById("refresh-patterns").addEventListener("click", async () => {
206
+ const out = document.getElementById("patterns-out");
207
+ out.textContent = "Loading…";
208
+ const p = new URLSearchParams(state.filterParams);
209
+ try {
210
+ const data = await api(`/api/corpus-patterns?${p.toString()}`);
211
+ out.textContent = JSON.stringify(data, null, 2);
212
+ } catch (e) {
213
+ out.textContent = JSON.stringify(e.data || { message: e.message }, null, 2);
214
+ }
215
+ });
216
+
217
+ document.getElementById("run-compare").addEventListener("click", async () => {
218
+ const ids = [...state.selected];
219
+ const out = document.getElementById("compare-out");
220
+ out.textContent = "Loading…";
221
+ try {
222
+ const data = await api("/api/compare", {
223
+ method: "POST",
224
+ headers: { "Content-Type": "application/json" },
225
+ body: JSON.stringify({ runIds: ids }),
226
+ });
227
+ if (typeof data.comparePanelHtml === "string") {
228
+ out.innerHTML = data.comparePanelHtml;
229
+ } else {
230
+ out.textContent = "comparePanelHtml missing in response.";
231
+ }
232
+ } catch (e) {
233
+ out.textContent = "";
234
+ out.appendChild(document.createTextNode(JSON.stringify(e.data || { message: e.message }, null, 2)));
235
+ }
236
+ });
237
+
238
+ document.getElementById("close-detail").addEventListener("click", () => {
239
+ document.getElementById("detail-drawer").classList.add("hidden");
240
+ });
241
+
242
+ state.filterParams = buildFilterParamsFromForm();
243
+ loadRuns(false).catch((e) => {
244
+ document.getElementById("runs-meta").textContent = `Failed to load: ${e.message}`;
245
+ });