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
@@ -19,10 +19,49 @@ import { existsSync, mkdirSync, readFileSync, renameSync, writeFileSync, } from
19
19
  import * as path from "node:path";
20
20
  import { load as parseYAML } from "js-yaml";
21
21
  import { extractSymbolsFromStagedFile } from "../traceability/symbol-extract.js";
22
- import { resolveActiveBranch } from "../utils/branch-resolver.js";
23
- import { DEFAULT_CONFIG } from "../utils/config.js";
22
+ import { resolveBranchAttachment } from "../utils/branch-resolver.js";
23
+ import { defaultKbManifest, readKbManifest, readKbManifestStatus, writeKbManifest, } from "../utils/kb-manifest.js";
24
+ import { CANONICAL_ENTITY_PATHS } from "../utils/kb-paths.js";
24
25
  import { LATEST_KB_SCHEMA_VERSION, getSchemaVersionStatus, normalizeSchemaVersion, } from "../utils/schema-version.js";
26
+ import { updateGitIgnore } from "./init-helpers.js";
27
+ import { applyLegacyStorageMigration, planLegacyStorageMigration, } from "./legacy-storage-migration.js";
25
28
  const MIGRATION_AUDIT_VERSION = 1;
29
+ const SCHEMA_MIGRATION_STEPS = [
30
+ {
31
+ id: "config-canonical-v1",
32
+ from: 0,
33
+ to: 1,
34
+ description: "Preserve legacy configuration while recording canonical schema metadata.",
35
+ },
36
+ {
37
+ id: "symbol-granularity-v2",
38
+ from: 1,
39
+ to: 2,
40
+ description: "Mark provable coarse traceability links as legacy-link.",
41
+ },
42
+ {
43
+ id: "compatibility-v3",
44
+ from: 2,
45
+ to: 3,
46
+ description: "Record an audited compatibility no-op for schema v3.",
47
+ },
48
+ {
49
+ id: "semantic-backfill-v4",
50
+ from: 3,
51
+ to: 4,
52
+ description: "Mark semantic-advisor backfill as pending without inventing claims.",
53
+ },
54
+ {
55
+ id: "canonical-storage-v5",
56
+ from: 4,
57
+ to: 5,
58
+ description: "Move Kibi knowledge into the canonical .kb/ namespace and retire .kb/config.json.",
59
+ },
60
+ ];
61
+ function migrationStepsFor(fromVersion) {
62
+ const start = Math.max(0, fromVersion ?? 0);
63
+ return SCHEMA_MIGRATION_STEPS.filter((step) => step.from >= start);
64
+ }
26
65
  function printWarning(message) {
27
66
  console.log(`Warning: ${message}`);
28
67
  }
@@ -31,59 +70,24 @@ function toRelativePath(cwd, filePath) {
31
70
  return relativePath.length > 0 ? relativePath : path.basename(filePath);
32
71
  }
