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
@@ -22,20 +22,21 @@ import { isCliTraceOrDebugEnabled } from "../env.js";
22
22
  import { extractFromManifest, extractFromManifestString, } from "../extractors/manifest.js";
23
23
  import { extractFromMarkdownString, } from "../extractors/markdown.js";
24
24
  import { PrologProcess } from "../prolog.js";
25
- import { escapeAtom, parseTriples, parseViolationRows, } from "../prolog/codec.js";
25
+ import { escapeAtom, normalizeEntityId, parseTriples, parseViolationRows, } from "../prolog/codec.js";
26
26
  import { createSemanticReviewDiagnostics, createSymbolGranularityDiagnostics, createSymbolQualityDiagnostics, hasBlockingImpactDiagnostics, } from "../public/impact-diagnostics.js";
27
27
  import { executeCheck } from "../public/operations/check-executor.js";
28
28
  import { KIBI_NO_IMPACT_DECLARATION, KIBI_SYMBOLS_MANIFEST_PATH, KIBI_SYMBOL_COORDINATES_PATH, } from "../traceability/evidence-model.js";
29
- import { getStagedFiles } from "../traceability/git-staged.js";
29
+ import { getStagedInventory, supportedStagedFiles, } from "../traceability/git-staged.js";
30
30
  import { validateStagedMarkdown } from "../traceability/markdown-validate.js";
31
31
  import { collectStagedKibiDiagnostics, } from "../traceability/staged-diagnostics.js";
32
+ import { analyzeStagedFileCoverage, } from "../traceability/staged-file-coverage.js";
32
33
  import { classifyKibiImpactEvidence, isBehaviorSourceEdit, parseKibiImpactOverride, } from "../traceability/staged-impact-contract.js";
33
34
  import { assessStagedSymbolsManifest, collectStagedAuthoredSymbolsManifestEvidence, } from "../traceability/staged-symbols-manifest.js";
34
- import { createManifestLookupSentinelKey, extractSymbolsFromStagedFile, } from "../traceability/symbol-extract.js";
35
+ import { createManifestLookupSentinelKey, extractSymbolsFromStagedFileAsync, } from "../traceability/symbol-extract.js";
35
36
  import { cleanupTempKb, consultOverlay, createOverlayFacts, createTempKb, projectStagedEntities, } from "../traceability/temp-kb.js";
36
37
  import { formatViolations as formatStagedViolations, validateStagedSymbols, } from "../traceability/validate.js";
37
38
  import { resolveBranchAttachment } from "../utils/branch-resolver.js";
38
- import { CANONICAL_ENTITY_PATHS } from "../utils/kb-paths.js";
39
+ import { CANONICAL_ENTITY_PATHS, isEntityLanePath } from "../utils/kb-paths.js";
39
40
  import { safeCleanupProlog } from "../utils/prolog-cleanup.js";
40
41
  function getMatchGroup(match, index = 1) {
41
42
  const value = match?.[index];
@@ -198,6 +199,9 @@ function formatStagedKibiDiagnostics(diagnostics) {
198
199
  if (diagnostic.files.length > 0) {
199
200
  lines.push(` Files: ${diagnostic.files.join(", ")}`);
200
201
  }
202
+ for (const detail of diagnostic.details ?? []) {
203
+ lines.push(` Detail: ${detail}`);
204
+ }
201
205
  if (diagnostic.docs.length > 0) {
202
206
  lines.push(` Docs: ${diagnostic.docs.join(", ")}`);
203
207
  }
@@ -239,6 +243,66 @@ function printStructuredCheckResult(input) {
239
243
  },
240
244
  }));
241
245
  }
