kibi-cli 0.14.0 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (432) hide show
  1. package/bin/kibi +3 -1
  2. package/dist/cli-command.d.ts +5 -0
  3. package/dist/cli-command.d.ts.map +1 -0
  4. package/dist/cli-command.js +9 -0
  5. package/dist/cli-errors.d.ts +13 -0
  6. package/dist/cli-errors.d.ts.map +1 -0
  7. package/dist/cli-errors.js +26 -0
  8. package/dist/cli-input.d.ts +6 -0
  9. package/dist/cli-input.d.ts.map +1 -0
  10. package/dist/cli-input.js +54 -0
  11. package/dist/cli-json-command.d.ts +14 -0
  12. package/dist/cli-json-command.d.ts.map +1 -0
  13. package/dist/cli-json-command.js +96 -0
  14. package/dist/cli-protocol.d.ts +12 -0
  15. package/dist/cli-protocol.d.ts.map +1 -0
  16. package/dist/cli-protocol.js +37 -0
  17. package/dist/cli-register-foundation.d.ts +3 -0
  18. package/dist/cli-register-foundation.d.ts.map +1 -0
  19. package/dist/cli-register-foundation.js +90 -0
  20. package/dist/cli-register-maintenance.d.ts +3 -0
  21. package/dist/cli-register-maintenance.d.ts.map +1 -0
  22. package/dist/cli-register-maintenance.js +36 -0
  23. package/dist/cli-register-reporting.d.ts +3 -0
  24. package/dist/cli-register-reporting.d.ts.map +1 -0
  25. package/dist/cli-register-reporting.js +101 -0
  26. package/dist/cli-register-skills.d.ts +3 -0
  27. package/dist/cli-register-skills.d.ts.map +1 -0
  28. package/dist/cli-register-skills.js +71 -0
  29. package/dist/cli-validate.d.ts +18 -0
  30. package/dist/cli-validate.d.ts.map +1 -0
  31. package/dist/cli-validate.js +45 -0
  32. package/dist/cli.d.ts +4 -4
  33. package/dist/cli.d.ts.map +1 -1
  34. package/dist/cli.js +48 -211
  35. package/dist/commands/aggregated-checks.d.ts +1 -1
  36. package/dist/commands/aggregated-checks.d.ts.map +1 -1
  37. package/dist/commands/aggregated-checks.js +28 -34
  38. package/dist/commands/check.d.ts +1 -1
  39. package/dist/commands/check.d.ts.map +1 -1
  40. package/dist/commands/check.js +52 -94
  41. package/dist/commands/coverage.d.ts.map +1 -1
  42. package/dist/commands/coverage.js +12 -17
  43. package/dist/commands/discovery-shared.d.ts +2 -1
  44. package/dist/commands/discovery-shared.d.ts.map +1 -1
  45. package/dist/commands/discovery-shared.js +6 -18
  46. package/dist/commands/gaps.d.ts.map +1 -1
  47. package/dist/commands/gaps.js +15 -19
  48. package/dist/commands/graph.d.ts.map +1 -1
  49. package/dist/commands/graph.js +15 -21
  50. package/dist/commands/query.d.ts +7 -7
  51. package/dist/commands/query.d.ts.map +1 -1
  52. package/dist/commands/query.js +98 -204
  53. package/dist/commands/search.d.ts +4 -4
  54. package/dist/commands/search.d.ts.map +1 -1
  55. package/dist/commands/search.js +14 -27
  56. package/dist/commands/status.d.ts +1 -1
  57. package/dist/commands/status.d.ts.map +1 -1
  58. package/dist/commands/status.js +6 -7
  59. package/dist/commands/sync/manifest.d.ts +1 -1
  60. package/dist/commands/sync/manifest.d.ts.map +1 -1
  61. package/dist/commands/sync/manifest.js +9 -17
  62. package/dist/commands/sync/persistence.d.ts.map +1 -1
  63. package/dist/commands/sync/persistence.js +22 -1
  64. package/dist/extractors/markdown.d.ts +14 -2
  65. package/dist/extractors/markdown.d.ts.map +1 -1
  66. package/dist/extractors/markdown.js +38 -1
  67. package/dist/extractors/symbols-ts.d.ts.map +1 -1
  68. package/dist/extractors/symbols-ts.js +11 -1
  69. package/dist/operations/autopilot/activation.d.ts +4 -0
  70. package/dist/operations/autopilot/activation.d.ts.map +1 -0
  71. package/dist/operations/autopilot/activation.js +130 -0
  72. package/dist/operations/autopilot/candidate-helpers.d.ts +13 -0
  73. package/dist/operations/autopilot/candidate-helpers.d.ts.map +1 -0
  74. package/dist/operations/autopilot/candidate-helpers.js +55 -0
  75. package/dist/operations/autopilot/candidates.d.ts +4 -0
  76. package/dist/operations/autopilot/candidates.d.ts.map +1 -0
  77. package/dist/operations/autopilot/candidates.js +114 -0
  78. package/dist/operations/autopilot/discovery-evidence.d.ts +10 -0
  79. package/dist/operations/autopilot/discovery-evidence.d.ts.map +1 -0
  80. package/dist/operations/autopilot/discovery-evidence.js +158 -0
  81. package/dist/operations/autopilot/discovery.d.ts +4 -0
  82. package/dist/operations/autopilot/discovery.d.ts.map +1 -0
  83. package/dist/operations/autopilot/discovery.js +100 -0
  84. package/dist/operations/autopilot/generate.d.ts +8 -0
  85. package/dist/operations/autopilot/generate.d.ts.map +1 -0
  86. package/dist/operations/autopilot/generate.js +112 -0
  87. package/dist/operations/autopilot/guidance-actions.d.ts +3 -0
  88. package/dist/operations/autopilot/guidance-actions.d.ts.map +1 -0
  89. package/dist/operations/autopilot/guidance-actions.js +79 -0
  90. package/dist/operations/autopilot/guidance.d.ts +14 -0
  91. package/dist/operations/autopilot/guidance.d.ts.map +1 -0
  92. package/dist/operations/autopilot/guidance.js +124 -0
  93. package/dist/operations/autopilot/markdown-candidates.d.ts +7 -0
  94. package/dist/operations/autopilot/markdown-candidates.d.ts.map +1 -0
  95. package/dist/operations/autopilot/markdown-candidates.js +134 -0
  96. package/dist/operations/autopilot/presentation.d.ts +13 -0
  97. package/dist/operations/autopilot/presentation.d.ts.map +1 -0
  98. package/dist/operations/autopilot/presentation.js +91 -0
  99. package/dist/operations/autopilot/requirement-claims.d.ts +3 -0
  100. package/dist/operations/autopilot/requirement-claims.d.ts.map +1 -0
  101. package/dist/operations/autopilot/requirement-claims.js +48 -0
  102. package/dist/operations/autopilot/types.d.ts +117 -0
  103. package/dist/operations/autopilot/types.d.ts.map +1 -0
  104. package/dist/operations/autopilot/types.js +8 -0
  105. package/dist/operations/modeling/model-requirement.d.ts +10 -0
  106. package/dist/operations/modeling/model-requirement.d.ts.map +1 -0
  107. package/dist/operations/modeling/model-requirement.js +108 -0
  108. package/dist/operations/modeling/predicate-applyplan.d.ts +6 -0
  109. package/dist/operations/modeling/predicate-applyplan.d.ts.map +1 -0
  110. package/dist/operations/modeling/predicate-applyplan.js +104 -0
  111. package/dist/operations/modeling/predicate-catalog-1.d.ts +3 -0
  112. package/dist/operations/modeling/predicate-catalog-1.d.ts.map +1 -0
  113. package/dist/operations/modeling/predicate-catalog-1.js +200 -0
  114. package/dist/operations/modeling/predicate-catalog-2.d.ts +3 -0
  115. package/dist/operations/modeling/predicate-catalog-2.d.ts.map +1 -0
  116. package/dist/operations/modeling/predicate-catalog-2.js +197 -0
  117. package/dist/operations/modeling/predicate-catalog-3.d.ts +3 -0
  118. package/dist/operations/modeling/predicate-catalog-3.d.ts.map +1 -0
  119. package/dist/operations/modeling/predicate-catalog-3.js +193 -0
  120. package/dist/operations/modeling/predicate-catalog-4.d.ts +3 -0
  121. package/dist/operations/modeling/predicate-catalog-4.d.ts.map +1 -0
  122. package/dist/operations/modeling/predicate-catalog-4.js +149 -0
  123. package/dist/operations/modeling/predicate-catalog.d.ts +5 -0
  124. package/dist/operations/modeling/predicate-catalog.d.ts.map +1 -0
  125. package/dist/operations/modeling/predicate-catalog.js +29 -0
  126. package/dist/operations/modeling/predicate-inference-1.d.ts +16 -0
  127. package/dist/operations/modeling/predicate-inference-1.d.ts.map +1 -0
  128. package/dist/operations/modeling/predicate-inference-1.js +161 -0
  129. package/dist/operations/modeling/predicate-inference-2.d.ts +19 -0
  130. package/dist/operations/modeling/predicate-inference-2.d.ts.map +1 -0
  131. package/dist/operations/modeling/predicate-inference-2.js +169 -0
  132. package/dist/operations/modeling/predicate-inference-3.d.ts +15 -0
  133. package/dist/operations/modeling/predicate-inference-3.d.ts.map +1 -0
  134. package/dist/operations/modeling/predicate-inference-3.js +163 -0
  135. package/dist/operations/modeling/predicate-inference.d.ts +5 -0
  136. package/dist/operations/modeling/predicate-inference.d.ts.map +1 -0
  137. package/dist/operations/modeling/predicate-inference.js +148 -0
  138. package/dist/operations/modeling/predicate-loader.d.ts +10 -0
  139. package/dist/operations/modeling/predicate-loader.d.ts.map +1 -0
  140. package/dist/operations/modeling/predicate-loader.js +88 -0
  141. package/dist/operations/modeling/predicate-ranker.d.ts +3 -0
  142. package/dist/operations/modeling/predicate-ranker.d.ts.map +1 -0
  143. package/dist/operations/modeling/predicate-ranker.js +24 -0
  144. package/dist/operations/modeling/predicate-score-1.d.ts +3 -0
  145. package/dist/operations/modeling/predicate-score-1.d.ts.map +1 -0
  146. package/dist/operations/modeling/predicate-score-1.js +121 -0
  147. package/dist/operations/modeling/predicate-score-2.d.ts +3 -0
  148. package/dist/operations/modeling/predicate-score-2.d.ts.map +1 -0
  149. package/dist/operations/modeling/predicate-score-2.js +122 -0
  150. package/dist/operations/modeling/predicate-score-3.d.ts +3 -0
  151. package/dist/operations/modeling/predicate-score-3.d.ts.map +1 -0
  152. package/dist/operations/modeling/predicate-score-3.js +54 -0
  153. package/dist/operations/modeling/predicate-types.d.ts +61 -0
  154. package/dist/operations/modeling/predicate-types.d.ts.map +1 -0
  155. package/dist/operations/modeling/predicate-types.js +1 -0
  156. package/dist/operations/modeling/predicate-usage-hints-1.d.ts +3 -0
  157. package/dist/operations/modeling/predicate-usage-hints-1.d.ts.map +1 -0
  158. package/dist/operations/modeling/predicate-usage-hints-1.js +211 -0
  159. package/dist/operations/modeling/predicate-usage-hints-2.d.ts +3 -0
  160. package/dist/operations/modeling/predicate-usage-hints-2.d.ts.map +1 -0
  161. package/dist/operations/modeling/predicate-usage-hints-2.js +209 -0
  162. package/dist/operations/modeling/predicate-usage-hints-3.d.ts +3 -0
  163. package/dist/operations/modeling/predicate-usage-hints-3.d.ts.map +1 -0
  164. package/dist/operations/modeling/predicate-usage-hints-3.js +45 -0
  165. package/dist/operations/modeling/predicate-utils.d.ts +23 -0
  166. package/dist/operations/modeling/predicate-utils.d.ts.map +1 -0
  167. package/dist/operations/modeling/predicate-utils.js +187 -0
  168. package/dist/operations/modeling/requirement-applyplan.d.ts +4 -0
  169. package/dist/operations/modeling/requirement-applyplan.d.ts.map +1 -0
  170. package/dist/operations/modeling/requirement-applyplan.js +44 -0
  171. package/dist/operations/modeling/requirement-heuristics.d.ts +4 -0
  172. package/dist/operations/modeling/requirement-heuristics.d.ts.map +1 -0
  173. package/dist/operations/modeling/requirement-heuristics.js +114 -0
  174. package/dist/operations/modeling/requirement-modeler.d.ts +8 -0
  175. package/dist/operations/modeling/requirement-modeler.d.ts.map +1 -0
  176. package/dist/operations/modeling/requirement-modeler.js +70 -0
  177. package/dist/operations/modeling/requirement-types.d.ts +49 -0
  178. package/dist/operations/modeling/requirement-types.d.ts.map +1 -0
  179. package/dist/operations/modeling/requirement-types.js +1 -0
  180. package/dist/operations/modeling/requirement-utils.d.ts +10 -0
  181. package/dist/operations/modeling/requirement-utils.d.ts.map +1 -0
  182. package/dist/operations/modeling/requirement-utils.js +65 -0
  183. package/dist/operations/modeling/suggest-predicates.d.ts +6 -0
  184. package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -0
  185. package/dist/operations/modeling/suggest-predicates.js +64 -0
  186. package/dist/operations/mutation/audit.d.ts +6 -0
  187. package/dist/operations/mutation/audit.d.ts.map +1 -0
  188. package/dist/operations/mutation/audit.js +22 -0
  189. package/dist/operations/mutation/contradictions.d.ts +10 -0
  190. package/dist/operations/mutation/contradictions.d.ts.map +1 -0
  191. package/dist/operations/mutation/contradictions.js +40 -0
  192. package/dist/operations/mutation/delete.d.ts +5 -0
  193. package/dist/operations/mutation/delete.d.ts.map +1 -0
  194. package/dist/operations/mutation/delete.js +67 -0
  195. package/dist/operations/mutation/relationships.d.ts +17 -0
  196. package/dist/operations/mutation/relationships.d.ts.map +1 -0
  197. package/dist/operations/mutation/relationships.js +134 -0
  198. package/dist/operations/mutation/save.d.ts +4 -0
  199. package/dist/operations/mutation/save.d.ts.map +1 -0
  200. package/dist/operations/mutation/save.js +14 -0
  201. package/dist/operations/mutation/serialization.d.ts +5 -0
  202. package/dist/operations/mutation/serialization.d.ts.map +1 -0
  203. package/dist/operations/mutation/serialization.js +85 -0
  204. package/dist/operations/mutation/strict-fact.d.ts +4 -0
  205. package/dist/operations/mutation/strict-fact.d.ts.map +1 -0
  206. package/dist/operations/mutation/strict-fact.js +67 -0
  207. package/dist/operations/mutation/symbol-granularity.d.ts +4 -0
  208. package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -0
  209. package/dist/operations/mutation/symbol-granularity.js +109 -0
  210. package/dist/operations/mutation/symbol-refresh.d.ts +10 -0
  211. package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -0
  212. package/dist/operations/mutation/symbol-refresh.js +105 -0
  213. package/dist/operations/mutation/types.d.ts +43 -0
  214. package/dist/operations/mutation/types.d.ts.map +1 -0
  215. package/dist/operations/mutation/types.js +1 -0
  216. package/dist/operations/mutation/upsert.d.ts +5 -0
  217. package/dist/operations/mutation/upsert.d.ts.map +1 -0
  218. package/dist/operations/mutation/upsert.js +103 -0
  219. package/dist/operations/mutation/validate-upsert.d.ts +5 -0
  220. package/dist/operations/mutation/validate-upsert.d.ts.map +1 -0
  221. package/dist/operations/mutation/validate-upsert.js +50 -0
  222. package/dist/operations/mutation/validation.d.ts +5 -0
  223. package/dist/operations/mutation/validation.d.ts.map +1 -0
  224. package/dist/operations/mutation/validation.js +107 -0
  225. package/dist/operations/mutation/warnings.d.ts +4 -0
  226. package/dist/operations/mutation/warnings.d.ts.map +1 -0
  227. package/dist/operations/mutation/warnings.js +17 -0
  228. package/dist/operations/semantic-advisor/analysis-receipt.d.ts +5 -0
  229. package/dist/operations/semantic-advisor/analysis-receipt.d.ts.map +1 -0
  230. package/dist/operations/semantic-advisor/analysis-receipt.js +112 -0
  231. package/dist/operations/semantic-advisor/analyze-prose.d.ts +5 -0
  232. package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -0
  233. package/dist/operations/semantic-advisor/analyze-prose.js +271 -0
  234. package/dist/operations/semantic-advisor/clauses.d.ts +10 -0
  235. package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -0
  236. package/dist/operations/semantic-advisor/clauses.js +43 -0
  237. package/dist/operations/semantic-advisor/observation-plan.d.ts +3 -0
  238. package/dist/operations/semantic-advisor/observation-plan.d.ts.map +1 -0
  239. package/dist/operations/semantic-advisor/observation-plan.js +19 -0
  240. package/dist/operations/semantic-advisor/predicate-rule.d.ts +14 -0
  241. package/dist/operations/semantic-advisor/predicate-rule.d.ts.map +1 -0
  242. package/dist/operations/semantic-advisor/predicate-rule.js +22 -0
  243. package/dist/operations/semantic-advisor/predicate-rules-core.d.ts +79 -0
  244. package/dist/operations/semantic-advisor/predicate-rules-core.d.ts.map +1 -0
  245. package/dist/operations/semantic-advisor/predicate-rules-core.js +140 -0
  246. package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts +83 -0
  247. package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts.map +1 -0
  248. package/dist/operations/semantic-advisor/predicate-rules-policy.js +150 -0
  249. package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts +48 -0
  250. package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts.map +1 -0
  251. package/dist/operations/semantic-advisor/predicate-rules-product-tail.js +102 -0
  252. package/dist/operations/semantic-advisor/predicate-rules-product.d.ts +71 -0
  253. package/dist/operations/semantic-advisor/predicate-rules-product.d.ts.map +1 -0
  254. package/dist/operations/semantic-advisor/predicate-rules-product.js +133 -0
  255. package/dist/operations/semantic-advisor/prose-coverage-evaluator.d.ts +29 -0
  256. package/dist/operations/semantic-advisor/prose-coverage-evaluator.d.ts.map +1 -0
  257. package/dist/operations/semantic-advisor/prose-coverage-evaluator.js +54 -0
  258. package/dist/operations/semantic-advisor/shared.d.ts +18 -0
  259. package/dist/operations/semantic-advisor/shared.d.ts.map +1 -0
  260. package/dist/operations/semantic-advisor/shared.js +209 -0
  261. package/dist/operations/semantic-advisor/strict-count-rules.d.ts +4 -0
  262. package/dist/operations/semantic-advisor/strict-count-rules.d.ts.map +1 -0
  263. package/dist/operations/semantic-advisor/strict-count-rules.js +62 -0
  264. package/dist/operations/semantic-advisor/strict-rules.d.ts +4 -0
  265. package/dist/operations/semantic-advisor/strict-rules.d.ts.map +1 -0
  266. package/dist/operations/semantic-advisor/strict-rules.js +106 -0
  267. package/dist/operations/semantic-advisor/types.d.ts +135 -0
  268. package/dist/operations/semantic-advisor/types.d.ts.map +1 -0
  269. package/dist/operations/semantic-advisor/types.js +1 -0
  270. package/dist/prolog/codec.d.ts.map +1 -1
  271. package/dist/prolog/codec.js +9 -2
  272. package/dist/prolog.d.ts +5 -0
  273. package/dist/prolog.d.ts.map +1 -1
  274. package/dist/prolog.js +82 -30
  275. package/dist/public/impact/diagnostics.d.ts.map +1 -1
  276. package/dist/public/impact/diagnostics.js +8 -4
  277. package/dist/public/impact/full-kb-quality.d.ts +1 -1
  278. package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
  279. package/dist/public/impact/full-kb-quality.js +34 -1
  280. package/dist/public/impact/requirement-quality.d.ts.map +1 -1
  281. package/dist/public/impact/requirement-quality.js +6 -23
  282. package/dist/public/operations/catalog.d.ts +907 -0
  283. package/dist/public/operations/catalog.d.ts.map +1 -0
  284. package/dist/public/operations/catalog.js +42 -0
  285. package/dist/public/operations/check-executor.d.ts +21 -0
  286. package/dist/public/operations/check-executor.d.ts.map +1 -0
  287. package/dist/public/operations/check-executor.js +111 -0
  288. package/dist/public/operations/check-format-shared.d.ts +36 -0
  289. package/dist/public/operations/check-format-shared.d.ts.map +1 -0
  290. package/dist/public/operations/check-format-shared.js +107 -0
  291. package/dist/public/operations/check-helpers.d.ts +10 -0
  292. package/dist/public/operations/check-helpers.d.ts.map +1 -0
  293. package/dist/public/operations/check-helpers.js +107 -0
  294. package/dist/public/operations/discovery-entities.d.ts +14 -0
  295. package/dist/public/operations/discovery-entities.d.ts.map +1 -0
  296. package/dist/public/operations/discovery-entities.js +91 -0
  297. package/dist/public/operations/discovery-executors.d.ts +39 -0
  298. package/dist/public/operations/discovery-executors.d.ts.map +1 -0
  299. package/dist/public/operations/discovery-executors.js +101 -0
  300. package/dist/public/operations/index.d.ts +20 -0
  301. package/dist/public/operations/index.d.ts.map +1 -0
  302. package/dist/public/operations/index.js +18 -0
  303. package/dist/public/operations/node-ports.d.ts +15 -0
  304. package/dist/public/operations/node-ports.d.ts.map +1 -0
  305. package/dist/public/operations/node-ports.js +57 -0
  306. package/dist/public/operations/prolog-json.d.ts +5 -0
  307. package/dist/public/operations/prolog-json.d.ts.map +1 -0
  308. package/dist/public/operations/prolog-json.js +44 -0
  309. package/dist/public/operations/runtime-types.d.ts +69 -0
  310. package/dist/public/operations/runtime-types.d.ts.map +1 -0
  311. package/dist/public/operations/runtime-types.js +17 -0
  312. package/dist/public/operations/specs/autopilot.d.ts +82 -0
  313. package/dist/public/operations/specs/autopilot.d.ts.map +1 -0
  314. package/dist/public/operations/specs/autopilot.js +72 -0
  315. package/dist/public/operations/specs/check.d.ts +51 -0
  316. package/dist/public/operations/specs/check.d.ts.map +1 -0
  317. package/dist/public/operations/specs/check.js +62 -0
  318. package/dist/public/operations/specs/discovery.d.ts +94 -0
  319. package/dist/public/operations/specs/discovery.d.ts.map +1 -0
  320. package/dist/public/operations/specs/discovery.js +98 -0
  321. package/dist/public/operations/specs/modeling.d.ts +126 -0
  322. package/dist/public/operations/specs/modeling.d.ts.map +1 -0
  323. package/dist/public/operations/specs/modeling.js +117 -0
  324. package/dist/public/operations/specs/mutation-schemas.d.ts +233 -0
  325. package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -0
  326. package/dist/public/operations/specs/mutation-schemas.js +267 -0
  327. package/dist/public/operations/specs/mutation.d.ts +56 -0
  328. package/dist/public/operations/specs/mutation.d.ts.map +1 -0
  329. package/dist/public/operations/specs/mutation.js +44 -0
  330. package/dist/public/operations/specs/reporting.d.ts +185 -0
  331. package/dist/public/operations/specs/reporting.d.ts.map +1 -0
  332. package/dist/public/operations/specs/reporting.js +158 -0
  333. package/dist/public/operations/specs/semantic.d.ts +53 -0
  334. package/dist/public/operations/specs/semantic.d.ts.map +1 -0
  335. package/dist/public/operations/specs/semantic.js +105 -0
  336. package/dist/public/operations/specs/skills.d.ts +70 -0
  337. package/dist/public/operations/specs/skills.d.ts.map +1 -0
  338. package/dist/public/operations/specs/skills.js +107 -0
  339. package/dist/public/operations/specs/sparql.d.ts +39 -0
  340. package/dist/public/operations/specs/sparql.d.ts.map +1 -0
  341. package/dist/public/operations/specs/sparql.js +121 -0
  342. package/dist/public/operations/specs/upsert.d.ts +256 -0
  343. package/dist/public/operations/specs/upsert.d.ts.map +1 -0
  344. package/dist/public/operations/specs/upsert.js +27 -0
  345. package/dist/public/operations/types.d.ts +24 -0
  346. package/dist/public/operations/types.d.ts.map +1 -0
  347. package/dist/public/operations/types.js +1 -0
  348. package/dist/public/schemas/entity.d.ts.map +1 -1
  349. package/dist/public/schemas/entity.js +27 -0
  350. package/dist/public/skill-system/errors.d.ts +19 -0
  351. package/dist/public/skill-system/errors.d.ts.map +1 -0
  352. package/dist/public/skill-system/errors.js +36 -0
  353. package/dist/public/skill-system/loader.d.ts +9 -0
  354. package/dist/public/skill-system/loader.d.ts.map +1 -0
  355. package/dist/public/skill-system/loader.js +76 -0
  356. package/dist/public/skill-system/paths.d.ts +6 -0
  357. package/dist/public/skill-system/paths.d.ts.map +1 -0
  358. package/dist/public/skill-system/paths.js +25 -0
  359. package/dist/public/skill-system/types.d.ts +15 -0
  360. package/dist/public/skill-system/types.d.ts.map +1 -0
  361. package/dist/public/skill-system/types.js +1 -0
  362. package/dist/public/skill-system/validation.d.ts +10 -0
  363. package/dist/public/skill-system/validation.d.ts.map +1 -0
  364. package/dist/public/skill-system/validation.js +119 -0
  365. package/dist/public/skills/init-kibi/SKILL.md +62 -0
  366. package/dist/public/skills/kibi-freshness/SKILL.md +44 -0
  367. package/dist/public/skills/kibi-traceability/SKILL.md +54 -0
  368. package/dist/public/skills/kibi-usage/SKILL.md +119 -99
  369. package/dist/public/skills/kibi-usage/resources/fact-lanes.md +102 -0
  370. package/dist/public/skills/kibi-usage/resources/operation-access.md +44 -0
  371. package/dist/public/skills/kibi-usage/resources/workflows.md +26 -3
  372. package/dist/public/skills.d.ts +4 -41
  373. package/dist/public/skills.d.ts.map +1 -1
  374. package/dist/public/skills.js +3 -270
  375. package/dist/runtime/cli-runtime.d.ts +3 -0
  376. package/dist/runtime/cli-runtime.d.ts.map +1 -0
  377. package/dist/runtime/cli-runtime.js +96 -0
  378. package/dist/schemas/entity.schema.json +23 -0
  379. package/dist/traceability/staged-diagnostics.d.ts +1 -1
  380. package/dist/traceability/staged-diagnostics.d.ts.map +1 -1
  381. package/dist/traceability/staged-symbols-manifest.d.ts +1 -0
  382. package/dist/traceability/staged-symbols-manifest.d.ts.map +1 -1
  383. package/dist/traceability/staged-symbols-manifest.js +38 -27
  384. package/dist/traceability/symbol-extract.d.ts.map +1 -1
  385. package/dist/traceability/symbol-extract.js +17 -1
  386. package/dist/traceability/temp-kb.d.ts.map +1 -1
  387. package/dist/traceability/temp-kb.js +34 -1
  388. package/dist/types/entities.d.ts +3 -0
  389. package/dist/types/entities.d.ts.map +1 -1
  390. package/dist/utils/rule-registry.d.ts.map +1 -1
  391. package/dist/utils/rule-registry.js +6 -0
  392. package/package.json +56 -2
  393. package/src/public/impact/diagnostics.ts +18 -11
  394. package/src/public/impact/full-kb-quality.ts +30 -3
  395. package/src/public/impact/requirement-quality.ts +6 -26
  396. package/src/public/operations/catalog.ts +60 -0
  397. package/src/public/operations/check-executor.ts +185 -0
  398. package/src/public/operations/check-format-shared.ts +178 -0
  399. package/src/public/operations/check-helpers.ts +141 -0
  400. package/src/public/operations/discovery-entities.ts +122 -0
  401. package/src/public/operations/discovery-executors.ts +176 -0
  402. package/src/public/operations/index.ts +19 -0
  403. package/src/public/operations/node-ports.ts +78 -0
  404. package/src/public/operations/prolog-json.ts +71 -0
  405. package/src/public/operations/runtime-types.ts +106 -0
  406. package/src/public/operations/specs/autopilot.ts +98 -0
  407. package/src/public/operations/specs/check.ts +72 -0
  408. package/src/public/operations/specs/discovery.ts +126 -0
  409. package/src/public/operations/specs/modeling.ts +154 -0
  410. package/src/public/operations/specs/mutation-schemas.ts +296 -0
  411. package/src/public/operations/specs/mutation.ts +58 -0
  412. package/src/public/operations/specs/reporting.ts +249 -0
  413. package/src/public/operations/specs/semantic.ts +135 -0
  414. package/src/public/operations/specs/skills.ts +142 -0
  415. package/src/public/operations/specs/sparql.ts +149 -0
  416. package/src/public/operations/specs/upsert.ts +40 -0
  417. package/src/public/operations/types.ts +57 -0
  418. package/src/public/schemas/entity.ts +27 -0
  419. package/src/public/skill-system/errors.ts +38 -0
  420. package/src/public/skill-system/loader.ts +108 -0
  421. package/src/public/skill-system/paths.ts +27 -0
  422. package/src/public/skill-system/types.ts +14 -0
  423. package/src/public/skill-system/validation.ts +175 -0
  424. package/src/public/skills/init-kibi/SKILL.md +62 -0
  425. package/src/public/skills/kibi-freshness/SKILL.md +44 -0
  426. package/src/public/skills/kibi-traceability/SKILL.md +54 -0
  427. package/src/public/skills/kibi-usage/SKILL.md +119 -99
  428. package/src/public/skills/kibi-usage/resources/fact-lanes.md +102 -0
  429. package/src/public/skills/kibi-usage/resources/operation-access.md +44 -0
  430. package/src/public/skills/kibi-usage/resources/workflows.md +26 -3
  431. package/src/public/skills.ts +18 -427
  432. package/src/schemas/entity.schema.json +23 -0
