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
@@ -17,143 +17,131 @@
17
17
  */
18
18
  import { existsSync, readFileSync } from "node:fs";
19
19
  import * as path from "node:path";
20
- import { DEFAULT_CHECKS_CONFIG, } from "./rule-registry.js";
21
- import { LATEST_KB_SCHEMA_VERSION } from "./schema-version.js";
20
+ import { CANONICAL_ENTITY_PATHS, LEGACY_DEFAULT_ENTITY_PATHS, } from "./kb-paths.js";
21
+ /** Canonical entity paths; always the same, never merged with user input. */
22
+ export const DEFAULT_CONFIG_PATHS = CANONICAL_ENTITY_PATHS;
22
23
  /**
23
- * Default configuration values for new repositories.
24
+ * Load the canonical entity paths. The result is constant: Kibi owns the
25
+ * layout and repositories cannot relocate knowledge lanes.
24
26
  */
25
- // implements REQ-003
26
- export const DEFAULT_CONFIG = {
27
- // implements REQ-003
28
- $schema: "https://raw.githubusercontent.com/Looted/kibi/master/packages/cli/schema/config.json",
29
- schemaVersion: LATEST_KB_SCHEMA_VERSION,
30
- paths: {
31
- requirements: "documentation/requirements",
32
- scenarios: "documentation/scenarios",
33
- tests: "documentation/tests",
34
- adr: "documentation/adr",
35
- flags: "documentation/flags",
36
- events: "documentation/events",
37
- facts: "documentation/facts",
38
- symbols: "documentation/symbols.yaml",
39
- },
40
- checks: DEFAULT_CHECKS_CONFIG,
41
- };
27
+ export function loadEntityPaths(_cwd = process.cwd()) {
28
+ return CANONICAL_ENTITY_PATHS;
29
+ }
30
+ function isRecord(value) {
31
+ return value !== null && typeof value === "object" && !Array.isArray(value);
32
+ }
33
+ function pickLegacyPathValue(paths, key) {
34
+ const value = paths[key];
35
+ return typeof value === "string" ? value : undefined;
36
+ }
37
+ /** Whether a legacy `.kb/config.json` exists at the workspace root. */
38
+ export function legacyConfigExists(cwd) {
39
+ return existsSync(path.join(cwd, ".kb", "config.json"));
40
+ }
42
41
  /**
43
- * Default paths used by sync command (backward compatible glob patterns).
42
+ * Read a legacy `.kb/config.json` if one exists. Malformed JSON returns
43
+ * `kind: "malformed"` so migration can report actionable diagnostics
44
+ * instead of silently guessing paths.
44
45
  */
