kibi-cli 0.19.0 → 2.0.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 (672) 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.d.ts.map +1 -1
  8. package/dist/cli-operation-loader.js +53 -20
  9. package/dist/cli-operation-metadata.d.ts +21 -8
  10. package/dist/cli-operation-metadata.d.ts.map +1 -1
  11. package/dist/cli-operation-metadata.js +27 -10
  12. package/dist/cli-protocol.d.ts.map +1 -1
  13. package/dist/cli-protocol.js +38 -8
  14. package/dist/cli-register-foundation.d.ts.map +1 -1
  15. package/dist/cli-register-foundation.js +14 -2
  16. package/dist/cli-register-maintenance.d.ts.map +1 -1
  17. package/dist/cli-register-maintenance.js +33 -4
  18. package/dist/cli-register-proof.d.ts +3 -0
  19. package/dist/cli-register-proof.d.ts.map +1 -0
  20. package/dist/cli-register-proof.js +103 -0
  21. package/dist/cli-register-reporting.d.ts.map +1 -1
  22. package/dist/cli-register-reporting.js +11 -0
  23. package/dist/cli.d.ts +4 -0
  24. package/dist/cli.d.ts.map +1 -1
  25. package/dist/cli.js +17 -8
  26. package/dist/commands/aggregated-checks.d.ts +1 -2
  27. package/dist/commands/aggregated-checks.d.ts.map +1 -1
  28. package/dist/commands/aggregated-checks.js +14 -9
  29. package/dist/commands/branch.d.ts +37 -0
  30. package/dist/commands/branch.d.ts.map +1 -1
  31. package/dist/commands/branch.js +375 -40
  32. package/dist/commands/check.d.ts +14 -0
  33. package/dist/commands/check.d.ts.map +1 -1
  34. package/dist/commands/check.js +209 -110
  35. package/dist/commands/coverage.d.ts +1 -0
  36. package/dist/commands/coverage.d.ts.map +1 -1
  37. package/dist/commands/coverage.js +6 -0
  38. package/dist/commands/discovery-shared.d.ts.map +1 -1
  39. package/dist/commands/discovery-shared.js +10 -19
  40. package/dist/commands/doctor.d.ts +26 -1
  41. package/dist/commands/doctor.d.ts.map +1 -1
  42. package/dist/commands/doctor.js +291 -30
  43. package/dist/commands/engine.d.ts +12 -0
  44. package/dist/commands/engine.d.ts.map +1 -1
  45. package/dist/commands/engine.js +50 -7
  46. package/dist/commands/gc.d.ts +5 -2
  47. package/dist/commands/gc.d.ts.map +1 -1
  48. package/dist/commands/gc.js +140 -71
  49. package/dist/commands/github-init.d.ts +57 -0
  50. package/dist/commands/github-init.d.ts.map +1 -0
  51. package/dist/commands/github-init.js +314 -0
  52. package/dist/commands/init-helpers.d.ts +1 -1
  53. package/dist/commands/init-helpers.d.ts.map +1 -1
  54. package/dist/commands/init-helpers.js +109 -28
  55. package/dist/commands/init.d.ts +2 -0
  56. package/dist/commands/init.d.ts.map +1 -1
  57. package/dist/commands/init.js +79 -24
  58. package/dist/commands/legacy-storage-migration.d.ts +54 -0
  59. package/dist/commands/legacy-storage-migration.d.ts.map +1 -0
  60. package/dist/commands/legacy-storage-migration.js +277 -0
  61. package/dist/commands/migrate.d.ts +11 -0
  62. package/dist/commands/migrate.d.ts.map +1 -1
  63. package/dist/commands/migrate.js +249 -96
  64. package/dist/commands/proof-migrate-legacy.d.ts +7 -0
  65. package/dist/commands/proof-migrate-legacy.d.ts.map +1 -0
  66. package/dist/commands/proof-migrate-legacy.js +45 -0
  67. package/dist/commands/proof-prune.d.ts +8 -0
  68. package/dist/commands/proof-prune.d.ts.map +1 -0
  69. package/dist/commands/proof-prune.js +53 -0
  70. package/dist/commands/prove.d.ts +37 -0
  71. package/dist/commands/prove.d.ts.map +1 -0
  72. package/dist/commands/prove.js +470 -0
  73. package/dist/commands/report.d.ts +24 -0
  74. package/dist/commands/report.d.ts.map +1 -0
  75. package/dist/commands/report.js +191 -0
  76. package/dist/commands/sync/cache.d.ts +16 -3
  77. package/dist/commands/sync/cache.d.ts.map +1 -1
  78. package/dist/commands/sync/cache.js +111 -4
  79. package/dist/commands/sync/discovery.d.ts +26 -2
  80. package/dist/commands/sync/discovery.d.ts.map +1 -1
  81. package/dist/commands/sync/discovery.js +204 -15
  82. package/dist/commands/sync/extraction.d.ts +8 -1
  83. package/dist/commands/sync/extraction.d.ts.map +1 -1
  84. package/dist/commands/sync/extraction.js +38 -4
  85. package/dist/commands/sync/manifest.d.ts +9 -6
  86. package/dist/commands/sync/manifest.d.ts.map +1 -1
  87. package/dist/commands/sync/manifest.js +195 -60
  88. package/dist/commands/sync/persistence.d.ts +4 -1
  89. package/dist/commands/sync/persistence.d.ts.map +1 -1
  90. package/dist/commands/sync/persistence.js +26 -12
  91. package/dist/commands/sync/staging.d.ts +1 -0
  92. package/dist/commands/sync/staging.d.ts.map +1 -1
  93. package/dist/commands/sync/staging.js +5 -2
  94. package/dist/commands/sync/untracked-targets.d.ts +24 -0
  95. package/dist/commands/sync/untracked-targets.d.ts.map +1 -0
  96. package/dist/commands/sync/untracked-targets.js +108 -0
  97. package/dist/commands/sync.d.ts +17 -1
  98. package/dist/commands/sync.d.ts.map +1 -1
  99. package/dist/commands/sync.js +375 -106
  100. package/dist/diagnostics.d.ts +1 -1
  101. package/dist/diagnostics.d.ts.map +1 -1
  102. package/dist/engine-daemon.d.ts +3 -1
  103. package/dist/engine-daemon.d.ts.map +1 -1
  104. package/dist/engine-daemon.js +49 -20
  105. package/dist/engine.d.ts +34 -3
  106. package/dist/engine.d.ts.map +1 -1
  107. package/dist/engine.js +578 -42
  108. package/dist/env.d.ts.map +1 -1
  109. package/dist/env.js +5 -6
  110. package/dist/extractors/manifest.d.ts +13 -1
  111. package/dist/extractors/manifest.d.ts.map +1 -1
  112. package/dist/extractors/manifest.js +97 -10
  113. package/dist/extractors/markdown.d.ts +5 -2
  114. package/dist/extractors/markdown.d.ts.map +1 -1
  115. package/dist/extractors/markdown.js +47 -12
  116. package/dist/extractors/playwright-cases.d.ts +24 -0
  117. package/dist/extractors/playwright-cases.d.ts.map +1 -0
  118. package/dist/extractors/playwright-cases.js +126 -0
  119. package/dist/extractors/relationships.d.ts +6 -0
  120. package/dist/extractors/relationships.d.ts.map +1 -1
  121. package/dist/extractors/relationships.js +2 -1
  122. package/dist/extractors/symbol-coordinates.d.ts +81 -3
  123. package/dist/extractors/symbol-coordinates.d.ts.map +1 -1
  124. package/dist/extractors/symbol-coordinates.js +389 -51
  125. package/dist/extractors/symbols-coordinator.js +11 -1
  126. package/dist/extractors/symbols-ts.d.ts +1 -0
  127. package/dist/extractors/symbols-ts.d.ts.map +1 -1
  128. package/dist/extractors/symbols-ts.js +142 -67
  129. package/dist/intent-search.d.ts +61 -0
  130. package/dist/intent-search.d.ts.map +1 -0
  131. package/dist/intent-search.js +437 -0
  132. package/dist/logic/ir.d.ts +1 -0
  133. package/dist/logic/ir.d.ts.map +1 -1
  134. package/dist/logic/ir.js +1 -1
  135. package/dist/operations/bootstrap/activation.d.ts +5 -0
  136. package/dist/operations/bootstrap/activation.d.ts.map +1 -0
  137. package/dist/operations/{autopilot → bootstrap}/activation.js +58 -33
  138. package/dist/operations/{autopilot → bootstrap}/candidate-helpers.d.ts.map +1 -1
  139. package/dist/operations/bootstrap/candidates.d.ts +4 -0
  140. package/dist/operations/{autopilot → bootstrap}/candidates.d.ts.map +1 -1
  141. package/dist/operations/{autopilot → bootstrap}/candidates.js +22 -8
  142. package/dist/operations/{autopilot → bootstrap}/discovery-evidence.d.ts +2 -2
  143. package/dist/operations/{autopilot → bootstrap}/discovery-evidence.d.ts.map +1 -1
  144. package/dist/operations/{autopilot → bootstrap}/discovery-evidence.js +46 -6
  145. package/dist/operations/{autopilot → bootstrap}/discovery.d.ts +1 -1
  146. package/dist/operations/bootstrap/discovery.d.ts.map +1 -0
  147. package/dist/operations/{autopilot → bootstrap}/discovery.js +21 -14
  148. package/dist/operations/bootstrap/generate.d.ts +9 -0
  149. package/dist/operations/bootstrap/generate.d.ts.map +1 -0
  150. package/dist/operations/bootstrap/generate.js +207 -0
  151. package/dist/operations/{autopilot → bootstrap}/guidance-actions.d.ts +2 -2
  152. package/dist/operations/{autopilot → bootstrap}/guidance-actions.d.ts.map +1 -1
  153. package/dist/operations/{autopilot → bootstrap}/guidance-actions.js +4 -4
  154. package/dist/operations/{autopilot → bootstrap}/guidance.d.ts +3 -2
  155. package/dist/operations/bootstrap/guidance.d.ts.map +1 -0
  156. package/dist/operations/{autopilot → bootstrap}/guidance.js +3 -1
  157. package/dist/operations/{autopilot → bootstrap}/markdown-candidates.d.ts +2 -2
  158. package/dist/operations/{autopilot → bootstrap}/markdown-candidates.d.ts.map +1 -1
  159. package/dist/operations/{autopilot → bootstrap}/markdown-candidates.js +4 -3
  160. package/dist/operations/bootstrap/presentation.d.ts +15 -0
  161. package/dist/operations/bootstrap/presentation.d.ts.map +1 -0
  162. package/dist/operations/bootstrap/presentation.js +177 -0
  163. package/dist/operations/{autopilot → bootstrap}/requirement-claims.d.ts.map +1 -1
  164. package/dist/operations/{autopilot → bootstrap}/types.d.ts +63 -21
  165. package/dist/operations/bootstrap/types.d.ts.map +1 -0
  166. package/dist/operations/bootstrap/types.js +25 -0
  167. package/dist/operations/modeling/model-requirement.d.ts +5 -0
  168. package/dist/operations/modeling/model-requirement.d.ts.map +1 -1
  169. package/dist/operations/modeling/model-requirement.js +57 -63
  170. package/dist/operations/modeling/predicate-applicability.d.ts +16 -0
  171. package/dist/operations/modeling/predicate-applicability.d.ts.map +1 -0
  172. package/dist/operations/modeling/predicate-applicability.js +375 -0
  173. package/dist/operations/modeling/predicate-applyplan.d.ts +13 -2
  174. package/dist/operations/modeling/predicate-applyplan.d.ts.map +1 -1
  175. package/dist/operations/modeling/predicate-applyplan.js +100 -3
  176. package/dist/operations/modeling/predicate-bindings.d.ts +6 -0
  177. package/dist/operations/modeling/predicate-bindings.d.ts.map +1 -0
  178. package/dist/operations/modeling/predicate-bindings.js +122 -0
  179. package/dist/operations/modeling/predicate-catalog-2.d.ts.map +1 -1
  180. package/dist/operations/modeling/predicate-catalog-2.js +18 -2
  181. package/dist/operations/modeling/predicate-catalog-3.d.ts.map +1 -1
  182. package/dist/operations/modeling/predicate-catalog-3.js +17 -1
  183. package/dist/operations/modeling/predicate-catalog-4.d.ts.map +1 -1
  184. package/dist/operations/modeling/predicate-catalog-4.js +155 -0
  185. package/dist/operations/modeling/predicate-catalog-5.d.ts +10 -0
  186. package/dist/operations/modeling/predicate-catalog-5.d.ts.map +1 -0
  187. package/dist/operations/modeling/predicate-catalog-5.js +291 -0
  188. package/dist/operations/modeling/predicate-catalog.d.ts.map +1 -1
  189. package/dist/operations/modeling/predicate-catalog.js +4 -0
  190. package/dist/operations/modeling/predicate-inference-1.d.ts.map +1 -1
  191. package/dist/operations/modeling/predicate-inference-1.js +8 -0
  192. package/dist/operations/modeling/predicate-inference-launcher.d.ts +10 -0
  193. package/dist/operations/modeling/predicate-inference-launcher.d.ts.map +1 -0
  194. package/dist/operations/modeling/predicate-inference-launcher.js +13 -0
  195. package/dist/operations/modeling/predicate-inference.d.ts.map +1 -1
  196. package/dist/operations/modeling/predicate-inference.js +4 -0
  197. package/dist/operations/modeling/predicate-loader.d.ts +1 -0
  198. package/dist/operations/modeling/predicate-loader.d.ts.map +1 -1
  199. package/dist/operations/modeling/predicate-loader.js +11 -3
  200. package/dist/operations/modeling/predicate-ranker.d.ts +8 -1
  201. package/dist/operations/modeling/predicate-ranker.d.ts.map +1 -1
  202. package/dist/operations/modeling/predicate-ranker.js +159 -24
  203. package/dist/operations/modeling/predicate-score-3.d.ts.map +1 -1
  204. package/dist/operations/modeling/predicate-score-3.js +6 -0
  205. package/dist/operations/modeling/predicate-types.d.ts +35 -1
  206. package/dist/operations/modeling/predicate-types.d.ts.map +1 -1
  207. package/dist/operations/modeling/predicate-usage-hints-3.d.ts.map +1 -1
  208. package/dist/operations/modeling/predicate-usage-hints-3.js +40 -0
  209. package/dist/operations/modeling/predicate-usage-hints-4.d.ts +3 -0
  210. package/dist/operations/modeling/predicate-usage-hints-4.d.ts.map +1 -0
  211. package/dist/operations/modeling/predicate-usage-hints-4.js +84 -0
  212. package/dist/operations/modeling/predicate-utils.d.ts.map +1 -1
  213. package/dist/operations/modeling/predicate-utils.js +2 -0
  214. package/dist/operations/modeling/suggest-predicates.d.ts +4 -2
  215. package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -1
  216. package/dist/operations/modeling/suggest-predicates.js +203 -32
  217. package/dist/operations/mutation/contradictions.d.ts +2 -1
  218. package/dist/operations/mutation/contradictions.d.ts.map +1 -1
  219. package/dist/operations/mutation/contradictions.js +26 -5
  220. package/dist/operations/mutation/delete.d.ts +3 -0
  221. package/dist/operations/mutation/delete.d.ts.map +1 -1
  222. package/dist/operations/mutation/delete.js +483 -19
  223. package/dist/operations/mutation/entity-projection.d.ts +11 -0
  224. package/dist/operations/mutation/entity-projection.d.ts.map +1 -0
  225. package/dist/operations/mutation/entity-projection.js +14 -0
  226. package/dist/operations/mutation/relationships.d.ts +11 -0
  227. package/dist/operations/mutation/relationships.d.ts.map +1 -1
  228. package/dist/operations/mutation/relationships.js +77 -5
  229. package/dist/operations/mutation/saga.d.ts +51 -0
  230. package/dist/operations/mutation/saga.d.ts.map +1 -0
  231. package/dist/operations/mutation/saga.js +67 -0
  232. package/dist/operations/mutation/serialization.d.ts.map +1 -1
  233. package/dist/operations/mutation/serialization.js +3 -1
  234. package/dist/operations/mutation/source-authoring.d.ts +65 -0
  235. package/dist/operations/mutation/source-authoring.d.ts.map +1 -0
  236. package/dist/operations/mutation/source-authoring.js +576 -0
  237. package/dist/operations/mutation/strict-fact.d.ts +1 -0
  238. package/dist/operations/mutation/strict-fact.d.ts.map +1 -1
  239. package/dist/operations/mutation/strict-fact.js +8 -5
  240. package/dist/operations/mutation/symbol-compiler-lock.d.ts +54 -0
  241. package/dist/operations/mutation/symbol-compiler-lock.d.ts.map +1 -0
  242. package/dist/operations/mutation/symbol-compiler-lock.js +337 -0
  243. package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -1
  244. package/dist/operations/mutation/symbol-granularity.js +35 -4
  245. package/dist/operations/mutation/symbol-refresh.d.ts +19 -1
  246. package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -1
  247. package/dist/operations/mutation/symbol-refresh.js +227 -63
  248. package/dist/operations/mutation/types.d.ts +57 -1
  249. package/dist/operations/mutation/types.d.ts.map +1 -1
  250. package/dist/operations/mutation/upsert.d.ts +18 -2
  251. package/dist/operations/mutation/upsert.d.ts.map +1 -1
  252. package/dist/operations/mutation/upsert.js +403 -32
  253. package/dist/operations/mutation/validate-upsert.js +2 -2
  254. package/dist/operations/mutation/validation.d.ts.map +1 -1
  255. package/dist/operations/mutation/validation.js +47 -4
  256. package/dist/operations/mutation/warnings.d.ts +1 -0
  257. package/dist/operations/mutation/warnings.d.ts.map +1 -1
  258. package/dist/operations/mutation/warnings.js +7 -5
  259. package/dist/operations/mutation/workspace-mutation-lock.d.ts +60 -0
  260. package/dist/operations/mutation/workspace-mutation-lock.d.ts.map +1 -0
  261. package/dist/operations/mutation/workspace-mutation-lock.js +362 -0
  262. package/dist/operations/planning/apply-plan.d.ts +19 -0
  263. package/dist/operations/planning/apply-plan.d.ts.map +1 -0
  264. package/dist/operations/planning/apply-plan.js +1514 -0
  265. package/dist/operations/planning/compile-intent.d.ts +108 -0
  266. package/dist/operations/planning/compile-intent.d.ts.map +1 -0
  267. package/dist/operations/planning/compile-intent.js +618 -0
  268. package/dist/operations/proof/ingest-proof.d.ts +34 -0
  269. package/dist/operations/proof/ingest-proof.d.ts.map +1 -0
  270. package/dist/operations/proof/ingest-proof.js +307 -0
  271. package/dist/operations/proof/migrate-legacy-receipts.d.ts +30 -0
  272. package/dist/operations/proof/migrate-legacy-receipts.d.ts.map +1 -0
  273. package/dist/operations/proof/migrate-legacy-receipts.js +88 -0
  274. package/dist/operations/proof/prune-receipts.d.ts +35 -0
  275. package/dist/operations/proof/prune-receipts.d.ts.map +1 -0
  276. package/dist/operations/proof/prune-receipts.js +91 -0
  277. package/dist/operations/proof/receipt-document.d.ts +29 -0
  278. package/dist/operations/proof/receipt-document.d.ts.map +1 -0
  279. package/dist/operations/proof/receipt-document.js +117 -0
  280. package/dist/operations/semantic-advisor/analyze-prose.d.ts +1 -0
  281. package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -1
  282. package/dist/operations/semantic-advisor/analyze-prose.js +52 -28
  283. package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -1
  284. package/dist/operations/semantic-advisor/clauses.js +35 -9
  285. package/dist/operations/semantic-advisor/ingestion-boundary.d.ts.map +1 -1
  286. package/dist/operations/semantic-advisor/ingestion-boundary.js +7 -3
  287. package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts +51 -0
  288. package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts.map +1 -0
  289. package/dist/operations/semantic-advisor/predicate-rules-launcher.js +96 -0
  290. package/dist/operations/semantic-advisor/strict-count-rules.d.ts +2 -0
  291. package/dist/operations/semantic-advisor/strict-count-rules.d.ts.map +1 -1
  292. package/dist/operations/semantic-advisor/strict-count-rules.js +40 -25
  293. package/dist/operations/semantic-advisor/types.d.ts +13 -5
  294. package/dist/operations/semantic-advisor/types.d.ts.map +1 -1
  295. package/dist/prolog/codec.d.ts +13 -1
  296. package/dist/prolog/codec.d.ts.map +1 -1
  297. package/dist/prolog/codec.js +269 -153
  298. package/dist/prolog/error-terms.d.ts +47 -0
  299. package/dist/prolog/error-terms.d.ts.map +1 -0
  300. package/dist/prolog/error-terms.js +334 -0
  301. package/dist/prolog/janitor.d.ts +50 -0
  302. package/dist/prolog/janitor.d.ts.map +1 -0
  303. package/dist/prolog/janitor.js +154 -0
  304. package/dist/prolog/store-lock.d.ts +45 -0
  305. package/dist/prolog/store-lock.d.ts.map +1 -0
  306. package/dist/prolog/store-lock.js +195 -0
  307. package/dist/prolog.d.ts +7 -0
  308. package/dist/prolog.d.ts.map +1 -1
  309. package/dist/prolog.js +82 -25
  310. package/dist/proof/evaluate.d.ts +27 -0
  311. package/dist/proof/evaluate.d.ts.map +1 -0
  312. package/dist/proof/evaluate.js +151 -0
  313. package/dist/proof/inspect.d.ts +12 -0
  314. package/dist/proof/inspect.d.ts.map +1 -0
  315. package/dist/proof/inspect.js +236 -0
  316. package/dist/proof/integrations.d.ts +35 -0
  317. package/dist/proof/integrations.d.ts.map +1 -0
  318. package/dist/proof/integrations.js +123 -0
  319. package/dist/proof/producers/junit-adapter.d.ts +26 -0
  320. package/dist/proof/producers/junit-adapter.d.ts.map +1 -0
  321. package/dist/proof/producers/junit-adapter.js +186 -0
  322. package/dist/proof/producers/playwright-case-id.d.ts +8 -0
  323. package/dist/proof/producers/playwright-case-id.d.ts.map +1 -0
  324. package/dist/proof/producers/playwright-case-id.js +25 -0
  325. package/dist/proof/producers/playwright-reporter.d.ts +27 -0
  326. package/dist/proof/producers/playwright-reporter.d.ts.map +1 -0
  327. package/dist/proof/producers/playwright-reporter.js +138 -0
  328. package/dist/proof/producers/tap-adapter.d.ts +10 -0
  329. package/dist/proof/producers/tap-adapter.d.ts.map +1 -0
  330. package/dist/proof/producers/tap-adapter.js +200 -0
  331. package/dist/proof/receipt-outcome.d.ts +2 -0
  332. package/dist/proof/receipt-outcome.d.ts.map +1 -0
  333. package/dist/proof/receipt-outcome.js +1 -0
  334. package/dist/public/branch-resolver.d.ts +1 -0
  335. package/dist/public/branch-resolver.d.ts.map +1 -1
  336. package/dist/public/branch-resolver.js +1 -0
  337. package/dist/public/check-types.d.ts +2 -2
  338. package/dist/public/check-types.d.ts.map +1 -1
  339. package/dist/public/check-types.js +16 -16
  340. package/dist/public/diagnostic-usage.d.ts.map +1 -1
  341. package/dist/public/diagnostic-usage.js +74 -6
  342. package/dist/public/distribution-parity.d.ts +7 -1
  343. package/dist/public/distribution-parity.d.ts.map +1 -1
  344. package/dist/public/distribution-parity.js +15 -9
  345. package/dist/public/ignore-policy.d.ts.map +1 -1
  346. package/dist/public/ignore-policy.js +16 -4
  347. package/dist/public/impact/coverage-depth-quality.d.ts +7 -1
  348. package/dist/public/impact/coverage-depth-quality.d.ts.map +1 -1
  349. package/dist/public/impact/coverage-depth-quality.js +22 -4
  350. package/dist/public/impact/diagnostics.d.ts.map +1 -1
  351. package/dist/public/impact/diagnostics.js +2 -2
  352. package/dist/public/impact/diff-meaning.d.ts +1 -0
  353. package/dist/public/impact/diff-meaning.d.ts.map +1 -1
  354. package/dist/public/impact/diff-meaning.js +5 -2
  355. package/dist/public/impact/full-kb-quality.d.ts +7 -2
  356. package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
  357. package/dist/public/impact/full-kb-quality.js +364 -39
  358. package/dist/public/impact/manifest.d.ts.map +1 -1
  359. package/dist/public/impact/manifest.js +2 -5
  360. package/dist/public/operational-artifacts.d.ts.map +1 -1
  361. package/dist/public/operational-artifacts.js +7 -1
  362. package/dist/public/operations/catalog.d.ts +900 -34
  363. package/dist/public/operations/catalog.d.ts.map +1 -1
  364. package/dist/public/operations/catalog.js +130 -6
  365. package/dist/public/operations/check-executor.d.ts +2 -2
  366. package/dist/public/operations/check-executor.d.ts.map +1 -1
  367. package/dist/public/operations/check-executor.js +68 -13
  368. package/dist/public/operations/check-format-shared.d.ts +3 -0
  369. package/dist/public/operations/check-format-shared.d.ts.map +1 -1
  370. package/dist/public/operations/check-format-shared.js +3 -0
  371. package/dist/public/operations/check-helpers.d.ts +27 -2
  372. package/dist/public/operations/check-helpers.d.ts.map +1 -1
  373. package/dist/public/operations/check-helpers.js +62 -26
  374. package/dist/public/operations/contracts.d.ts +18 -0
  375. package/dist/public/operations/contracts.d.ts.map +1 -0
  376. package/dist/public/operations/contracts.js +334 -0
  377. package/dist/public/operations/discovery-entities.d.ts +3 -0
  378. package/dist/public/operations/discovery-entities.d.ts.map +1 -1
  379. package/dist/public/operations/discovery-entities.js +4 -0
  380. package/dist/public/operations/discovery-executors.d.ts +43 -7
  381. package/dist/public/operations/discovery-executors.d.ts.map +1 -1
  382. package/dist/public/operations/discovery-executors.js +216 -13
  383. package/dist/public/operations/index.d.ts +9 -4
  384. package/dist/public/operations/index.d.ts.map +1 -1
  385. package/dist/public/operations/index.js +8 -3
  386. package/dist/public/operations/migration-plan.d.ts +102 -0
  387. package/dist/public/operations/migration-plan.d.ts.map +1 -0
  388. package/dist/public/operations/migration-plan.js +539 -0
  389. package/dist/public/operations/node-ports.d.ts.map +1 -1
  390. package/dist/public/operations/node-ports.js +71 -11
  391. package/dist/public/operations/prolog-json.d.ts +14 -0
  392. package/dist/public/operations/prolog-json.d.ts.map +1 -1
  393. package/dist/public/operations/prolog-json.js +44 -5
  394. package/dist/public/operations/repair-plan.d.ts +3 -3
  395. package/dist/public/operations/repair-plan.d.ts.map +1 -1
  396. package/dist/public/operations/repair-plan.js +49 -18
  397. package/dist/public/operations/result-envelope.d.ts +14 -0
  398. package/dist/public/operations/result-envelope.d.ts.map +1 -0
  399. package/dist/public/operations/result-envelope.js +106 -0
  400. package/dist/public/operations/runtime-types.d.ts +102 -7
  401. package/dist/public/operations/runtime-types.d.ts.map +1 -1
  402. package/dist/public/operations/source-relationship-parity.d.ts +13 -0
  403. package/dist/public/operations/source-relationship-parity.d.ts.map +1 -0
  404. package/dist/public/operations/source-relationship-parity.js +162 -0
  405. package/dist/public/operations/specs/{autopilot.d.ts → bootstrap.d.ts} +9 -9
  406. package/dist/public/operations/specs/bootstrap.d.ts.map +1 -0
  407. package/dist/public/operations/specs/{autopilot.js → bootstrap.js} +8 -7
  408. package/dist/public/operations/specs/check-rules.generated.d.ts +5 -0
  409. package/dist/public/operations/specs/check-rules.generated.d.ts.map +1 -0
  410. package/dist/public/operations/specs/check-rules.generated.js +34 -0
  411. package/dist/public/operations/specs/check.d.ts +9 -4
  412. package/dist/public/operations/specs/check.d.ts.map +1 -1
  413. package/dist/public/operations/specs/check.js +10 -21
  414. package/dist/public/operations/specs/discovery.d.ts +87 -3
  415. package/dist/public/operations/specs/discovery.d.ts.map +1 -1
  416. package/dist/public/operations/specs/discovery.js +53 -3
  417. package/dist/public/operations/specs/modeling.d.ts +3 -3
  418. package/dist/public/operations/specs/modeling.js +3 -3
  419. package/dist/public/operations/specs/mutation-schemas.d.ts +251 -14
  420. package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
  421. package/dist/public/operations/specs/mutation-schemas.js +16 -6
  422. package/dist/public/operations/specs/mutation.d.ts +42 -2
  423. package/dist/public/operations/specs/mutation.d.ts.map +1 -1
  424. package/dist/public/operations/specs/mutation.js +26 -2
  425. package/dist/public/operations/specs/planning.d.ts +279 -0
  426. package/dist/public/operations/specs/planning.d.ts.map +1 -0
  427. package/dist/public/operations/specs/planning.js +197 -0
  428. package/dist/public/operations/specs/proof.d.ts +212 -0
  429. package/dist/public/operations/specs/proof.d.ts.map +1 -0
  430. package/dist/public/operations/specs/proof.js +30 -0
  431. package/dist/public/operations/specs/reporting.d.ts +23 -1
  432. package/dist/public/operations/specs/reporting.d.ts.map +1 -1
  433. package/dist/public/operations/specs/reporting.js +156 -11
  434. package/dist/public/operations/specs/upsert.d.ts +265 -14
  435. package/dist/public/operations/specs/upsert.d.ts.map +1 -1
  436. package/dist/public/operations/specs/upsert.js +9 -0
  437. package/dist/public/operations/symbol-repair-plan.d.ts +22 -0
  438. package/dist/public/operations/symbol-repair-plan.d.ts.map +1 -0
  439. package/dist/public/operations/symbol-repair-plan.js +238 -0
  440. package/dist/public/operations/types.d.ts +52 -1
  441. package/dist/public/operations/types.d.ts.map +1 -1
  442. package/dist/public/proof-fingerprint.d.ts +54 -0
  443. package/dist/public/proof-fingerprint.d.ts.map +1 -0
  444. package/dist/public/proof-fingerprint.js +141 -0
  445. package/dist/public/proof-protocol.d.ts +354 -0
  446. package/dist/public/proof-protocol.d.ts.map +1 -0
  447. package/dist/public/proof-protocol.js +454 -0
  448. package/dist/public/proof-receipt.d.ts +279 -0
  449. package/dist/public/proof-receipt.d.ts.map +1 -0
  450. package/dist/public/proof-receipt.js +377 -0
  451. package/dist/public/schemas/entity.d.ts.map +1 -1
  452. package/dist/public/schemas/entity.js +22 -6
  453. package/dist/public/skills/kibi-bootstrap/SKILL.md +58 -0
  454. package/dist/public/skills/kibi-bootstrap/resources/bootstrap.md +11 -0
  455. package/dist/public/skills/kibi-bootstrap/resources/branch-lifecycle.md +7 -0
  456. package/dist/public/skills/kibi-bootstrap/resources/operation-access.md +5 -0
  457. package/dist/public/skills/kibi-bootstrap/resources/source-authoring.md +8 -0
  458. package/dist/public/skills/kibi-freshness/SKILL.md +39 -9
  459. package/dist/public/skills/kibi-freshness/resources/branch-lifecycle.md +7 -0
  460. package/dist/public/skills/kibi-freshness/resources/operation-access.md +6 -0
  461. package/dist/public/skills/kibi-freshness/resources/source-authoring.md +7 -0
  462. package/dist/public/skills/kibi-traceability/SKILL.md +47 -47
  463. package/dist/public/skills/kibi-traceability/resources/branch-lifecycle.md +7 -0
  464. package/dist/public/skills/kibi-traceability/resources/operation-access.md +5 -0
  465. package/dist/public/skills/kibi-traceability/resources/source-authoring.md +6 -0
  466. package/dist/public/skills/kibi-traceability/resources/traceability.md +8 -0
  467. package/dist/public/skills/kibi-usage/SKILL.md +136 -231
  468. package/dist/public/skills/kibi-usage/resources/branch-lifecycle.md +31 -0
  469. package/dist/public/skills/kibi-usage/resources/kb-improvement.md +38 -0
  470. package/dist/public/skills/kibi-usage/resources/operation-access.md +36 -38
  471. package/dist/public/skills/kibi-usage/resources/proof.md +105 -0
  472. package/dist/public/skills/kibi-usage/resources/relationship-directions.md +3 -3
  473. package/dist/public/skills/kibi-usage/resources/source-authoring.md +31 -0
  474. package/dist/public/skills/kibi-usage/resources/workflows.md +57 -4
  475. package/dist/public/symbol-granularity.d.ts +3 -14
  476. package/dist/public/symbol-granularity.d.ts.map +1 -1
  477. package/dist/public/symbol-granularity.generated.d.ts +16 -0
  478. package/dist/public/symbol-granularity.generated.d.ts.map +1 -0
  479. package/dist/public/symbol-granularity.generated.js +20 -0
  480. package/dist/public/symbol-granularity.js +6 -46
  481. package/dist/public/telemetry-acceptance.d.ts +3 -70
  482. package/dist/public/telemetry-acceptance.d.ts.map +1 -1
  483. package/dist/public/telemetry-acceptance.js +11 -2
  484. package/dist/public/telemetry-remediation.js +1 -1
  485. package/dist/relationships/shards.d.ts +16 -0
  486. package/dist/relationships/shards.d.ts.map +1 -1
  487. package/dist/relationships/shards.js +87 -2
  488. package/dist/report/brand.d.ts +19 -0
  489. package/dist/report/brand.d.ts.map +1 -0
  490. package/dist/report/brand.js +112 -0
  491. package/dist/report/html-report.css +282 -0
  492. package/dist/report/html-report.d.ts +21 -0
  493. package/dist/report/html-report.d.ts.map +1 -0
  494. package/dist/report/html-report.js +700 -0
  495. package/dist/report/relative-time.d.ts +4 -0
  496. package/dist/report/relative-time.d.ts.map +1 -0
  497. package/dist/report/relative-time.js +46 -0
  498. package/dist/report/report-view.d.ts +17 -0
  499. package/dist/report/report-view.d.ts.map +1 -0
  500. package/dist/report/report-view.js +33 -0
  501. package/dist/report/repository.d.ts +35 -0
  502. package/dist/report/repository.d.ts.map +1 -0
  503. package/dist/report/repository.js +151 -0
  504. package/dist/runtime/cli-runtime.d.ts +2 -0
  505. package/dist/runtime/cli-runtime.d.ts.map +1 -1
  506. package/dist/runtime/cli-runtime.js +90 -23
  507. package/dist/schemas/entity.schema.json +1254 -239
  508. package/dist/search-ranking.d.ts +1 -0
  509. package/dist/search-ranking.d.ts.map +1 -1
  510. package/dist/search-ranking.js +3 -0
  511. package/dist/traceability/evidence-model.d.ts +30 -2
  512. package/dist/traceability/evidence-model.d.ts.map +1 -1
  513. package/dist/traceability/evidence-model.js +2 -2
  514. package/dist/traceability/git-staged.d.ts +20 -0
  515. package/dist/traceability/git-staged.d.ts.map +1 -1
  516. package/dist/traceability/git-staged.js +156 -37
  517. package/dist/traceability/markdown-validate.d.ts.map +1 -1
  518. package/dist/traceability/markdown-validate.js +12 -7
  519. package/dist/traceability/staged-diagnostics.d.ts +7 -0
  520. package/dist/traceability/staged-diagnostics.d.ts.map +1 -1
  521. package/dist/traceability/staged-diagnostics.js +78 -7
  522. package/dist/traceability/staged-file-coverage.d.ts +33 -0
  523. package/dist/traceability/staged-file-coverage.d.ts.map +1 -0
  524. package/dist/traceability/staged-file-coverage.js +284 -0
  525. package/dist/traceability/staged-impact-contract.d.ts +3 -3
  526. package/dist/traceability/staged-impact-contract.d.ts.map +1 -1
  527. package/dist/traceability/staged-impact-contract.js +12 -40
  528. package/dist/traceability/staged-symbols-manifest.d.ts +13 -0
  529. package/dist/traceability/staged-symbols-manifest.d.ts.map +1 -1
  530. package/dist/traceability/staged-symbols-manifest.js +142 -26
  531. package/dist/traceability/symbol-extract.d.ts +5 -0
  532. package/dist/traceability/symbol-extract.d.ts.map +1 -1
  533. package/dist/traceability/symbol-extract.js +1 -1
  534. package/dist/traceability/temp-kb.d.ts +2 -0
  535. package/dist/traceability/temp-kb.d.ts.map +1 -1
  536. package/dist/traceability/temp-kb.js +14 -2
  537. package/dist/types/entities.d.ts +5 -0
  538. package/dist/types/entities.d.ts.map +1 -1
  539. package/dist/utils/branch-resolver.d.ts +25 -10
  540. package/dist/utils/branch-resolver.d.ts.map +1 -1
  541. package/dist/utils/branch-resolver.js +124 -38
  542. package/dist/utils/branch-store-locator.d.ts +23 -0
  543. package/dist/utils/branch-store-locator.d.ts.map +1 -0
  544. package/dist/utils/branch-store-locator.js +90 -0
  545. package/dist/utils/branch-store.d.ts +21 -0
  546. package/dist/utils/branch-store.d.ts.map +1 -0
  547. package/dist/utils/branch-store.js +157 -0
  548. package/dist/utils/config.d.ts +39 -37
  549. package/dist/utils/config.d.ts.map +1 -1
  550. package/dist/utils/config.js +107 -119
  551. package/dist/utils/kb-manifest.d.ts +35 -0
  552. package/dist/utils/kb-manifest.d.ts.map +1 -0
  553. package/dist/utils/kb-manifest.js +154 -0
  554. package/dist/utils/kb-paths.d.ts +54 -0
  555. package/dist/utils/kb-paths.d.ts.map +1 -0
  556. package/dist/utils/kb-paths.js +125 -0
  557. package/dist/utils/manifest-paths.d.ts +4 -4
  558. package/dist/utils/manifest-paths.d.ts.map +1 -1
  559. package/dist/utils/manifest-paths.js +8 -56
  560. package/dist/utils/rule-registry.d.ts +42 -24
  561. package/dist/utils/rule-registry.d.ts.map +1 -1
  562. package/dist/utils/rule-registry.generated.d.ts +97 -0
  563. package/dist/utils/rule-registry.generated.d.ts.map +1 -0
  564. package/dist/utils/rule-registry.generated.js +125 -0
  565. package/dist/utils/rule-registry.js +52 -148
  566. package/dist/utils/schema-version.d.ts +5 -5
  567. package/dist/utils/schema-version.d.ts.map +1 -1
  568. package/dist/utils/schema-version.js +26 -6
  569. package/dist/utils/strict-modeling.d.ts +1 -4
  570. package/dist/utils/strict-modeling.d.ts.map +1 -1
  571. package/dist/utils/strict-modeling.js +8 -9
  572. package/package.json +47 -11
  573. package/schema/config.json +2 -2
  574. package/schema/manifest.json +26 -0
  575. package/src/public/branch-resolver.ts +1 -0
  576. package/src/public/check-types.ts +22 -19
  577. package/src/public/diagnostic-usage.ts +84 -6
  578. package/src/public/distribution-parity.ts +17 -9
  579. package/src/public/ignore-policy.ts +16 -10
  580. package/src/public/impact/coverage-depth-quality.ts +37 -1
  581. package/src/public/impact/diagnostics.ts +2 -1
  582. package/src/public/impact/diff-meaning.ts +11 -4
  583. package/src/public/impact/full-kb-quality.ts +545 -41
  584. package/src/public/impact/manifest.ts +2 -4
  585. package/src/public/operational-artifacts.ts +9 -1
  586. package/src/public/operations/catalog.ts +153 -10
  587. package/src/public/operations/check-executor.ts +98 -15
  588. package/src/public/operations/check-format-shared.ts +6 -0
  589. package/src/public/operations/check-helpers.ts +74 -35
  590. package/src/public/operations/contracts.ts +382 -0
  591. package/src/public/operations/discovery-entities.ts +7 -0
  592. package/src/public/operations/discovery-executors.ts +315 -25
  593. package/src/public/operations/index.ts +9 -4
  594. package/src/public/operations/migration-plan.ts +747 -0
  595. package/src/public/operations/node-ports.ts +87 -13
  596. package/src/public/operations/prolog-json.ts +60 -5
  597. package/src/public/operations/repair-plan.ts +60 -22
  598. package/src/public/operations/result-envelope.ts +141 -0
  599. package/src/public/operations/runtime-types.ts +96 -5
  600. package/src/public/operations/source-relationship-parity.ts +226 -0
  601. package/src/public/operations/specs/{autopilot.ts → bootstrap.ts} +17 -16
  602. package/src/public/operations/specs/check-rules.generated.ts +37 -0
  603. package/src/public/operations/specs/check.ts +14 -22
  604. package/src/public/operations/specs/discovery.ts +57 -3
  605. package/src/public/operations/specs/modeling.ts +3 -3
  606. package/src/public/operations/specs/mutation-schemas.ts +24 -6
  607. package/src/public/operations/specs/mutation.ts +27 -2
  608. package/src/public/operations/specs/planning.ts +241 -0
  609. package/src/public/operations/specs/proof.ts +43 -0
  610. package/src/public/operations/specs/reporting.ts +193 -12
  611. package/src/public/operations/specs/upsert.ts +10 -0
  612. package/src/public/operations/symbol-repair-plan.ts +324 -0
  613. package/src/public/operations/types.ts +62 -1
  614. package/src/public/proof-fingerprint.ts +216 -0
  615. package/src/public/proof-protocol-types.d.ts +96 -0
  616. package/src/public/proof-protocol.ts +589 -0
  617. package/src/public/proof-receipt.ts +499 -0
  618. package/src/public/schemas/entity.ts +27 -6
  619. package/src/public/skills/kibi-bootstrap/SKILL.md +58 -0
  620. package/src/public/skills/kibi-bootstrap/resources/bootstrap.md +11 -0
  621. package/src/public/skills/kibi-bootstrap/resources/branch-lifecycle.md +7 -0
  622. package/src/public/skills/kibi-bootstrap/resources/operation-access.md +5 -0
  623. package/src/public/skills/kibi-bootstrap/resources/source-authoring.md +8 -0
  624. package/src/public/skills/kibi-freshness/SKILL.md +39 -9
  625. package/src/public/skills/kibi-freshness/resources/branch-lifecycle.md +7 -0
  626. package/src/public/skills/kibi-freshness/resources/operation-access.md +6 -0
  627. package/src/public/skills/kibi-freshness/resources/source-authoring.md +7 -0
  628. package/src/public/skills/kibi-traceability/SKILL.md +47 -47
  629. package/src/public/skills/kibi-traceability/resources/branch-lifecycle.md +7 -0
  630. package/src/public/skills/kibi-traceability/resources/operation-access.md +5 -0
  631. package/src/public/skills/kibi-traceability/resources/source-authoring.md +6 -0
  632. package/src/public/skills/kibi-traceability/resources/traceability.md +8 -0
  633. package/src/public/skills/kibi-usage/SKILL.md +136 -231
  634. package/src/public/skills/kibi-usage/resources/branch-lifecycle.md +31 -0
  635. package/src/public/skills/kibi-usage/resources/kb-improvement.md +38 -0
  636. package/src/public/skills/kibi-usage/resources/operation-access.md +36 -38
  637. package/src/public/skills/kibi-usage/resources/proof.md +105 -0
  638. package/src/public/skills/kibi-usage/resources/relationship-directions.md +3 -3
  639. package/src/public/skills/kibi-usage/resources/source-authoring.md +31 -0
  640. package/src/public/skills/kibi-usage/resources/workflows.md +57 -4
  641. package/src/public/symbol-granularity.generated.ts +41 -0
  642. package/src/public/symbol-granularity.ts +35 -59
  643. package/src/public/telemetry-acceptance-types.d.ts +98 -0
  644. package/src/public/telemetry-acceptance.ts +30 -93
  645. package/src/public/telemetry-remediation.ts +1 -1
  646. package/src/schemas/entity.schema.json +1254 -239
  647. package/templates/github/kibi-badge.yml +86 -0
  648. package/templates/github/kibi-report.yml +84 -0
  649. package/dist/operations/autopilot/activation.d.ts +0 -4
  650. package/dist/operations/autopilot/activation.d.ts.map +0 -1
  651. package/dist/operations/autopilot/candidates.d.ts +0 -4
  652. package/dist/operations/autopilot/discovery.d.ts.map +0 -1
  653. package/dist/operations/autopilot/generate.d.ts +0 -8
  654. package/dist/operations/autopilot/generate.d.ts.map +0 -1
  655. package/dist/operations/autopilot/generate.js +0 -112
  656. package/dist/operations/autopilot/guidance.d.ts.map +0 -1
  657. package/dist/operations/autopilot/presentation.d.ts +0 -13
  658. package/dist/operations/autopilot/presentation.d.ts.map +0 -1
  659. package/dist/operations/autopilot/presentation.js +0 -91
  660. package/dist/operations/autopilot/types.d.ts.map +0 -1
  661. package/dist/operations/autopilot/types.js +0 -8
  662. package/dist/public/operations/specs/autopilot.d.ts.map +0 -1
  663. package/dist/public/skills/init-kibi/SKILL.md +0 -62
  664. package/dist/public/verification-receipt.d.ts +0 -75
  665. package/dist/public/verification-receipt.d.ts.map +0 -1
  666. package/dist/public/verification-receipt.js +0 -129
  667. package/src/public/skills/init-kibi/SKILL.md +0 -62
  668. package/src/public/verification-receipt.ts +0 -170
  669. /package/dist/operations/{autopilot → bootstrap}/candidate-helpers.d.ts +0 -0
  670. /package/dist/operations/{autopilot → bootstrap}/candidate-helpers.js +0 -0
  671. /package/dist/operations/{autopilot → bootstrap}/requirement-claims.d.ts +0 -0
  672. /package/dist/operations/{autopilot → bootstrap}/requirement-claims.js +0 -0