@@ -50,9 +50,25 @@ const FACT_STRING_FIELDS = new Set([
50
50
  "valid_from",
51
51
  "valid_to",
52
52
  "canonical_key",
53
+ "claim_key",
54
+ "claim_text",
55
+ "predicate_name",
56
+ "predicate_namespace",
57
+ ]);
58
+ const FACT_NUMBER_FIELDS = new Set([
59
+ "value_int",
60
+ "value_number",
61
+ "predicate_arity",
53
62
  ]);
54
- const FACT_NUMBER_FIELDS = new Set(["value_int", "value_number"]);
55
63
  const FACT_BOOLEAN_FIELDS = new Set(["value_bool", "closed_world"]);
64
+ const FACT_STRING_ARRAY_FIELDS = new Set([
65
+ "argument_names",
66
+ "argument_types",
67
+ "argument_descriptions",
68
+ "aliases",
69
+ "examples",
70
+ "predicate_args",
71
+ ]);
56
72
  function isTraceEnabled() {
57
73
  return isCliTraceOrDebugEnabled();
58
74
  }
@@ -99,6 +115,12 @@ function serializeTypedFactFields(entity) {
99
115
  fields.push(`${field}=${value}`);
100
116
  }
101
117
  }
118
+ for (const field of FACT_STRING_ARRAY_FIELDS) {
119
+ const value = getEntityField(entity, field);
120
+ if (Array.isArray(value)) {
121
+ fields.push(`${field}=[${value.map((item) => toPrologString(String(item))).join(",")}]`);
122
+ }
123
+ }
102
124
  return fields;
