kibi-cli 1.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (548) hide show
  1. package/dist/cli-errors.d.ts +3 -1
  2. package/dist/cli-errors.d.ts.map +1 -1
  3. package/dist/cli-errors.js +4 -1
  4. package/dist/cli-json-command.d.ts +1 -0
  5. package/dist/cli-json-command.d.ts.map +1 -1
  6. package/dist/cli-json-command.js +13 -4
  7. package/dist/cli-operation-loader.js +3 -3
  8. package/dist/cli-operation-metadata.d.ts +4 -3
  9. package/dist/cli-operation-metadata.d.ts.map +1 -1
  10. package/dist/cli-operation-metadata.js +7 -5
  11. package/dist/cli-protocol.js +1 -1
  12. package/dist/cli-register-maintenance.d.ts.map +1 -1
  13. package/dist/cli-register-maintenance.js +7 -0
  14. package/dist/cli-register-proof.d.ts +3 -0
  15. package/dist/cli-register-proof.d.ts.map +1 -0
  16. package/dist/cli-register-proof.js +127 -0
  17. package/dist/cli-register-reporting.d.ts.map +1 -1
  18. package/dist/cli-register-reporting.js +7 -0
  19. package/dist/cli.d.ts +4 -0
  20. package/dist/cli.d.ts.map +1 -1
  21. package/dist/cli.js +19 -10
  22. package/dist/commands/branch.d.ts +1 -0
  23. package/dist/commands/branch.d.ts.map +1 -1
  24. package/dist/commands/branch.js +8 -4
  25. package/dist/commands/check-generated.d.ts +7 -0
  26. package/dist/commands/check-generated.d.ts.map +1 -0
  27. package/dist/commands/check-generated.js +192 -0
  28. package/dist/commands/check.d.ts +14 -0
  29. package/dist/commands/check.d.ts.map +1 -1
  30. package/dist/commands/check.js +193 -46
  31. package/dist/commands/coverage.d.ts +1 -0
  32. package/dist/commands/coverage.d.ts.map +1 -1
  33. package/dist/commands/coverage.js +6 -0
  34. package/dist/commands/doctor.d.ts +22 -0
  35. package/dist/commands/doctor.d.ts.map +1 -1
  36. package/dist/commands/doctor.js +170 -23
  37. package/dist/commands/engine.d.ts +12 -0
  38. package/dist/commands/engine.d.ts.map +1 -1
  39. package/dist/commands/engine.js +42 -0
  40. package/dist/commands/github-init.d.ts +1 -0
  41. package/dist/commands/github-init.d.ts.map +1 -1
  42. package/dist/commands/github-init.js +9 -5
  43. package/dist/commands/init-helpers.d.ts.map +1 -1
  44. package/dist/commands/init-helpers.js +49 -10
  45. package/dist/commands/migrate.d.ts +4 -0
  46. package/dist/commands/migrate.d.ts.map +1 -1
  47. package/dist/commands/migrate.js +7 -7
  48. package/dist/commands/proof-explain.d.ts +10 -0
  49. package/dist/commands/proof-explain.d.ts.map +1 -0
  50. package/dist/commands/proof-explain.js +45 -0
  51. package/dist/commands/proof-impact.d.ts +7 -0
  52. package/dist/commands/proof-impact.d.ts.map +1 -0
  53. package/dist/commands/proof-impact.js +39 -0
  54. package/dist/commands/proof-migrate-legacy.d.ts +7 -0
  55. package/dist/commands/proof-migrate-legacy.d.ts.map +1 -0
  56. package/dist/commands/proof-migrate-legacy.js +45 -0
  57. package/dist/commands/proof-prune.d.ts +8 -0
  58. package/dist/commands/proof-prune.d.ts.map +1 -0
  59. package/dist/commands/proof-prune.js +53 -0
  60. package/dist/commands/prove.d.ts +37 -0
  61. package/dist/commands/prove.d.ts.map +1 -0
  62. package/dist/commands/prove.js +470 -0
  63. package/dist/commands/report.d.ts.map +1 -1
  64. package/dist/commands/report.js +18 -3
  65. package/dist/commands/sync/discovery.d.ts +3 -0
  66. package/dist/commands/sync/discovery.d.ts.map +1 -1
  67. package/dist/commands/sync/discovery.js +36 -28
  68. package/dist/commands/sync/manifest.d.ts +2 -1
  69. package/dist/commands/sync/manifest.d.ts.map +1 -1
  70. package/dist/commands/sync/manifest.js +55 -21
  71. package/dist/commands/sync/persistence.d.ts +4 -1
  72. package/dist/commands/sync/persistence.d.ts.map +1 -1
  73. package/dist/commands/sync/persistence.js +31 -14
  74. package/dist/commands/sync/staging.d.ts +1 -0
  75. package/dist/commands/sync/staging.d.ts.map +1 -1
  76. package/dist/commands/sync/staging.js +5 -2
  77. package/dist/commands/sync/untracked-targets.d.ts +24 -0
  78. package/dist/commands/sync/untracked-targets.d.ts.map +1 -0
  79. package/dist/commands/sync/untracked-targets.js +108 -0
  80. package/dist/commands/sync.d.ts +11 -1
  81. package/dist/commands/sync.d.ts.map +1 -1
  82. package/dist/commands/sync.js +74 -30
  83. package/dist/engine-daemon.d.ts +3 -1
  84. package/dist/engine-daemon.d.ts.map +1 -1
  85. package/dist/engine-daemon.js +49 -20
  86. package/dist/engine.d.ts +17 -77
  87. package/dist/engine.d.ts.map +1 -1
  88. package/dist/engine.js +331 -91
  89. package/dist/env/bootstrap.d.ts +84 -0
  90. package/dist/env/bootstrap.d.ts.map +1 -0
  91. package/dist/env/bootstrap.js +310 -0
  92. package/dist/extractors/manifest.d.ts +5 -0
  93. package/dist/extractors/manifest.d.ts.map +1 -1
  94. package/dist/extractors/manifest.js +46 -1
  95. package/dist/extractors/markdown.d.ts +7 -3
  96. package/dist/extractors/markdown.d.ts.map +1 -1
  97. package/dist/extractors/markdown.js +60 -24
  98. package/dist/extractors/playwright-cases.js +1 -1
  99. package/dist/extractors/relationships.d.ts +6 -0
  100. package/dist/extractors/relationships.d.ts.map +1 -1
  101. package/dist/extractors/relationships.js +1 -1
  102. package/dist/extractors/symbol-coordinates.d.ts.map +1 -1
  103. package/dist/extractors/symbols-coordinator.d.ts +8 -0
  104. package/dist/extractors/symbols-coordinator.d.ts.map +1 -1
  105. package/dist/extractors/symbols-coordinator.js +40 -0
  106. package/dist/extractors/symbols-ts.d.ts +9 -19
  107. package/dist/extractors/symbols-ts.d.ts.map +1 -1
  108. package/dist/extractors/symbols-ts.js +34 -429
  109. package/dist/intent-search.d.ts +1 -0
  110. package/dist/intent-search.d.ts.map +1 -1
  111. package/dist/intent-search.js +11 -8
  112. package/dist/logic/ir.d.ts +1 -0
  113. package/dist/logic/ir.d.ts.map +1 -1
  114. package/dist/logic/ir.js +1 -1
  115. package/dist/operations/bootstrap/activation.d.ts +2 -1
  116. package/dist/operations/bootstrap/activation.d.ts.map +1 -1
  117. package/dist/operations/bootstrap/activation.js +11 -3
  118. package/dist/operations/bootstrap/generate.d.ts +2 -1
  119. package/dist/operations/bootstrap/generate.d.ts.map +1 -1
  120. package/dist/operations/bootstrap/generate.js +6 -3
  121. package/dist/operations/bootstrap/guidance.d.ts +1 -0
  122. package/dist/operations/bootstrap/guidance.d.ts.map +1 -1
  123. package/dist/operations/bootstrap/guidance.js +1 -1
  124. package/dist/operations/modeling/model-requirement.d.ts +5 -0
  125. package/dist/operations/modeling/model-requirement.d.ts.map +1 -1
  126. package/dist/operations/modeling/model-requirement.js +57 -46
  127. package/dist/operations/modeling/predicate-applicability.d.ts.map +1 -1
  128. package/dist/operations/modeling/predicate-applicability.js +103 -4
  129. package/dist/operations/modeling/predicate-catalog-2.d.ts.map +1 -1
  130. package/dist/operations/modeling/predicate-catalog-2.js +18 -2
  131. package/dist/operations/modeling/predicate-catalog-3.d.ts.map +1 -1
  132. package/dist/operations/modeling/predicate-catalog-3.js +17 -1
  133. package/dist/operations/modeling/predicate-catalog-5.d.ts +10 -0
  134. package/dist/operations/modeling/predicate-catalog-5.d.ts.map +1 -0
  135. package/dist/operations/modeling/predicate-catalog-5.js +291 -0
  136. package/dist/operations/modeling/predicate-catalog.d.ts.map +1 -1
  137. package/dist/operations/modeling/predicate-catalog.js +4 -0
  138. package/dist/operations/modeling/predicate-loader.d.ts +1 -0
  139. package/dist/operations/modeling/predicate-loader.d.ts.map +1 -1
  140. package/dist/operations/modeling/predicate-loader.js +4 -3
  141. package/dist/operations/modeling/predicate-ranker.d.ts.map +1 -1
  142. package/dist/operations/modeling/predicate-ranker.js +4 -1
  143. package/dist/operations/modeling/predicate-types.d.ts +1 -1
  144. package/dist/operations/modeling/predicate-types.d.ts.map +1 -1
  145. package/dist/operations/modeling/predicate-usage-hints-4.d.ts +3 -0
  146. package/dist/operations/modeling/predicate-usage-hints-4.d.ts.map +1 -0
  147. package/dist/operations/modeling/predicate-usage-hints-4.js +84 -0
  148. package/dist/operations/modeling/suggest-predicates.d.ts +4 -2
  149. package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -1
  150. package/dist/operations/modeling/suggest-predicates.js +82 -22
  151. package/dist/operations/mutation/contradictions.d.ts +2 -1
  152. package/dist/operations/mutation/contradictions.d.ts.map +1 -1
  153. package/dist/operations/mutation/contradictions.js +26 -5
  154. package/dist/operations/mutation/delete.d.ts +3 -0
  155. package/dist/operations/mutation/delete.d.ts.map +1 -1
  156. package/dist/operations/mutation/delete.js +100 -32
  157. package/dist/operations/mutation/relationships.d.ts +1 -0
  158. package/dist/operations/mutation/relationships.d.ts.map +1 -1
  159. package/dist/operations/mutation/relationships.js +6 -4
  160. package/dist/operations/mutation/saga.d.ts +51 -0
  161. package/dist/operations/mutation/saga.d.ts.map +1 -0
  162. package/dist/operations/mutation/saga.js +67 -0
  163. package/dist/operations/mutation/serialization.d.ts.map +1 -1
  164. package/dist/operations/mutation/serialization.js +3 -2
  165. package/dist/operations/mutation/source-authoring.d.ts +5 -1
  166. package/dist/operations/mutation/source-authoring.d.ts.map +1 -1
  167. package/dist/operations/mutation/source-authoring.js +79 -46
  168. package/dist/operations/mutation/strict-fact.d.ts +1 -0
  169. package/dist/operations/mutation/strict-fact.d.ts.map +1 -1
  170. package/dist/operations/mutation/strict-fact.js +8 -5
  171. package/dist/operations/mutation/symbol-compiler-lock.d.ts +5 -2
  172. package/dist/operations/mutation/symbol-compiler-lock.d.ts.map +1 -1
  173. package/dist/operations/mutation/symbol-compiler-lock.js +65 -2
  174. package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -1
  175. package/dist/operations/mutation/symbol-granularity.js +11 -89
  176. package/dist/operations/mutation/symbol-refresh.d.ts +1 -0
  177. package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -1
  178. package/dist/operations/mutation/symbol-refresh.js +10 -8
  179. package/dist/operations/mutation/upsert.d.ts +18 -2
  180. package/dist/operations/mutation/upsert.d.ts.map +1 -1
  181. package/dist/operations/mutation/upsert.js +86 -54
  182. package/dist/operations/mutation/validate-upsert.js +2 -2
  183. package/dist/operations/mutation/validation.d.ts.map +1 -1
  184. package/dist/operations/mutation/validation.js +46 -4
  185. package/dist/operations/mutation/warnings.d.ts +1 -0
  186. package/dist/operations/mutation/warnings.d.ts.map +1 -1
  187. package/dist/operations/mutation/warnings.js +7 -5
  188. package/dist/operations/mutation/workspace-mutation-lock.d.ts +60 -0
  189. package/dist/operations/mutation/workspace-mutation-lock.d.ts.map +1 -0
  190. package/dist/operations/mutation/workspace-mutation-lock.js +362 -0
  191. package/dist/operations/planning/apply-plan.d.ts +8 -106
  192. package/dist/operations/planning/apply-plan.d.ts.map +1 -1
  193. package/dist/operations/planning/apply-plan.js +113 -36
  194. package/dist/operations/planning/compile-intent.d.ts +51 -0
  195. package/dist/operations/planning/compile-intent.d.ts.map +1 -1
  196. package/dist/operations/planning/compile-intent.js +133 -17
  197. package/dist/operations/proof/baseline-diff.d.ts +41 -0
  198. package/dist/operations/proof/baseline-diff.d.ts.map +1 -0
  199. package/dist/operations/proof/baseline-diff.js +153 -0
  200. package/dist/operations/proof/explain.d.ts +75 -0
  201. package/dist/operations/proof/explain.d.ts.map +1 -0
  202. package/dist/operations/proof/explain.js +294 -0
  203. package/dist/operations/proof/impact.d.ts +45 -0
  204. package/dist/operations/proof/impact.d.ts.map +1 -0
  205. package/dist/operations/proof/impact.js +118 -0
  206. package/dist/operations/proof/ingest-proof.d.ts +34 -0
  207. package/dist/operations/proof/ingest-proof.d.ts.map +1 -0
  208. package/dist/operations/proof/ingest-proof.js +348 -0
  209. package/dist/operations/proof/migrate-legacy-receipts.d.ts +30 -0
  210. package/dist/operations/proof/migrate-legacy-receipts.d.ts.map +1 -0
  211. package/dist/operations/proof/migrate-legacy-receipts.js +92 -0
  212. package/dist/operations/proof/prune-receipts.d.ts +35 -0
  213. package/dist/operations/proof/prune-receipts.d.ts.map +1 -0
  214. package/dist/operations/proof/prune-receipts.js +91 -0
  215. package/dist/operations/proof/receipt-document.d.ts +29 -0
  216. package/dist/operations/proof/receipt-document.d.ts.map +1 -0
  217. package/dist/operations/proof/receipt-document.js +117 -0
  218. package/dist/operations/semantic-advisor/analysis-receipt.d.ts.map +1 -1
  219. package/dist/operations/semantic-advisor/analysis-receipt.js +3 -9
  220. package/dist/operations/semantic-advisor/analyze-prose.d.ts +1 -0
  221. package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -1
  222. package/dist/operations/semantic-advisor/analyze-prose.js +64 -93
  223. package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -1
  224. package/dist/operations/semantic-advisor/clauses.js +20 -7
  225. package/dist/operations/semantic-advisor/plugin-orchestration.d.ts +63 -0
  226. package/dist/operations/semantic-advisor/plugin-orchestration.d.ts.map +1 -0
  227. package/dist/operations/semantic-advisor/plugin-orchestration.js +489 -0
  228. package/dist/operations/semantic-advisor/predicate-rules-core.d.ts +15 -2
  229. package/dist/operations/semantic-advisor/predicate-rules-core.d.ts.map +1 -1
  230. package/dist/operations/semantic-advisor/predicate-rules-core.js +7 -140
  231. package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts +11 -12
  232. package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts.map +1 -1
  233. package/dist/operations/semantic-advisor/predicate-rules-launcher.js +6 -94
  234. package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts +16 -0
  235. package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts.map +1 -1
  236. package/dist/operations/semantic-advisor/predicate-rules-policy.js +7 -150
  237. package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts +9 -0
  238. package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts.map +1 -1
  239. package/dist/operations/semantic-advisor/predicate-rules-product-tail.js +7 -102
  240. package/dist/operations/semantic-advisor/predicate-rules-product.d.ts +13 -0
  241. package/dist/operations/semantic-advisor/predicate-rules-product.d.ts.map +1 -1
  242. package/dist/operations/semantic-advisor/predicate-rules-product.js +7 -133
  243. package/dist/operations/semantic-advisor/strict-count-rules.d.ts +2 -0
  244. package/dist/operations/semantic-advisor/strict-count-rules.d.ts.map +1 -1
  245. package/dist/operations/semantic-advisor/strict-count-rules.js +40 -25
  246. package/dist/operations/semantic-advisor/types.d.ts +1 -0
  247. package/dist/operations/semantic-advisor/types.d.ts.map +1 -1
  248. package/dist/plugins/compose-ontology-packs.d.ts +51 -0
  249. package/dist/plugins/compose-ontology-packs.d.ts.map +1 -0
  250. package/dist/plugins/compose-ontology-packs.js +257 -0
  251. package/dist/plugins/compose-semantic-classifier.d.ts +42 -0
  252. package/dist/plugins/compose-semantic-classifier.d.ts.map +1 -0
  253. package/dist/plugins/compose-semantic-classifier.js +211 -0
  254. package/dist/plugins/external-allowlist.d.ts +10 -0
  255. package/dist/plugins/external-allowlist.d.ts.map +1 -0
  256. package/dist/plugins/external-allowlist.js +16 -0
  257. package/dist/plugins/index.d.ts +9 -0
  258. package/dist/plugins/index.d.ts.map +1 -0
  259. package/dist/plugins/index.js +33 -0
  260. package/dist/plugins/load-plugin.d.ts +19 -0
  261. package/dist/plugins/load-plugin.d.ts.map +1 -0
  262. package/dist/plugins/load-plugin.js +59 -0
  263. package/dist/plugins/project-config.d.ts +28 -0
  264. package/dist/plugins/project-config.d.ts.map +1 -0
  265. package/dist/plugins/project-config.js +90 -0
  266. package/dist/plugins/registry.d.ts +93 -0
  267. package/dist/plugins/registry.d.ts.map +1 -0
  268. package/dist/plugins/registry.js +338 -0
  269. package/dist/plugins/resolve-package.d.ts +47 -0
  270. package/dist/plugins/resolve-package.d.ts.map +1 -0
  271. package/dist/plugins/resolve-package.js +262 -0
  272. package/dist/plugins/source-analysis-service.d.ts +44 -0
  273. package/dist/plugins/source-analysis-service.d.ts.map +1 -0
  274. package/dist/plugins/source-analysis-service.js +232 -0
  275. package/dist/prolog/codec.d.ts +13 -1
  276. package/dist/prolog/codec.d.ts.map +1 -1
  277. package/dist/prolog/codec.js +269 -154
  278. package/dist/prolog/error-terms.d.ts +47 -0
  279. package/dist/prolog/error-terms.d.ts.map +1 -0
  280. package/dist/prolog/error-terms.js +334 -0
  281. package/dist/prolog/janitor.d.ts +50 -0
  282. package/dist/prolog/janitor.d.ts.map +1 -0
  283. package/dist/prolog/janitor.js +154 -0
  284. package/dist/prolog/store-lock.d.ts +45 -0
  285. package/dist/prolog/store-lock.d.ts.map +1 -0
  286. package/dist/prolog/store-lock.js +195 -0
  287. package/dist/prolog.d.ts +7 -0
  288. package/dist/prolog.d.ts.map +1 -1
  289. package/dist/prolog.js +55 -17
  290. package/dist/proof/evaluate.d.ts +27 -0
  291. package/dist/proof/evaluate.d.ts.map +1 -0
  292. package/dist/proof/evaluate.js +151 -0
  293. package/dist/proof/inspect.d.ts +12 -0
  294. package/dist/proof/inspect.d.ts.map +1 -0
  295. package/dist/proof/inspect.js +236 -0
  296. package/dist/proof/integrations.d.ts +35 -0
  297. package/dist/proof/integrations.d.ts.map +1 -0
  298. package/dist/proof/integrations.js +123 -0
  299. package/dist/proof/producers/junit-adapter.d.ts +26 -0
  300. package/dist/proof/producers/junit-adapter.d.ts.map +1 -0
  301. package/dist/proof/producers/junit-adapter.js +186 -0
  302. package/dist/{public → proof/producers}/playwright-case-id.d.ts +1 -1
  303. package/dist/proof/producers/playwright-case-id.d.ts.map +1 -0
  304. package/dist/{public → proof/producers}/playwright-case-id.js +1 -1
  305. package/dist/proof/producers/playwright-reporter.d.ts +27 -0
  306. package/dist/proof/producers/playwright-reporter.d.ts.map +1 -0
  307. package/dist/proof/producers/playwright-reporter.js +138 -0
  308. package/dist/proof/producers/tap-adapter.d.ts +10 -0
  309. package/dist/proof/producers/tap-adapter.d.ts.map +1 -0
  310. package/dist/proof/producers/tap-adapter.js +200 -0
  311. package/dist/proof/receipt-outcome.d.ts +2 -0
  312. package/dist/proof/receipt-outcome.d.ts.map +1 -0
  313. package/dist/proof/receipt-outcome.js +1 -0
  314. package/dist/public/diagnostic-usage.js +6 -6
  315. package/dist/public/distribution-parity.d.ts +7 -1
  316. package/dist/public/distribution-parity.d.ts.map +1 -1
  317. package/dist/public/distribution-parity.js +15 -10
  318. package/dist/public/extractors/symbols-coordinator.d.ts +1 -1
  319. package/dist/public/extractors/symbols-coordinator.d.ts.map +1 -1
  320. package/dist/public/extractors/symbols-coordinator.js +1 -1
  321. package/dist/public/impact/analyzer.d.ts +1 -1
  322. package/dist/public/impact/analyzer.d.ts.map +1 -1
  323. package/dist/public/impact/analyzer.js +6 -4
  324. package/dist/public/impact/coverage-depth-quality.d.ts +1 -0
  325. package/dist/public/impact/coverage-depth-quality.d.ts.map +1 -1
  326. package/dist/public/impact/coverage-depth-quality.js +1 -1
  327. package/dist/public/impact/diagnostics.d.ts.map +1 -1
  328. package/dist/public/impact/diagnostics.js +2 -2
  329. package/dist/public/impact/diff-meaning.d.ts +1 -0
  330. package/dist/public/impact/diff-meaning.d.ts.map +1 -1
  331. package/dist/public/impact/diff-meaning.js +5 -2
  332. package/dist/public/impact/full-kb-quality.d.ts +5 -2
  333. package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
  334. package/dist/public/impact/full-kb-quality.js +329 -64
  335. package/dist/public/operations/catalog.d.ts +450 -196
  336. package/dist/public/operations/catalog.d.ts.map +1 -1
  337. package/dist/public/operations/catalog.js +6 -4
  338. package/dist/public/operations/check-executor.d.ts.map +1 -1
  339. package/dist/public/operations/check-executor.js +4 -8
  340. package/dist/public/operations/check-helpers.d.ts +1 -1
  341. package/dist/public/operations/check-helpers.d.ts.map +1 -1
  342. package/dist/public/operations/check-helpers.js +1 -1
  343. package/dist/public/operations/contracts.d.ts +7 -0
  344. package/dist/public/operations/contracts.d.ts.map +1 -1
  345. package/dist/public/operations/contracts.js +66 -34
  346. package/dist/public/operations/discovery-entities.d.ts +15 -0
  347. package/dist/public/operations/discovery-entities.d.ts.map +1 -1
  348. package/dist/public/operations/discovery-entities.js +38 -0
  349. package/dist/public/operations/discovery-executors.d.ts +9 -9
  350. package/dist/public/operations/discovery-executors.d.ts.map +1 -1
  351. package/dist/public/operations/discovery-executors.js +39 -31
  352. package/dist/public/operations/index.d.ts +1 -1
  353. package/dist/public/operations/index.d.ts.map +1 -1
  354. package/dist/public/operations/index.js +1 -1
  355. package/dist/public/operations/migration-plan.d.ts +4 -3
  356. package/dist/public/operations/migration-plan.d.ts.map +1 -1
  357. package/dist/public/operations/migration-plan.js +23 -21
  358. package/dist/public/operations/node-ports.js +6 -6
  359. package/dist/public/operations/prolog-json.d.ts +1 -1
  360. package/dist/public/operations/prolog-json.d.ts.map +1 -1
  361. package/dist/public/operations/prolog-json.js +7 -7
  362. package/dist/public/operations/repair-plan.d.ts +3 -3
  363. package/dist/public/operations/repair-plan.d.ts.map +1 -1
  364. package/dist/public/operations/repair-plan.js +49 -19
  365. package/dist/public/operations/result-envelope.d.ts +1 -0
  366. package/dist/public/operations/result-envelope.d.ts.map +1 -1
  367. package/dist/public/operations/result-envelope.js +12 -10
  368. package/dist/public/operations/runtime-types.d.ts +21 -1
  369. package/dist/public/operations/runtime-types.d.ts.map +1 -1
  370. package/dist/public/operations/specs/check-rules.generated.d.ts +5 -0
  371. package/dist/public/operations/specs/check-rules.generated.d.ts.map +1 -0
  372. package/dist/public/operations/specs/check-rules.generated.js +35 -0
  373. package/dist/public/operations/specs/check.d.ts +7 -2
  374. package/dist/public/operations/specs/check.d.ts.map +1 -1
  375. package/dist/public/operations/specs/check.js +8 -20
  376. package/dist/public/operations/specs/discovery.d.ts +3 -0
  377. package/dist/public/operations/specs/discovery.d.ts.map +1 -1
  378. package/dist/public/operations/specs/discovery.js +3 -0
  379. package/dist/public/operations/specs/mutation-schemas.d.ts +257 -163
  380. package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
  381. package/dist/public/operations/specs/mutation-schemas.js +15 -7
  382. package/dist/public/operations/specs/planning.d.ts +9 -0
  383. package/dist/public/operations/specs/planning.d.ts.map +1 -1
  384. package/dist/public/operations/specs/planning.js +6 -0
  385. package/dist/public/operations/specs/proof.d.ts +212 -0
  386. package/dist/public/operations/specs/proof.d.ts.map +1 -0
  387. package/dist/public/operations/specs/proof.js +30 -0
  388. package/dist/public/operations/specs/reporting.d.ts +20 -0
  389. package/dist/public/operations/specs/reporting.d.ts.map +1 -1
  390. package/dist/public/operations/specs/reporting.js +112 -12
  391. package/dist/public/operations/specs/semantic.d.ts +1 -1
  392. package/dist/public/operations/specs/semantic.d.ts.map +1 -1
  393. package/dist/public/operations/specs/semantic.js +54 -4
  394. package/dist/public/operations/specs/upsert.d.ts +257 -163
  395. package/dist/public/operations/specs/upsert.d.ts.map +1 -1
  396. package/dist/public/operations/symbol-repair-plan.d.ts +11 -0
  397. package/dist/public/operations/symbol-repair-plan.d.ts.map +1 -1
  398. package/dist/public/operations/symbol-repair-plan.js +121 -4
  399. package/dist/public/operations/types.d.ts +6 -1
  400. package/dist/public/operations/types.d.ts.map +1 -1
  401. package/dist/public/proof-fingerprint.d.ts +54 -0
  402. package/dist/public/proof-fingerprint.d.ts.map +1 -0
  403. package/dist/public/proof-fingerprint.js +141 -0
  404. package/dist/public/proof-protocol.d.ts +354 -0
  405. package/dist/public/proof-protocol.d.ts.map +1 -0
  406. package/dist/public/proof-protocol.js +454 -0
  407. package/dist/public/proof-receipt.d.ts +279 -0
  408. package/dist/public/proof-receipt.d.ts.map +1 -0
  409. package/dist/public/proof-receipt.js +377 -0
  410. package/dist/public/schemas/entity.d.ts.map +1 -1
  411. package/dist/public/schemas/entity.js +21 -7
  412. package/dist/public/skills/kibi-freshness/SKILL.md +1 -1
  413. package/dist/public/skills/kibi-usage/SKILL.md +44 -12
  414. package/dist/public/skills/kibi-usage/resources/operation-access.md +1 -1
  415. package/dist/public/skills/kibi-usage/resources/proof.md +150 -0
  416. package/dist/public/skills/kibi-usage/resources/workflows.md +6 -6
  417. package/dist/public/symbol-granularity.d.ts +3 -14
  418. package/dist/public/symbol-granularity.d.ts.map +1 -1
  419. package/dist/public/symbol-granularity.generated.d.ts +16 -0
  420. package/dist/public/symbol-granularity.generated.d.ts.map +1 -0
  421. package/dist/public/symbol-granularity.generated.js +53 -0
  422. package/dist/public/symbol-granularity.js +6 -47
  423. package/dist/public/telemetry-acceptance.d.ts +3 -77
  424. package/dist/public/telemetry-acceptance.d.ts.map +1 -1
  425. package/dist/public/telemetry-acceptance.js +4 -2
  426. package/dist/public/telemetry-remediation.js +1 -1
  427. package/dist/report/html-report.css +1240 -0
  428. package/dist/report/html-report.d.ts +4 -2
  429. package/dist/report/html-report.d.ts.map +1 -1
  430. package/dist/report/html-report.js +37 -300
  431. package/dist/runtime/cli-runtime.d.ts +2 -0
  432. package/dist/runtime/cli-runtime.d.ts.map +1 -1
  433. package/dist/runtime/cli-runtime.js +32 -7
  434. package/dist/schemas/entity.schema.json +355 -215
  435. package/dist/search-ranking.d.ts +1 -0
  436. package/dist/search-ranking.d.ts.map +1 -1
  437. package/dist/search-ranking.js +3 -0
  438. package/dist/traceability/evidence-model.d.ts +28 -0
  439. package/dist/traceability/evidence-model.d.ts.map +1 -1
  440. package/dist/traceability/git-staged.d.ts +20 -0
  441. package/dist/traceability/git-staged.d.ts.map +1 -1
  442. package/dist/traceability/git-staged.js +145 -1
  443. package/dist/traceability/staged-diagnostics.d.ts +7 -0
  444. package/dist/traceability/staged-diagnostics.d.ts.map +1 -1
  445. package/dist/traceability/staged-diagnostics.js +78 -7
  446. package/dist/traceability/staged-file-coverage.d.ts +33 -0
  447. package/dist/traceability/staged-file-coverage.d.ts.map +1 -0
  448. package/dist/traceability/staged-file-coverage.js +284 -0
  449. package/dist/traceability/staged-impact-contract.js +4 -4
  450. package/dist/traceability/staged-symbols-manifest.d.ts +13 -0
  451. package/dist/traceability/staged-symbols-manifest.d.ts.map +1 -1
  452. package/dist/traceability/staged-symbols-manifest.js +138 -27
  453. package/dist/traceability/symbol-extract.d.ts +24 -2
  454. package/dist/traceability/symbol-extract.d.ts.map +1 -1
  455. package/dist/traceability/symbol-extract.js +64 -208
  456. package/dist/traceability/temp-kb.d.ts +2 -0
  457. package/dist/traceability/temp-kb.d.ts.map +1 -1
  458. package/dist/traceability/temp-kb.js +13 -4
  459. package/dist/types/entities.d.ts +5 -3
  460. package/dist/types/entities.d.ts.map +1 -1
  461. package/dist/utils/branch-resolver.d.ts +1 -0
  462. package/dist/utils/branch-resolver.d.ts.map +1 -1
  463. package/dist/utils/branch-resolver.js +7 -4
  464. package/dist/utils/branch-store.d.ts +6 -0
  465. package/dist/utils/branch-store.d.ts.map +1 -1
  466. package/dist/utils/branch-store.js +27 -0
  467. package/dist/utils/kb-paths.d.ts +1 -1
  468. package/dist/utils/kb-paths.d.ts.map +1 -1
  469. package/dist/utils/kb-paths.js +1 -1
  470. package/dist/utils/rule-registry.d.ts +1 -11
  471. package/dist/utils/rule-registry.d.ts.map +1 -1
  472. package/dist/utils/rule-registry.generated.d.ts +102 -0
  473. package/dist/utils/rule-registry.generated.d.ts.map +1 -0
  474. package/dist/utils/rule-registry.generated.js +131 -0
  475. package/dist/utils/rule-registry.js +12 -113
  476. package/dist/utils/strict-modeling.d.ts +1 -0
  477. package/dist/utils/strict-modeling.d.ts.map +1 -1
  478. package/dist/utils/strict-modeling.js +1 -1
  479. package/package.json +20 -20
  480. package/src/public/diagnostic-usage.ts +6 -6
  481. package/src/public/distribution-parity.ts +17 -10
  482. package/src/public/extractors/symbols-coordinator.ts +1 -0
  483. package/src/public/impact/analyzer.ts +15 -12
  484. package/src/public/impact/coverage-depth-quality.ts +1 -1
  485. package/src/public/impact/diagnostics.ts +2 -1
  486. package/src/public/impact/diff-meaning.ts +11 -4
  487. package/src/public/impact/full-kb-quality.ts +463 -72
  488. package/src/public/operations/catalog.ts +10 -4
  489. package/src/public/operations/check-executor.ts +4 -8
  490. package/src/public/operations/check-helpers.ts +2 -2
  491. package/src/public/operations/contracts.ts +78 -34
  492. package/src/public/operations/discovery-entities.ts +53 -0
  493. package/src/public/operations/discovery-executors.ts +64 -48
  494. package/src/public/operations/index.ts +1 -1
  495. package/src/public/operations/migration-plan.ts +32 -25
  496. package/src/public/operations/node-ports.ts +6 -6
  497. package/src/public/operations/prolog-json.ts +13 -5
  498. package/src/public/operations/repair-plan.ts +60 -23
  499. package/src/public/operations/result-envelope.ts +15 -10
  500. package/src/public/operations/runtime-types.ts +26 -2
  501. package/src/public/operations/specs/check-rules.generated.ts +38 -0
  502. package/src/public/operations/specs/check.ts +12 -21
  503. package/src/public/operations/specs/discovery.ts +3 -0
  504. package/src/public/operations/specs/mutation-schemas.ts +22 -9
  505. package/src/public/operations/specs/planning.ts +7 -0
  506. package/src/public/operations/specs/proof.ts +43 -0
  507. package/src/public/operations/specs/reporting.ts +140 -13
  508. package/src/public/operations/specs/semantic.ts +79 -17
  509. package/src/public/operations/symbol-repair-plan.ts +166 -7
  510. package/src/public/operations/types.ts +6 -1
  511. package/src/public/proof-fingerprint.ts +216 -0
  512. package/src/public/proof-protocol-types.d.ts +96 -0
  513. package/src/public/proof-protocol.ts +589 -0
  514. package/src/public/proof-receipt.ts +499 -0
  515. package/src/public/schemas/entity.ts +26 -10
  516. package/src/public/skills/kibi-freshness/SKILL.md +1 -1
  517. package/src/public/skills/kibi-usage/SKILL.md +44 -12
  518. package/src/public/skills/kibi-usage/resources/operation-access.md +1 -1
  519. package/src/public/skills/kibi-usage/resources/proof.md +150 -0
  520. package/src/public/skills/kibi-usage/resources/workflows.md +6 -6
  521. package/src/public/symbol-granularity.generated.ts +74 -0
  522. package/src/public/symbol-granularity.ts +34 -59
  523. package/src/public/telemetry-acceptance-types.d.ts +98 -0
  524. package/src/public/telemetry-acceptance.ts +22 -100
  525. package/src/public/telemetry-remediation.ts +1 -1
  526. package/src/schemas/entity.schema.json +355 -215
  527. package/dist/cli-register-verification.d.ts +0 -3
  528. package/dist/cli-register-verification.d.ts.map +0 -1
  529. package/dist/cli-register-verification.js +0 -16
  530. package/dist/commands/verify.d.ts +0 -10
  531. package/dist/commands/verify.d.ts.map +0 -1
  532. package/dist/commands/verify.js +0 -126
  533. package/dist/operations/verification/ingest-verification.d.ts +0 -29
  534. package/dist/operations/verification/ingest-verification.d.ts.map +0 -1
  535. package/dist/operations/verification/ingest-verification.js +0 -192
  536. package/dist/public/operations/specs/verification.d.ts +0 -78
  537. package/dist/public/operations/specs/verification.d.ts.map +0 -1
  538. package/dist/public/operations/specs/verification.js +0 -62
  539. package/dist/public/playwright-case-id.d.ts.map +0 -1
  540. package/dist/public/verification-receipt.d.ts +0 -242
  541. package/dist/public/verification-receipt.d.ts.map +0 -1
  542. package/dist/public/verification-receipt.js +0 -296
  543. package/dist/verification/playwright-reporter.d.ts +0 -21
  544. package/dist/verification/playwright-reporter.d.ts.map +0 -1
  545. package/dist/verification/playwright-reporter.js +0 -114
  546. package/src/public/operations/specs/verification.ts +0 -78
  547. package/src/public/playwright-case-id.ts +0 -35
  548. package/src/public/verification-receipt.ts +0 -412