@@ -1,64 +1,16 @@
1
- import { existsSync, readFileSync } from "node:fs";
2
1
  import * as path from "node:path";
3
- export const DEFAULT_SYMBOLS_PATH = "documentation/symbols.yaml";
4
- export const DEFAULT_COORDINATES_PATH = "documentation/symbol-coordinates.yaml";
5
- function isNonEmptyString(value) {
6
- return typeof value === "string" && value.trim().length > 0;
7
- }
8
- function resolveConfigPath(workspaceRoot, configPath) {
9
- const configuredPath = configPath ?? path.join(workspaceRoot, ".kb", "config.json");
10
- return path.isAbsolute(configuredPath)
11
- ? configuredPath
12
- : path.resolve(workspaceRoot, configuredPath);
13
- }
14
- function readManifestResolverConfig(workspaceRoot, configPath) {
15
- const resolvedConfigPath = resolveConfigPath(workspaceRoot, configPath);
16
- if (!existsSync(resolvedConfigPath)) {
17
- return null;
18
- }
19
- try {
20
- return JSON.parse(readFileSync(resolvedConfigPath, "utf8"));
21
- }
22
- catch {
23
- return null;
24
- }
25
- }
26
- function resolveConfiguredSymbolsPath(workspaceRoot, configPath) {
27
- const config = readManifestResolverConfig(workspaceRoot, configPath);
28
- if (!config) {
29
- return null;
30
- }
31
- const configuredPathCandidate = config.paths?.symbols ?? config.symbolsManifest;
32
- if (!isNonEmptyString(configuredPathCandidate)) {
33
- return null;
34
- }
35
- return path.isAbsolute(configuredPathCandidate)
36
- ? configuredPathCandidate
37
- : path.resolve(workspaceRoot, configuredPathCandidate);
38
- }
39
- function resolveDefaultSymbolsPath(workspaceRoot) {
40
- const candidates = [
41
- path.join(workspaceRoot, DEFAULT_SYMBOLS_PATH),
42
- path.join(workspaceRoot, "symbols.yaml"),
43
- path.join(workspaceRoot, "symbols.yml"),
44
- ];
45
- return (candidates.find((candidate) => existsSync(candidate)) ??
46
- candidates[0] ??
47
- path.join(workspaceRoot, DEFAULT_SYMBOLS_PATH));
48
- }
49
- function deriveCoordinatesPath(symbolsPath) {
50
- return path.join(path.dirname(symbolsPath), path.basename(DEFAULT_COORDINATES_PATH));
51
- }
2
+ import { CANONICAL_ENTITY_PATHS, KB_PATHS } from "./kb-paths.js";
3
+ export const DEFAULT_SYMBOLS_PATH = KB_PATHS.symbolsManifest;
4
+ export const DEFAULT_COORDINATES_PATH = KB_PATHS.symbolCoordinates;
52
5
  // implements REQ-cli-sync