33
72
  function resolveMigrationBranch(cwd) {
34
- const result = resolveActiveBranch(cwd);
73
+ const result = resolveBranchAttachment(cwd);
35
74
  if ("error" in result) {
36
75
  const isNonGitContext = result.code === "NOT_A_GIT_REPO" || result.code === "GIT_NOT_AVAILABLE";
37
76
  if (isNonGitContext) {
38
77
  return {
39
- branch: "main",
40
- warnings: [
41
- "Not in a git repository; using 'main' for migration audit metadata.",
42
- ],
78
+ error: "Not in a git repository; set KIBI_BRANCH explicitly for migration audit metadata.",
43
79
  };
44
80
  }
45
81
  return {
46
82
  error: `Failed to resolve active branch: ${result.error}`,
47
83
  };
48
84
  }
49
- return {
50
- branch: result.branch,
51
- warnings: [],
52
- };
53
- }
54
- function loadRawConfigDocument(cwd) {
55
- const kbDir = path.join(cwd, ".kb");
56
- const configPath = path.join(kbDir, "config.json");
57
- if (!existsSync(kbDir)) {
58
- return {
59
- error: "Missing .kb/ directory. Run 'kibi init' before 'kibi migrate'.",
60
- };
61
- }
62
- if (!existsSync(configPath)) {
63
- return {
64
- error: "Missing .kb/config.json. Run 'kibi init' to create a baseline config before migrating.",
65
- };
66
- }
67
- try {
68
- const parsed = JSON.parse(readFileSync(configPath, "utf8"));
69
- if (parsed === null ||
70
- Array.isArray(parsed) ||
71
- typeof parsed !== "object") {
72
- return {
73
- error: ".kb/config.json must contain a JSON object. Fix the file and retry 'kibi migrate'.",
74
- };
75
- }
76
- return {
77
- config: parsed,
78
- configPath,
79
- };
80
- }
81
- catch (error) {
82
- const message = error instanceof Error ? error.message : String(error);
85
+ if (result.migrationRequired) {
83
86
  return {
84
- error: `Invalid .kb/config.json: ${message}. Fix the JSON or re-run 'kibi init'.`,
87
+ error: `Legacy branch attachment for '${result.gitBranch}' requires 'kibi branch migrate --from ${result.kbBranch} --to ${result.gitBranch} --apply' before schema migration.`,
85
88
  };
86
89
  }
90
+ return { branch: result.kbBranch, warnings: [] };
87
91
  }
88
92
  function writeJsonAtomically(filePath, value) {
89
93
  writeTextAtomically(filePath, `${JSON.stringify(value, null, 2)}\n`);
@@ -94,7 +98,7 @@ function writeTextAtomically(filePath, content) {
94
98
  writeFileSync(tempPath, content, "utf8");
95
99
  renameSync(tempPath, filePath);
96
100
  }
97
- function formatSchemaVersion(rawSchemaVersion, normalized) {
101
+ export function formatSchemaVersion(rawSchemaVersion, normalized) {
98
102
  if (normalized === null) {
99
103
  if (rawSchemaVersion === undefined) {
100
104
  return "missing";
@@ -107,7 +111,7 @@ function buildMigrationAuditRecord(args) {
107
111
  return {
108
112
  auditVersion: MIGRATION_AUDIT_VERSION,
109
113
  branch: args.branch,
110
- configPath: args.configPath,
114
+ manifestPath: args.manifestPath,
111
115
  fromVersion: args.fromVersion,
112
116
  migratedAt: args.migratedAt,
113
117
  semanticAdvisorBackfill: args.semanticAdvisorBackfill,
@@ -115,6 +119,7 @@ function buildMigrationAuditRecord(args) {
115
119
  symbolGranularityLegacyLinks: args.symbolGranularityLegacyLinks,
116
120
  toVersion: LATEST_KB_SCHEMA_VERSION,
117
121
  warning: args.warning,
122
+ steps: args.steps,
118
123
  };
119
124
  }
120
125
  function normalizeSemanticAdvisorBackfill(value) {
@@ -203,13 +208,8 @@ function addLegacyReasonsToManifestText(content, symbolIds) {
203
208
  return output.join("\n");
204
209
  }
205
210
  function migrateSymbolGranularity(options) {
206
- const configuredSymbolsPath = options.config.paths?.symbols ?? DEFAULT_CONFIG.paths.symbols;
207
- if (typeof configuredSymbolsPath !== "string") {
208
- return { count: 0, manifestPath: null };
209
- }
210
- const manifestPath = path.isAbsolute(configuredSymbolsPath)
211
- ? configuredSymbolsPath
212
- : path.join(options.cwd, configuredSymbolsPath);
211
+ const manifestPath = options.manifestPath ??
212
+ path.join(options.cwd, CANONICAL_ENTITY_PATHS.symbols);
213
213
  if (!existsSync(manifestPath)) {
214
214
  return { count: 0, manifestPath };
215
215
  }
@@ -261,102 +261,255 @@ function migrateSymbolGranularity(options) {
261
261
  }
262
262
  return { count, manifestPath };
263
263
  }
264
+ export function warnMigrationRequiredWithoutYes() {
265
+ printWarning("Migration required for this repository.");
266
+ console.log("No changes applied.");
267
+ console.log("Use --dry-run to preview or --yes to apply the migration.");
268
+ return { exitCode: 0 };
269
+ }
264
270
  // implements REQ-003
265
271
  export async function migrateCommand(options = {}) {
266
- const cwd = process.cwd();
272
+ if (options.applySafe === true ||
273
+ options.format === "json" ||
274
+ (options.yes !== true && options.dryRun !== true)) {
275
+ return migratePlanCommand(options);
276
+ }
277
+ const cwd = path.resolve(options.workspaceRoot ?? process.cwd());
267
278
  const branchResult = resolveMigrationBranch(cwd);
268
279
  if ("error" in branchResult) {
269
280
  console.error(branchResult.error);
270
281
  return { exitCode: 1 };
271
282
  }
272
- const configResult = loadRawConfigDocument(cwd);
273
- if ("error" in configResult) {
274
- console.error(configResult.error);
283
+ const manifestStatus = readKbManifestStatus(cwd);
284
+ const storagePlan = planLegacyStorageMigration(cwd);
285
+ // Baseline for fresh workspaces driven by the internal plan executor.
286
+ if (options.initializeMissingConfig === true &&
287
+ manifestStatus.state === "missing") {
288
+ writeKbManifest(cwd, defaultKbManifest());
289
+ }
290
+ if (manifestStatus.state === "missing" &&
291
+ storagePlan.moves.length === 0 &&
292
+ storagePlan.legacyConfig === "absent") {
293
+ console.error("Missing .kb/ lifecycle state. Run 'kibi init' to create the canonical layout before migrating.");
275
294
  return { exitCode: 1 };
276
295
  }
277
296
  const { branch, warnings: branchWarnings } = branchResult;
278
- const { config, configPath } = configResult;
279
- const configStatus = getSchemaVersionStatus(config);
280
- const normalizedVersion = normalizeSchemaVersion(config.schemaVersion);
281
- const rawSchemaVersion = config.schemaVersion;
282
- const needsCanonicalSchemaWrite = normalizedVersion === LATEST_KB_SCHEMA_VERSION &&
283
- rawSchemaVersion !== undefined &&
284
- rawSchemaVersion !== LATEST_KB_SCHEMA_VERSION;
285
- const migrationWarning = needsCanonicalSchemaWrite
286
- ? "KB config schemaVersion should be normalized to the latest numeric version."
297
+ const currentManifest = readKbManifest(cwd);
298
+ const legacySchemaVersion = normalizeSchemaVersion(storagePlan.schemaVersion);
299
+ const currentVersion = currentManifest?.schemaVersion ?? legacySchemaVersion;
300
+ const normalizedVersion = normalizeSchemaVersion(currentVersion);
301
+ const configStatus = getSchemaVersionStatus(normalizedVersion === null
302
+ ? undefined
303
+ : { schemaVersion: normalizedVersion });
304
+ const needsStorageMigration = storagePlan.moves.length > 0 || storagePlan.legacyConfig !== "absent";
305
+ const needsSchemaUpgrade = configStatus.needsMigration || normalizedVersion === null;
306
+ const migrationWarning = manifestStatus.state === "invalid" || manifestStatus.state === "future"
307
+ ? manifestStatus.warning
287
308
  : configStatus.warning;
288
309
  const warnings = [
289
310
  ...branchWarnings,
290
311
  ...(migrationWarning ? [migrationWarning] : []),
291
312
  ];
292
313
  const auditPath = path.join(cwd, ".kb", "migrations", `${branch}.json`);
293
- const configPathRelative = toRelativePath(cwd, configPath);
294
- const auditPathRelative = toRelativePath(cwd, auditPath);
295
314
  for (const warning of warnings) {
296
315
  printWarning(warning);
297
316
  }
317
+ if (storagePlan.blockers.length > 0) {
318
+ for (const blocker of storagePlan.blockers) {
319
+ console.error(`Blocked: ${blocker}`);
320
+ }
321
+ return { exitCode: 1 };
322
+ }
298
323
  if (configStatus.currentVersion !== null &&
299
324
  configStatus.currentVersion > configStatus.latestVersion) {
300
325
  console.error(`Unsupported schemaVersion ${configStatus.currentVersion}. Upgrade kibi-cli before migrating this KB.`);
301
326
  return { exitCode: 1 };
302
327
  }
303
- if (!configStatus.needsMigration && !needsCanonicalSchemaWrite) {
304
- console.log(`No migration needed: ${configPathRelative} is already at schemaVersion ${LATEST_KB_SCHEMA_VERSION}.`);
328
+ if (!needsStorageMigration && !needsSchemaUpgrade) {
329
+ console.log(`No migration needed: the KB is already at schemaVersion ${LATEST_KB_SCHEMA_VERSION} on the canonical .kb/ layout.`);
305
330
  if (existsSync(auditPath)) {
306
- console.log(`Existing migration audit metadata: ${auditPathRelative}`);
331
+ console.log(`Existing migration audit metadata: ${toRelativePath(cwd, auditPath)}`);
332
+ }
333
+ if (options.yes === true) {
334
+ updateGitIgnore(cwd);
307
335
  }
308
336
  return { exitCode: 0 };
309
337
  }
310
- const fromVersionLabel = formatSchemaVersion(rawSchemaVersion, normalizedVersion);
311
- const symbolGranularityMigration = migrateSymbolGranularity({
312
- cwd,
313
- config,
314
- dryRun: options.dryRun || !options.yes,
315
- });
316
- const semanticAdvisorBackfill = normalizeSemanticAdvisorBackfill(config.semanticAdvisorBackfill) ??
317
- "pending";
338
+ const fromVersionLabel = formatSchemaVersion(currentVersion, normalizedVersion);
339
+ const migrationSteps = migrationStepsFor(configStatus.currentVersion);
340
+ const symbolGranularityStep = migrationSteps.some((step) => step.id === "symbol-granularity-v2");
341
+ const semanticBackfillStep = migrationSteps.some((step) => step.id === "semantic-backfill-v4");
318
342
  if (options.dryRun) {
319
- console.log(`dry run: would migrate ${configPathRelative} schemaVersion from ${fromVersionLabel} to ${LATEST_KB_SCHEMA_VERSION}.`);
320
- console.log(`dry run: would write migration audit metadata to ${auditPathRelative}.`);
321
- if (symbolGranularityMigration.count > 0) {
322
- console.log(`dry run: would mark ${symbolGranularityMigration.count} legacy coarse symbol link(s) in ${toRelativePath(cwd, symbolGranularityMigration.manifestPath ?? "symbols.yaml")}.`);
343
+ if (storagePlan.moves.length > 0) {
344
+ console.log(`dry run: would move ${storagePlan.moves.length} legacy knowledge file(s) into .kb/:`);
345
+ for (const move of storagePlan.moves) {
346
+ console.log(` ${move.from} -> ${move.to}`);
347
+ }
323
348
  }
324
- if (semanticAdvisorBackfill === "pending") {
325
- console.log(`dry run: would mark semantic advisor backfill as pending in ${configPathRelative}.`);
349
+ if (storagePlan.legacyConfig !== "absent") {
350
+ console.log("dry run: would retire legacy .kb/config.json after moving knowledge into .kb/.");
326
351
  }
352
+ console.log(`dry run: would set schemaVersion from ${fromVersionLabel} to ${LATEST_KB_SCHEMA_VERSION} in .kb/manifest.json.`);
353
+ if (symbolGranularityStep) {
354
+ const symbolsSource = storagePlan.moves.find((move) => move.to === CANONICAL_ENTITY_PATHS.symbols)?.from ?? CANONICAL_ENTITY_PATHS.symbols;
355
+ const preview = migrateSymbolGranularity({
356
+ cwd,
357
+ dryRun: true,
358
+ manifestPath: path.join(cwd, symbolsSource),
359
+ });
360
+ if (preview.count > 0) {
361
+ console.log(`dry run: would mark ${preview.count} legacy coarse symbol link(s) as legacy-link.`);
362
+ }
363
+ }
364
+ console.log(`dry run: would write migration audit metadata to ${toRelativePath(cwd, auditPath)}.`);
327
365
  console.log("Re-run with --yes to apply these changes.");
328
366
  return { exitCode: 0 };
329
367
  }
330
- if (!options.yes) {
331
- printWarning(`Migration required for ${configPathRelative}.`);
332
- console.log("No changes applied.");
333
- console.log("Use --dry-run to preview or --yes to apply the migration.");
334
- return { exitCode: 0 };
368
+ // One-way storage cutover first: files must reach the canonical layout
369
+ // before the manifest records the new schema generation.
370
+ if (needsStorageMigration) {
371
+ const storageResult = applyLegacyStorageMigration(cwd, storagePlan);
372
+ if (storageResult.movedFiles.length > 0) {
373
+ console.log(`Moved ${storageResult.movedFiles.length} knowledge file(s) into the canonical .kb/ layout.`);
374
+ }
375
+ if (storageResult.retiredLegacyConfig) {
376
+ console.log("Retired legacy .kb/config.json.");
377
+ }
335
378
  }
336
- const nextConfig = {
337
- ...config,
379
+ const symbolGranularityMigration = migrateSymbolGranularity({
380
+ cwd,
381
+ dryRun: !symbolGranularityStep || options.dryRun || !options.yes,
382
+ });
383
+ const semanticAdvisorBackfill = normalizeSemanticAdvisorBackfill(readKbManifest(cwd)?.semanticAdvisorBackfill) ??
384
+ normalizeSemanticAdvisorBackfill(storagePlan.semanticAdvisorBackfill) ??
385
+ (semanticBackfillStep || needsStorageMigration
386
+ ? "pending"
387
+ : "not_applicable");
388
+ const existingManifest = readKbManifest(cwd) ?? defaultKbManifest();
389
+ writeKbManifest(cwd, {
390
+ ...existingManifest,
338
391
  schemaVersion: LATEST_KB_SCHEMA_VERSION,
339
392
  semanticAdvisorBackfill,
340
- };
393
+ });
341
394
  const migratedAt = new Date().toISOString();
342
- writeJsonAtomically(configPath, nextConfig);
343
395
  writeJsonAtomically(auditPath, buildMigrationAuditRecord({
344
396
  branch,
345
- configPath: configPathRelative,
397
+ manifestPath: KB_MANIFEST_RELATIVE,
346
398
  fromVersion: configStatus.currentVersion,
347
399
  migratedAt,
348
400
  semanticAdvisorBackfill,
349
401
  symbolGranularityLegacyLinks: symbolGranularityMigration.count,
350
402
  warning: migrationWarning,
403
+ steps: migrationSteps.map((step) => step.id),
351
404
  }));
352
- console.log(`Migrated ${configPathRelative} schemaVersion from ${fromVersionLabel} to ${LATEST_KB_SCHEMA_VERSION}.`);
405
+ console.log(`Migrated the KB to schemaVersion ${LATEST_KB_SCHEMA_VERSION} on the canonical .kb/ layout (was ${fromVersionLabel}).`);
353
406
  if (symbolGranularityMigration.count > 0) {
354
407
  console.log(`Marked ${symbolGranularityMigration.count} existing coarse symbol link(s) as legacy-link.`);
355
408
  }
356
409
  if (semanticAdvisorBackfill === "pending") {
357
- console.log(`Marked semantic advisor backfill as pending in ${configPathRelative}.`);
410
+ console.log(`Marked semantic advisor backfill as pending in ${KB_MANIFEST_RELATIVE}.`);
358
411
  }
359
- console.log(`Wrote migration audit metadata to ${auditPathRelative}.`);
412
+ console.log(`Wrote migration audit metadata to ${toRelativePath(cwd, auditPath)}.`);
360
413
  console.log("Migration complete. Future 'kibi migrate' runs will be a no-op.");
414
+ updateGitIgnore(cwd);
415
+ return { exitCode: 0 };
416
+ }
417
+ const KB_MANIFEST_RELATIVE = ".kb/manifest.json";
418
+ async function buildWorkspaceMigrationPlan(workspaceRoot = process.cwd()) {
419
+ const [{ createCliRuntime }, { executeOperation }, { statusSpec }, { checkSpec }, { coverageSpec }, { mergeMigrationPlans },] = await Promise.all([
420
+ import("../runtime/cli-runtime.js"),
421
+ import("../public/operations/runtime-types.js"),
422
+ import("../public/operations/specs/discovery.js"),
423
+ import("../public/operations/specs/check.js"),
424
+ import("../public/operations/specs/reporting.js"),
425
+ import("../public/operations/migration-plan.js"),
426
+ ]);
427
+ const runtime = createCliRuntime({ workspaceRoot });
428
+ const statusResult = await executeOperation(runtime, statusSpec, {});
429
+ const status = statusResult.structuredContent;
430
+ const plans = [];
431
+ if (status?.migrationPlan !== undefined)
432
+ plans.push(status.migrationPlan);
433
+ const storeHealthy = status?.branchStore?.state === "healthy";
434
+ const schemaCurrent = status?.schemaStatus?.needsMigration !== true;
435
+ if (storeHealthy &&
436
+ schemaCurrent &&
437
+ status?.branchAttachment?.kind === "exact") {
438
+ const checkResult = await executeOperation(runtime, checkSpec, {});
439
+ if (checkResult.structuredContent?.migrationPlan !== undefined) {
440
+ plans.push(checkResult.structuredContent.migrationPlan);
441
+ }
442
+ const coverageInputs = [
443
+ { by: "req", limit: 10_000, offset: 0 },
444
+ { by: "symbol", limit: 10_000, offset: 0 },
445
+ ];
446
+ for (const input of coverageInputs) {
447
+ const coverageResult = await executeOperation(runtime, coverageSpec, input);
448
+ if (coverageResult.structuredContent?.migrationPlan !== undefined) {
449
+ plans.push(coverageResult.structuredContent.migrationPlan);
450
+ }
451
+ }
452
+ }
453
+ if (plans.length === 0) {
454
+ const { buildMigrationPlan } = await import("../public/operations/migration-plan.js");
455
+ return buildMigrationPlan({
456
+ evaluatedDomains: ["package", "branch", "storage", "schema"],
457
+ incompleteDomains: ["status"],
458
+ diagnostics: [
459
+ "Unable to assemble downstream migration domains from the current workspace state.",
460
+ ],
461
+ });
462
+ }
463
+ return mergeMigrationPlans(plans);
464
+ }
465
+ async function migratePlanCommand(options) {
466
+ const workspaceRoot = path.resolve(options.workspaceRoot ?? process.cwd());
467
+ const plan = await buildWorkspaceMigrationPlan(workspaceRoot);
468
+ if (options.applySafe === true) {
469
+ if (!options.approvedPlanHash) {
470
+ console.error("--apply-safe requires --approved-plan-hash <sha256>.");
471
+ return { exitCode: 2 };
472
+ }
473
+ if (options.approvedPlanHash !== plan.planHash) {
474
+ console.error("Migration plan changed; regenerate the plan and approve its current hash.");
475
+ return { exitCode: 2 };
476
+ }
477
+ const approvedActionIds = options.approvedActionIds && options.approvedActionIds.length > 0
478
+ ? options.approvedActionIds
479
+ : plan.actions
480
+ .filter((action) => action.state === "ready" && action.autoApplicable)
481
+ .map((action) => action.id);
482
+ if (approvedActionIds.length === 0) {
483
+ console.log("No approved automatic migration actions are ready.");
484
+ return { exitCode: 0 };
485
+ }
486
+ const [{ createCliRuntime }, { executeOperation }, { applyPlanSpec }] = await Promise.all([
487
+ import("../runtime/cli-runtime.js"),
488
+ import("../public/operations/runtime-types.js"),
489
+ import("../public/operations/specs/planning.js"),
490
+ ]);
491
+ const result = await executeOperation(createCliRuntime({ workspaceRoot }), applyPlanSpec, { plan, approvedPlanHash: options.approvedPlanHash, approvedActionIds });
492
+ if (options.format === "json") {
493
+ console.log(JSON.stringify(result, null, 2));
494
+ }
495
+ else {
496
+ console.log(result.content[0]?.text ?? "Migration applied.");
497
+ console.log(JSON.stringify(result.structuredContent, null, 2));
498
+ }
499
+ return {
500
+ exitCode: result.structuredContent?.outcome === "applied" ? 0 : 1,
501
+ };
502
+ }
503
+ if (options.format === "json") {
504
+ console.log(JSON.stringify(plan, null, 2));
505
+ }
506
+ else {
507
+ console.log(`Migration plan ${plan.planHash}`);
508
+ console.log(`Status: ${plan.status}; actions: ${plan.summary.actionCount}; automatic-ready: ${plan.actions.filter((action) => action.state === "ready" && action.autoApplicable).length}`);
509
+ for (const action of plan.actions) {
510
+ console.log(`- ${action.state} ${action.safety} ${action.code}: ${action.id}`);
511
+ }
512
+ console.log("Use --format json for structured actions, or --apply-safe with the approved plan hash.");
513
+ }
361
514
  return { exitCode: 0 };
362
515
  }
@@ -0,0 +1,7 @@
1
+ export type ProofMigrateLegacyOptions = Readonly<{
2
+ test?: string;
3
+ }>;
4
+ export declare function proofMigrateLegacyCommand(options: ProofMigrateLegacyOptions): Promise<{
5
+ exitCode: number;
6
+ }>;
7
+ //# sourceMappingURL=proof-migrate-legacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proof-migrate-legacy.d.ts","sourceRoot":"","sources":["../../src/commands/proof-migrate-legacy.ts"],"names":[],"mappings":"AAsBA,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC;IAE/C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC,CAAC;AAGH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAqC/B"}
@@ -0,0 +1,45 @@
1
+ /*
2
+ Kibi — repo-local, per-branch, queryable long-term memory for software projects
3
+ Copyright (C) 2026 Piotr Franczyk
4
+
5
+ This program is free software: you can redistribute it and/or modify
6
+ it under the terms of the GNU Affero General Public License as published by
7
+ the Free Software Foundation, either version 3 of the License, or
8
+ (at your option) any later version.
9
+
10
+ This program is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU Affero General Public License for more details.
14
+
15
+ You should have received a copy of the GNU Affero General Public License
16
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ import { executeMigrateLegacyReceipts } from "../operations/proof/migrate-legacy-receipts.js";
19
+ import { createCliRuntime } from "../runtime/cli-runtime.js";
20
+ // implements REQ-kibi-proof-evidence-protocol
21
+ export async function proofMigrateLegacyCommand(options) {
22
+ const runtime = createCliRuntime();
23
+ const context = await runtime.open({
24
+ name: "kibi_proof_migrate_legacy",
25
+ effects: ["kb-mutate", "workspace-write"],
26
+ requiresProlog: true,
27
+ execute: async () => undefined,
28
+ }, {});
29
+ let completed = false;
30
+ try {
31
+ const result = await executeMigrateLegacyReceipts(options.test === undefined ? {} : { testId: options.test }, context);
32
+ process.stdout.write(`${result.content[0]?.text ?? ""}\n`);
33
+ for (const row of result.structuredContent.tests) {
34
+ process.stdout.write(` ${row.testId}: legacy verification_receipts removed\n`);
35
+ }
36
+ completed = true;
37
+ await runtime.afterSuccess({ name: "kibi_proof_migrate_legacy" }, context);
38
+ return { exitCode: 0 };
39
+ }
40
+ finally {
41
+ await runtime.close(context, completed
42
+ ? { status: "success", result: 0 }
43
+ : { status: "error", error: 1 });
44
+ }
45
+ }
@@ -0,0 +1,8 @@
1
+ export type ProofPruneOptions = Readonly<{
2
+ test?: string;
3
+ keep?: string;
4
+ }>;
5
+ export declare function proofPruneCommand(options: ProofPruneOptions): Promise<{
6
+ exitCode: number;
7
+ }>;
8
+ //# sourceMappingURL=proof-prune.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proof-prune.d.ts","sourceRoot":"","sources":["../../src/commands/proof-prune.ts"],"names":[],"mappings":"AAsBA,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IAEvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC,CAAC;AAGH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC;IAC3E,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CA0CD"}
@@ -0,0 +1,53 @@
1
+ /*
2
+ Kibi — repo-local, per-branch, queryable long-term memory for software projects
3
+ Copyright (C) 2026 Piotr Franczyk
4
+
5
+ This program is free software: you can redistribute it and/or modify
6
+ it under the terms of the GNU Affero General Public License as published by
7
+ the Free Software Foundation, either version 3 of the License, or
8
+ (at your option) any later version.
9
+
10
+ This program is distributed in the hope that it will be useful,
11
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ GNU Affero General Public License for more details.
14
+
15
+ You should have received a copy of the GNU Affero General Public License
16
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
18
+ import { executePruneReceipts } from "../operations/proof/prune-receipts.js";
19
+ import { createCliRuntime } from "../runtime/cli-runtime.js";
20
+ // implements REQ-kibi-proof-evidence-protocol
21
+ export async function proofPruneCommand(options) {
22
+ const keepRaw = options.keep ?? "1";
23
+ const keep = Number.parseInt(keepRaw, 10);
24
+ if (!Number.isSafeInteger(keep) || keep < 1 || keep > 50) {
25
+ throw new Error("proof prune: --keep must be an integer between 1 and 50");
26
+ }
27
+ const runtime = createCliRuntime();
28
+ const context = await runtime.open({
29
+ name: "kibi_proof_prune",
30
+ effects: ["kb-mutate", "workspace-write"],
31
+ requiresProlog: true,
32
+ execute: async () => undefined,
33
+ }, {});
34
+ let completed = false;
35
+ try {
36
+ const result = await executePruneReceipts({
37
+ keep,
38
+ ...(options.test === undefined ? {} : { testId: options.test }),
39
+ }, context);
40
+ process.stdout.write(`${result.content[0]?.text ?? ""}\n`);
41
+ for (const row of result.structuredContent.tests) {
42
+ process.stdout.write(` ${row.testId}: ${row.before} -> ${row.after} receipt(s)\n`);
43
+ }
44
+ completed = true;
45
+ await runtime.afterSuccess({ name: "kibi_proof_prune" }, context);
46
+ return { exitCode: 0 };
47
+ }
48
+ finally {
49
+ await runtime.close(context, completed
50
+ ? { status: "success", result: 0 }
51
+ : { status: "error", error: 1 });
52
+ }
53
+ }
@@ -0,0 +1,37 @@
1
+ import { executeIngestProof } from "../operations/proof/ingest-proof.js";
2
+ import type { ProofIntegration } from "../proof/integrations.js";
3
+ import type { OperationRuntime } from "../public/operations/runtime-types.js";
4
+ import { readWorkspaceSnapshot } from "../public/operations/workspace-snapshot.js";
5
+ export type ProveCommandOptions = Readonly<{
6
+ testId?: string;
7
+ requirement?: string;
8
+ integration?: string;
9
+ integrationExcept?: string;
10
+ all?: boolean;
11
+ workspaceRoot?: string;
12
+ }>;
13
+ export type ProveCommandDependencies = Readonly<{
14
+ runtime?: OperationRuntime;
15
+ ingestProof?: typeof executeIngestProof;
16
+ }>;
17
+ type SelectedTest = Record<string, unknown>;
18
+ /**
19
+ * Describe which paths moved when a proof snapshot refusal fires, so
20
+ * consumers can see what kibi thinks changed instead of diffing by hand.
21
+ * Snapshot-relevant changes come first (receipt-only and ignored edits do
22
+ * not affect the hash), and the list is capped to keep the error readable.
23
+ */
24
+ export declare function describeWorkspaceDrift(snapshot: Awaited<ReturnType<typeof readWorkspaceSnapshot>>): string;
25
+ /**
26
+ * Parse a comma-separated integration selector ("a", "a,b,c") into a set of
27
+ * trimmed, non-empty ids. Empty selectors yield an empty set; blank items
28
+ * fail fast instead of silently narrowing the selection.
29
+ */
30
+ export declare function parseIntegrationSelector(value: string | undefined, flagName: string): Set<string>;
31
+ export declare function testId(test: SelectedTest): string;
32
+ export declare function commandEnvironment(integration: ProofIntegration, commandArgv: readonly string[], snapshot: string, workspaceRoot: string, testIds: readonly string[], outputPath: string): NodeJS.ProcessEnv;
33
+ export declare function proveCommand(options: ProveCommandOptions, deps?: ProveCommandDependencies): Promise<{
34
+ exitCode: number;
35
+ }>;
36
+ export {};
37
+ //# sourceMappingURL=prove.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prove.d.ts","sourceRoot":"","sources":["../../src/commands/prove.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AASjE,OAAO,KAAK,EAEV,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAYnF,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC,CAAC;AAGH,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC;IAC9C,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,kBAAkB,CAAC;CACzC,CAAC,CAAC;AAEH,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5C;;;;;GAKG;AAEH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,GAC1D,MAAM,CAiBR;AAED;;;;GAIG;AAEH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,MAAM,GACf,GAAG,CAAC,MAAM,CAAC,CAUb;AAQD,wBAAgB,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAEjD;AAkCD,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,gBAAgB,EAC7B,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,UAAU,CAWnB;AA4KD,wBAAsB,YAAY,CAChC,OAAO,EAAE,mBAAmB,EAC5B,IAAI,GAAE,wBAA6B,GAClC,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAgL/B"}