246
+ function formatStagedCoverage(result) {
247
+ const counts = {
248
+ symbol: result.files.filter((file) => file.analysisDepth === "symbol")
249
+ .length,
250
+ metadata: result.files.filter((file) => file.analysisDepth === "metadata")
251
+ .length,
252
+ file: result.files.filter((file) => file.analysisDepth === "file").length,
253
+ skipped: result.files.filter((file) => file.disposition === "skipped")
254
+ .length,
255
+ };
256
+ const lines = [
257
+ `Staged files: ${result.files.length} total; ${counts.symbol} symbol-level; ${counts.metadata} metadata; ${counts.file} file-level; ${counts.skipped} skipped.`,
258
+ ];
259
+ for (const file of result.files) {
260
+ const details = [file.analysisDepth, file.disposition];
261
+ if (file.reason)
262
+ details.push(file.reason);
263
+ if (file.requirementIds.length > 0) {
264
+ details.push(`requirements: ${file.requirementIds.join(", ")}`);
265
+ }
266
+ if (file.evidencePaths.length > 0) {
267
+ details.push(`evidence: ${file.evidencePaths.join(", ")}`);
268
+ }
269
+ lines.push(` ${file.status} ${file.path} [${details.join("; ")}]`);
270
+ }
271
+ if (result.diagnostics.length > 0) {
272
+ lines.push("", `Advisory staged-file diagnostics (${result.diagnostics.length}):`);
273
+ for (const diagnostic of result.diagnostics) {
274
+ lines.push(` [${diagnostic.id}] ${diagnostic.message}`);
275
+ lines.push(` Suggestion: ${diagnostic.suggestion}`);
276
+ }
277
+ }
278
+ return lines.join("\n");
279
+ }
280
+ function printStagedResult(input) {
281
+ const violations = input.violations ?? [];
282
+ const qualityDiagnostics = input.qualityDiagnostics ?? [];
283
+ if (input.format === "json") {
284
+ console.log(JSON.stringify({
285
+ structuredContent: {
286
+ violations,
287
+ count: violations.length,
288
+ diagnostics: input.coverage?.diagnostics ?? [],
289
+ qualityDiagnostics,
290
+ staged: input.coverage,
291
+ messages: input.messages ?? [],
292
+ ...(input.operationalError
293
+ ? { operationalError: input.operationalError }
294
+ : {}),
295
+ },
296
+ }));
297
+ return;
298
+ }
299
+ if (input.coverage)
300
+ console.log(formatStagedCoverage(input.coverage));
301
+ for (const message of input.messages ?? [])
302
+ console.log(message);
303
+ if (input.operationalError)
304
+ console.error(input.operationalError);
305
+ }
242
306
  function uniqueSorted(values) {
243
307
  return Array.from(new Set(values)).sort();
244
308
  }
@@ -327,6 +391,9 @@ function buildStagedKibiImpactEvidence(options) {
327
391
  path: stagedSymbolsManifest.path,
328
392
  state: stagedSymbolsManifest.state,
329
393
  sourcePaths: stagedSymbolsManifest.sourcePaths,
394
+ ...(stagedSymbolsManifest.fileDetails
395
+ ? { fileDetails: stagedSymbolsManifest.fileDetails }
396
+ : {}),
330
397
  },
331
398
  mode: resolvedKbArtifacts.length > 0
332
399
  ? { kind: "kb_changes", kbArtifacts: resolvedKbArtifacts }
@@ -335,6 +402,13 @@ function buildStagedKibiImpactEvidence(options) {
335
402
  : { kind: "missing" },
336
403
  };
337
404
  }
405
+ export function requireActiveProlog(engine, prolog) {
406
+ const activeProlog = engine ?? prolog;
407
+ if (activeProlog == null) {
408
+ throw new Error("Prolog runtime not initialized");
409
+ }
410
+ return activeProlog;
411
+ }
338
412
  // implements REQ-006
