@xoxoai/checkmate 0.6.7 → 0.7.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 (381) hide show
  1. package/README.md +54 -257
  2. package/dist/checkmate.js +13375 -0
  3. package/package.json +30 -94
  4. package/plugin/.claude-plugin/plugin.json +10 -0
  5. package/plugin/bin/checkmate.ts +3 -0
  6. package/plugin/contracts/finding.schema.json +78 -0
  7. package/plugin/contracts/gap.schema.json +56 -0
  8. package/plugin/contracts/plan-candidate.schema.json +103 -0
  9. package/plugin/contracts/plan-delta.schema.json +63 -0
  10. package/plugin/contracts/plan-patch.schema.json +116 -0
  11. package/plugin/contracts/plan-request.schema.json +108 -0
  12. package/plugin/contracts/plan.schema.json +313 -0
  13. package/plugin/contracts/profile.schema.json +154 -0
  14. package/plugin/contracts/response.schema.json +25 -0
  15. package/plugin/contracts/result.schema.json +410 -0
  16. package/plugin/dist/checkmate.js +13012 -0
  17. package/plugin/package.json +4 -0
  18. package/plugin/references/browser.md +35 -0
  19. package/plugin/references/http.md +30 -0
  20. package/plugin/references/workflow.md +122 -0
  21. package/plugin/skills/execute/SKILL.md +92 -0
  22. package/plugin/skills/plan/SKILL.md +94 -0
  23. package/plugin/skills/report/SKILL.md +28 -0
  24. package/plugin/skills/revise/SKILL.md +43 -0
  25. package/plugin/skills/setup/SKILL.md +82 -0
  26. package/plugin/skills/status/SKILL.md +20 -0
  27. package/plugin/skills/ui/SKILL.md +26 -0
  28. package/plugin/src/actor.ts +21 -0
  29. package/plugin/src/cli.ts +1133 -0
  30. package/plugin/src/contracts.ts +342 -0
  31. package/plugin/src/index.ts +52 -0
  32. package/plugin/src/plans.ts +1028 -0
  33. package/plugin/src/render.ts +544 -0
  34. package/plugin/src/runs.ts +868 -0
  35. package/plugin/src/store.ts +384 -0
  36. package/plugin/src/targets.ts +205 -0
  37. package/plugin/src/types.ts +319 -0
  38. package/plugin/src/ui/assets/client.js +501 -0
  39. package/plugin/src/ui/assets/favicon.svg +1 -0
  40. package/plugin/src/ui/assets/fonts/inter-OFL.txt +93 -0
  41. package/plugin/src/ui/assets/fonts/inter.woff2 +0 -0
  42. package/plugin/src/ui/assets/fonts/jetbrains-mono-OFL.txt +93 -0
  43. package/plugin/src/ui/assets/fonts/jetbrains-mono.woff2 +0 -0
  44. package/plugin/src/ui/assets/fonts/space-grotesk-OFL.txt +93 -0
  45. package/plugin/src/ui/assets/fonts/space-grotesk.woff2 +0 -0
  46. package/plugin/src/ui/assets/style.css +1926 -0
  47. package/plugin/src/ui/edit.ts +305 -0
  48. package/plugin/src/ui/forms.ts +209 -0
  49. package/plugin/src/ui/html.ts +130 -0
  50. package/plugin/src/ui/layout.ts +198 -0
  51. package/plugin/src/ui/lists.ts +645 -0
  52. package/plugin/src/ui/plan.ts +577 -0
  53. package/plugin/src/ui/run.ts +489 -0
  54. package/plugin/src/ui/server.ts +684 -0
  55. package/plugin/src/validators.d.ts +13 -0
  56. package/plugin/src/validators.js +1 -0
  57. package/plugin/src/views.ts +839 -0
  58. package/bin/checkmate.js +0 -13
  59. package/dist/ai/client.d.ts +0 -64
  60. package/dist/ai/client.d.ts.map +0 -1
  61. package/dist/ai/client.js +0 -313
  62. package/dist/ai/client.js.map +0 -1
  63. package/dist/ai/message-handler.d.ts +0 -9
  64. package/dist/ai/message-handler.d.ts.map +0 -1
  65. package/dist/ai/message-handler.js +0 -50
  66. package/dist/ai/message-handler.js.map +0 -1
  67. package/dist/ai/message-history.d.ts +0 -17
  68. package/dist/ai/message-history.d.ts.map +0 -1
  69. package/dist/ai/message-history.js +0 -45
  70. package/dist/ai/message-history.js.map +0 -1
  71. package/dist/ai/prompts.d.ts +0 -4
  72. package/dist/ai/prompts.d.ts.map +0 -1
  73. package/dist/ai/prompts.js +0 -24
  74. package/dist/ai/prompts.js.map +0 -1
  75. package/dist/ai/rate-limit-policy.d.ts +0 -9
  76. package/dist/ai/rate-limit-policy.d.ts.map +0 -1
  77. package/dist/ai/rate-limit-policy.js +0 -34
  78. package/dist/ai/rate-limit-policy.js.map +0 -1
  79. package/dist/ai/tool-response-handler.d.ts +0 -16
  80. package/dist/ai/tool-response-handler.d.ts.map +0 -1
  81. package/dist/ai/tool-response-handler.js +0 -85
  82. package/dist/ai/tool-response-handler.js.map +0 -1
  83. package/dist/ai/turn-processor.d.ts +0 -34
  84. package/dist/ai/turn-processor.d.ts.map +0 -1
  85. package/dist/ai/turn-processor.js +0 -107
  86. package/dist/ai/turn-processor.js.map +0 -1
  87. package/dist/api/allocate-run-identity.d.ts +0 -8
  88. package/dist/api/allocate-run-identity.d.ts.map +0 -1
  89. package/dist/api/allocate-run-identity.js +0 -10
  90. package/dist/api/allocate-run-identity.js.map +0 -1
  91. package/dist/api/execute-prepared-run.d.ts +0 -22
  92. package/dist/api/execute-prepared-run.d.ts.map +0 -1
  93. package/dist/api/execute-prepared-run.js +0 -184
  94. package/dist/api/execute-prepared-run.js.map +0 -1
  95. package/dist/api/index.d.ts +0 -25
  96. package/dist/api/index.d.ts.map +0 -1
  97. package/dist/api/index.js +0 -69
  98. package/dist/api/index.js.map +0 -1
  99. package/dist/api/prepare-run.d.ts +0 -44
  100. package/dist/api/prepare-run.d.ts.map +0 -1
  101. package/dist/api/prepare-run.js +0 -261
  102. package/dist/api/prepare-run.js.map +0 -1
  103. package/dist/cli/diagnostic-relay.d.ts +0 -6
  104. package/dist/cli/diagnostic-relay.d.ts.map +0 -1
  105. package/dist/cli/diagnostic-relay.js +0 -6
  106. package/dist/cli/diagnostic-relay.js.map +0 -1
  107. package/dist/cli/main.d.ts +0 -21
  108. package/dist/cli/main.d.ts.map +0 -1
  109. package/dist/cli/main.js +0 -166
  110. package/dist/cli/main.js.map +0 -1
  111. package/dist/cli/protocol.d.ts +0 -57
  112. package/dist/cli/protocol.d.ts.map +0 -1
  113. package/dist/cli/protocol.js +0 -116
  114. package/dist/cli/protocol.js.map +0 -1
  115. package/dist/cli/reconcile-result.d.ts +0 -13
  116. package/dist/cli/reconcile-result.d.ts.map +0 -1
  117. package/dist/cli/reconcile-result.js +0 -300
  118. package/dist/cli/reconcile-result.js.map +0 -1
  119. package/dist/cli/run-parent.d.ts +0 -37
  120. package/dist/cli/run-parent.d.ts.map +0 -1
  121. package/dist/cli/run-parent.js +0 -491
  122. package/dist/cli/run-parent.js.map +0 -1
  123. package/dist/cli/signals.d.ts +0 -36
  124. package/dist/cli/signals.d.ts.map +0 -1
  125. package/dist/cli/signals.js +0 -85
  126. package/dist/cli/signals.js.map +0 -1
  127. package/dist/cli/static-commands.d.ts +0 -11
  128. package/dist/cli/static-commands.d.ts.map +0 -1
  129. package/dist/cli/static-commands.js +0 -83
  130. package/dist/cli/static-commands.js.map +0 -1
  131. package/dist/cli/worker-stream-guard.d.ts +0 -20
  132. package/dist/cli/worker-stream-guard.d.ts.map +0 -1
  133. package/dist/cli/worker-stream-guard.js +0 -41
  134. package/dist/cli/worker-stream-guard.js.map +0 -1
  135. package/dist/cli/worker.d.ts +0 -3
  136. package/dist/cli/worker.d.ts.map +0 -1
  137. package/dist/cli/worker.js +0 -111
  138. package/dist/cli/worker.js.map +0 -1
  139. package/dist/config/ingestion.d.ts +0 -58
  140. package/dist/config/ingestion.d.ts.map +0 -1
  141. package/dist/config/ingestion.js +0 -283
  142. package/dist/config/ingestion.js.map +0 -1
  143. package/dist/config/manifest.d.ts +0 -20
  144. package/dist/config/manifest.d.ts.map +0 -1
  145. package/dist/config/manifest.js +0 -91
  146. package/dist/config/manifest.js.map +0 -1
  147. package/dist/config/model-egress.d.ts +0 -10
  148. package/dist/config/model-egress.d.ts.map +0 -1
  149. package/dist/config/model-egress.js +0 -62
  150. package/dist/config/model-egress.js.map +0 -1
  151. package/dist/config/package-resolution.d.ts +0 -4
  152. package/dist/config/package-resolution.d.ts.map +0 -1
  153. package/dist/config/package-resolution.js +0 -24
  154. package/dist/config/package-resolution.js.map +0 -1
  155. package/dist/config/policy.d.ts +0 -44
  156. package/dist/config/policy.d.ts.map +0 -1
  157. package/dist/config/policy.js +0 -141
  158. package/dist/config/policy.js.map +0 -1
  159. package/dist/config/record.d.ts +0 -4
  160. package/dist/config/record.d.ts.map +0 -1
  161. package/dist/config/record.js +0 -10
  162. package/dist/config/record.js.map +0 -1
  163. package/dist/config/secrets.d.ts +0 -11
  164. package/dist/config/secrets.d.ts.map +0 -1
  165. package/dist/config/secrets.js +0 -42
  166. package/dist/config/secrets.js.map +0 -1
  167. package/dist/contracts/diagnostics.d.ts +0 -4
  168. package/dist/contracts/diagnostics.d.ts.map +0 -1
  169. package/dist/contracts/diagnostics.js +0 -31
  170. package/dist/contracts/diagnostics.js.map +0 -1
  171. package/dist/contracts/serialize.d.ts +0 -2
  172. package/dist/contracts/serialize.d.ts.map +0 -1
  173. package/dist/contracts/serialize.js +0 -90
  174. package/dist/contracts/serialize.js.map +0 -1
  175. package/dist/contracts/types.d.ts +0 -316
  176. package/dist/contracts/types.d.ts.map +0 -1
  177. package/dist/contracts/types.js +0 -74
  178. package/dist/contracts/types.js.map +0 -1
  179. package/dist/contracts/validator.d.ts +0 -8
  180. package/dist/contracts/validator.d.ts.map +0 -1
  181. package/dist/contracts/validator.js +0 -71
  182. package/dist/contracts/validator.js.map +0 -1
  183. package/dist/driver.d.ts +0 -97
  184. package/dist/driver.d.ts.map +0 -1
  185. package/dist/driver.js +0 -24
  186. package/dist/driver.js.map +0 -1
  187. package/dist/drivers/descriptor.d.ts +0 -15
  188. package/dist/drivers/descriptor.d.ts.map +0 -1
  189. package/dist/drivers/descriptor.js +0 -122
  190. package/dist/drivers/descriptor.js.map +0 -1
  191. package/dist/drivers/loader.d.ts +0 -18
  192. package/dist/drivers/loader.d.ts.map +0 -1
  193. package/dist/drivers/loader.js +0 -97
  194. package/dist/drivers/loader.js.map +0 -1
  195. package/dist/drivers/web/checkmate-driver.json +0 -47
  196. package/dist/drivers/web/index.d.ts +0 -6
  197. package/dist/drivers/web/index.d.ts.map +0 -1
  198. package/dist/drivers/web/index.js +0 -27
  199. package/dist/drivers/web/index.js.map +0 -1
  200. package/dist/drivers/web/session.d.ts +0 -25
  201. package/dist/drivers/web/session.d.ts.map +0 -1
  202. package/dist/drivers/web/session.js +0 -132
  203. package/dist/drivers/web/session.js.map +0 -1
  204. package/dist/drivers/web/tools/network-request-recorder.d.ts +0 -46
  205. package/dist/drivers/web/tools/network-request-recorder.d.ts.map +0 -1
  206. package/dist/drivers/web/tools/network-request-recorder.js +0 -164
  207. package/dist/drivers/web/tools/network-request-recorder.js.map +0 -1
  208. package/dist/drivers/web/tools/screenshot-service.d.ts +0 -10
  209. package/dist/drivers/web/tools/screenshot-service.d.ts.map +0 -1
  210. package/dist/drivers/web/tools/screenshot-service.js +0 -23
  211. package/dist/drivers/web/tools/screenshot-service.js.map +0 -1
  212. package/dist/drivers/web/tools/snapshot-filter/index.d.ts +0 -4
  213. package/dist/drivers/web/tools/snapshot-filter/index.d.ts.map +0 -1
  214. package/dist/drivers/web/tools/snapshot-filter/index.js +0 -4
  215. package/dist/drivers/web/tools/snapshot-filter/index.js.map +0 -1
  216. package/dist/drivers/web/tools/snapshot-filter/semantic-scorer.d.ts +0 -15
  217. package/dist/drivers/web/tools/snapshot-filter/semantic-scorer.d.ts.map +0 -1
  218. package/dist/drivers/web/tools/snapshot-filter/semantic-scorer.js +0 -99
  219. package/dist/drivers/web/tools/snapshot-filter/semantic-scorer.js.map +0 -1
  220. package/dist/drivers/web/tools/snapshot-filter/snapshot-filter.d.ts +0 -5
  221. package/dist/drivers/web/tools/snapshot-filter/snapshot-filter.d.ts.map +0 -1
  222. package/dist/drivers/web/tools/snapshot-filter/snapshot-filter.js +0 -56
  223. package/dist/drivers/web/tools/snapshot-filter/snapshot-filter.js.map +0 -1
  224. package/dist/drivers/web/tools/snapshot-filter/tree-reconstructor.d.ts +0 -3
  225. package/dist/drivers/web/tools/snapshot-filter/tree-reconstructor.d.ts.map +0 -1
  226. package/dist/drivers/web/tools/snapshot-filter/tree-reconstructor.js +0 -85
  227. package/dist/drivers/web/tools/snapshot-filter/tree-reconstructor.js.map +0 -1
  228. package/dist/drivers/web/tools/snapshot-service.d.ts +0 -31
  229. package/dist/drivers/web/tools/snapshot-service.d.ts.map +0 -1
  230. package/dist/drivers/web/tools/snapshot-service.js +0 -96
  231. package/dist/drivers/web/tools/snapshot-service.js.map +0 -1
  232. package/dist/drivers/web/tools/tool.d.ts +0 -76
  233. package/dist/drivers/web/tools/tool.d.ts.map +0 -1
  234. package/dist/drivers/web/tools/tool.js +0 -562
  235. package/dist/drivers/web/tools/tool.js.map +0 -1
  236. package/dist/drivers/web/tools/transient-state-tracker.d.ts +0 -26
  237. package/dist/drivers/web/tools/transient-state-tracker.d.ts.map +0 -1
  238. package/dist/drivers/web/tools/transient-state-tracker.js +0 -301
  239. package/dist/drivers/web/tools/transient-state-tracker.js.map +0 -1
  240. package/dist/drivers/web/tools/types.d.ts +0 -11
  241. package/dist/drivers/web/tools/types.d.ts.map +0 -1
  242. package/dist/drivers/web/tools/types.js +0 -2
  243. package/dist/drivers/web/tools/types.js.map +0 -1
  244. package/dist/evidence/atomic-file.d.ts +0 -23
  245. package/dist/evidence/atomic-file.d.ts.map +0 -1
  246. package/dist/evidence/atomic-file.js +0 -104
  247. package/dist/evidence/atomic-file.js.map +0 -1
  248. package/dist/evidence/layout.d.ts +0 -30
  249. package/dist/evidence/layout.d.ts.map +0 -1
  250. package/dist/evidence/layout.js +0 -152
  251. package/dist/evidence/layout.js.map +0 -1
  252. package/dist/evidence/retention.d.ts +0 -5
  253. package/dist/evidence/retention.d.ts.map +0 -1
  254. package/dist/evidence/retention.js +0 -10
  255. package/dist/evidence/retention.js.map +0 -1
  256. package/dist/evidence/store.d.ts +0 -101
  257. package/dist/evidence/store.d.ts.map +0 -1
  258. package/dist/evidence/store.js +0 -375
  259. package/dist/evidence/store.js.map +0 -1
  260. package/dist/evidence/terminal-finalizer.d.ts +0 -19
  261. package/dist/evidence/terminal-finalizer.d.ts.map +0 -1
  262. package/dist/evidence/terminal-finalizer.js +0 -56
  263. package/dist/evidence/terminal-finalizer.js.map +0 -1
  264. package/dist/index.d.ts +0 -9
  265. package/dist/index.d.ts.map +0 -1
  266. package/dist/index.js +0 -12
  267. package/dist/index.js.map +0 -1
  268. package/dist/logging/invocation-logger.d.ts +0 -4
  269. package/dist/logging/invocation-logger.d.ts.map +0 -1
  270. package/dist/logging/invocation-logger.js +0 -25
  271. package/dist/logging/invocation-logger.js.map +0 -1
  272. package/dist/logging/level-logger.d.ts +0 -11
  273. package/dist/logging/level-logger.d.ts.map +0 -1
  274. package/dist/logging/level-logger.js +0 -82
  275. package/dist/logging/level-logger.js.map +0 -1
  276. package/dist/logging/types.d.ts +0 -8
  277. package/dist/logging/types.d.ts.map +0 -1
  278. package/dist/logging/types.js +0 -7
  279. package/dist/logging/types.js.map +0 -1
  280. package/dist/redaction/diagnostic-sanitizer.d.ts +0 -7
  281. package/dist/redaction/diagnostic-sanitizer.d.ts.map +0 -1
  282. package/dist/redaction/diagnostic-sanitizer.js +0 -42
  283. package/dist/redaction/diagnostic-sanitizer.js.map +0 -1
  284. package/dist/redaction/redactor.d.ts +0 -40
  285. package/dist/redaction/redactor.d.ts.map +0 -1
  286. package/dist/redaction/redactor.js +0 -176
  287. package/dist/redaction/redactor.js.map +0 -1
  288. package/dist/redaction/scrub.d.ts +0 -29
  289. package/dist/redaction/scrub.d.ts.map +0 -1
  290. package/dist/redaction/scrub.js +0 -54
  291. package/dist/redaction/scrub.js.map +0 -1
  292. package/dist/runtime/config.d.ts +0 -16
  293. package/dist/runtime/config.d.ts.map +0 -1
  294. package/dist/runtime/config.js +0 -2
  295. package/dist/runtime/config.js.map +0 -1
  296. package/dist/runtime/driver-boundary.d.ts +0 -16
  297. package/dist/runtime/driver-boundary.d.ts.map +0 -1
  298. package/dist/runtime/driver-boundary.js +0 -71
  299. package/dist/runtime/driver-boundary.js.map +0 -1
  300. package/dist/runtime/driver-session.d.ts +0 -9
  301. package/dist/runtime/driver-session.d.ts.map +0 -1
  302. package/dist/runtime/driver-session.js +0 -64
  303. package/dist/runtime/driver-session.js.map +0 -1
  304. package/dist/runtime/internal-step-evidence.d.ts +0 -30
  305. package/dist/runtime/internal-step-evidence.d.ts.map +0 -1
  306. package/dist/runtime/internal-step-evidence.js +0 -82
  307. package/dist/runtime/internal-step-evidence.js.map +0 -1
  308. package/dist/runtime/result-adapter.d.ts +0 -9
  309. package/dist/runtime/result-adapter.d.ts.map +0 -1
  310. package/dist/runtime/result-adapter.js +0 -77
  311. package/dist/runtime/result-adapter.js.map +0 -1
  312. package/dist/runtime/runner.d.ts +0 -43
  313. package/dist/runtime/runner.d.ts.map +0 -1
  314. package/dist/runtime/runner.js +0 -72
  315. package/dist/runtime/runner.js.map +0 -1
  316. package/dist/runtime/scenario-control.d.ts +0 -40
  317. package/dist/runtime/scenario-control.d.ts.map +0 -1
  318. package/dist/runtime/scenario-control.js +0 -94
  319. package/dist/runtime/scenario-control.js.map +0 -1
  320. package/dist/runtime/scenario-runner.d.ts +0 -41
  321. package/dist/runtime/scenario-runner.d.ts.map +0 -1
  322. package/dist/runtime/scenario-runner.js +0 -274
  323. package/dist/runtime/scenario-runner.js.map +0 -1
  324. package/dist/runtime/scenario-state.d.ts +0 -55
  325. package/dist/runtime/scenario-state.d.ts.map +0 -1
  326. package/dist/runtime/scenario-state.js +0 -128
  327. package/dist/runtime/scenario-state.js.map +0 -1
  328. package/dist/runtime/step-execution.d.ts +0 -27
  329. package/dist/runtime/step-execution.d.ts.map +0 -1
  330. package/dist/runtime/step-execution.js +0 -143
  331. package/dist/runtime/step-execution.js.map +0 -1
  332. package/dist/runtime/text.d.ts +0 -10
  333. package/dist/runtime/text.d.ts.map +0 -1
  334. package/dist/runtime/text.js +0 -25
  335. package/dist/runtime/text.js.map +0 -1
  336. package/dist/runtime/types.d.ts +0 -53
  337. package/dist/runtime/types.d.ts.map +0 -1
  338. package/dist/runtime/types.js +0 -2
  339. package/dist/runtime/types.js.map +0 -1
  340. package/dist/runtime/usage-tracker.d.ts +0 -37
  341. package/dist/runtime/usage-tracker.d.ts.map +0 -1
  342. package/dist/runtime/usage-tracker.js +0 -110
  343. package/dist/runtime/usage-tracker.js.map +0 -1
  344. package/dist/tools/define-agent-tool.d.ts +0 -20
  345. package/dist/tools/define-agent-tool.d.ts.map +0 -1
  346. package/dist/tools/define-agent-tool.js +0 -30
  347. package/dist/tools/define-agent-tool.js.map +0 -1
  348. package/dist/tools/dispatcher.d.ts +0 -19
  349. package/dist/tools/dispatcher.d.ts.map +0 -1
  350. package/dist/tools/dispatcher.js +0 -91
  351. package/dist/tools/dispatcher.js.map +0 -1
  352. package/dist/tools/loop-detector.d.ts +0 -27
  353. package/dist/tools/loop-detector.d.ts.map +0 -1
  354. package/dist/tools/loop-detector.js +0 -76
  355. package/dist/tools/loop-detector.js.map +0 -1
  356. package/dist/tools/registry.d.ts +0 -19
  357. package/dist/tools/registry.d.ts.map +0 -1
  358. package/dist/tools/registry.js +0 -54
  359. package/dist/tools/registry.js.map +0 -1
  360. package/dist/tools/step/result-tool.d.ts +0 -7
  361. package/dist/tools/step/result-tool.d.ts.map +0 -1
  362. package/dist/tools/step/result-tool.js +0 -34
  363. package/dist/tools/step/result-tool.js.map +0 -1
  364. package/dist/tools/tool-contract.d.ts +0 -3
  365. package/dist/tools/tool-contract.d.ts.map +0 -1
  366. package/dist/tools/tool-contract.js +0 -2
  367. package/dist/tools/tool-contract.js.map +0 -1
  368. package/dist/tools/types.d.ts +0 -210
  369. package/dist/tools/types.d.ts.map +0 -1
  370. package/dist/tools/types.js +0 -4
  371. package/dist/tools/types.js.map +0 -1
  372. package/docs/CLI.md +0 -59
  373. package/docs/CONFIGURATION.md +0 -105
  374. package/docs/DRIVERS.md +0 -79
  375. package/docs/EVIDENCE.md +0 -64
  376. package/schemas/checkmate-config.v1.json +0 -176
  377. package/schemas/describe-result.v1.json +0 -414
  378. package/schemas/driver-descriptor.v1.json +0 -66
  379. package/schemas/run-request.v1.json +0 -67
  380. package/schemas/run-result.v1.json +0 -333
  381. package/schemas/validation-result.v1.json +0 -86