53
- export function resolveSymbolsManifestPaths(workspaceRoot, configPath) {
54
- const symbolsPath = resolveConfiguredSymbolsPath(workspaceRoot, configPath) ??
55
- resolveDefaultSymbolsPath(workspaceRoot);
6
+ export function resolveSymbolsManifestPaths(workspaceRoot) {
7
+ const symbolsPath = path.join(workspaceRoot, CANONICAL_ENTITY_PATHS.symbols);
56
8
  return {
57
9
  symbolsPath,
58
- coordinatesPath: deriveCoordinatesPath(symbolsPath),
10
+ coordinatesPath: path.join(workspaceRoot, DEFAULT_COORDINATES_PATH),
59
11
  };
60
12
  }
61
13
  // implements REQ-cli-sync
62
- export function resolveSymbolsManifestPath(workspaceRoot, configPath) {
63
- return resolveSymbolsManifestPaths(workspaceRoot, configPath).symbolsPath;
14
+ export function resolveSymbolsManifestPath(workspaceRoot) {
15
+ return resolveSymbolsManifestPaths(workspaceRoot).symbolsPath;
64
16
  }
@@ -1,16 +1,27 @@
1
+ export type RuleEnforcementClass =
1
2
  /**
2
- * Central registry of all KB check rules.
3
- * This is the single source of truth for rule names, descriptions, and defaults.
3
+ * Canonical blocking correctness checks. Always evaluated by
4
+ * `kibi check`, hooks, CI, reports, and coverage summaries. Not
5
+ * configurable by any project surface.
4
6
  */
7
+ "canonical"
8
+ /**
9
+ * Advisory modeling-quality checks. Reported as quality diagnostics to
10
+ * guide agents, but never gate canonical health on their own.
11
+ */
12
+ | "advisory"
13
+ /**
14
+ * Migration/experimental diagnostics. Default-off; surfaced only through
15
+ * explicit invocation-time `--rules` selection for focused diagnosis.
16
+ */
17
+ | "migration";
5
18
  export interface RuleDefinition {
6
19
  name: string;
7
20
  description: string;
8
- defaultEnabled: boolean;
21
+ /** Kibi-owned role of this rule in the enforcement contract. */
22
+ enforcementClass: RuleEnforcementClass;
9
23
  category: "coverage" | "integrity" | "lifecycle" | "traceability";
10
24
  }
11
- export interface SymbolTraceabilityOptions {
12
- requireAdr: boolean;
13
- }
14
25
  /** A single KB check violation. */
15
26
  export interface Violation {
16
27
  rule: string;
@@ -21,37 +32,44 @@ export interface Violation {
21
32
  /** Exact source-bound proof evidence, when the check can produce it. */
22
33
  evidence?: Readonly<Record<string, unknown>>;
23
34
  }
24
- export interface ChecksConfig {
25
- rules: Record<string, boolean>;
26
- symbolTraceability: SymbolTraceabilityOptions;
27
- }
28
- /**
29
- * All known check rules.
30
- * When adding a new rule, add it here.
31
- */
35
+ /** All known check rules, generated from the shared registry JSON. */
32
36
  export declare const RULES: readonly RuleDefinition[];
33
37
  /**
34
38
  * Set of all rule names for quick lookups.
35
39
  */
36
40
  export declare const RULE_NAMES: Set<string>;
41
+ export declare function getRuleDefinition(name: string): RuleDefinition | undefined;
42
+ export declare function getRuleEnforcementClass(name: string): RuleEnforcementClass | undefined;
43
+ /**
44
+ * Whether a plain `kibi check` evaluates this enforcement class.
45
+ * Canonical and advisory rules run; migration rules run only when
46
+ * explicitly selected with `--rules`.
47
+ */
48
+ export declare function ruleRunsByDefault(enforcementClass: RuleEnforcementClass): boolean;
37
49
  /**
38
- * Default checks configuration with all rules enabled.
50
+ * Rules that a plain `kibi check` evaluates. Derived from enforcement
51
+ * class: canonical and advisory run, migration does not.
39
52
  */
40
- export declare const DEFAULT_CHECKS_CONFIG: ChecksConfig;
53
+ export declare function getDefaultRules(): Set<string>;
41
54
  /**
42
- * Get effective rules based on config and CLI --rules filter.
43
- * @param configRules Rules from .kb/config.json (may be partial)
44
- * @param cliRules Optional comma-separated list from --rules CLI flag
55
+ * Canonical blocking rules only. Used by health badges, reports, and CI
56
+ * gates that must not fail on advisory or migration diagnostics.
57
+ */
58
+ export declare function getCanonicalRules(): Set<string>;
59
+ export declare function isCanonicalRule(name: string): boolean;
60
+ /**
61
+ * Resolve the rule set for one check invocation.
62
+ *
63
+ * @param requestedRules Optional invocation-time diagnostic selector
64
+ * (`--rules`). When absent, canonical and advisory rules run. When
65
+ * present, only the selected rules run for that invocation and nothing is
66
+ * persisted. Selection never changes enforcement class.
45
67
  * @returns Set of rule names that should run
46
68
  */
47
- export declare function getEffectiveRules(configRules?: Record<string, boolean>, cliRules?: string): Set<string>;
69
+ export declare function getEffectiveRules(requestedRules?: readonly string[]): Set<string>;
48
70
  /**
49
71
  * Validate a rule name.
50
72
  * @returns Error message if invalid, null if valid
51
73
  */
52
74
  export declare function validateRuleName(name: string): string | null;
53
- /**
54
- * Merge partial checks config with defaults.
55
- */
56
- export declare function mergeChecksConfig(partial?: Partial<ChecksConfig>): ChecksConfig;
57
75
  //# sourceMappingURL=rule-registry.d.ts.map
@@ -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;IAChB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9C;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,EAsHjC,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":"AAgCA,MAAM,MAAM,oBAAoB;AAC9B;;;;GAIG;AACD,WAAW;AACb;;;GAGG;GACD,UAAU;AACZ;;;GAGG;GACD,WAAW,CAAC;AAEhB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,QAAQ,EAAE,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,cAAc,CAAC;CACnE;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;IAChB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9C;AAED,sEAAsE;AACtE,eAAO,MAAM,KAAK,EAAE,SAAS,cAAc,EAAoB,CAAC;AAIhE;;GAEG;AACH,eAAO,MAAM,UAAU,aAAoC,CAAC;AAE5D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1E;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,GACX,oBAAoB,GAAG,SAAS,CAElC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,gBAAgB,EAAE,oBAAoB,GACrC,OAAO,CAET;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,GAAG,CAAC,MAAM,CAAC,CAM7C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,GAAG,CAAC,MAAM,CAAC,CAM/C;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;;;;;GAQG;AAEH,wBAAgB,iBAAiB,CAC/B,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,GACjC,GAAG,CAAC,MAAM,CAAC,CAOb;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5D"}
@@ -0,0 +1,97 @@
1
+ export declare const GENERATED_RULES: readonly [{
2
+ readonly name: "must-priority-coverage";
3
+ readonly description: "Every must-priority requirement must have a scenario and a test";
4
+ readonly enforcementClass: "canonical";
5
+ readonly category: "coverage";
6
+ }, {
7
+ readonly name: "symbol-coverage";
8
+ readonly description: "Production symbols need qualifying coverage via covered_by plus a canonical requirement/scenario test path";
9
+ readonly enforcementClass: "canonical";
10
+ readonly category: "coverage";
11
+ }, {
12
+ readonly name: "symbol-traceability";
13
+ readonly description: "Production symbols must directly implement requirements for ownership; covered_by is coverage only and executable_for is test identity only";
14
+ readonly enforcementClass: "canonical";
15
+ readonly category: "traceability";
16
+ }, {
17
+ readonly name: "no-dangling-refs";
18
+ readonly description: "All relationship targets must exist in the KB";
19
+ readonly enforcementClass: "canonical";
20
+ readonly category: "integrity";
21
+ }, {
22
+ readonly name: "source-relationship-parity";
23
+ readonly description: "Authored Markdown and relationship-shard edges must exactly match the compiled KB";
24
+ readonly enforcementClass: "canonical";
25
+ readonly category: "integrity";
26
+ }, {
27
+ readonly name: "no-cycles";
28
+ readonly description: "No circular dependency chains in requirements";
29
+ readonly enforcementClass: "canonical";
30
+ readonly category: "integrity";
31
+ }, {
32
+ readonly name: "required-fields";
33
+ readonly description: "All entities must have required fields";
34
+ readonly enforcementClass: "canonical";
35
+ readonly category: "integrity";
36
+ }, {
37
+ readonly name: "deprecated-adr-no-successor";
38
+ readonly description: "Deprecated ADRs must have a successor ADR that supersedes them";
39
+ readonly enforcementClass: "canonical";
40
+ readonly category: "lifecycle";
41
+ }, {
42
+ readonly name: "domain-contradictions";
43
+ readonly description: "Detect contradictions between requirements constraining the same fact";
44
+ readonly enforcementClass: "canonical";
45
+ readonly category: "integrity";
46
+ }, {
47
+ readonly name: "logic-coverage";
48
+ readonly description: "Require every explicitly declared atomic requirement claim to be grounded by a linked strict-property or predicate fact";
49
+ readonly enforcementClass: "canonical";
50
+ readonly category: "integrity";
51
+ }, {
52
+ readonly name: "rule-safety";
53
+ readonly description: "Stored Logic IR rules use only the typed, bounded, stratified vocabulary";
54
+ readonly enforcementClass: "canonical";
55
+ readonly category: "integrity";
56
+ }, {
57
+ readonly name: "rule-verifiability";
58
+ readonly description: "Requirement rule links resolve to safe rules and registered rule schemas";
59
+ readonly enforcementClass: "canonical";
60
+ readonly category: "integrity";
61
+ }, {
62
+ readonly name: "query-plan-safety";
63
+ readonly description: "Detect Prolog validation clauses that place negation before generator calls";
64
+ readonly enforcementClass: "canonical";
65
+ readonly category: "integrity";
66
+ }, {
67
+ readonly name: "req-status-vocabulary";
68
+ readonly description: "Requirement statuses must use the canonical vocabulary (open, in_progress, closed; legacy: active, approved); ADR statuses such as accepted silently fall out of the proof ladder";
69
+ readonly enforcementClass: "canonical";
70
+ readonly category: "lifecycle";
71
+ }, {
72
+ readonly name: "strict-fact-shape";
73
+ readonly description: "Detect malformed strict facts (facts with fact_kind that are missing required fields)";
74
+ readonly enforcementClass: "advisory";
75
+ readonly category: "integrity";
76
+ }, {
77
+ readonly name: "strict-req-fact-pairing";
78
+ readonly description: "Detect requirements with incomplete strict subject/property fact pairing for contradiction-safe semantics";
79
+ readonly enforcementClass: "advisory";
80
+ readonly category: "integrity";
81
+ }, {
82
+ readonly name: "predicate-verifiability";
83
+ readonly description: "Detect requires_predicate links that do not target ground fact_kind: predicate facts";
84
+ readonly enforcementClass: "advisory";
85
+ readonly category: "integrity";
86
+ }, {
87
+ readonly name: "strict-readiness";
88
+ readonly description: "Report strict contradiction-readiness levels for requirements that are still prose-only or otherwise not contradiction-ready";
89
+ readonly enforcementClass: "migration";
90
+ readonly category: "integrity";
91
+ }, {
92
+ readonly name: "semantic-completeness";
93
+ readonly description: "Every inventoried assertive proposition is modeled or explicitly classified";
94
+ readonly enforcementClass: "migration";
95
+ readonly category: "integrity";
96
+ }];
97
+ //# sourceMappingURL=rule-registry.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-registry.generated.d.ts","sourceRoot":"","sources":["../../src/utils/rule-registry.generated.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmIlB,CAAC"}
@@ -0,0 +1,125 @@
1
+ /*
2
+ * Kibi — repo-local, per-branch, queryable long-term memory for software projects
3
+ * Copyright (C) 2026 Piotr Franczyk
4
+ *
5
+ * This file is generated by scripts/generate-rule-registry.mjs from
6
+ * packages/core/schema/rule-registry.json. Do not edit it directly; edit the
7
+ * JSON source and regenerate.
8
+ */
9
+ // implements REQ-006
10
+ export const GENERATED_RULES = [
11
+ {
12
+ name: "must-priority-coverage",
13
+ description: "Every must-priority requirement must have a scenario and a test",
14
+ enforcementClass: "canonical",
15
+ category: "coverage",
16
+ },
17
+ {
18
+ name: "symbol-coverage",
19
+ description: "Production symbols need qualifying coverage via covered_by plus a canonical requirement/scenario test path",
20
+ enforcementClass: "canonical",
21
+ category: "coverage",
22
+ },
23
+ {
24
+ name: "symbol-traceability",
25
+ description: "Production symbols must directly implement requirements for ownership; covered_by is coverage only and executable_for is test identity only",
26
+ enforcementClass: "canonical",
27
+ category: "traceability",
28
+ },
29
+ {
30
+ name: "no-dangling-refs",
31
+ description: "All relationship targets must exist in the KB",
32
+ enforcementClass: "canonical",
33
+ category: "integrity",
34
+ },
35
+ {
36
+ name: "source-relationship-parity",
37
+ description: "Authored Markdown and relationship-shard edges must exactly match the compiled KB",
38
+ enforcementClass: "canonical",
39
+ category: "integrity",
40
+ },
41
+ {
42
+ name: "no-cycles",
43
+ description: "No circular dependency chains in requirements",
44
+ enforcementClass: "canonical",
45
+ category: "integrity",
46
+ },
47
+ {
48
+ name: "required-fields",
49
+ description: "All entities must have required fields",
50
+ enforcementClass: "canonical",
51
+ category: "integrity",
52
+ },
53
+ {
54
+ name: "deprecated-adr-no-successor",
55
+ description: "Deprecated ADRs must have a successor ADR that supersedes them",
56
+ enforcementClass: "canonical",
57
+ category: "lifecycle",
58
+ },
59
+ {
60
+ name: "domain-contradictions",
61
+ description: "Detect contradictions between requirements constraining the same fact",
62
+ enforcementClass: "canonical",
63
+ category: "integrity",
64
+ },
65
+ {
66
+ name: "logic-coverage",
67
+ description: "Require every explicitly declared atomic requirement claim to be grounded by a linked strict-property or predicate fact",
68
+ enforcementClass: "canonical",
69
+ category: "integrity",
70
+ },
71
+ {
72
+ name: "rule-safety",
73
+ description: "Stored Logic IR rules use only the typed, bounded, stratified vocabulary",
74
+ enforcementClass: "canonical",
75
+ category: "integrity",
76
+ },
77
+ {
78
+ name: "rule-verifiability",
79
+ description: "Requirement rule links resolve to safe rules and registered rule schemas",
80
+ enforcementClass: "canonical",
81
+ category: "integrity",
82
+ },
83
+ {
84
+ name: "query-plan-safety",
85
+ description: "Detect Prolog validation clauses that place negation before generator calls",
86
+ enforcementClass: "canonical",
87
+ category: "integrity",
88
+ },
89
+ {
90
+ name: "req-status-vocabulary",
91
+ description: "Requirement statuses must use the canonical vocabulary (open, in_progress, closed; legacy: active, approved); ADR statuses such as accepted silently fall out of the proof ladder",
92
+ enforcementClass: "canonical",
93
+ category: "lifecycle",
94
+ },
95
+ {
96
+ name: "strict-fact-shape",
97
+ description: "Detect malformed strict facts (facts with fact_kind that are missing required fields)",
98
+ enforcementClass: "advisory",
99
+ category: "integrity",
100
+ },
101
+ {
102
+ name: "strict-req-fact-pairing",
103
+ description: "Detect requirements with incomplete strict subject/property fact pairing for contradiction-safe semantics",
104
+ enforcementClass: "advisory",
105
+ category: "integrity",
106
+ },
107
+ {
108
+ name: "predicate-verifiability",
109
+ description: "Detect requires_predicate links that do not target ground fact_kind: predicate facts",
110
+ enforcementClass: "advisory",
111
+ category: "integrity",
112
+ },
113
+ {
114
+ name: "strict-readiness",
115
+ description: "Report strict contradiction-readiness levels for requirements that are still prose-only or otherwise not contradiction-ready",
116
+ enforcementClass: "migration",
117
+ category: "integrity",
118
+ },
119
+ {
120
+ name: "semantic-completeness",
121
+ description: "Every inventoried assertive proposition is modeled or explicitly classified",
122
+ enforcementClass: "migration",
123
+ category: "integrity",
124
+ },
125
+ ];
@@ -16,151 +16,70 @@
16
16
  along with this program. If not, see <https://www.gnu.org/licenses/>.
17
17
  */
18
18
  /**
19
- * All known check rules.
20
- * When adding a new rule, add it here.
19
+ * Central registry of KB check rules.
20
+ *
21
+ * Kibi — not the repository — owns each rule's enforcement class. Projects
22
+ * can no longer disable canonical checks. `--rules` remains an
23
+ * invocation-time diagnostic selector only and never persists policy.
24
+ *
25
+ * RULES itself is generated from packages/core/schema/rule-registry.json by
26
+ * scripts/generate-rule-registry.mjs; that JSON is the single editing point
27
+ * shared with the kb_check input enum and the Prolog rule_registry facts.
21
28
  */
22
- export const RULES = [
23
- // implements REQ-006
24
- {
25
- name: "must-priority-coverage",
26
- description: "Every must-priority requirement must have a scenario and a test",
27
- defaultEnabled: true,
28
- category: "coverage",
29
- },
30
- {
31
- name: "symbol-coverage",
32
- description: "Production symbols need qualifying coverage via covered_by plus a canonical requirement/scenario test path",
33
- defaultEnabled: true,
34
- category: "coverage",
35
- },
36
- {
37
- name: "symbol-traceability",
38
- description: "Production symbols must directly implement requirements for ownership; covered_by is coverage only, executable_for is test identity only, and ADR constraints are optional unless configured",
39
- defaultEnabled: true,
40
- category: "traceability",
41
- },
42
- {
43
- name: "no-dangling-refs",
44
- description: "All relationship targets must exist in the KB",
45
- defaultEnabled: true,
46
- category: "integrity",
47
- },
48
- {
49
- name: "no-cycles",
50
- description: "No circular dependency chains in requirements",
51
- defaultEnabled: true,
52
- category: "integrity",
53
- },
54
- {
55
- name: "required-fields",
56
- description: "All entities must have required fields",
57
- defaultEnabled: true,
58
- category: "integrity",
59
- },
60
- {
61
- name: "deprecated-adr-no-successor",
62
- description: "Deprecated ADRs must have a successor ADR that supersedes them",
63
- defaultEnabled: true,
64
- category: "lifecycle",
65
- },
66
- {
67
- name: "domain-contradictions",
68
- description: "Detect contradictions between requirements constraining the same fact",
69
- defaultEnabled: true,
70
- category: "integrity",
71
- },
72
- {
73
- name: "strict-fact-shape",
74
- description: "Detect malformed strict facts (facts with fact_kind that are missing required fields)",
75
- defaultEnabled: false,
76
- category: "integrity",
77
- },
78
- {
79
- name: "strict-req-fact-pairing",
80
- description: "Detect requirements with incomplete strict subject/property fact pairing for contradiction-safe semantics",
81
- defaultEnabled: false,
82
- category: "integrity",
83
- },
84
- {
85
- name: "strict-readiness",
86
- description: "Report strict contradiction-readiness levels for requirements that are still prose-only or otherwise not contradiction-ready",
87
- defaultEnabled: false,
88
- category: "integrity",
89
- },
90
- {
91
- name: "predicate-verifiability",
92
- description: "Detect requires_predicate links that do not target ground fact_kind: predicate facts",
93
- defaultEnabled: false,
94
- category: "integrity",
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
- },
102
- {
103
- name: "rule-safety",
104
- description: "Stored Logic IR rules use only the typed, bounded, stratified vocabulary",
105
- defaultEnabled: true,
106
- category: "integrity",
107
- },
108
- {
109
- name: "rule-verifiability",
110
- description: "Requirement rule links resolve to safe rules and registered rule schemas",
111
- defaultEnabled: true,
112
- category: "integrity",
113
- },
114
- {
115
- name: "semantic-completeness",
116
- description: "Every inventoried assertive proposition is modeled or explicitly classified",
117
- defaultEnabled: false,
118
- category: "integrity",
119
- },
120
- {
121
- name: "query-plan-safety",
122
- description: "Detect Prolog validation clauses that place negation before generator calls",
123
- defaultEnabled: true,
124
- category: "integrity",
125
- },
126
- ];
29
+ import { GENERATED_RULES } from "./rule-registry.generated.js";
30
+ /** All known check rules, generated from the shared registry JSON. */
31
+ export const RULES = GENERATED_RULES;
32
+ const RULES_BY_NAME = new Map(RULES.map((rule) => [rule.name, rule]));
127
33
  /**
128
34
  * Set of all rule names for quick lookups.
129
35
  */
130
36
  export const RULE_NAMES = new Set(RULES.map((r) => r.name));
37
+ export function getRuleDefinition(name) {
38
+ return RULES_BY_NAME.get(name);
39
+ }
40
+ export function getRuleEnforcementClass(name) {
41
+ return RULES_BY_NAME.get(name)?.enforcementClass;
42
+ }
43
+ /**
44
+ * Whether a plain `kibi check` evaluates this enforcement class.
45
+ * Canonical and advisory rules run; migration rules run only when
46
+ * explicitly selected with `--rules`.
47
+ */
48
+ export function ruleRunsByDefault(enforcementClass) {
49
+ return enforcementClass !== "migration";
50
+ }
51
+ /**
52
+ * Rules that a plain `kibi check` evaluates. Derived from enforcement
53
+ * class: canonical and advisory run, migration does not.
54
+ */
55
+ export function getDefaultRules() {
56
+ return new Set(RULES.filter((rule) => ruleRunsByDefault(rule.enforcementClass)).map((rule) => rule.name));
57
+ }
131
58
  /**
132
- * Default checks configuration with all rules enabled.
59
+ * Canonical blocking rules only. Used by health badges, reports, and CI
60
+ * gates that must not fail on advisory or migration diagnostics.
133
61
  */
134
- export const DEFAULT_CHECKS_CONFIG = {
135
- rules: Object.fromEntries(RULES.map((r) => [r.name, r.defaultEnabled])),
136
- symbolTraceability: {
137
- requireAdr: false,
138
- },
139
- };
62
+ export function getCanonicalRules() {
63
+ return new Set(RULES.filter((rule) => rule.enforcementClass === "canonical").map((r) => r.name));
64
+ }
65
+ export function isCanonicalRule(name) {
66
+ return RULES_BY_NAME.get(name)?.enforcementClass === "canonical";
67
+ }
140
68
  /**
141
- * Get effective rules based on config and CLI --rules filter.
142
- * @param configRules Rules from .kb/config.json (may be partial)
143
- * @param cliRules Optional comma-separated list from --rules CLI flag
69
+ * Resolve the rule set for one check invocation.
70
+ *
71
+ * @param requestedRules Optional invocation-time diagnostic selector
72
+ * (`--rules`). When absent, canonical and advisory rules run. When
73
+ * present, only the selected rules run for that invocation and nothing is
74
+ * persisted. Selection never changes enforcement class.
144
75
  * @returns Set of rule names that should run
145
76
  */
146
77
  // implements REQ-006
147
- export function getEffectiveRules(configRules, cliRules) {
148
- if (cliRules) {
149
- return new Set(cliRules
150
- .split(",")
151
- .map((s) => s.trim())
152
- .filter((s) => RULE_NAMES.has(s)));
153
- }
154
- // Start with all known rules
155
- const effective = new Set();
156
- for (const rule of RULES) {
157
- // Config value takes precedence over default, missing means use default
158
- const enabled = configRules?.[rule.name] ?? rule.defaultEnabled;
159
- if (enabled) {
160
- effective.add(rule.name);
161
- }
78
+ export function getEffectiveRules(requestedRules) {
79
+ if (requestedRules !== undefined) {
80
+ return new Set(requestedRules.filter((name) => RULE_NAMES.has(name)));
162
81
  }
163
- return effective;
82
+ return getDefaultRules();
164
83
  }
165
84
  /**
166
85
  * Validate a rule name.
@@ -172,18 +91,3 @@ export function validateRuleName(name) {
172
91
  }
173
92
  return null;
174
93
  }
175
- /**
176
- * Merge partial checks config with defaults.
177
- */
178
- export function mergeChecksConfig(partial) {
179
- return {
180
- rules: {
181
- ...DEFAULT_CHECKS_CONFIG.rules,
182
- ...partial?.rules,
183
- },
184
- symbolTraceability: {
185
- ...DEFAULT_CHECKS_CONFIG.symbolTraceability,
186
- ...partial?.symbolTraceability,
187
- },
188
- };
189
- }
@@ -1,5 +1,4 @@
1
- import type { KbConfig } from "./config.js";
2
- export declare const LATEST_KB_SCHEMA_VERSION = 4;
1
+ export declare const LATEST_KB_SCHEMA_VERSION = 5;
3
2
  export interface SchemaVersionStatus {
4
3
  status: "missing" | "invalid" | "older" | "current" | "newer";
5
4
  currentVersion: number | null;
@@ -7,8 +6,9 @@ export interface SchemaVersionStatus {
7
6
  needsMigration: boolean;
8
7
  warning: string | null;
9
8
  }
10
- type SchemaVersionConfig = Pick<KbConfig, "schemaVersion"> | null | undefined;
9
+ export type SchemaVersionSource = {
10
+ schemaVersion: number | string | null | undefined;
11
+ } | null | undefined;
11
12
  export declare function normalizeSchemaVersion(schemaVersion: number | string | null | undefined): number | null;
12
- export declare function getSchemaVersionStatus(config?: SchemaVersionConfig): SchemaVersionStatus;
13
- export {};
13
+ export declare function getSchemaVersionStatus(config?: SchemaVersionSource): SchemaVersionStatus;
14
14
  //# sourceMappingURL=schema-version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-version.d.ts","sourceRoot":"","sources":["../../src/utils/schema-version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9D,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,KAAK,mBAAmB,GAAG,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AAG9E,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAChD,MAAM,GAAG,IAAI,CAgBf;AAGD,wBAAgB,sBAAsB,CACpC,MAAM,CAAC,EAAE,mBAAmB,GAC3B,mBAAmB,CA6CrB"}
1
+ {"version":3,"file":"schema-version.d.ts","sourceRoot":"","sources":["../../src/utils/schema-version.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9D,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GACrD,IAAI,GACJ,SAAS,CAAC;AAGd,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAChD,MAAM,GAAG,IAAI,CAgBf;AAGD,wBAAgB,sBAAsB,CACpC,MAAM,CAAC,EAAE,mBAAmB,GAC3B,mBAAmB,CAgDrB"}