339
413
  export async function checkCommand(options) {
340
414
  let prolog = null;
@@ -358,17 +432,27 @@ export async function checkCommand(options) {
358
432
  }
359
433
  if (options.staged) {
360
434
  const minLinks = options.minLinks ? Number(options.minLinks) : 1;
435
+ let stagedCoverage = null;
361
436
  let tempCtx = null;
362
437
  try {
363
- const stagedFiles = getStagedFiles();
364
- if (!stagedFiles || stagedFiles.length === 0) {
365
- console.log("No staged files found.");
438
+ const stagedInventory = getStagedInventory();
439
+ stagedCoverage = analyzeStagedFileCoverage(stagedInventory);
440
+ const stagedFiles = supportedStagedFiles(stagedInventory);
441
+ if (stagedInventory.length === 0) {
442
+ printStagedResult({
443
+ format: options.format,
444
+ coverage: stagedCoverage,
445
+ messages: ["No staged files found."],
446
+ });
366
447
  return { exitCode: 0 };
367
448
  }
368
449
  const { manifestLookup, manifestResults, authoredSymbolResults, stagedAuthoredSymbolResults, } = buildManifestLookup(stagedFiles);
369
450
  const symbolsManifestPath = KIBI_SYMBOLS_MANIFEST_PATH;
370
- const sourceFiles = stagedFiles.filter((file) => !file.path.endsWith(".md") && !isStagedManifestPath(file.path));
371
- const markdownFiles = stagedFiles.filter((f) => f.path.endsWith(".md"));
451
+ const symbolPaths = new Set(stagedInventory
452
+ .filter((file) => file.analysisDepth === "symbol")
453
+ .map((file) => file.path));
454
+ const sourceFiles = stagedFiles.filter((file) => symbolPaths.has(file.path));
455
+ const markdownFiles = stagedFiles.filter((file) => file.path.endsWith(".md") && isEntityLanePath(file.path));
372
456
  const markdownErrors = [];
373
457
  for (const f of markdownFiles) {
374
458
  const result = validateStagedMarkdown(f.path, f.content || "");
@@ -377,11 +461,18 @@ export async function checkCommand(options) {
377
461
  }
378
462
  }
379
463
  if (markdownErrors.length > 0) {
380
- console.log("Found embedded entity violations in staged markdown files:");
381
- for (const err of markdownErrors) {
382
- console.log(err);
383
- console.log();
384
- }
464
+ printStagedResult({
465
+ format: options.format,
466
+ coverage: stagedCoverage,
467
+ violations: markdownErrors.map((message) => ({
468
+ rule: "staged-markdown",
469
+ message,
470
+ })),
471
+ messages: [
472
+ "Found embedded entity violations in staged markdown files:",
473
+ ...markdownErrors,
474
+ ],
475
+ });
385
476
  if (options.dryRun) {
386
477
  return { exitCode: 0 };
387
478
  }
@@ -395,14 +486,17 @@ export async function checkCommand(options) {
395
486
  if (f.content !== undefined) {
396
487
  sourceContentByFile.set(f.path, f.content);
397
488
  }
398
- const symbols = extractSymbolsFromStagedFile(f, manifestLookup);
489
+ // Maintenance path: builtin-only (no CapabilityRegistry / workspaceRoot).
490
+ const symbols = await extractSymbolsFromStagedFileAsync(f, manifestLookup, {});
399
491
  symbolsByFile.set(f.path, symbols);
400
492
  if (symbols?.length) {
401
493
  allSymbols.push(...symbols);
402
494
  }
403
495
  }
404
496
  catch (e) {
405
- console.error(`Error extracting symbols from staged file ${f.path}: ${e instanceof Error ? e.message : String(e)}`);
497
+ const message = `Error extracting symbols from staged file ${f.path}: ${e instanceof Error ? e.message : String(e)}`;
498
+ if (options.format !== "json")
499
+ console.error(message);
406
500
  }
407
501
  }
408
502
  const markdownResultsByPath = new Map();
@@ -453,7 +547,12 @@ export async function checkCommand(options) {
453
547
  }), ...createSemanticReviewDiagnostics({ symbolsByFile }));
454
548
  if (allSymbols.length === 0 && stagedEntityResults.length === 0) {
455
549
  if (stagedKibiDiagnostics.length > 0) {
456
- console.log(formatStagedKibiDiagnostics(stagedKibiDiagnostics));
550
+ printStagedResult({
551
+ format: options.format,
552
+ coverage: stagedCoverage,
553
+ qualityDiagnostics: stagedKibiDiagnostics,
554
+ messages: [formatStagedKibiDiagnostics(stagedKibiDiagnostics)],
555
+ });
457
556
  if (options.dryRun) {
458
557
  return { exitCode: 0 };
459
558
  }
@@ -463,12 +562,23 @@ export async function checkCommand(options) {
463
562
  : 0,
464
563
  };
465
564
  }
466
- console.log("No exported symbols or staged entities found in staged files.");
565
+ printStagedResult({
566
+ format: options.format,
567
+ coverage: stagedCoverage,
568
+ messages: [
569
+ "No exported symbols or staged entities found in staged files.",
570
+ ],
571
+ });
467
572
  return { exitCode: 0 };
468
573
  }
469
574
  if (allSymbols.length === 0) {
470
575
  if (stagedKibiDiagnostics.length > 0) {
471
- console.log(formatStagedKibiDiagnostics(stagedKibiDiagnostics));
576
+ printStagedResult({
577
+ format: options.format,
578
+ coverage: stagedCoverage,
579
+ qualityDiagnostics: stagedKibiDiagnostics,
580
+ messages: [formatStagedKibiDiagnostics(stagedKibiDiagnostics)],
581
+ });
472
582
  if (options.dryRun) {
473
583
  return { exitCode: 0 };
474
584
  }
@@ -478,7 +588,11 @@ export async function checkCommand(options) {
478
588
  : 0,
479
589
  };
480
590
  }
481
- console.log("✓ No violations found in staged files.");
591
+ printStagedResult({
592
+ format: options.format,
593
+ coverage: stagedCoverage,
594
+ messages: ["✓ No violations found in staged files."],
595
+ });
482
596
  return { exitCode: 0 };
483
597
  }
484
598
  // Create temp KB
@@ -496,12 +610,19 @@ export async function checkCommand(options) {
496
610
  prolog: tempCtx.prolog,
497
611
  });
498
612
  const violationsFormatted = formatStagedViolations(violationsRaw);
499
- if (stagedKibiDiagnostics.length > 0) {
500
- console.log(formatStagedKibiDiagnostics(stagedKibiDiagnostics));
501
- console.log();
502
- }
503
613
  if (violationsRaw && violationsRaw.length > 0) {
504
- console.log(violationsFormatted);
614
+ printStagedResult({
615
+ format: options.format,
616
+ coverage: stagedCoverage,
617
+ violations: violationsRaw,
618
+ qualityDiagnostics: stagedKibiDiagnostics,
619
+ messages: [
620
+ ...(stagedKibiDiagnostics.length > 0
621
+ ? [formatStagedKibiDiagnostics(stagedKibiDiagnostics)]
622
+ : []),
623
+ violationsFormatted,
624
+ ],
625
+ });
505
626
  await cleanupTempKb(tempCtx.tempDir);
506
627
  if (options.dryRun) {
507
628
  return { exitCode: 0 };
@@ -510,23 +631,38 @@ export async function checkCommand(options) {
510
631
  }
511
632
  if (stagedKibiDiagnostics.length > 0) {
512
633
  await cleanupTempKb(tempCtx.tempDir);
634
+ const blocking = hasBlockingImpactDiagnostics(stagedKibiDiagnostics);
635
+ printStagedResult({
636
+ format: options.format,
637
+ coverage: stagedCoverage,
638
+ qualityDiagnostics: stagedKibiDiagnostics,
639
+ messages: [
640
+ formatStagedKibiDiagnostics(stagedKibiDiagnostics),
641
+ ...(!blocking
642
+ ? ["✓ No violations found in staged symbols."]
643
+ : []),
644
+ ],
645
+ });
513
646
  if (options.dryRun) {
514
647
  return { exitCode: 0 };
515
648
  }
516
- if (!hasBlockingImpactDiagnostics(stagedKibiDiagnostics)) {
517
- console.log("✓ No violations found in staged symbols.");
649
+ if (!blocking) {
518
650
  return { exitCode: 0 };
519
651
  }
520
652
  return {
521
653
  exitCode: 1,
522
654
  };
523
655
  }
524
- console.log("✓ No violations found in staged symbols.");
656
+ printStagedResult({
657
+ format: options.format,
658
+ coverage: stagedCoverage,
659
+ messages: ["✓ No violations found in staged symbols."],
660
+ });
525
661
  await cleanupTempKb(tempCtx.tempDir);
526
662
  return { exitCode: 0 };
527
663
  }
528
664
  catch (err) {
529
- console.error(`Error running staged validation: ${err instanceof Error ? err.message : String(err)}`);
665
+ const message = `Error running staged validation: ${err instanceof Error ? err.message : String(err)}`;
530
666
  if (tempCtx) {
531
667
  try {
532
668
  await cleanupTempKb(tempCtx.tempDir);
@@ -535,6 +671,11 @@ export async function checkCommand(options) {
535
671
  // best-effort: temp directory may already be cleaned up
536
672
  }
537
673
  }
674
+ printStagedResult({
675
+ format: options.format,
676
+ coverage: stagedCoverage,
677
+ operationalError: message,
678
+ });
538
679
  return { exitCode: 1 };
539
680
  }
540
681
  }
@@ -561,10 +702,7 @@ export async function checkCommand(options) {
561
702
  }
562
703
  attached = true;
563
704
  }
564
- const activeProlog = engine ?? prolog;
565
- if (!activeProlog) {
566
- throw new Error("Prolog runtime not initialized");
567
- }
705
+ const activeProlog = requireActiveProlog(engine, prolog);
568
706
  const rules = options.rules
569
707
  ?.split(",")
570
708
  .map((rule) => rule.trim())
@@ -575,6 +713,9 @@ export async function checkCommand(options) {
575
713
  clock: () => new Date(),
576
714
  prolog: {
577
715
  query: (goal) => activeProlog.query(goal),
716
+ ...(activeProlog instanceof EngineClient
717
+ ? { queryEntities: activeProlog.queryEntities.bind(activeProlog) }
718
+ : {}),
578
719
  nextSolution: async () => null,
579
720
  invalidateCache: () => activeProlog.invalidateCache(),
580
721
  save: () => activeProlog.query("kb_save"),
@@ -628,7 +769,7 @@ export async function checkCommand(options) {
628
769
  await safeCleanupProlog(prolog);
629
770
  }
630
771
  }
631
- async function checkMustPriorityCoverage(prolog) {
772
+ export async function checkMustPriorityCoverage(prolog) {
632
773
  const violations = [];
633
774
  const mustReqs = await findMustPriorityReqs(prolog);
634
775
  for (const reqId of mustReqs) {
@@ -667,7 +808,9 @@ async function checkMustPriorityCoverage(prolog) {
667
808
  }
668
809
  return violations;
669
810
  }
670
- async function findMustPriorityReqs(prolog) {
811
+ // implements REQ-cli-check
812
+ // covered_by TEST-004
813
+ export async function findMustPriorityReqs(prolog) {
671
814
  const query = `findall(Id, (kb_entity(Id, req, Props), memberchk(priority=P, Props), (P = ^^("must", _) ; P = "must" ; P = 'must' ; (atom(P), atom_string(P, PS), sub_string(PS, _, 4, 0, "must")))), Ids)`;
672
815
  const result = await prolog.query(query);
673
816
  if (!result.success || !result.bindings.Ids) {
@@ -681,7 +824,7 @@ async function findMustPriorityReqs(prolog) {
681
824
  }
682
825
  return content.split(",").map((id) => id.trim().replace(/^'|'$/g, ""));
683
826
  }
684
- async function getAllEntityIds(prolog, type) {
827
+ export async function getAllEntityIds(prolog, type) {
685
828
  const typeFilter = type ? `, Type = ${type}` : "";
686
829
  const query = `findall(Id, (kb_entity(Id, Type, _)${typeFilter}), Ids)`;
687
830
  const result = await prolog.query(query);
@@ -696,7 +839,7 @@ async function getAllEntityIds(prolog, type) {
696
839
  }
697
840
  return content.split(",").map((id) => id.trim().replace(/^'|'$/g, ""));
698
841
  }
699
- async function checkNoDanglingRefs(prolog) {
842
+ export async function checkNoDanglingRefs(prolog) {
700
843
  const violations = [];
701
844
  const allEntityIds = new Set(await getAllEntityIds(prolog));
702
845
  const relTypes = [
@@ -751,7 +894,9 @@ async function checkNoDanglingRefs(prolog) {
751
894
  }
752
895
  return violations;
753
896
  }
754
- async function checkNoCycles(prolog) {
897
+ // implements REQ-cli-check
898
+ // covered_by TEST-cli-check-integrity
899
+ export async function checkNoCycles(prolog) {
755
900
  const violations = [];
756
901
  const depsResult = await prolog.query("findall([From,To], kb_relationship(depends_on, From, To), Deps)");
757
902
  if (!depsResult.success || !depsResult.bindings.Deps) {
@@ -835,7 +980,7 @@ async function checkNoCycles(prolog) {
835
980
  }
836
981
  return violations;
837
982
  }
838
- async function checkRequiredFields(prolog, allEntityIds) {
983
+ export async function checkRequiredFields(prolog, allEntityIds) {
839
984
  const violations = [];
840
985
  const required = [
841
986
  "id",
@@ -871,7 +1016,7 @@ async function checkRequiredFields(prolog, allEntityIds) {
871
1016
  }
872
1017
  return violations;
873
1018
  }
874
- async function checkDeprecatedAdrs(prolog) {
1019
+ export async function checkDeprecatedAdrs(prolog) {
875
1020
  const violations = [];
876
1021
  // Use Prolog predicate to find deprecated ADRs without successors
877
1022
  const result = await prolog.query("setof(Id, deprecated_no_successor(Id), Ids)");
@@ -908,14 +1053,16 @@ async function checkDeprecatedAdrs(prolog) {
908
1053
  }
909
1054
  return violations;
910
1055
  }
911
- async function checkDomainContradictions(prolog) {
1056
+ export async function checkDomainContradictions(prolog) {
912
1057
  const violations = [];
913
1058
  const result = await prolog.query("setof([A,B,Reason], contradicting_reqs(A, B, Reason), Rows)");
914
1059
  if (!result.success || !result.bindings.Rows) {
915
1060
  return violations;
916
1061
  }
917
1062
  const rows = parseTriples(result.bindings.Rows);
918
- for (const [reqA, reqB, reason] of rows) {
1063
+ for (const [rawReqA, rawReqB, reason] of rows) {
1064
+ const reqA = normalizeEntityId(rawReqA);
1065
+ const reqB = normalizeEntityId(rawReqB);
919
1066
  violations.push({
920
1067
  rule: "domain-contradictions",
921
1068
  entityId: `${reqA}/${reqB}`,
@@ -925,7 +1072,7 @@ async function checkDomainContradictions(prolog) {
925
1072
  }
926
1073
  return violations;
927
1074
  }
928
- async function checkStrictFactShape(prolog) {
1075
+ export async function checkStrictFactShape(prolog) {
929
1076
  const violations = [];
930
1077
  const result = await prolog.query(`findall(violation(Rule, EntityId, Desc, Sugg, Src),
931
1078
  checks:strict_fact_shape_violation(violation(Rule, EntityId, Desc, Sugg, Src)),
@@ -941,7 +1088,7 @@ async function checkStrictFactShape(prolog) {
941
1088
  }
942
1089
  return violations;
943
1090
  }
944
- async function checkStrictReqFactPairing(prolog) {
1091
+ export async function checkStrictReqFactPairing(prolog) {
945
1092
  const violations = [];
946
1093
  const result = await prolog.query(`findall(violation(Rule, EntityId, Desc, Sugg, Src),
947
1094
  checks:strict_req_fact_pairing_violation(violation(Rule, EntityId, Desc, Sugg, Src)),
@@ -957,7 +1104,7 @@ async function checkStrictReqFactPairing(prolog) {
957
1104
  }
958
1105
  return violations;
959
1106
  }
960
- async function checkStrictReadiness(prolog) {
1107
+ export async function checkStrictReadiness(prolog) {
961
1108
  const violations = [];
962
1109
  const result = await prolog.query(`findall(violation(Rule, EntityId, Desc, Sugg, Src),
963
1110
  checks:strict_readiness_violation(violation(Rule, EntityId, Desc, Sugg, Src)),
@@ -973,7 +1120,7 @@ async function checkStrictReadiness(prolog) {
973
1120
  }
974
1121
  return violations;
975
1122
  }
976
- async function checkSymbolCoverage(prolog) {
1123
+ export async function checkSymbolCoverage(prolog) {
977
1124
  const violations = [];
978
1125
  const uncoveredResult = await prolog.query("setof(Symbol, symbol_no_req_coverage(Symbol, _), Symbols)");
979
1126
  if (uncoveredResult.success && uncoveredResult.bindings.Symbols) {
@@ -2,6 +2,7 @@ interface CoverageOptions {
2
2
  by?: "req" | "symbol" | "type";
3
3
  tag?: string;
4
4
  includePassing?: boolean;
5
+ status?: string;
5
6
  includeTransitive?: boolean;
6
7
  limit?: string;
7
8
  offset?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../src/commands/coverage.ts"],"names":[],"mappings":"AAMA,UAAU,eAAe;IACvB,EAAE,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B;AAGD,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B7E"}
1
+ {"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../src/commands/coverage.ts"],"names":[],"mappings":"AAMA,UAAU,eAAe;IACvB,EAAE,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B;AAGD,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC7E"}
@@ -11,6 +11,12 @@ export async function coverageCommand(options) {
11
11
  .filter(Boolean)
12
12
  : [],
13
13
  includePassing: options.includePassing ?? false,
14
+ statuses: options.status
15
+ ? options.status
16
+ .split(",")
17
+ .map((item) => item.trim())
18
+ .filter(Boolean)
19
+ : [],
14
20
  includeTransitive: options.includeTransitive ?? true,
15
21
  limit: Number.parseInt(options.limit || "100", 10),
16
22
  offset: Number.parseInt(options.offset || "0", 10),
@@ -4,4 +4,26 @@ export interface DoctorOptions {
4
4
  export declare function doctorCommand(options?: DoctorOptions): Promise<{
5
5
  exitCode: number;
6
6
  }>;
7
+ export declare function detectExecuteApplyPlanExport(load?: () => Promise<{
8
+ executeApplyPlan?: unknown;
9
+ }>): Promise<boolean>;
10
+ export declare function packageMigrationActions(runtime: Readonly<Record<string, unknown>>): Promise<Readonly<{
11
+ id: string;
12
+ code: string;
13
+ category: "package" | "branch" | "storage" | "schema" | "freshness" | "relationship" | "symbol" | "semantic" | "proof" | "quality";
14
+ state: import("../public/operations/migration-plan.js").MigrationActionState;
15
+ safety: import("../public/operations/migration-plan.js").MigrationSafety;
16
+ invocation: import("../public/operations/migration-plan.js").MigrationInvocation;
17
+ affectedEntityIds: readonly string[];
18
+ affectedFiles: readonly string[];
19
+ dependsOn: readonly string[];
20
+ preconditions: readonly Readonly<Record<string, unknown>>[];
21
+ postconditions: readonly Readonly<Record<string, unknown>>[];
22
+ evidence: Readonly<Record<string, unknown>>;
23
+ autoApplicable: boolean;
24
+ dispositionRequired: boolean;
25
+ allowedDispositions: readonly import("../public/operations/migration-plan.js").MigrationDisposition[];
26
+ }>[]>;
27
+ export declare function nextAncestorDirectory(current: string): string | undefined;
28
+ export declare function nearestNamedPackageManifest(startDir: string, name: string): string | undefined;
7
29
  //# sourceMappingURL=doctor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAmCA,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B;AAGD,wBAAsB,aAAa,CACjC,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAiF/B"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AA6DA,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B;AAGD,wBAAsB,aAAa,CACjC,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAwF/B;AAED,wBAAsB,4BAA4B,CAChD,IAAI,GAAE,MAAM,OAAO,CAAC;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,CACT,GACxC,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;;;;;;;;;;;;;;;;MAkE3C;AAkGD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGzE;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAepB"}