@@ -0,0 +1,410 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "result.schema.json",
4
+ "type": "object",
5
+ "properties": {
6
+ "contractVersion": {
7
+ "const": "toolkit-2"
8
+ },
9
+ "runId": {
10
+ "type": "string",
11
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"
12
+ },
13
+ "plan": {
14
+ "type": "object",
15
+ "properties": {
16
+ "planId": {
17
+ "type": "string",
18
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"
19
+ },
20
+ "revision": {
21
+ "type": "integer",
22
+ "minimum": 1
23
+ },
24
+ "sha256": {
25
+ "type": "string",
26
+ "pattern": "^[a-f0-9]{64}$"
27
+ }
28
+ },
29
+ "required": ["planId", "revision", "sha256"],
30
+ "additionalProperties": false
31
+ },
32
+ "target": {
33
+ "type": "object",
34
+ "properties": {
35
+ "targetId": {
36
+ "type": "string",
37
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"
38
+ },
39
+ "revision": {
40
+ "type": "integer",
41
+ "minimum": 1
42
+ },
43
+ "sha256": {
44
+ "type": "string",
45
+ "pattern": "^[a-f0-9]{64}$"
46
+ }
47
+ },
48
+ "required": ["targetId", "revision", "sha256"],
49
+ "additionalProperties": false
50
+ },
51
+ "applicationBuild": {
52
+ "type": "string",
53
+ "minLength": 1
54
+ },
55
+ "selectedTestIds": {
56
+ "type": "array",
57
+ "items": {
58
+ "type": "string",
59
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"
60
+ },
61
+ "minItems": 1,
62
+ "uniqueItems": true
63
+ },
64
+ "retestOf": {
65
+ "anyOf": [
66
+ {
67
+ "type": "string",
68
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"
69
+ },
70
+ {
71
+ "type": "null"
72
+ }
73
+ ]
74
+ },
75
+ "startedAt": {
76
+ "type": "string",
77
+ "format": "date-time"
78
+ },
79
+ "finishedAt": {
80
+ "type": "string",
81
+ "format": "date-time"
82
+ },
83
+ "attempts": {
84
+ "type": "integer",
85
+ "minimum": 1
86
+ },
87
+ "completion": {
88
+ "enum": ["completed", "interrupted", "operational_error"]
89
+ },
90
+ "tests": {
91
+ "type": "array",
92
+ "items": {
93
+ "type": "object",
94
+ "properties": {
95
+ "testId": {
96
+ "type": "string",
97
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"
98
+ },
99
+ "outcome": {
100
+ "enum": ["passed", "failed", "inconclusive", "blocked", "not_run", "error"]
101
+ },
102
+ "reason": {
103
+ "anyOf": [
104
+ {
105
+ "type": "string",
106
+ "minLength": 1
107
+ },
108
+ {
109
+ "type": "null"
110
+ }
111
+ ]
112
+ },
113
+ "assertions": {
114
+ "type": "array",
115
+ "items": {
116
+ "type": "object",
117
+ "properties": {
118
+ "assertionId": {
119
+ "type": "string",
120
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"
121
+ },
122
+ "check": {
123
+ "type": "string",
124
+ "minLength": 1
125
+ },
126
+ "checkKind": {
127
+ "enum": ["deterministic", "agent_observation"]
128
+ },
129
+ "result": {
130
+ "enum": ["passed", "failed", "inconclusive", "not_checked"]
131
+ },
132
+ "observed": {
133
+ "anyOf": [
134
+ {
135
+ "type": "string",
136
+ "minLength": 1
137
+ },
138
+ {
139
+ "type": "null"
140
+ }
141
+ ]
142
+ },
143
+ "reason": {
144
+ "anyOf": [
145
+ {
146
+ "type": "string",
147
+ "minLength": 1
148
+ },
149
+ {
150
+ "type": "null"
151
+ }
152
+ ]
153
+ },
154
+ "evidenceIds": {
155
+ "type": "array",
156
+ "items": {
157
+ "type": "string",
158
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"
159
+ },
160
+ "minItems": 0,
161
+ "uniqueItems": true
162
+ }
163
+ },
164
+ "required": ["assertionId", "check", "checkKind", "result", "observed", "reason", "evidenceIds"],
165
+ "additionalProperties": false
166
+ },
167
+ "minItems": 0,
168
+ "uniqueItems": true
169
+ }
170
+ },
171
+ "required": ["testId", "outcome", "reason", "assertions"],
172
+ "additionalProperties": false
173
+ },
174
+ "minItems": 1,
175
+ "uniqueItems": true
176
+ },
177
+ "findings": {
178
+ "type": "array",
179
+ "items": {
180
+ "type": "object",
181
+ "properties": {
182
+ "id": {
183
+ "type": "string",
184
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"
185
+ },
186
+ "type": {
187
+ "enum": ["defect", "potential_issue"]
188
+ },
189
+ "severity": {
190
+ "enum": ["low", "medium", "high", "critical"]
191
+ },
192
+ "requirementIds": {
193
+ "type": "array",
194
+ "items": {
195
+ "type": "string",
196
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"
197
+ },
198
+ "minItems": 1,
199
+ "uniqueItems": true
200
+ },
201
+ "title": {
202
+ "type": "string",
203
+ "minLength": 1
204
+ },
205
+ "expected": {
206
+ "type": "string",
207
+ "minLength": 1
208
+ },
209
+ "observed": {
210
+ "type": "string",
211
+ "minLength": 1
212
+ },
213
+ "reproduction": {
214
+ "type": "array",
215
+ "items": {
216
+ "type": "string",
217
+ "minLength": 1
218
+ },
219
+ "minItems": 1,
220
+ "uniqueItems": true
221
+ },
222
+ "evidenceIds": {
223
+ "type": "array",
224
+ "items": {
225
+ "type": "string",
226
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"
227
+ },
228
+ "minItems": 1,
229
+ "uniqueItems": true
230
+ },
231
+ "testIds": {
232
+ "type": "array",
233
+ "items": {
234
+ "type": "string",
235
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"
236
+ },
237
+ "minItems": 1,
238
+ "uniqueItems": true
239
+ },
240
+ "assertionIds": {
241
+ "type": "array",
242
+ "items": {
243
+ "type": "string",
244
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}\\.[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"
245
+ },
246
+ "minItems": 1,
247
+ "uniqueItems": true
248
+ }
249
+ },
250
+ "required": [
251
+ "id",
252
+ "type",
253
+ "severity",
254
+ "requirementIds",
255
+ "title",
256
+ "expected",
257
+ "observed",
258
+ "reproduction",
259
+ "evidenceIds",
260
+ "testIds",
261
+ "assertionIds"
262
+ ],
263
+ "additionalProperties": false
264
+ },
265
+ "minItems": 0,
266
+ "uniqueItems": true
267
+ },
268
+ "newGaps": {
269
+ "type": "array",
270
+ "items": {
271
+ "$ref": "gap.schema.json"
272
+ },
273
+ "minItems": 0,
274
+ "uniqueItems": true
275
+ },
276
+ "evidence": {
277
+ "type": "array",
278
+ "items": {
279
+ "type": "object",
280
+ "properties": {
281
+ "id": {
282
+ "type": "string",
283
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"
284
+ },
285
+ "testId": {
286
+ "type": "string",
287
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"
288
+ },
289
+ "assertionId": {
290
+ "anyOf": [
291
+ {
292
+ "type": "string",
293
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"
294
+ },
295
+ {
296
+ "type": "null"
297
+ }
298
+ ]
299
+ },
300
+ "kind": {
301
+ "enum": ["observation", "http_exchange", "screenshot", "trace"]
302
+ },
303
+ "name": {
304
+ "type": "string",
305
+ "minLength": 1
306
+ },
307
+ "mediaType": {
308
+ "type": "string",
309
+ "minLength": 1
310
+ },
311
+ "sha256": {
312
+ "type": "string",
313
+ "pattern": "^[a-f0-9]{64}$"
314
+ },
315
+ "size": {
316
+ "type": "integer",
317
+ "minimum": 0
318
+ }
319
+ },
320
+ "required": ["id", "testId", "assertionId", "kind", "name", "mediaType", "sha256", "size"],
321
+ "additionalProperties": false
322
+ },
323
+ "minItems": 0,
324
+ "uniqueItems": true
325
+ },
326
+ "cleanup": {
327
+ "type": "object",
328
+ "properties": {
329
+ "status": {
330
+ "enum": ["completed", "failed", "not_applicable"]
331
+ },
332
+ "reason": {
333
+ "type": "string",
334
+ "minLength": 1
335
+ }
336
+ },
337
+ "required": ["status", "reason"],
338
+ "additionalProperties": false
339
+ },
340
+ "coverage": {
341
+ "type": "object",
342
+ "properties": {
343
+ "status": {
344
+ "enum": ["complete", "partial", "not_executed"]
345
+ },
346
+ "requirements": {
347
+ "type": "array",
348
+ "items": {
349
+ "type": "object",
350
+ "properties": {
351
+ "requirementId": {
352
+ "type": "string",
353
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"
354
+ },
355
+ "status": {
356
+ "enum": ["tested", "deferred", "uncovered"]
357
+ },
358
+ "testIds": {
359
+ "type": "array",
360
+ "items": {
361
+ "type": "string",
362
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]{0,95}$"
363
+ },
364
+ "minItems": 0,
365
+ "uniqueItems": true
366
+ },
367
+ "reason": {
368
+ "anyOf": [
369
+ {
370
+ "type": "string",
371
+ "minLength": 1
372
+ },
373
+ {
374
+ "type": "null"
375
+ }
376
+ ]
377
+ }
378
+ },
379
+ "required": ["requirementId", "status", "testIds", "reason"],
380
+ "additionalProperties": false
381
+ },
382
+ "minItems": 1,
383
+ "uniqueItems": true
384
+ }
385
+ },
386
+ "required": ["status", "requirements"],
387
+ "additionalProperties": false
388
+ }
389
+ },
390
+ "required": [
391
+ "contractVersion",
392
+ "runId",
393
+ "plan",
394
+ "target",
395
+ "applicationBuild",
396
+ "selectedTestIds",
397
+ "retestOf",
398
+ "startedAt",
399
+ "finishedAt",
400
+ "attempts",
401
+ "completion",
402
+ "tests",
403
+ "findings",
404
+ "newGaps",
405
+ "evidence",
406
+ "cleanup",
407
+ "coverage"
408
+ ],
409
+ "additionalProperties": false
410
+ }