@@ -1,16 +0,0 @@
1
- import { withExitCode } from "./cli-command.js";
2
- // implements REQ-kibi-verification-evidence-contract
3
- export function registerVerificationCommand(program) {
4
- program
5
- .command("verify [command...]")
6
- .description("Run an explicit contracted verification command and ingest its Playwright reporter artifact")
7
- .requiredOption("--test-id <id>", "Existing test entity with a verification contract")
8
- .option("--output <path>", "Reporter artifact path")
9
- .allowUnknownOption(true)
10
- .action(withExitCode(async (commandArgv, options) => (await import("./commands/verify.js")).verifyCommand({
11
- testId: options.testId,
12
- ...(options.output === undefined
13
- ? {}
14
- : { outputPath: options.output }),
15
- }, commandArgv)));
16
- }
@@ -1,10 +0,0 @@
1
- export type VerifyCommandOptions = Readonly<{
2
- testId: string;
3
- workspaceRoot?: string;
4
- outputPath?: string;
5
- }>;
6
- /** Execute an explicit command and feed its raw reporter artifact to ingest. */
7
- export declare function verifyCommand(options: VerifyCommandOptions, commandArgv: readonly string[]): Promise<{
8
- exitCode: number;
9
- }>;
10
- //# sourceMappingURL=verify.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC,CAAC;AA2EH,gFAAgF;AAEhF,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,EAC7B,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAqF/B"}
@@ -1,126 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- import { createHash } from "node:crypto";
3
- import { readFile, writeFile } from "node:fs/promises";
4
- import path from "node:path";
5
- import { executeIngestVerification } from "../operations/verification/ingest-verification.js";
6
- import { loadEntities } from "../public/operations/discovery-entities.js";
7
- import { ingestVerificationSpec } from "../public/operations/specs/verification.js";
8
- import { readWorkspaceSnapshot } from "../public/operations/workspace-snapshot.js";
9
- import { createCliRuntime } from "../runtime/cli-runtime.js";
10
- function safeText(value, label) {
11
- if (typeof value !== "string" || value.trim() === "") {
12
- throw new Error(`verify: ${label} must be non-empty`);
13
- }
14
- return value.trim();
15
- }
16
- function contractCommand(test) {
17
- const contract = test.verification_contract;
18
- if (contract === null ||
19
- typeof contract !== "object" ||
20
- Array.isArray(contract) ||
21
- !Array.isArray(contract.command_argv)) {
22
- throw new Error("verify: test has no verification contract command_argv");
23
- }
24
- return contract.command_argv.map(String);
25
- }
26
- function environmentHash(commandArgv) {
27
- return createHash("sha256")
28
- .update(JSON.stringify({
29
- platform: process.platform,
30
- arch: process.arch,
31
- node: process.version,
32
- lockfile: process.env.KIBI_LOCKFILE_DIGEST ?? "unknown",
33
- projects: commandArgv
34
- .flatMap((value, index) => value === "--project" ? [commandArgv[index + 1] ?? ""] : [])
35
- .sort(),
36
- }))
37
- .digest("hex");
38
- }
39
- async function runChild(commandArgv, cwd, env) {
40
- const [command, ...args] = commandArgv;
41
- if (!command)
42
- throw new Error("verify: command argv must be non-empty");
43
- return await new Promise((resolve, reject) => {
44
- const child = spawn(command, args, {
45
- cwd,
46
- env,
47
- shell: false,
48
- stdio: "inherit",
49
- });
50
- child.once("error", reject);
51
- child.once("close", (code) => resolve(code ?? 1));
52
- });
53
- }
54
- async function contextTest(context, testId) {
55
- if (!context.prolog)
56
- throw new Error("verify: Prolog runtime is required");
57
- const entities = await loadEntities(context.prolog, {
58
- id: testId,
59
- type: "test",
60
- });
61
- const test = entities[0];
62
- if (!test)
63
- throw new Error(`verify: test ${testId} was not found`);
64
- return test;
65
- }
66
- /** Execute an explicit command and feed its raw reporter artifact to ingest. */
67
- // implements REQ-kibi-verification-evidence-contract
68
- export async function verifyCommand(options, commandArgv) {
69
- const testId = safeText(options.testId, "--test-id");
70
- if (commandArgv.length === 0) {
71
- throw new Error("verify: an explicit command is required after --");
72
- }
73
- const runtime = createCliRuntime(options.workspaceRoot === undefined
74
- ? {}
75
- : { workspaceRoot: options.workspaceRoot });
76
- const context = await runtime.open(ingestVerificationSpec, {
77
- ...(options.workspaceRoot === undefined
78
- ? {}
79
- : { workspaceRoot: options.workspaceRoot }),
80
- });
81
- let runnerExitCode = 1;
82
- let completed = false;
83
- try {
84
- const test = await contextTest(context, testId);
85
- const expectedCommand = contractCommand(test);
86
- if (expectedCommand.length !== commandArgv.length ||
87
- expectedCommand.some((value, index) => value !== commandArgv[index])) {
88
- throw new Error(`verify: command does not match the verification contract for ${testId}`);
89
- }
90
- const before = await readWorkspaceSnapshot(context);
91
- if (!before.available)
92
- throw new Error(`verify: ${before.error}`);
93
- const outputPath = path.resolve(options.outputPath ??
94
- path.join(context.workspaceRoot, ".kb", "verification", `${testId}.json`));
95
- const env = {
96
- ...process.env,
97
- KIBI_VERIFICATION_OUTPUT: outputPath,
98
- KIBI_VERIFICATION_SNAPSHOT: before.snapshot.hash,
99
- KIBI_VERIFICATION_COMMAND_ARGV: JSON.stringify(commandArgv),
100
- KIBI_VERIFICATION_PROJECTS: commandArgv
101
- .flatMap((value, index) => value === "--project" ? [commandArgv[index + 1] ?? ""] : [])
102
- .join(","),
103
- KIBI_LOCKFILE_DIGEST: environmentHash(commandArgv),
104
- };
105
- runnerExitCode = await runChild(commandArgv, context.workspaceRoot, env);
106
- let artifact;
107
- try {
108
- artifact = JSON.parse(await readFile(outputPath, "utf8"));
109
- }
110
- catch {
111
- throw new Error(`verify: reporter artifact is missing or invalid at ${outputPath}`);
112
- }
113
- artifact.process_exit_code = runnerExitCode;
114
- await writeFile(outputPath, `${JSON.stringify(artifact, null, 2)}\n`, "utf8");
115
- const ingested = await executeIngestVerification({ testId, snapshot: before.snapshot.hash, artifact }, context);
116
- await runtime.afterSuccess(ingestVerificationSpec, context);
117
- process.stdout.write(`${JSON.stringify(ingested.structuredContent)}\n`);
118
- completed = true;
119
- return { exitCode: runnerExitCode };
120
- }
121
- finally {
122
- await runtime.close(context, completed
123
- ? { status: "success", result: runnerExitCode }
124
- : { status: "error", error: runnerExitCode });
125
- }
126
- }
@@ -1,29 +0,0 @@
1
- import type { OperationContext } from "../../public/operations/runtime-types.js";
2
- export declare const PLAYWRIGHT_RUN_VERSION: "kibi.playwright-run.v1";
3
- export type VerificationCaseArtifact = Readonly<{
4
- symbol_id: string;
5
- project: string;
6
- outcome: "passed" | "failed" | "timed_out" | "skipped" | "interrupted";
7
- retries: number;
8
- duration_ms: number;
9
- }>;
10
- export type IngestVerificationArgs = Readonly<{
11
- testId: string;
12
- snapshot: string;
13
- artifact: Readonly<Record<string, unknown>>;
14
- }>;
15
- export type IngestVerificationResult = Readonly<{
16
- receipt: Readonly<Record<string, unknown>>;
17
- testId: string;
18
- proofOutcome: "passed" | "failed" | "timed_out" | "interrupted";
19
- receiptCount: number;
20
- upsert: unknown;
21
- }>;
22
- export declare function executeIngestVerification(args: IngestVerificationArgs, context: OperationContext): Promise<{
23
- content: Array<{
24
- type: "text";
25
- text: string;
26
- }>;
27
- structuredContent: IngestVerificationResult;
28
- }>;
29
- //# sourceMappingURL=ingest-verification.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ingest-verification.d.ts","sourceRoot":"","sources":["../../../src/operations/verification/ingest-verification.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAajF,eAAO,MAAM,sBAAsB,EAAG,wBAAiC,CAAC;AAGxE,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC,CAAC;AAGH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC7C,CAAC,CAAC;AAGH,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC;IAC9C,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,CAAC;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC,CAAC;AA0IH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,sBAAsB,EAC5B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC;IACT,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,iBAAiB,EAAE,wBAAwB,CAAC;CAC7C,CAAC,CAmHD"}
@@ -1,192 +0,0 @@
1
- import { createHash } from "node:crypto";
2
- import { loadEntities } from "../../public/operations/discovery-entities.js";
3
- import { readWorkspaceSnapshot } from "../../public/operations/workspace-snapshot.js";
4
- import { VERIFICATION_CONTRACT_VERSION, VERIFICATION_RECEIPT_V2_VERSION, verificationContractHash, verificationReceiptCurrentBindingErrors, verificationReceiptHistoryErrors, } from "../../public/verification-receipt.js";
5
- import { projectEntityProperties } from "../mutation/entity-projection.js";
6
- import { executeUpsert } from "../mutation/upsert.js";
7
- // implements REQ-kibi-verification-evidence-contract
8
- export const PLAYWRIGHT_RUN_VERSION = "kibi.playwright-run.v1";
9
- function text(value) {
10
- return typeof value === "string" ? value.trim() : "";
11
- }
12
- function record(value) {
13
- return value !== null && typeof value === "object" && !Array.isArray(value)
14
- ? value
15
- : null;
16
- }
17
- function canonical(value) {
18
- if (Array.isArray(value))
19
- return `[${value.map(canonical).join(",")}]`;
20
- const objectValue = record(value);
21
- if (objectValue) {
22
- return `{${Object.entries(objectValue)
23
- .sort(([left], [right]) => left.localeCompare(right))
24
- .map(([key, child]) => `${JSON.stringify(key)}:${canonical(child)}`)
25
- .join(",")}}`;
26
- }
27
- return JSON.stringify(value);
28
- }
29
- function digest(value) {
30
- return createHash("sha256").update(canonical(value)).digest("hex");
31
- }
32
- function requiredString(value, label) {
33
- const result = text(value);
34
- if (!result)
35
- throw new Error(`Verification ingest failed: ${label} must be non-empty`);
36
- return result;
37
- }
38
- function parseCases(artifact) {
39
- const raw = artifact.cases;
40
- if (!Array.isArray(raw) || raw.length === 0)
41
- throw new Error("Verification ingest failed: artifact.cases must be non-empty");
42
- return raw.map((value, index) => {
43
- const row = record(value);
44
- if (!row)
45
- throw new Error(`Verification ingest failed: artifact.cases[${index}] must be an object`);
46
- const outcome = text(row.outcome);
47
- if (!["passed", "failed", "timed_out", "skipped", "interrupted"].includes(outcome))
48
- throw new Error(`Verification ingest failed: unsupported case outcome at index ${index}`);
49
- if (!Number.isInteger(row.retries) || Number(row.retries) < 0)
50
- throw new Error(`Verification ingest failed: artifact.cases[${index}].retries must be non-negative`);
51
- if (!Number.isInteger(row.duration_ms) || Number(row.duration_ms) < 0)
52
- throw new Error(`Verification ingest failed: artifact.cases[${index}].duration_ms must be non-negative`);
53
- return {
54
- symbol_id: requiredString(row.symbol_id, `artifact.cases[${index}].symbol_id`),
55
- project: requiredString(row.project, `artifact.cases[${index}].project`),
56
- outcome,
57
- retries: Number(row.retries),
58
- duration_ms: Number(row.duration_ms),
59
- };
60
- });
61
- }
62
- function existingReceipts(test) {
63
- return Array.isArray(test.verification_receipts)
64
- ? test.verification_receipts.filter(record).map((value) => ({ ...value }))
65
- : [];
66
- }
67
- function validateContract(test, artifact, cases) {
68
- const contract = record(test.verification_contract);
69
- if (!contract || contract.version !== VERIFICATION_CONTRACT_VERSION)
70
- throw new Error("Verification ingest failed: test has no verification_contract.v1");
71
- if (text(artifact.runner) !== text(contract.runner))
72
- throw new Error("Verification ingest failed: reporter runner does not match verification contract");
73
- const command = Array.isArray(artifact.command_argv)
74
- ? artifact.command_argv.map(String)
75
- : [];
76
- const contractCommand = Array.isArray(contract.command_argv)
77
- ? contract.command_argv.map(String)
78
- : [];
79
- if (canonical(command) !== canonical(contractCommand))
80
- throw new Error("Verification ingest failed: reporter command_argv does not match verification contract");
81
- const requiredCases = Array.isArray(contract.required_case_symbols)
82
- ? contract.required_case_symbols.map(String)
83
- : [];
84
- const requiredProjects = Array.isArray(contract.required_projects)
85
- ? contract.required_projects.map(String)
86
- : [];
87
- const seen = new Set();
88
- for (const row of cases) {
89
- const key = `${row.project}\0${row.symbol_id}`;
90
- if (seen.has(key))
91
- throw new Error(`Verification ingest failed: duplicate reporter case ${row.project}/${row.symbol_id}`);
92
- seen.add(key);
93
- }
94
- for (const symbol of requiredCases) {
95
- for (const project of requiredProjects) {
96
- if (!seen.has(`${project}\0${symbol}`))
97
- throw new Error(`Verification ingest failed: missing required case ${project}/${symbol}`);
98
- }
99
- }
100
- return { contract, contractHash: verificationContractHash(contract) };
101
- }
102
- // implements REQ-kibi-verification-evidence-contract
103
- export async function executeIngestVerification(args, context) {
104
- if (!context.prolog)
105
- throw new Error("Verification ingest requires a Prolog runtime");
106
- const testId = requiredString(args.testId, "testId");
107
- const snapshot = requiredString(args.snapshot, "snapshot");
108
- const artifact = record(args.artifact);
109
- if (!artifact || artifact.version !== PLAYWRIGHT_RUN_VERSION)
110
- throw new Error(`Verification ingest failed: artifact.version must be ${PLAYWRIGHT_RUN_VERSION}`);
111
- const workspace = await readWorkspaceSnapshot(context);
112
- if (!workspace.available)
113
- throw new Error(`Verification ingest failed: ${workspace.error}`);
114
- if (workspace.snapshot.hash !== snapshot)
115
- throw new Error("Verification ingest failed: captured snapshot is not the live workspace snapshot");
116
- if (text(artifact.code_snapshot) !== snapshot)
117
- throw new Error("Verification ingest failed: artifact code_snapshot does not match captured snapshot");
118
- const tests = await loadEntities(context.prolog, {
119
- id: testId,
120
- type: "test",
121
- });
122
- const test = tests[0];
123
- if (!test)
124
- throw new Error(`Verification ingest failed: test ${testId} was not found`);
125
- const cases = parseCases(artifact);
126
- const { contract, contractHash } = validateContract(test, artifact, cases);
127
- const processExitCode = Number(artifact.process_exit_code);
128
- const hasInterrupted = cases.some((row) => row.outcome === "interrupted");
129
- const hasTimedOut = cases.some((row) => row.outcome === "timed_out");
130
- const allPassing = processExitCode === 0 &&
131
- cases.every((row) => row.outcome === "passed" && row.retries === 0);
132
- const proofOutcome = allPassing
133
- ? "passed"
134
- : hasInterrupted
135
- ? "interrupted"
136
- : hasTimedOut
137
- ? "timed_out"
138
- : "failed";
139
- const startedAt = requiredString(artifact.started_at, "artifact.started_at");
140
- const finishedAt = requiredString(artifact.finished_at, "artifact.finished_at");
141
- const receipt = {
142
- version: VERIFICATION_RECEIPT_V2_VERSION,
143
- receipt_id: `VR-${digest({ testId, artifact }).slice(0, 24)}`,
144
- test_id: testId,
145
- runner: text(artifact.runner),
146
- command: cases.length > 0
147
- ? Array.isArray(artifact.command_argv)
148
- ? artifact.command_argv.map(String).join(" ")
149
- : ""
150
- : "",
151
- command_argv: Array.isArray(artifact.command_argv)
152
- ? artifact.command_argv.map(String)
153
- : [],
154
- scope: text(test.verification_scope) || "end_to_end",
155
- outcome: proofOutcome,
156
- code_snapshot: snapshot,
157
- environment_hash: requiredString(artifact.environment_hash, "artifact.environment_hash"),
158
- started_at: startedAt,
159
- finished_at: finishedAt,
160
- artifact_digest: digest(artifact),
161
- contract_hash: contractHash,
162
- case_results: cases,
163
- };
164
- const nextReceipts = [...existingReceipts(test), receipt];
165
- const bindingErrors = verificationReceiptCurrentBindingErrors(testId, test.verification_scope, receipt, contract);
166
- const historyErrors = verificationReceiptHistoryErrors(testId, test.verification_scope, nextReceipts);
167
- const receiptErrors = [...historyErrors, ...bindingErrors];
168
- if (receiptErrors.length > 0)
169
- throw new Error(`Verification ingest failed: ${receiptErrors.join("; ")}`);
170
- const properties = projectEntityProperties(test);
171
- properties.verification_receipts = undefined;
172
- const upsert = await executeUpsert({
173
- type: "test",
174
- id: testId,
175
- properties: { ...properties, verification_receipts: nextReceipts },
176
- }, context);
177
- return {
178
- content: [
179
- {
180
- type: "text",
181
- text: `Ingested ${proofOutcome} verification evidence for ${testId}.`,
182
- },
183
- ],
184
- structuredContent: {
185
- receipt,
186
- testId,
187
- proofOutcome,
188
- receiptCount: nextReceipts.length,
189
- upsert,
190
- },
191
- };
192
- }
@@ -1,78 +0,0 @@
1
- import { executeIngestVerification } from "../../../operations/verification/ingest-verification.js";
2
- export type { IngestVerificationArgs, IngestVerificationResult, } from "../../../operations/verification/ingest-verification.js";
3
- export { executeIngestVerification } from "../../../operations/verification/ingest-verification.js";
4
- export declare const ingestVerificationSpec: {
5
- readonly name: "kb_ingest_verification";
6
- readonly cliName: "ingest-verification";
7
- readonly description: "Ingest a reporter-produced kibi.playwright-run.v1 artifact for a contracted test. Revalidates the live workspace snapshot, runner/command contract, required case/project coverage, and append-only receipt history before deriving and appending a kibi.verification-receipt.v2. It never accepts a caller-authored receipt or trusted outcome.";
8
- readonly businessInputSchema: {
9
- readonly type: "object";
10
- readonly required: readonly ["testId", "snapshot", "artifact"];
11
- readonly properties: {
12
- readonly testId: {
13
- readonly type: "string";
14
- readonly minLength: 1;
15
- readonly description: "Existing test entity with verification_contract.v1.";
16
- };
17
- readonly snapshot: {
18
- readonly type: "string";
19
- readonly pattern: "^[a-f0-9]{64}$";
20
- readonly description: "Workspace verification snapshot captured immediately before the run.";
21
- };
22
- readonly artifact: {
23
- readonly type: "object";
24
- readonly required: readonly ["version", "runner", "command_argv", "code_snapshot", "environment_hash", "started_at", "finished_at", "process_exit_code", "cases"];
25
- readonly properties: {
26
- readonly version: {
27
- readonly type: "string";
28
- readonly const: "kibi.playwright-run.v1";
29
- };
30
- readonly runner: {
31
- readonly type: "string";
32
- readonly minLength: 1;
33
- };
34
- readonly command_argv: {
35
- readonly type: "array";
36
- readonly minItems: 1;
37
- readonly items: {
38
- readonly type: "string";
39
- readonly minLength: 1;
40
- };
41
- };
42
- readonly code_snapshot: {
43
- readonly type: "string";
44
- readonly pattern: "^[a-f0-9]{64}$";
45
- };
46
- readonly environment_hash: {
47
- readonly type: "string";
48
- readonly pattern: "^[a-f0-9]{64}$";
49
- };
50
- readonly started_at: {
51
- readonly type: "string";
52
- readonly minLength: 1;
53
- };
54
- readonly finished_at: {
55
- readonly type: "string";
56
- readonly minLength: 1;
57
- };
58
- readonly process_exit_code: {
59
- readonly type: "integer";
60
- };
61
- readonly cases: {
62
- readonly type: "array";
63
- readonly minItems: 1;
64
- readonly maxItems: 1000;
65
- readonly items: {
66
- readonly type: "object";
67
- };
68
- };
69
- };
70
- readonly additionalProperties: true;
71
- };
72
- };
73
- };
74
- readonly requiresProlog: true;
75
- readonly effects: readonly ["kb-read", "kb-write", "workspace-read"];
76
- readonly execute: typeof executeIngestVerification;
77
- };
78
- //# sourceMappingURL=verification.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../../../src/public/operations/specs/verification.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,yBAAyB,EAC1B,MAAM,yDAAyD,CAAC;AAGjE,YAAY,EACV,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,yDAAyD,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AAGpG,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DlC,CAAC"}
@@ -1,62 +0,0 @@
1
- import { executeIngestVerification, } from "../../../operations/verification/ingest-verification.js";
2
- export { executeIngestVerification } from "../../../operations/verification/ingest-verification.js";
3
- // implements REQ-kibi-verification-evidence-contract
4
- export const ingestVerificationSpec = {
5
- name: "kb_ingest_verification",
6
- cliName: "ingest-verification",
7
- description: "Ingest a reporter-produced kibi.playwright-run.v1 artifact for a contracted test. Revalidates the live workspace snapshot, runner/command contract, required case/project coverage, and append-only receipt history before deriving and appending a kibi.verification-receipt.v2. It never accepts a caller-authored receipt or trusted outcome.",
8
- businessInputSchema: {
9
- type: "object",
10
- required: ["testId", "snapshot", "artifact"],
11
- properties: {
12
- testId: {
13
- type: "string",
14
- minLength: 1,
15
- description: "Existing test entity with verification_contract.v1.",
16
- },
17
- snapshot: {
18
- type: "string",
19
- pattern: "^[a-f0-9]{64}$",
20
- description: "Workspace verification snapshot captured immediately before the run.",
21
- },
22
- artifact: {
23
- type: "object",
24
- required: [
25
- "version",
26
- "runner",
27
- "command_argv",
28
- "code_snapshot",
29
- "environment_hash",
30
- "started_at",
31
- "finished_at",
32
- "process_exit_code",
33
- "cases",
34
- ],
35
- properties: {
36
- version: { type: "string", const: "kibi.playwright-run.v1" },
37
- runner: { type: "string", minLength: 1 },
38
- command_argv: {
39
- type: "array",
40
- minItems: 1,
41
- items: { type: "string", minLength: 1 },
42
- },
43
- code_snapshot: { type: "string", pattern: "^[a-f0-9]{64}$" },
44
- environment_hash: { type: "string", pattern: "^[a-f0-9]{64}$" },
45
- started_at: { type: "string", minLength: 1 },
46
- finished_at: { type: "string", minLength: 1 },
47
- process_exit_code: { type: "integer" },
48
- cases: {
49
- type: "array",
50
- minItems: 1,
51
- maxItems: 1000,
52
- items: { type: "object" },
53
- },
54
- },
55
- additionalProperties: true,
56
- },
57
- },
58
- },
59
- requiresProlog: true,
60
- effects: ["kb-read", "kb-write", "workspace-read"],
61
- execute: executeIngestVerification,
62
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"playwright-case-id.d.ts","sourceRoot":"","sources":["../../src/public/playwright-case-id.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GACrB,MAAM,CAOR;AAGD,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,CASR"}