45
- export const DEFAULT_SYNC_PATHS = {
46
- // implements REQ-003
47
- requirements: "requirements/**/*.md",
48
- scenarios: "scenarios/**/*.md",
49
- tests: "tests/**/*.md",
50
- adr: "adr/**/*.md",
51
- flags: "flags/**/*.md",
52
- events: "events/**/*.md",
53
- facts: "facts/**/*.md",
54
- symbols: "symbols.yaml",
55
- };
56
- function readUserConfig(configPath) {
57
- if (!existsSync(configPath)) {
46
+ export function readLegacyKbConfig(cwd) {
47
+ const configPath = path.join(cwd, ".kb", "config.json");
48
+ if (!existsSync(configPath))
49
+ return { kind: "none" };
50
+ let raw;
51
+ try {
52
+ raw = readFileSync(configPath, "utf8");
53
+ }
54
+ catch (error) {
58
55
  return {
59
- userConfig: {},
60
- useDefaultSchemaVersion: true,
56
+ kind: "malformed",
57
+ error: error instanceof Error ? error.message : String(error),
61
58
  };
62
59
  }
63
60
  try {
64
- const content = readFileSync(configPath, "utf8");
61
+ const parsed = JSON.parse(raw);
62
+ if (!isRecord(parsed)) {
63
+ return {
64
+ kind: "malformed",
65
+ error: "config.json must contain a JSON object",
66
+ };
67
+ }
68
+ const paths = isRecord(parsed.paths) ? parsed.paths : undefined;
69
+ let legacyPaths = undefined;
70
+ if (paths !== undefined) {
71
+ const next = {};
72
+ for (const key of [
73
+ "requirements",
74
+ "scenarios",
75
+ "tests",
76
+ "adr",
77
+ "flags",
78
+ "events",
79
+ "facts",
80
+ "symbols",
81
+ ]) {
82
+ const value = pickLegacyPathValue(paths, key);
83
+ if (value !== undefined) {
84
+ next[key] = value;
85
+ }
86
+ }
87
+ legacyPaths = Object.keys(next).length > 0 ? next : undefined;
88
+ }
65
89
  return {
66
- userConfig: JSON.parse(content),
67
- useDefaultSchemaVersion: false,
90
+ kind: "present",
91
+ config: {
92
+ ...(typeof parsed.schemaVersion === "number" ||
93
+ typeof parsed.schemaVersion === "string"
94
+ ? { schemaVersion: parsed.schemaVersion }
95
+ : {}),
96
+ ...(parsed.semanticAdvisorBackfill === "pending" ||
97
+ parsed.semanticAdvisorBackfill === "completed" ||
98
+ parsed.semanticAdvisorBackfill === "not_applicable"
99
+ ? { semanticAdvisorBackfill: parsed.semanticAdvisorBackfill }
100
+ : {}),
101
+ ...(typeof parsed.symbolsManifest === "string"
102
+ ? { symbolsManifest: parsed.symbolsManifest }
103
+ : {}),
104
+ ...(typeof parsed.defaultBranch === "string"
105
+ ? { defaultBranch: parsed.defaultBranch }
106
+ : {}),
107
+ ...(parsed.checks !== undefined ? { checks: parsed.checks } : {}),
108
+ ...(legacyPaths !== undefined ? { paths: legacyPaths } : {}),
109
+ },
68
110
  };
69
111
  }
70
- catch {
112
+ catch (error) {
71
113
  return {
72
- userConfig: {},
73
- useDefaultSchemaVersion: true,
114
+ kind: "malformed",
115
+ error: error instanceof Error ? error.message : String(error),
74
116
  };
75
117
  }
76
118
  }
77
119
  /**
78
- * Load and parse the Kibi configuration from .kb/config.json.
79
- * Falls back to DEFAULT_CONFIG if the file doesn't exist or is invalid.
80
- *
81
- * @param cwd - The working directory to look for .kb/config.json
82
- * @returns The merged configuration (defaults + user config)
120
+ * Resolve the effective legacy entity paths for migration discovery:
121
+ * configured values win, then the historical `documentation/` defaults.
122
+ * Glob-bearing values are preserved so migration can strip them to roots.
83
123
  */
84
- export function loadConfig(cwd = process.cwd()) {
85
- // implements REQ-003
86
- const configPath = path.join(cwd, ".kb/config.json");
87
- const { userConfig, useDefaultSchemaVersion } = readUserConfig(configPath);
88
- return {
89
- paths: {
90
- ...DEFAULT_CONFIG.paths,
91
- ...userConfig.paths,
92
- },
93
- ...(userConfig.schemaVersion !== undefined || useDefaultSchemaVersion
94
- ? {
95
- schemaVersion: userConfig.schemaVersion ?? DEFAULT_CONFIG.schemaVersion,
96
- }
97
- : {}),
98
- ...(userConfig.defaultBranch !== undefined
99
- ? { defaultBranch: userConfig.defaultBranch }
100
- : {}),
101
- ...(userConfig.semanticAdvisorBackfill !== undefined
102
- ? { semanticAdvisorBackfill: userConfig.semanticAdvisorBackfill }
103
- : {}),
104
- checks: userConfig.checks
105
- ? {
106
- rules: {
107
- ...DEFAULT_CHECKS_CONFIG.rules,
108
- ...userConfig.checks.rules,
109
- },
110
- symbolTraceability: {
111
- ...DEFAULT_CHECKS_CONFIG.symbolTraceability,
112
- ...userConfig.checks.symbolTraceability,
113
- },
114
- }
115
- : DEFAULT_CHECKS_CONFIG,
124
+ export function resolveLegacyEntityPaths(config) {
125
+ const paths = config?.paths;
126
+ const pick = (key) => {
127
+ const configured = paths?.[key];
128
+ if (typeof configured === "string" && configured.trim().length > 0) {
129
+ return configured.trim();
130
+ }
131
+ return LEGACY_DEFAULT_ENTITY_PATHS[key];
116
132
  };
117
- }
118
- /**
119
- * Load sync configuration with fallback to glob patterns.
120
- * This is used by sync.ts to maintain backward compatibility with
121
- * older config files that may use glob patterns.
122
- *
123
- * @param cwd - The working directory to look for .kb/config.json
124
- * @returns The merged configuration with sync-compatible paths
125
- */
126
- export function loadSyncConfig(cwd = process.cwd()) {
127
- // implements REQ-003
128
- const configPath = path.join(cwd, ".kb/config.json");
129
- const { userConfig, useDefaultSchemaVersion } = readUserConfig(configPath);
133
+ const symbolsConfigured = paths?.symbols ?? config?.symbolsManifest;
130
134
  return {
131
- paths: {
132
- ...DEFAULT_SYNC_PATHS,
133
- ...userConfig.paths,
134
- },
135
- ...(userConfig.schemaVersion !== undefined || useDefaultSchemaVersion
136
- ? {
137
- schemaVersion: userConfig.schemaVersion ?? DEFAULT_CONFIG.schemaVersion,
138
- }
139
- : {}),
140
- ...(userConfig.defaultBranch !== undefined
141
- ? { defaultBranch: userConfig.defaultBranch }
142
- : {}),
143
- ...(userConfig.semanticAdvisorBackfill !== undefined
144
- ? { semanticAdvisorBackfill: userConfig.semanticAdvisorBackfill }
145
- : {}),
146
- checks: userConfig.checks
147
- ? {
148
- rules: {
149
- ...DEFAULT_CHECKS_CONFIG.rules,
150
- ...userConfig.checks.rules,
151
- },
152
- symbolTraceability: {
153
- ...DEFAULT_CHECKS_CONFIG.symbolTraceability,
154
- ...userConfig.checks.symbolTraceability,
155
- },
156
- }
157
- : DEFAULT_CHECKS_CONFIG,
135
+ requirements: pick("requirements"),
136
+ scenarios: pick("scenarios"),
137
+ tests: pick("tests"),
138
+ adr: pick("adr"),
139
+ flags: pick("flags"),
140
+ events: pick("events"),
141
+ facts: pick("facts"),
142
+ symbols: typeof symbolsConfigured === "string" &&
143
+ symbolsConfigured.trim().length > 0
144
+ ? symbolsConfigured.trim()
145
+ : LEGACY_DEFAULT_ENTITY_PATHS.symbols,
158
146
  };
159
147
  }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Kibi-owned repository lifecycle manifest (`.kb/manifest.json`).
3
+ *
4
+ * Replaces the former user-facing `.kb/config.json`. Every field is
5
+ * Kibi-managed: users never configure paths or enforcement policy. The
6
+ * manifest carries only Kibi lifecycle metadata (schema version, migration
7
+ * and semantic-backfill state).
8
+ */
9
+ export declare const KB_MANIFEST_VERSION = 1;
10
+ export type SemanticAdvisorBackfill = "pending" | "completed" | "not_applicable";
11
+ export interface KbManifest {
12
+ /** Manifest payload schema, used to validate future formats safely. */
13
+ manifestVersion: number;
14
+ /** KB entity/relationship schema generation this repository uses. */
15
+ schemaVersion: number;
16
+ /** Retroactive semantic-advisor backfill review state. */
17
+ semanticAdvisorBackfill: SemanticAdvisorBackfill;
18
+ }
19
+ export declare function defaultKbManifest(): KbManifest;
20
+ export type KbManifestStatus = {
21
+ state: "ok";
22
+ manifest: KbManifest;
23
+ manifestHash: string | null;
24
+ } | {
25
+ state: "missing" | "invalid" | "future";
26
+ manifest: null;
27
+ manifestHash: string | null;
28
+ warning: string;
29
+ };
30
+ export declare function readKbManifestStatus(workspaceRoot: string): KbManifestStatus;
31
+ export declare function readKbManifest(workspaceRoot: string): KbManifest | null;
32
+ /** Read the manifest, tolerating missing/corrupt state with Kibi defaults. */
33
+ export declare function readKbManifestOrDefault(workspaceRoot: string): KbManifest;
34
+ export declare function writeKbManifest(workspaceRoot: string, manifest: KbManifest): string;
35
+ //# sourceMappingURL=kb-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kb-manifest.d.ts","sourceRoot":"","sources":["../../src/utils/kb-manifest.ts"],"names":[],"mappings":"AA8BA;;;;;;;GAOG;AAEH,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,MAAM,MAAM,uBAAuB,GAC/B,SAAS,GACT,WAAW,GACX,gBAAgB,CAAC;AAErB,MAAM,WAAW,UAAU;IACzB,uEAAuE;IACvE,eAAe,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,aAAa,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,uBAAuB,EAAE,uBAAuB,CAAC;CAClD;AAED,wBAAgB,iBAAiB,IAAI,UAAU,CAM9C;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,UAAU,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAClE;IACE,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACxC,QAAQ,EAAE,IAAI,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA+CN,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,gBAAgB,CAyD5E;AAED,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAGvE;AAED,8EAA8E;AAC9E,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAEzE;AASD,wBAAgB,eAAe,CAC7B,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,UAAU,GACnB,MAAM,CAIR"}
@@ -0,0 +1,154 @@
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 { createHash } from "node:crypto";
19
+ import { existsSync, mkdirSync, readFileSync, renameSync, writeFileSync, } from "node:fs";
20
+ import * as path from "node:path";
21
+ import { KB_PATHS } from "./kb-paths.js";
22
+ import { LATEST_KB_SCHEMA_VERSION } from "./schema-version.js";
23
+ /**
24
+ * Kibi-owned repository lifecycle manifest (`.kb/manifest.json`).
25
+ *
26
+ * Replaces the former user-facing `.kb/config.json`. Every field is
27
+ * Kibi-managed: users never configure paths or enforcement policy. The
28
+ * manifest carries only Kibi lifecycle metadata (schema version, migration
29
+ * and semantic-backfill state).
30
+ */
31
+ export const KB_MANIFEST_VERSION = 1;
32
+ export function defaultKbManifest() {
33
+ return {
34
+ manifestVersion: KB_MANIFEST_VERSION,
35
+ schemaVersion: LATEST_KB_SCHEMA_VERSION,
36
+ semanticAdvisorBackfill: "not_applicable",
37
+ };
38
+ }
39
+ function manifestPathFor(workspaceRoot) {
40
+ return path.join(workspaceRoot, KB_PATHS.manifest);
41
+ }
42
+ function isRecord(value) {
43
+ return value !== null && typeof value === "object" && !Array.isArray(value);
44
+ }
45
+ /**
46
+ * Validate a parsed manifest document. Unknown fields are ignored so future
47
+ * Kibi versions can add metadata without breaking older readers, but the
48
+ * declared manifestVersion must not exceed what this build understands.
49
+ */
50
+ function validateManifest(parsed) {
51
+ if (!isRecord(parsed))
52
+ return null;
53
+ const rawVersion = parsed.manifestVersion;
54
+ const manifestVersion = typeof rawVersion === "number" && Number.isInteger(rawVersion)
55
+ ? rawVersion
56
+ : null;
57
+ if (manifestVersion === null)
58
+ return null;
59
+ if (manifestVersion > KB_MANIFEST_VERSION)
60
+ return null;
61
+ const schemaVersion = parsed.schemaVersion;
62
+ if (typeof schemaVersion !== "number" ||
63
+ !Number.isInteger(schemaVersion) ||
64
+ schemaVersion < 1) {
65
+ return null;
66
+ }
67
+ const backfill = parsed.semanticAdvisorBackfill;
68
+ if (backfill !== "pending" &&
69
+ backfill !== "completed" &&
70
+ backfill !== "not_applicable") {
71
+ return null;
72
+ }
73
+ return {
74
+ manifestVersion,
75
+ schemaVersion,
76
+ semanticAdvisorBackfill: backfill,
77
+ };
78
+ }
79
+ export function readKbManifestStatus(workspaceRoot) {
80
+ const manifestPath = manifestPathFor(workspaceRoot);
81
+ if (!existsSync(manifestPath)) {
82
+ return {
83
+ state: "missing",
84
+ manifest: null,
85
+ manifestHash: null,
86
+ warning: "Kibi lifecycle manifest is missing; run 'kibi init' or 'kibi migrate' to create it.",
87
+ };
88
+ }
89
+ let contents;
90
+ try {
91
+ contents = readFileSync(manifestPath, "utf8");
92
+ }
93
+ catch {
94
+ return {
95
+ state: "invalid",
96
+ manifest: null,
97
+ manifestHash: null,
98
+ warning: `Kibi lifecycle manifest at ${KB_PATHS.manifest} is unreadable; re-run 'kibi init'.`,
99
+ };
100
+ }
101
+ const manifestHash = createHash("sha256").update(contents).digest("hex");
102
+ let parsed;
103
+ try {
104
+ parsed = JSON.parse(contents);
105
+ }
106
+ catch {
107
+ return {
108
+ state: "invalid",
109
+ manifest: null,
110
+ manifestHash,
111
+ warning: `Kibi lifecycle manifest at ${KB_PATHS.manifest} is not valid JSON; re-run 'kibi init'.`,
112
+ };
113
+ }
114
+ const manifest = validateManifest(parsed);
115
+ if (manifest === null) {
116
+ const rawVersion = isRecord(parsed) ? parsed.manifestVersion : undefined;
117
+ if (typeof rawVersion === "number" &&
118
+ Number.isInteger(rawVersion) &&
119
+ rawVersion > KB_MANIFEST_VERSION) {
120
+ return {
121
+ state: "future",
122
+ manifest: null,
123
+ manifestHash,
124
+ warning: `Kibi lifecycle manifest version ${rawVersion} is newer than this build supports (${KB_MANIFEST_VERSION}); upgrade kibi.`,
125
+ };
126
+ }
127
+ return {
128
+ state: "invalid",
129
+ manifest: null,
130
+ manifestHash,
131
+ warning: `Kibi lifecycle manifest at ${KB_PATHS.manifest} is malformed; re-run 'kibi init' or 'kibi migrate'.`,
132
+ };
133
+ }
134
+ return { state: "ok", manifest, manifestHash };
135
+ }
136
+ export function readKbManifest(workspaceRoot) {
137
+ const status = readKbManifestStatus(workspaceRoot);
138
+ return status.state === "ok" ? status.manifest : null;
139
+ }
140
+ /** Read the manifest, tolerating missing/corrupt state with Kibi defaults. */
141
+ export function readKbManifestOrDefault(workspaceRoot) {
142
+ return readKbManifest(workspaceRoot) ?? defaultKbManifest();
143
+ }
144
+ function writeAtomically(filePath, content) {
145
+ mkdirSync(path.dirname(filePath), { recursive: true });
146
+ const tempPath = `${filePath}.tmp-${process.pid}-${Date.now()}`;
147
+ writeFileSync(tempPath, content, "utf8");
148
+ renameSync(tempPath, filePath);
149
+ }
150
+ export function writeKbManifest(workspaceRoot, manifest) {
151
+ const filePath = manifestPathFor(workspaceRoot);
152
+ writeAtomically(filePath, `${JSON.stringify(manifest, null, 2)}\n`);
153
+ return filePath;
154
+ }
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Canonical Kibi project-knowledge namespace.
3
+ *
4
+ * Kibi owns one opinionated layout under `.kb/`. Entity source lanes, the
5
+ * symbols manifest, relationship shards, and the lifecycle manifest are
6
+ * Kibi-owned but Git-tracked project knowledge; branch stores and recovery
7
+ * state are derived runtime data. Nothing in this module is user-configurable.
8
+ */
9
+ export declare const KB_ROOT = ".kb";
10
+ /** Kibi-owned entity-source lanes (Git-tracked authored knowledge). */
11
+ export declare const ENTITY_LANES: readonly ["requirements", "scenarios", "tests", "facts", "adr", "flags", "events"];
12
+ export type EntityLane = (typeof ENTITY_LANES)[number];
13
+ /** Config-key spelling used by legacy `.kb/config.json` path configuration. */
14
+ export declare const LEGACY_CONFIG_PATH_KEYS: Readonly<Record<EntityLane, string>>;
15
+ export declare const KB_PATHS: {
16
+ /** Repo-relative canonical lane directories under `.kb/`. */
17
+ readonly lanes: {
18
+ readonly requirements: ".kb/requirements";
19
+ readonly scenarios: ".kb/scenarios";
20
+ readonly tests: ".kb/tests";
21
+ readonly facts: ".kb/facts";
22
+ readonly adr: ".kb/adr";
23
+ readonly flags: ".kb/flags";
24
+ readonly events: ".kb/events";
25
+ };
26
+ readonly symbolsManifest: ".kb/symbols.yaml";
27
+ readonly symbolCoordinates: ".kb/symbol-coordinates.yaml";
28
+ readonly manifest: ".kb/manifest.json";
29
+ readonly relationships: ".kb/relationships";
30
+ };
31
+ /** Derived runtime trees. Authored knowledge and relationship shards stay writable. */
32
+ export declare const DERIVED_KB_PREFIXES: readonly [".kb/branches", ".kb/recovery", ".kb/proof/runs", ".kb/briefs", ".kb/migrations"];
33
+ export type KbEntityPaths = Readonly<{
34
+ requirements: string;
35
+ scenarios: string;
36
+ tests: string;
37
+ adr: string;
38
+ flags: string;
39
+ events: string;
40
+ facts: string;
41
+ symbols: string;
42
+ }>;
43
+ /** Canonical, non-configurable entity source paths. */
44
+ export declare const CANONICAL_ENTITY_PATHS: KbEntityPaths;
45
+ /** Legacy default entity paths (pre-canonical layout) used for migration only. */
46
+ export declare const LEGACY_DEFAULT_ENTITY_PATHS: KbEntityPaths;
47
+ export declare function isEntityLanePath(repoRelativePath: string): boolean;
48
+ export declare function entityLaneForPath(repoRelativePath: string): EntityLane | null;
49
+ export declare function isSymbolsManifestPath(repoRelativePath: string): boolean;
50
+ /** True when the path is any Kibi-owned tracked knowledge artifact. */
51
+ export declare function isKbKnowledgePath(repoRelativePath: string): boolean;
52
+ /** True when the path is a derived runtime tree that agents must not author. */
53
+ export declare function isDerivedKbPath(repoRelativePath: string): boolean;
54
+ //# sourceMappingURL=kb-paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kb-paths.d.ts","sourceRoot":"","sources":["../../src/utils/kb-paths.ts"],"names":[],"mappings":"AAkBA;;;;;;;GAOG;AAEH,eAAO,MAAM,OAAO,QAAQ,CAAC;AAE7B,uEAAuE;AACvE,eAAO,MAAM,YAAY,oFAQf,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAQxE,CAAC;AAMF,eAAO,MAAM,QAAQ;IACnB,6DAA6D;;;;;;;;;;;;;;CAcrD,CAAC;AAEX,uFAAuF;AACvF,eAAO,MAAM,mBAAmB,6FAMtB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAEH,uDAAuD;AACvD,eAAO,MAAM,sBAAsB,EAAE,aASpC,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,2BAA2B,EAAE,aASzC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAKlE;AAED,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAO7E;AAED,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAKvE;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAKnE;AAMD,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAKjE"}
@@ -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 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
+ /**
19
+ * Canonical Kibi project-knowledge namespace.
20
+ *
21
+ * Kibi owns one opinionated layout under `.kb/`. Entity source lanes, the
22
+ * symbols manifest, relationship shards, and the lifecycle manifest are
23
+ * Kibi-owned but Git-tracked project knowledge; branch stores and recovery
24
+ * state are derived runtime data. Nothing in this module is user-configurable.
25
+ */
26
+ export const KB_ROOT = ".kb";
27
+ /** Kibi-owned entity-source lanes (Git-tracked authored knowledge). */
28
+ export const ENTITY_LANES = [
29
+ "requirements",
30
+ "scenarios",
31
+ "tests",
32
+ "facts",
33
+ "adr",
34
+ "flags",
35
+ "events",
36
+ ];
37
+ /** Config-key spelling used by legacy `.kb/config.json` path configuration. */
38
+ export const LEGACY_CONFIG_PATH_KEYS = {
39
+ requirements: "requirements",
40
+ scenarios: "scenarios",
41
+ tests: "tests",
42
+ facts: "facts",
43
+ adr: "adr",
44
+ flags: "flags",
45
+ events: "events",
46
+ };
47
+ const LANE_SUFFIX = Object.fromEntries(ENTITY_LANES.map((lane) => [lane, `/${lane}/`]));
48
+ export const KB_PATHS = {
49
+ /** Repo-relative canonical lane directories under `.kb/`. */
50
+ lanes: {
51
+ requirements: ".kb/requirements",
52
+ scenarios: ".kb/scenarios",
53
+ tests: ".kb/tests",
54
+ facts: ".kb/facts",
55
+ adr: ".kb/adr",
56
+ flags: ".kb/flags",
57
+ events: ".kb/events",
58
+ },
59
+ symbolsManifest: ".kb/symbols.yaml",
60
+ symbolCoordinates: ".kb/symbol-coordinates.yaml",
61
+ manifest: ".kb/manifest.json",
62
+ relationships: ".kb/relationships",
63
+ };
64
+ /** Derived runtime trees. Authored knowledge and relationship shards stay writable. */
65
+ export const DERIVED_KB_PREFIXES = [
66
+ ".kb/branches",
67
+ ".kb/recovery",
68
+ ".kb/proof/runs",
69
+ ".kb/briefs",
70
+ ".kb/migrations",
71
+ ];
72
+ /** Canonical, non-configurable entity source paths. */
73
+ export const CANONICAL_ENTITY_PATHS = {
74
+ requirements: KB_PATHS.lanes.requirements,
75
+ scenarios: KB_PATHS.lanes.scenarios,
76
+ tests: KB_PATHS.lanes.tests,
77
+ adr: KB_PATHS.lanes.adr,
78
+ flags: KB_PATHS.lanes.flags,
79
+ events: KB_PATHS.lanes.events,
80
+ facts: KB_PATHS.lanes.facts,
81
+ symbols: KB_PATHS.symbolsManifest,
82
+ };
83
+ /** Legacy default entity paths (pre-canonical layout) used for migration only. */
84
+ export const LEGACY_DEFAULT_ENTITY_PATHS = {
85
+ requirements: "documentation/requirements",
86
+ scenarios: "documentation/scenarios",
87
+ tests: "documentation/tests",
88
+ adr: "documentation/adr",
89
+ flags: "documentation/flags",
90
+ events: "documentation/events",
91
+ facts: "documentation/facts",
92
+ symbols: "documentation/symbols.yaml",
93
+ };
94
+ export function isEntityLanePath(repoRelativePath) {
95
+ if (!repoRelativePath.startsWith(`${KB_ROOT}/`))
96
+ return false;
97
+ const rest = repoRelativePath.slice(KB_ROOT.length + 1);
98
+ const segment = rest.split("/")[0] ?? "";
99
+ return ENTITY_LANES.includes(segment);
100
+ }
101
+ export function entityLaneForPath(repoRelativePath) {
102
+ for (const lane of ENTITY_LANES) {
103
+ if (repoRelativePath.includes(LANE_SUFFIX[lane])) {
104
+ return lane;
105
+ }
106
+ }
107
+ return null;
108
+ }
109
+ export function isSymbolsManifestPath(repoRelativePath) {
110
+ return (repoRelativePath === KB_PATHS.symbolsManifest ||
111
+ repoRelativePath === KB_PATHS.symbolCoordinates);
112
+ }
113
+ /** True when the path is any Kibi-owned tracked knowledge artifact. */
114
+ export function isKbKnowledgePath(repoRelativePath) {
115
+ return (isEntityLanePath(repoRelativePath) ||
116
+ isSymbolsManifestPath(repoRelativePath));
117
+ }
118
+ function toPosixRepoPath(repoRelativePath) {
119
+ return repoRelativePath.replaceAll("\\", "/");
120
+ }
121
+ /** True when the path is a derived runtime tree that agents must not author. */
122
+ export function isDerivedKbPath(repoRelativePath) {
123
+ const posix = toPosixRepoPath(repoRelativePath);
124
+ return DERIVED_KB_PREFIXES.some((prefix) => posix === prefix || posix.startsWith(`${prefix}/`));
125
+ }
@@ -1,8 +1,8 @@
1
- export declare const DEFAULT_SYMBOLS_PATH = "documentation/symbols.yaml";
2
- export declare const DEFAULT_COORDINATES_PATH = "documentation/symbol-coordinates.yaml";
3
- export declare function resolveSymbolsManifestPaths(workspaceRoot: string, configPath?: string): {
1
+ export declare const DEFAULT_SYMBOLS_PATH: ".kb/symbols.yaml";
2
+ export declare const DEFAULT_COORDINATES_PATH: ".kb/symbol-coordinates.yaml";
3
+ export declare function resolveSymbolsManifestPaths(workspaceRoot: string): {
4
4
  symbolsPath: string;
5
5
  coordinatesPath: string;
6
6
  };
7
- export declare function resolveSymbolsManifestPath(workspaceRoot: string, configPath?: string): string;
7
+ export declare function resolveSymbolsManifestPath(workspaceRoot: string): string;
8
8
  //# sourceMappingURL=manifest-paths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-paths.d.ts","sourceRoot":"","sources":["../../src/utils/manifest-paths.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB,+BAA+B,CAAC;AACjE,eAAO,MAAM,wBAAwB,0CAA0C,CAAC;AAkFhF,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,GAClB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CASlD;AAGD,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAER"}
1
+ {"version":3,"file":"manifest-paths.d.ts","sourceRoot":"","sources":["../../src/utils/manifest-paths.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB,oBAA2B,CAAC;AAC7D,eAAO,MAAM,wBAAwB,+BAA6B,CAAC;AAGnE,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG;IAClE,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB,CAMA;AAGD,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAExE"}