103
125
  }
104
126
  function buildEntityAssertionGoal(entity) {
@@ -121,9 +143,20 @@ function buildEntityAssertionGoal(entity) {
121
143
  props.push(`severity=${toPrologAtom(entity.severity)}`);
122
144
  if (entity.text_ref)
123
145
  props.push(`text_ref=${toPrologString(entity.text_ref)}`);
146
+ if (entity.type === "req" && entity.logic_claims) {
147
+ props.push(`logic_claims=[${entity.logic_claims.map(toPrologAtom).join(",")}]`);
148
+ }
124
149
  if (entity.type === "fact") {
125
150
  props.push(...serializeTypedFactFields(entity));
126
151
  }
152
+ if (entity.type === "test") {
153
+ if (entity.verification_scope !== undefined) {
154
+ props.push(`verification_scope=${toPrologAtom(entity.verification_scope)}`);
155
+ }
156
+ if (entity.verification_perspective !== undefined) {
157
+ props.push(`verification_perspective=${toPrologAtom(entity.verification_perspective)}`);
158
+ }
159
+ }
127
160
  return `kb_assert_entity_no_audit(${entity.type}, [${props.join(", ")}])`;
128
161
  }
129
162
  function buildRelationshipAssertionGoal(relationship) {
@@ -29,6 +29,8 @@ export interface FactFields {
29
29
  valid_from?: string;
30
30
  valid_to?: string;
31
31
  canonical_key?: string;
32
+ claim_key?: string;
33
+ claim_text?: string;
32
34
  predicate_name?: string;
33
35
  predicate_namespace?: string;
34
36
  predicate_arity?: number;
@@ -45,6 +47,7 @@ export interface TestVerificationFields {
45
47
  }
46
48
  export type Requirement = BaseEntity & {
47
49
  type: "req";
50
+ logic_claims?: string[];
48
51
  };
49
52
  export type Scenario = BaseEntity & {
50
53
  type: "scenario";
@@ -1 +1 @@
1
- {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/types/entities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/types/entities.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rule-registry.d.ts","sourceRoot":"","sources":["../../src/utils/rule-registry.ts"],"names":[],"mappings":"AAkBA;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,cAAc,CAAC;CACnE;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,mCAAmC;AACnC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,kBAAkB,EAAE,yBAAyB,CAAC;CAC/C;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,SAAS,cAAc,EA0FjC,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU,aAAoC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAKnC,CAAC;AAEF;;;;;GAKG;AAEH,wBAAgB,iBAAiB,CAC/B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,QAAQ,CAAC,EAAE,MAAM,GAChB,GAAG,CAAC,MAAM,CAAC,CAsBb;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAC9B,YAAY,CAWd"}
1
+ {"version":3,"file":"rule-registry.d.ts","sourceRoot":"","sources":["../../src/utils/rule-registry.ts"],"names":[],"mappings":"AAkBA;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,cAAc,CAAC;CACnE;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,mCAAmC;AACnC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,kBAAkB,EAAE,yBAAyB,CAAC;CAC/C;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,SAAS,cAAc,EAiGjC,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU,aAAoC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAKnC,CAAC;AAEF;;;;;GAKG;AAEH,wBAAgB,iBAAiB,CAC/B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,QAAQ,CAAC,EAAE,MAAM,GAChB,GAAG,CAAC,MAAM,CAAC,CAsBb;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAC9B,YAAY,CAWd"}
@@ -93,6 +93,12 @@ export const RULES = [
93
93
  defaultEnabled: false,
94
94
  category: "integrity",
95
95
  },
96
+ {
97
+ name: "logic-coverage",
98
+ description: "Require every explicitly declared atomic requirement claim to be grounded by a linked strict-property or predicate fact",
99
+ defaultEnabled: true,
100
+ category: "integrity",
101
+ },
96
102
  {
97
103
  name: "query-plan-safety",
98
104
  description: "Detect Prolog validation clauses that place negation before generator calls",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kibi-cli",
3
- "version": "0.14.0",
3
+ "version": "0.16.1",
4
4
  "type": "module",
5
5
  "description": "Kibi CLI for knowledge base management",
6
6
  "engines": {
@@ -14,6 +14,7 @@
14
14
  "files": ["dist", "bin", "schema", "src/schemas", "src/public"],
15
15
  "scripts": {
16
16
  "build": "tsc -p tsconfig.json && mkdir -p dist/public/skills && cp -r src/public/skills/. dist/public/skills/",
17
+ "typecheck": "tsc -p tsconfig.json --noEmit",
17
18
  "prepack": "npm run build"
18
19
  },
19
20
  "exports": {
@@ -29,6 +30,22 @@
29
30
  "types": "./dist/prolog/codec.d.ts",
30
31
  "default": "./dist/prolog/codec.js"
31
32
  },
33
+ "./operations/runtime-types": {
34
+ "types": "./dist/public/operations/runtime-types.d.ts",
35
+ "default": "./dist/public/operations/runtime-types.js"
36
+ },
37
+ "./operations/semantic-advisor/analyze-prose": {
38
+ "types": "./dist/operations/semantic-advisor/analyze-prose.d.ts",
39
+ "default": "./dist/operations/semantic-advisor/analyze-prose.js"
40
+ },
41
+ "./operations/semantic-advisor/prose-coverage-evaluator": {
42
+ "types": "./dist/operations/semantic-advisor/prose-coverage-evaluator.d.ts",
43
+ "default": "./dist/operations/semantic-advisor/prose-coverage-evaluator.js"
44
+ },
45
+ "./operations/semantic-advisor/types": {
46
+ "types": "./dist/operations/semantic-advisor/types.d.ts",
47
+ "default": "./dist/operations/semantic-advisor/types.js"
48
+ },
32
49
  "./extractors/symbols-coordinator": {
33
50
  "types": "./dist/public/extractors/symbols-coordinator.d.ts",
34
51
  "default": "./dist/public/extractors/symbols-coordinator.js"
@@ -89,6 +106,43 @@
89
106
  "types": "./dist/public/skills.d.ts",
90
107
  "default": "./dist/public/skills.js"
91
108
  },
109
+ "./operations": "./dist/public/operations/index.js",
110
+ "./operations/mutation/relationships": {
111
+ "types": "./dist/operations/mutation/relationships.d.ts",
112
+ "default": "./dist/operations/mutation/relationships.js"
113
+ },
114
+ "./operations/mutation/symbol-refresh": {
115
+ "types": "./dist/operations/mutation/symbol-refresh.d.ts",
116
+ "default": "./dist/operations/mutation/symbol-refresh.js"
117
+ },
118
+ "./operations/mutation/types": {
119
+ "types": "./dist/operations/mutation/types.d.ts",
120
+ "default": "./dist/operations/mutation/types.js"
121
+ },
122
+ "./operations/mutation/delete": {
123
+ "types": "./dist/operations/mutation/delete.d.ts",
124
+ "default": "./dist/operations/mutation/delete.js"
125
+ },
126
+ "./operations/mutation/upsert": {
127
+ "types": "./dist/operations/mutation/upsert.d.ts",
128
+ "default": "./dist/operations/mutation/upsert.js"
129
+ },
130
+ "./operations/mutation/validate-upsert": {
131
+ "types": "./dist/operations/mutation/validate-upsert.d.ts",
132
+ "default": "./dist/operations/mutation/validate-upsert.js"
133
+ },
134
+ "./operations/mutation/validation": {
135
+ "types": "./dist/operations/mutation/validation.d.ts",
136
+ "default": "./dist/operations/mutation/validation.js"
137
+ },
138
+ "./operations/modeling/model-requirement": {
139
+ "types": "./dist/operations/modeling/model-requirement.d.ts",
140
+ "default": "./dist/operations/modeling/model-requirement.js"
141
+ },
142
+ "./operations/modeling/suggest-predicates": {
143
+ "types": "./dist/operations/modeling/suggest-predicates.d.ts",
144
+ "default": "./dist/operations/modeling/suggest-predicates.js"
145
+ },
92
146
  "./ignore-policy": {
93
147
  "types": "./dist/public/ignore-policy.d.ts",
94
148
  "import": "./dist/public/ignore-policy.js",
@@ -103,7 +157,7 @@
103
157
  "fast-glob": "^3.2.12",
104
158
  "gray-matter": "^4.0.3",
105
159
  "js-yaml": "^4.1.0",
106
- "kibi-core": "^0.7.0",
160
+ "kibi-core": "^0.7.1",
107
161
  "ts-morph": "^23.0.0",
108
162
  "ignore": "^5.3.0"
109
163
  },
@@ -69,15 +69,22 @@ function readSourceSymbols(
69
69
  function getGranularSymbolsForSourceFile(
70
70
  sourceFile: string,
71
71
  options: SymbolGranularityDiagnosticsOptions,
72
- ): readonly ExtractedSymbol[] {
73
- return (
74
- options.symbolsByFile.get(sourceFile) ??
75
- readSourceSymbols(
76
- sourceFile,
77
- options.sourceContentByFile,
78
- options.workspaceRoot ?? process.cwd(),
79
- )
72
+ ): {
73
+ readonly candidateSymbols: readonly ExtractedSymbol[];
74
+ readonly sourceSymbols: readonly ExtractedSymbol[];
75
+ } {
76
+ const sourceSymbols = readSourceSymbols(
77
+ sourceFile,
78
+ options.sourceContentByFile,
79
+ options.workspaceRoot ?? process.cwd(),
80
80
  );
81
+ const changedSymbols = options.symbolsByFile.get(sourceFile);
82
+
83
+ return {
84
+ candidateSymbols: changedSymbols ?? sourceSymbols,
85
+ sourceSymbols:
86
+ sourceSymbols.length > 0 ? sourceSymbols : (changedSymbols ?? []),
87
+ };
81
88
  }
82
89
 
83
90
  function formatRelationshipTargets(symbol: ExtractedSymbol): string {
@@ -116,12 +123,12 @@ export function createSymbolGranularityDiagnostics(
116
123
  if (!hasTraceabilityRelationship(result)) continue;
117
124
  if (hasValidGranularityReason(result)) continue;
118
125
 
119
- const granularSymbols = getGranularSymbolsForSourceFile(
126
+ const { candidateSymbols, sourceSymbols } = getGranularSymbolsForSourceFile(
120
127
  result.sourceFile,
121
128
  options,
122
129
  );
123
- const narrowerSymbols = granularSymbols.filter((symbol) =>
124
- isNarrowerSymbol(result.entity.title, symbol, granularSymbols),
130
+ const narrowerSymbols = candidateSymbols.filter((symbol) =>
131
+ isNarrowerSymbol(result.entity.title, symbol, sourceSymbols),
125
132
  );
126
133
  if (narrowerSymbols.length === 0) continue;
127
134
 
@@ -33,7 +33,7 @@ const RELATIONSHIP_TYPES = [
33
33
  ] as const;
34
34
 
35
35
  type FullKbQualityDiagnosticsOptions = {
36
- readonly prolog: PrologProcess;
36
+ readonly prolog: Pick<PrologProcess, "query">;
37
37
  readonly hardViolationEntityIds?: ReadonlySet<string>;
38
38
  readonly maxDiagnostics?: number;
39
39
  };
@@ -88,6 +88,8 @@ function toExtractedEntity(entity: Record<string, unknown>): ExtractedEntity {
88
88
  if (severity !== undefined) extracted.severity = severity;
89
89
  const textRef = optionalStringField(entity, "text_ref");
90
90
  if (textRef !== undefined) extracted.text_ref = textRef;
91
+ const logicClaims = optionalStringArrayField(entity, "logic_claims");
92
+ if (logicClaims !== undefined) extracted.logic_claims = logicClaims;
91
93
  const granularityReason = optionalStringField(entity, "granularity_reason");
92
94
  if (granularityReason !== undefined) {
93
95
  extracted.granularity_reason = granularityReason;
@@ -118,10 +120,35 @@ function toExtractedEntity(entity: Record<string, unknown>): ExtractedEntity {
118
120
  factKind === "subject" ||
119
121
  factKind === "property_value" ||
120
122
  factKind === "observation" ||
121
- factKind === "meta"
123
+ factKind === "meta" ||
124
+ factKind === "predicate_schema" ||
125
+ factKind === "predicate"
122
126
  ) {
123
127
  extracted.fact_kind = factKind;
124
128
  }
129
+ const claimKey = optionalStringField(entity, "claim_key");
130
+ if (claimKey !== undefined) extracted.claim_key = claimKey;
131
+ const claimText = optionalStringField(entity, "claim_text");
132
+ if (claimText !== undefined) extracted.claim_text = claimText;
133
+ const predicateName = optionalStringField(entity, "predicate_name");
134
+ if (predicateName !== undefined) extracted.predicate_name = predicateName;
135
+ const predicateNamespace = optionalStringField(entity, "predicate_namespace");
136
+ if (predicateNamespace !== undefined) {
137
+ extracted.predicate_namespace = predicateNamespace;
138
+ }
139
+ const predicateArity = optionalNumberField(entity, "predicate_arity");
140
+ if (predicateArity !== undefined) extracted.predicate_arity = predicateArity;
141
+ for (const field of [
142
+ "argument_names",
143
+ "argument_types",
144
+ "argument_descriptions",
145
+ "aliases",
146
+ "examples",
147
+ "predicate_args",
148
+ ] as const) {
149
+ const values = optionalStringArrayField(entity, field);
150
+ if (values !== undefined) extracted[field] = values;
151
+ }
125
152
  return extracted;
126
153
  }
127
154
 
@@ -133,7 +160,7 @@ function sourceFileFor(entity: Record<string, unknown>): string | undefined {
133
160
  }
134
161
 
135
162
  async function loadKbExtractionResults(
136
- prolog: PrologProcess,
163
+ prolog: Pick<PrologProcess, "query">,
137
164
  ): Promise<ExtractionResult[]> {
138
165
  const entityResult = await prolog.query(
139
166
  "findall([Id,Type,Props], kb_entity(Id, Type, Props), Results)",
@@ -29,17 +29,6 @@ const BROAD_REQUIREMENT_THRESHOLDS = {
29
29
  dependentRequirements: 5,
30
30
  } as const;
31
31
 
32
- const NORMATIVE_INDICATOR_PATTERNS: readonly [string, RegExp][] = [
33
- ["must", /\bmust\b/i],
34
- ["only", /\bonly\b/i],
35
- ["never", /\bnever\b/i],
36
- ["limit", /\blimits?\b/i],
37
- ["minimum", /\bminimum\b/i],
38
- ["maximum", /\bmaximum\b/i],
39
- ["at least", /\bat\s+least\b/i],
40
- ["at most", /\bat\s+most\b/i],
41
- ];
42
-
43
32
  type RequirementFanout = {
44
33
  readonly implementingSymbolIds: readonly string[];
45
34
  readonly scenarioIds: readonly string[];
@@ -232,26 +221,18 @@ function strictRelationshipTypes(result: ExtractionResult): readonly string[] {
232
221
  );
233
222
  }
234
223
 
235
- function matchedNormativeIndicators(text: string): readonly string[] {
236
- return NORMATIVE_INDICATOR_PATTERNS.filter((entry) =>
237
- entry[1].test(text),
238
- ).map((entry) => entry[0]);
239
- }
240
-
241
- function createStrictFactModelingDiagnostics(
224
+ function createLogicalCoverageDiagnostics(
242
225
  options: RequirementQualityDiagnosticsOptions,
243
226
  ): readonly KibiImpactDiagnostic[] {
244
227
  return options.manifestResults.flatMap((result) => {
245
228
  if (!isCurrentRequirement(result)) return [];
246
229
  if (options.hardViolationEntityIds?.has(result.entity.id)) return [];
247
230
  const relationshipTypes = strictRelationshipTypes(result);
248
- if (relationshipTypes.length > 0) return [];
249
- const indicators = matchedNormativeIndicators(result.entity.title);
250
- if (indicators.length === 0) return [];
231
+ if ((result.entity.logic_claims?.length ?? 0) > 0) return [];
251
232
 
252
233
  return [
253
234
  {
254
- id: "strict_fact_modeling_review",
235
+ id: "logical_coverage_review",
255
236
  severity: "review",
256
237
  blocking: false,
257
238
  category: "fact",
@@ -259,11 +240,10 @@ function createStrictFactModelingDiagnostics(
259
240
  source: result.entity.source,
260
241
  files: [result.entity.source],
261
242
  docs: ["docs/modeling-cheatsheet.md", "docs/error-reference.md"],
262
- message: `Requirement ${result.entity.id} contains normative prose but has no strict fact or predicate relationship.`,
243
+ message: `Current requirement ${result.entity.id} has no atomic logic_claims manifest, so prose and existing fact links cannot prove complete logical coverage.`,
263
244
  suggestion:
264
- "Use kb_model_requirement for strict property facts, or kb_suggest_predicates when the claim fits a predicate schema.",
245
+ "Call kb_semantic_advisor with the complete requirement prose and atomic clauses, ground each returned claim key through kb_model_requirement or kb_suggest_predicates, and persist all keys in logic_claims.",
265
246
  evidence: {
266
- matchedIndicators: indicators,
267
247
  strictRelationshipTypes: relationshipTypes,
268
248
  },
269
249
  },
@@ -277,6 +257,6 @@ export function createRequirementQualityDiagnostics(
277
257
  return [
278
258
  ...createBroadRequirementDiagnostics(options.manifestResults),
279
259
  ...createRequirementStatusDiagnostics(options.manifestResults),
280
- ...createStrictFactModelingDiagnostics(options),
260
+ ...createLogicalCoverageDiagnostics(options),
281
261
  ];
282
262
  }
@@ -0,0 +1,60 @@
1
+ import { autopilotGenerateSpec } from "./specs/autopilot.js";
2
+ import { checkSpec } from "./specs/check.js";
3
+ import { querySpec, searchSpec, statusSpec } from "./specs/discovery.js";
4
+ import {
5
+ modelRequirementSpec,
6
+ suggestPredicatesSpec,
7
+ } from "./specs/modeling.js";
8
+ import {
9
+ deleteSpec,
10
+ upsertSpec,
11
+ validateUpsertSpec,
12
+ } from "./specs/mutation.js";
13
+ import { coverageSpec, findGapsSpec, graphSpec } from "./specs/reporting.js";
14
+ import { semanticAdvisorSpec } from "./specs/semantic.js";
15
+ import {
16
+ skillsListSpec,
17
+ skillsLoadSpec,
18
+ skillsReadSpec,
19
+ } from "./specs/skills.js";
20
+ import { sparqlRemoteSpec } from "./specs/sparql.js";
21
+ import type { OperationName, OperationSpec } from "./types.js";
22
+
23
+ export const OPERATION_CATALOG = [
24
+ skillsListSpec,
25
+ skillsLoadSpec,
26
+ skillsReadSpec,
27
+ querySpec,
28
+ searchSpec,
29
+ statusSpec,
30
+ findGapsSpec,
31
+ coverageSpec,
32
+ graphSpec,
33
+ semanticAdvisorSpec,
34
+ modelRequirementSpec,
35
+ suggestPredicatesSpec,
36
+ autopilotGenerateSpec,
37
+ validateUpsertSpec,
38
+ upsertSpec,
39
+ deleteSpec,
40
+ checkSpec,
41
+ sparqlRemoteSpec,
42
+ ] as const satisfies readonly OperationSpec[];
43
+
44
+ const SPECS_BY_NAME: ReadonlyMap<OperationName, OperationSpec> = new Map(
45
+ OPERATION_CATALOG.map((spec) => [spec.name, spec]),
46
+ );
47
+
48
+ // implements REQ-kibi-operation-interface-parity
49
+ export function getSpec(name: OperationName): OperationSpec {
50
+ const spec = SPECS_BY_NAME.get(name);
51
+ if (!spec) {
52
+ throw new RangeError(`Unknown Kibi operation: ${name}`);
53
+ }
54
+ return spec;
55
+ }
56
+
57
+ // implements REQ-kibi-operation-interface-parity
58
+ export function listSpecs(): readonly OperationSpec[] {
59
+ return OPERATION_CATALOG;
60
+ }
@@ -0,0 +1,185 @@
1
+ import { runAggregatedChecks } from "../../commands/aggregated-checks.js";
2
+ /*
3
+ Kibi — repo-local, per-branch, queryable long-term memory for software projects
4
+ Copyright (C) 2026 Piotr Franczyk
5
+
6
+ This program is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU Affero General Public License as published by
8
+ the Free Software Foundation, either version 3 of the License, or
9
+ (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU Affero General Public License for more details.
15
+
16
+ You should have received a copy of the GNU Affero General Public License
17
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
18
+ */
19
+ import type { Violation } from "../check-types.js";
20
+ import { collectFullKbQualityDiagnostics } from "../impact-diagnostics.js";
21
+ import {
22
+ type CheckDiagnostic,
23
+ type CheckStructuredContent,
24
+ buildStructuredContent,
25
+ buildSummary,
26
+ } from "./check-format-shared.js";
27
+ import {
28
+ analyzeKbCheckImpact,
29
+ collectQueryPlanSafetyViolations,
30
+ getEffectiveRules,
31
+ loadChecksConfig,
32
+ qualityDiagnosticsFromImpact,
33
+ } from "./check-helpers.js";
34
+ import type { OperationContext, PrologPort } from "./runtime-types.js";
35
+ import type { OperationResult } from "./types.js";
36
+
37
+ // implements REQ-kibi-operation-interface-parity, REQ-002
38
+ export type CheckInput = {
39
+ readonly rules?: readonly string[];
40
+ readonly workspaceRoot?: string;
41
+ readonly sourceFiles?: readonly string[];
42
+ readonly staged?: boolean;
43
+ readonly includeWorkingTreeDiff?: boolean;
44
+ readonly includeImpactDiagnostics?: boolean;
45
+ readonly maxDiagnostics?: number;
46
+ };
47
+
48
+ export type CheckPayload = CheckStructuredContent;
49
+ export type { CheckDiagnostic, CheckStructuredContent };
50
+ export {
51
+ buildStructuredContent,
52
+ buildSummary,
53
+ getEffectiveRules,
54
+ loadChecksConfig,
55
+ };
56
+
57
+ export type CheckExecutionOptions = {
58
+ readonly collectFullQualityDiagnosticsForExplicitRules?: boolean;
59
+ };
60
+
61
+ function requireProlog(context: OperationContext): PrologPort {
62
+ if (context.prolog === undefined) {
63
+ throw new Error("Check operation requires a Prolog runtime");
64
+ }
65
+ return context.prolog;
66
+ }
67
+
68
+ function invalidatePrologCache(prolog: PrologPort): void {
69
+ prolog.invalidateCache?.();
70
+ }
71
+
72
+ // implements REQ-kibi-operation-interface-parity, REQ-002
73
+ export async function executeCheck(
74
+ args: CheckInput,
75
+ context: OperationContext,
76
+ options: CheckExecutionOptions = {},
77
+ ): Promise<OperationResult<CheckPayload>> {
78
+ try {
79
+ const workspaceRoot = args.workspaceRoot ?? context.workspaceRoot;
80
+ const prolog = requireProlog(context);
81
+ const checksConfig = await loadChecksConfig(workspaceRoot);
82
+ const rulesAllowlist =
83
+ args.rules === undefined
84
+ ? getEffectiveRules(checksConfig.rules)
85
+ : args.rules.length === 0
86
+ ? new Set<string>()
87
+ : getEffectiveRules(undefined, args.rules.join(","));
88
+ const hasExplicitRules = args.rules !== undefined;
89
+ const impactResult = analyzeKbCheckImpact(workspaceRoot, args);
90
+ const impactQualityDiagnostics = qualityDiagnosticsFromImpact(impactResult);
91
+ const maxDiagnosticsOption =
92
+ args.maxDiagnostics !== undefined
93
+ ? { maxDiagnostics: args.maxDiagnostics }
94
+ : {};
95
+
96
+ if (rulesAllowlist.size === 0) {
97
+ const qualityDiagnostics =
98
+ hasExplicitRules &&
99
+ options.collectFullQualityDiagnosticsForExplicitRules !== true
100
+ ? []
101
+ : impactResult
102
+ ? impactQualityDiagnostics
103
+ : await collectFullKbQualityDiagnostics({
104
+ prolog,
105
+ ...maxDiagnosticsOption,
106
+ });
107
+ return {
108
+ content: [
109
+ {
110
+ type: "text",
111
+ text: buildSummary({
112
+ violations: [],
113
+ impactResult,
114
+ qualityDiagnostics,
115
+ }),
116
+ },
117
+ ],
118
+ structuredContent: buildStructuredContent({
119
+ violations: [],
120
+ diagnostics: [],
121
+ qualityDiagnostics,
122
+ impactResult,
123
+ }),
124
+ };
125
+ }
126
+
127
+ invalidatePrologCache(prolog);
128
+
129
+ const aggregatedViolations = await runAggregatedChecks(
130
+ prolog,
131
+ rulesAllowlist,
132
+ checksConfig.symbolTraceability.requireAdr,
133
+ );
134
+ const queryPlanViolations = rulesAllowlist.has("query-plan-safety")
135
+ ? collectQueryPlanSafetyViolations()
136
+ : [];
137
+ const violations: Violation[] = [
138
+ ...aggregatedViolations,
139
+ ...queryPlanViolations,
140
+ ];
141
+
142
+ const diagnostics: CheckDiagnostic[] = violations.map((v) => ({
143
+ category: "SYNC_ERROR",
144
+ severity: "error",
145
+ message: v.description,
146
+ ...(v.source !== undefined ? { file: v.source } : {}),
147
+ ...(v.suggestion !== undefined ? { suggestion: v.suggestion } : {}),
148
+ }));
149
+
150
+ const collectFullQualityDiagnostics =
151
+ !hasExplicitRules ||
152
+ options.collectFullQualityDiagnosticsForExplicitRules === true;
153
+ const qualityDiagnostics = !collectFullQualityDiagnostics
154
+ ? impactQualityDiagnostics
155
+ : impactResult
156
+ ? impactQualityDiagnostics
157
+ : await collectFullKbQualityDiagnostics({
158
+ prolog,
159
+ hardViolationEntityIds: new Set(violations.map((v) => v.entityId)),
160
+ ...maxDiagnosticsOption,
161
+ });
162
+
163
+ return {
164
+ content: [
165
+ {
166
+ type: "text",
167
+ text: buildSummary({
168
+ violations,
169
+ impactResult,
170
+ qualityDiagnostics,
171
+ }),
172
+ },
173
+ ],
174
+ structuredContent: buildStructuredContent({
175
+ violations,
176
+ diagnostics,
177
+ qualityDiagnostics,
178
+ impactResult,
179
+ }),
180
+ };
181
+ } catch (error) {
182
+ const message = error instanceof Error ? error.message : String(error);
183
+ throw new Error(`Check execution failed: ${message}`);
184
+ }
185
+ }