kibi-cli 0.19.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (506) hide show
  1. package/dist/cli-operation-loader.d.ts.map +1 -1
  2. package/dist/cli-operation-loader.js +53 -20
  3. package/dist/cli-operation-metadata.d.ts +20 -8
  4. package/dist/cli-operation-metadata.d.ts.map +1 -1
  5. package/dist/cli-operation-metadata.js +23 -8
  6. package/dist/cli-protocol.d.ts.map +1 -1
  7. package/dist/cli-protocol.js +38 -8
  8. package/dist/cli-register-foundation.d.ts.map +1 -1
  9. package/dist/cli-register-foundation.js +14 -2
  10. package/dist/cli-register-maintenance.d.ts.map +1 -1
  11. package/dist/cli-register-maintenance.js +26 -4
  12. package/dist/cli-register-reporting.d.ts.map +1 -1
  13. package/dist/cli-register-reporting.js +10 -0
  14. package/dist/cli-register-verification.d.ts +3 -0
  15. package/dist/cli-register-verification.d.ts.map +1 -0
  16. package/dist/cli-register-verification.js +16 -0
  17. package/dist/cli.d.ts.map +1 -1
  18. package/dist/cli.js +2 -0
  19. package/dist/commands/aggregated-checks.d.ts +1 -2
  20. package/dist/commands/aggregated-checks.d.ts.map +1 -1
  21. package/dist/commands/aggregated-checks.js +14 -9
  22. package/dist/commands/branch.d.ts +36 -0
  23. package/dist/commands/branch.d.ts.map +1 -1
  24. package/dist/commands/branch.js +371 -40
  25. package/dist/commands/check.d.ts.map +1 -1
  26. package/dist/commands/check.js +20 -67
  27. package/dist/commands/discovery-shared.d.ts.map +1 -1
  28. package/dist/commands/discovery-shared.js +10 -19
  29. package/dist/commands/doctor.d.ts +4 -1
  30. package/dist/commands/doctor.d.ts.map +1 -1
  31. package/dist/commands/doctor.js +259 -24
  32. package/dist/commands/engine.d.ts.map +1 -1
  33. package/dist/commands/engine.js +10 -7
  34. package/dist/commands/gc.d.ts +5 -2
  35. package/dist/commands/gc.d.ts.map +1 -1
  36. package/dist/commands/gc.js +140 -71
  37. package/dist/commands/github-init.d.ts +56 -0
  38. package/dist/commands/github-init.d.ts.map +1 -0
  39. package/dist/commands/github-init.js +310 -0
  40. package/dist/commands/init-helpers.d.ts +1 -1
  41. package/dist/commands/init-helpers.d.ts.map +1 -1
  42. package/dist/commands/init-helpers.js +73 -25
  43. package/dist/commands/init.d.ts +2 -0
  44. package/dist/commands/init.d.ts.map +1 -1
  45. package/dist/commands/init.js +79 -24
  46. package/dist/commands/legacy-storage-migration.d.ts +54 -0
  47. package/dist/commands/legacy-storage-migration.d.ts.map +1 -0
  48. package/dist/commands/legacy-storage-migration.js +277 -0
  49. package/dist/commands/migrate.d.ts +7 -0
  50. package/dist/commands/migrate.d.ts.map +1 -1
  51. package/dist/commands/migrate.js +244 -91
  52. package/dist/commands/report.d.ts +24 -0
  53. package/dist/commands/report.d.ts.map +1 -0
  54. package/dist/commands/report.js +191 -0
  55. package/dist/commands/sync/cache.d.ts +16 -3
  56. package/dist/commands/sync/cache.d.ts.map +1 -1
  57. package/dist/commands/sync/cache.js +111 -4
  58. package/dist/commands/sync/discovery.d.ts +23 -2
  59. package/dist/commands/sync/discovery.d.ts.map +1 -1
  60. package/dist/commands/sync/discovery.js +196 -15
  61. package/dist/commands/sync/extraction.d.ts +8 -1
  62. package/dist/commands/sync/extraction.d.ts.map +1 -1
  63. package/dist/commands/sync/extraction.js +38 -4
  64. package/dist/commands/sync/manifest.d.ts +8 -5
  65. package/dist/commands/sync/manifest.d.ts.map +1 -1
  66. package/dist/commands/sync/manifest.js +142 -39
  67. package/dist/commands/sync/persistence.d.ts.map +1 -1
  68. package/dist/commands/sync/persistence.js +3 -0
  69. package/dist/commands/sync.d.ts +6 -0
  70. package/dist/commands/sync.d.ts.map +1 -1
  71. package/dist/commands/sync.js +304 -79
  72. package/dist/commands/verify.d.ts +10 -0
  73. package/dist/commands/verify.d.ts.map +1 -0
  74. package/dist/commands/verify.js +126 -0
  75. package/dist/diagnostics.d.ts +1 -1
  76. package/dist/diagnostics.d.ts.map +1 -1
  77. package/dist/engine.d.ts +96 -3
  78. package/dist/engine.d.ts.map +1 -1
  79. package/dist/engine.js +392 -23
  80. package/dist/env.d.ts.map +1 -1
  81. package/dist/env.js +5 -6
  82. package/dist/extractors/manifest.d.ts +8 -1
  83. package/dist/extractors/manifest.d.ts.map +1 -1
  84. package/dist/extractors/manifest.js +51 -9
  85. package/dist/extractors/markdown.d.ts +2 -1
  86. package/dist/extractors/markdown.d.ts.map +1 -1
  87. package/dist/extractors/markdown.js +21 -3
  88. package/dist/extractors/playwright-cases.d.ts +24 -0
  89. package/dist/extractors/playwright-cases.d.ts.map +1 -0
  90. package/dist/extractors/playwright-cases.js +126 -0
  91. package/dist/extractors/relationships.d.ts.map +1 -1
  92. package/dist/extractors/relationships.js +1 -0
  93. package/dist/extractors/symbol-coordinates.d.ts +81 -3
  94. package/dist/extractors/symbol-coordinates.d.ts.map +1 -1
  95. package/dist/extractors/symbol-coordinates.js +389 -51
  96. package/dist/extractors/symbols-coordinator.js +11 -1
  97. package/dist/intent-search.d.ts +60 -0
  98. package/dist/intent-search.d.ts.map +1 -0
  99. package/dist/intent-search.js +433 -0
  100. package/dist/operations/bootstrap/activation.d.ts.map +1 -0
  101. package/dist/operations/{autopilot → bootstrap}/activation.js +48 -31
  102. package/dist/operations/{autopilot → bootstrap}/candidate-helpers.d.ts.map +1 -1
  103. package/dist/operations/bootstrap/candidates.d.ts +4 -0
  104. package/dist/operations/{autopilot → bootstrap}/candidates.d.ts.map +1 -1
  105. package/dist/operations/{autopilot → bootstrap}/candidates.js +22 -8
  106. package/dist/operations/{autopilot → bootstrap}/discovery-evidence.d.ts +2 -2
  107. package/dist/operations/{autopilot → bootstrap}/discovery-evidence.d.ts.map +1 -1
  108. package/dist/operations/{autopilot → bootstrap}/discovery-evidence.js +46 -6
  109. package/dist/operations/{autopilot → bootstrap}/discovery.d.ts +1 -1
  110. package/dist/operations/bootstrap/discovery.d.ts.map +1 -0
  111. package/dist/operations/{autopilot → bootstrap}/discovery.js +21 -14
  112. package/dist/operations/bootstrap/generate.d.ts +8 -0
  113. package/dist/operations/bootstrap/generate.d.ts.map +1 -0
  114. package/dist/operations/bootstrap/generate.js +204 -0
  115. package/dist/operations/{autopilot → bootstrap}/guidance-actions.d.ts +2 -2
  116. package/dist/operations/{autopilot → bootstrap}/guidance-actions.d.ts.map +1 -1
  117. package/dist/operations/{autopilot → bootstrap}/guidance-actions.js +4 -4
  118. package/dist/operations/{autopilot → bootstrap}/guidance.d.ts +2 -2
  119. package/dist/operations/{autopilot → bootstrap}/guidance.d.ts.map +1 -1
  120. package/dist/operations/{autopilot → bootstrap}/guidance.js +2 -0
  121. package/dist/operations/{autopilot → bootstrap}/markdown-candidates.d.ts +2 -2
  122. package/dist/operations/{autopilot → bootstrap}/markdown-candidates.d.ts.map +1 -1
  123. package/dist/operations/{autopilot → bootstrap}/markdown-candidates.js +4 -3
  124. package/dist/operations/bootstrap/presentation.d.ts +15 -0
  125. package/dist/operations/bootstrap/presentation.d.ts.map +1 -0
  126. package/dist/operations/bootstrap/presentation.js +177 -0
  127. package/dist/operations/{autopilot → bootstrap}/requirement-claims.d.ts.map +1 -1
  128. package/dist/operations/{autopilot → bootstrap}/types.d.ts +63 -21
  129. package/dist/operations/bootstrap/types.d.ts.map +1 -0
  130. package/dist/operations/bootstrap/types.js +25 -0
  131. package/dist/operations/modeling/model-requirement.d.ts.map +1 -1
  132. package/dist/operations/modeling/model-requirement.js +4 -17
  133. package/dist/operations/modeling/predicate-applicability.d.ts +16 -0
  134. package/dist/operations/modeling/predicate-applicability.d.ts.map +1 -0
  135. package/dist/operations/modeling/predicate-applicability.js +276 -0
  136. package/dist/operations/modeling/predicate-applyplan.d.ts +13 -2
  137. package/dist/operations/modeling/predicate-applyplan.d.ts.map +1 -1
  138. package/dist/operations/modeling/predicate-applyplan.js +100 -3
  139. package/dist/operations/modeling/predicate-bindings.d.ts +6 -0
  140. package/dist/operations/modeling/predicate-bindings.d.ts.map +1 -0
  141. package/dist/operations/modeling/predicate-bindings.js +122 -0
  142. package/dist/operations/modeling/predicate-catalog-4.d.ts.map +1 -1
  143. package/dist/operations/modeling/predicate-catalog-4.js +155 -0
  144. package/dist/operations/modeling/predicate-inference-1.d.ts.map +1 -1
  145. package/dist/operations/modeling/predicate-inference-1.js +8 -0
  146. package/dist/operations/modeling/predicate-inference-launcher.d.ts +10 -0
  147. package/dist/operations/modeling/predicate-inference-launcher.d.ts.map +1 -0
  148. package/dist/operations/modeling/predicate-inference-launcher.js +13 -0
  149. package/dist/operations/modeling/predicate-inference.d.ts.map +1 -1
  150. package/dist/operations/modeling/predicate-inference.js +4 -0
  151. package/dist/operations/modeling/predicate-loader.d.ts.map +1 -1
  152. package/dist/operations/modeling/predicate-loader.js +7 -0
  153. package/dist/operations/modeling/predicate-ranker.d.ts +8 -1
  154. package/dist/operations/modeling/predicate-ranker.d.ts.map +1 -1
  155. package/dist/operations/modeling/predicate-ranker.js +156 -24
  156. package/dist/operations/modeling/predicate-score-3.d.ts.map +1 -1
  157. package/dist/operations/modeling/predicate-score-3.js +6 -0
  158. package/dist/operations/modeling/predicate-types.d.ts +34 -0
  159. package/dist/operations/modeling/predicate-types.d.ts.map +1 -1
  160. package/dist/operations/modeling/predicate-usage-hints-3.d.ts.map +1 -1
  161. package/dist/operations/modeling/predicate-usage-hints-3.js +40 -0
  162. package/dist/operations/modeling/predicate-utils.d.ts.map +1 -1
  163. package/dist/operations/modeling/predicate-utils.js +2 -0
  164. package/dist/operations/modeling/suggest-predicates.d.ts +1 -1
  165. package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -1
  166. package/dist/operations/modeling/suggest-predicates.js +170 -32
  167. package/dist/operations/mutation/delete.d.ts.map +1 -1
  168. package/dist/operations/mutation/delete.js +415 -19
  169. package/dist/operations/mutation/entity-projection.d.ts +11 -0
  170. package/dist/operations/mutation/entity-projection.d.ts.map +1 -0
  171. package/dist/operations/mutation/entity-projection.js +14 -0
  172. package/dist/operations/mutation/relationships.d.ts +10 -0
  173. package/dist/operations/mutation/relationships.d.ts.map +1 -1
  174. package/dist/operations/mutation/relationships.js +71 -1
  175. package/dist/operations/mutation/serialization.d.ts.map +1 -1
  176. package/dist/operations/mutation/serialization.js +1 -0
  177. package/dist/operations/mutation/source-authoring.d.ts +61 -0
  178. package/dist/operations/mutation/source-authoring.d.ts.map +1 -0
  179. package/dist/operations/mutation/source-authoring.js +543 -0
  180. package/dist/operations/mutation/symbol-compiler-lock.d.ts +51 -0
  181. package/dist/operations/mutation/symbol-compiler-lock.d.ts.map +1 -0
  182. package/dist/operations/mutation/symbol-compiler-lock.js +274 -0
  183. package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -1
  184. package/dist/operations/mutation/symbol-granularity.js +34 -3
  185. package/dist/operations/mutation/symbol-refresh.d.ts +18 -1
  186. package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -1
  187. package/dist/operations/mutation/symbol-refresh.js +225 -63
  188. package/dist/operations/mutation/types.d.ts +57 -1
  189. package/dist/operations/mutation/types.d.ts.map +1 -1
  190. package/dist/operations/mutation/upsert.d.ts.map +1 -1
  191. package/dist/operations/mutation/upsert.js +363 -24
  192. package/dist/operations/mutation/validation.d.ts.map +1 -1
  193. package/dist/operations/mutation/validation.js +1 -0
  194. package/dist/operations/planning/apply-plan.d.ts +117 -0
  195. package/dist/operations/planning/apply-plan.d.ts.map +1 -0
  196. package/dist/operations/planning/apply-plan.js +1437 -0
  197. package/dist/operations/planning/compile-intent.d.ts +106 -0
  198. package/dist/operations/planning/compile-intent.d.ts.map +1 -0
  199. package/dist/operations/planning/compile-intent.js +562 -0
  200. package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -1
  201. package/dist/operations/semantic-advisor/analyze-prose.js +6 -2
  202. package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -1
  203. package/dist/operations/semantic-advisor/clauses.js +15 -2
  204. package/dist/operations/semantic-advisor/ingestion-boundary.d.ts.map +1 -1
  205. package/dist/operations/semantic-advisor/ingestion-boundary.js +7 -3
  206. package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts +51 -0
  207. package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts.map +1 -0
  208. package/dist/operations/semantic-advisor/predicate-rules-launcher.js +96 -0
  209. package/dist/operations/semantic-advisor/types.d.ts +13 -5
  210. package/dist/operations/semantic-advisor/types.d.ts.map +1 -1
  211. package/dist/operations/verification/ingest-verification.d.ts +29 -0
  212. package/dist/operations/verification/ingest-verification.d.ts.map +1 -0
  213. package/dist/operations/verification/ingest-verification.js +192 -0
  214. package/dist/prolog/codec.d.ts.map +1 -1
  215. package/dist/prolog/codec.js +2 -1
  216. package/dist/prolog.d.ts.map +1 -1
  217. package/dist/prolog.js +27 -8
  218. package/dist/public/branch-resolver.d.ts +1 -0
  219. package/dist/public/branch-resolver.d.ts.map +1 -1
  220. package/dist/public/branch-resolver.js +1 -0
  221. package/dist/public/check-types.d.ts +2 -2
  222. package/dist/public/check-types.d.ts.map +1 -1
  223. package/dist/public/check-types.js +16 -16
  224. package/dist/public/diagnostic-usage.d.ts.map +1 -1
  225. package/dist/public/diagnostic-usage.js +69 -1
  226. package/dist/public/distribution-parity.d.ts +1 -1
  227. package/dist/public/distribution-parity.d.ts.map +1 -1
  228. package/dist/public/distribution-parity.js +1 -0
  229. package/dist/public/ignore-policy.d.ts.map +1 -1
  230. package/dist/public/ignore-policy.js +16 -4
  231. package/dist/public/impact/coverage-depth-quality.d.ts +6 -1
  232. package/dist/public/impact/coverage-depth-quality.d.ts.map +1 -1
  233. package/dist/public/impact/coverage-depth-quality.js +21 -3
  234. package/dist/public/impact/full-kb-quality.d.ts +4 -2
  235. package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
  236. package/dist/public/impact/full-kb-quality.js +61 -1
  237. package/dist/public/impact/manifest.d.ts.map +1 -1
  238. package/dist/public/impact/manifest.js +2 -5
  239. package/dist/public/operational-artifacts.d.ts.map +1 -1
  240. package/dist/public/operational-artifacts.js +7 -1
  241. package/dist/public/operations/catalog.d.ts +682 -67
  242. package/dist/public/operations/catalog.d.ts.map +1 -1
  243. package/dist/public/operations/catalog.js +126 -4
  244. package/dist/public/operations/check-executor.d.ts +2 -2
  245. package/dist/public/operations/check-executor.d.ts.map +1 -1
  246. package/dist/public/operations/check-executor.js +72 -13
  247. package/dist/public/operations/check-format-shared.d.ts +3 -0
  248. package/dist/public/operations/check-format-shared.d.ts.map +1 -1
  249. package/dist/public/operations/check-format-shared.js +3 -0
  250. package/dist/public/operations/check-helpers.d.ts +27 -2
  251. package/dist/public/operations/check-helpers.d.ts.map +1 -1
  252. package/dist/public/operations/check-helpers.js +62 -26
  253. package/dist/public/operations/contracts.d.ts +11 -0
  254. package/dist/public/operations/contracts.d.ts.map +1 -0
  255. package/dist/public/operations/contracts.js +325 -0
  256. package/dist/public/operations/discovery-executors.d.ts +37 -1
  257. package/dist/public/operations/discovery-executors.d.ts.map +1 -1
  258. package/dist/public/operations/discovery-executors.js +206 -6
  259. package/dist/public/operations/index.d.ts +9 -4
  260. package/dist/public/operations/index.d.ts.map +1 -1
  261. package/dist/public/operations/index.js +8 -3
  262. package/dist/public/operations/migration-plan.d.ts +101 -0
  263. package/dist/public/operations/migration-plan.d.ts.map +1 -0
  264. package/dist/public/operations/migration-plan.js +537 -0
  265. package/dist/public/operations/node-ports.d.ts.map +1 -1
  266. package/dist/public/operations/node-ports.js +68 -8
  267. package/dist/public/operations/prolog-json.d.ts +14 -0
  268. package/dist/public/operations/prolog-json.d.ts.map +1 -1
  269. package/dist/public/operations/prolog-json.js +44 -5
  270. package/dist/public/operations/repair-plan.d.ts.map +1 -1
  271. package/dist/public/operations/repair-plan.js +1 -0
  272. package/dist/public/operations/result-envelope.d.ts +13 -0
  273. package/dist/public/operations/result-envelope.d.ts.map +1 -0
  274. package/dist/public/operations/result-envelope.js +104 -0
  275. package/dist/public/operations/runtime-types.d.ts +97 -7
  276. package/dist/public/operations/runtime-types.d.ts.map +1 -1
  277. package/dist/public/operations/source-relationship-parity.d.ts +13 -0
  278. package/dist/public/operations/source-relationship-parity.d.ts.map +1 -0
  279. package/dist/public/operations/source-relationship-parity.js +162 -0
  280. package/dist/public/operations/specs/{autopilot.d.ts → bootstrap.d.ts} +9 -9
  281. package/dist/public/operations/specs/bootstrap.d.ts.map +1 -0
  282. package/dist/public/operations/specs/{autopilot.js → bootstrap.js} +8 -7
  283. package/dist/public/operations/specs/check.d.ts +4 -4
  284. package/dist/public/operations/specs/check.d.ts.map +1 -1
  285. package/dist/public/operations/specs/check.js +4 -3
  286. package/dist/public/operations/specs/discovery.d.ts +87 -3
  287. package/dist/public/operations/specs/discovery.d.ts.map +1 -1
  288. package/dist/public/operations/specs/discovery.js +53 -3
  289. package/dist/public/operations/specs/modeling.d.ts +3 -3
  290. package/dist/public/operations/specs/modeling.js +3 -3
  291. package/dist/public/operations/specs/mutation-schemas.d.ts +190 -47
  292. package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
  293. package/dist/public/operations/specs/mutation-schemas.js +3 -1
  294. package/dist/public/operations/specs/mutation.d.ts +42 -2
  295. package/dist/public/operations/specs/mutation.d.ts.map +1 -1
  296. package/dist/public/operations/specs/mutation.js +26 -2
  297. package/dist/public/operations/specs/planning.d.ts +270 -0
  298. package/dist/public/operations/specs/planning.d.ts.map +1 -0
  299. package/dist/public/operations/specs/planning.js +191 -0
  300. package/dist/public/operations/specs/reporting.d.ts +4 -1
  301. package/dist/public/operations/specs/reporting.d.ts.map +1 -1
  302. package/dist/public/operations/specs/reporting.js +46 -1
  303. package/dist/public/operations/specs/upsert.d.ts +204 -47
  304. package/dist/public/operations/specs/upsert.d.ts.map +1 -1
  305. package/dist/public/operations/specs/upsert.js +9 -0
  306. package/dist/public/operations/specs/verification.d.ts +78 -0
  307. package/dist/public/operations/specs/verification.d.ts.map +1 -0
  308. package/dist/public/operations/specs/verification.js +62 -0
  309. package/dist/public/operations/symbol-repair-plan.d.ts +11 -0
  310. package/dist/public/operations/symbol-repair-plan.d.ts.map +1 -0
  311. package/dist/public/operations/symbol-repair-plan.js +123 -0
  312. package/dist/public/operations/types.d.ts +52 -1
  313. package/dist/public/operations/types.d.ts.map +1 -1
  314. package/dist/public/playwright-case-id.d.ts +8 -0
  315. package/dist/public/playwright-case-id.d.ts.map +1 -0
  316. package/dist/public/playwright-case-id.js +25 -0
  317. package/dist/public/schemas/entity.d.ts.map +1 -1
  318. package/dist/public/schemas/entity.js +4 -2
  319. package/dist/public/skills/kibi-bootstrap/SKILL.md +58 -0
  320. package/dist/public/skills/kibi-bootstrap/resources/bootstrap.md +11 -0
  321. package/dist/public/skills/kibi-bootstrap/resources/branch-lifecycle.md +7 -0
  322. package/dist/public/skills/kibi-bootstrap/resources/operation-access.md +5 -0
  323. package/dist/public/skills/kibi-bootstrap/resources/source-authoring.md +8 -0
  324. package/dist/public/skills/kibi-freshness/SKILL.md +39 -9
  325. package/dist/public/skills/kibi-freshness/resources/branch-lifecycle.md +7 -0
  326. package/dist/public/skills/kibi-freshness/resources/operation-access.md +6 -0
  327. package/dist/public/skills/kibi-freshness/resources/source-authoring.md +7 -0
  328. package/dist/public/skills/kibi-traceability/SKILL.md +47 -47
  329. package/dist/public/skills/kibi-traceability/resources/branch-lifecycle.md +7 -0
  330. package/dist/public/skills/kibi-traceability/resources/operation-access.md +5 -0
  331. package/dist/public/skills/kibi-traceability/resources/source-authoring.md +6 -0
  332. package/dist/public/skills/kibi-traceability/resources/traceability.md +8 -0
  333. package/dist/public/skills/kibi-usage/SKILL.md +115 -239
  334. package/dist/public/skills/kibi-usage/resources/branch-lifecycle.md +31 -0
  335. package/dist/public/skills/kibi-usage/resources/kb-improvement.md +38 -0
  336. package/dist/public/skills/kibi-usage/resources/operation-access.md +36 -38
  337. package/dist/public/skills/kibi-usage/resources/relationship-directions.md +3 -3
  338. package/dist/public/skills/kibi-usage/resources/source-authoring.md +31 -0
  339. package/dist/public/skills/kibi-usage/resources/workflows.md +56 -3
  340. package/dist/public/symbol-granularity.d.ts +1 -1
  341. package/dist/public/symbol-granularity.d.ts.map +1 -1
  342. package/dist/public/symbol-granularity.js +1 -0
  343. package/dist/public/telemetry-acceptance.d.ts +7 -0
  344. package/dist/public/telemetry-acceptance.d.ts.map +1 -1
  345. package/dist/public/telemetry-acceptance.js +8 -1
  346. package/dist/public/telemetry-remediation.js +1 -1
  347. package/dist/public/verification-receipt.d.ts +206 -39
  348. package/dist/public/verification-receipt.d.ts.map +1 -1
  349. package/dist/public/verification-receipt.js +171 -4
  350. package/dist/relationships/shards.d.ts +16 -0
  351. package/dist/relationships/shards.d.ts.map +1 -1
  352. package/dist/relationships/shards.js +87 -2
  353. package/dist/report/brand.d.ts +19 -0
  354. package/dist/report/brand.d.ts.map +1 -0
  355. package/dist/report/brand.js +112 -0
  356. package/dist/report/html-report.d.ts +19 -0
  357. package/dist/report/html-report.d.ts.map +1 -0
  358. package/dist/report/html-report.js +963 -0
  359. package/dist/report/relative-time.d.ts +4 -0
  360. package/dist/report/relative-time.d.ts.map +1 -0
  361. package/dist/report/relative-time.js +46 -0
  362. package/dist/report/report-view.d.ts +17 -0
  363. package/dist/report/report-view.d.ts.map +1 -0
  364. package/dist/report/report-view.js +33 -0
  365. package/dist/report/repository.d.ts +35 -0
  366. package/dist/report/repository.d.ts.map +1 -0
  367. package/dist/report/repository.js +151 -0
  368. package/dist/runtime/cli-runtime.d.ts.map +1 -1
  369. package/dist/runtime/cli-runtime.js +82 -22
  370. package/dist/schemas/entity.schema.json +1148 -273
  371. package/dist/traceability/evidence-model.d.ts +2 -2
  372. package/dist/traceability/evidence-model.d.ts.map +1 -1
  373. package/dist/traceability/evidence-model.js +2 -2
  374. package/dist/traceability/git-staged.d.ts.map +1 -1
  375. package/dist/traceability/git-staged.js +15 -40
  376. package/dist/traceability/markdown-validate.d.ts.map +1 -1
  377. package/dist/traceability/markdown-validate.js +12 -7
  378. package/dist/traceability/staged-impact-contract.d.ts +3 -3
  379. package/dist/traceability/staged-impact-contract.d.ts.map +1 -1
  380. package/dist/traceability/staged-impact-contract.js +10 -38
  381. package/dist/traceability/staged-symbols-manifest.d.ts.map +1 -1
  382. package/dist/traceability/staged-symbols-manifest.js +8 -3
  383. package/dist/traceability/temp-kb.d.ts.map +1 -1
  384. package/dist/traceability/temp-kb.js +3 -0
  385. package/dist/types/entities.d.ts +3 -0
  386. package/dist/types/entities.d.ts.map +1 -1
  387. package/dist/utils/branch-resolver.d.ts +24 -10
  388. package/dist/utils/branch-resolver.d.ts.map +1 -1
  389. package/dist/utils/branch-resolver.js +121 -38
  390. package/dist/utils/branch-store-locator.d.ts +23 -0
  391. package/dist/utils/branch-store-locator.d.ts.map +1 -0
  392. package/dist/utils/branch-store-locator.js +90 -0
  393. package/dist/utils/branch-store.d.ts +15 -0
  394. package/dist/utils/branch-store.d.ts.map +1 -0
  395. package/dist/utils/branch-store.js +130 -0
  396. package/dist/utils/config.d.ts +39 -37
  397. package/dist/utils/config.d.ts.map +1 -1
  398. package/dist/utils/config.js +107 -119
  399. package/dist/utils/kb-manifest.d.ts +35 -0
  400. package/dist/utils/kb-manifest.d.ts.map +1 -0
  401. package/dist/utils/kb-manifest.js +154 -0
  402. package/dist/utils/kb-paths.d.ts +54 -0
  403. package/dist/utils/kb-paths.d.ts.map +1 -0
  404. package/dist/utils/kb-paths.js +125 -0
  405. package/dist/utils/manifest-paths.d.ts +4 -4
  406. package/dist/utils/manifest-paths.d.ts.map +1 -1
  407. package/dist/utils/manifest-paths.js +8 -56
  408. package/dist/utils/rule-registry.d.ts +48 -20
  409. package/dist/utils/rule-registry.d.ts.map +1 -1
  410. package/dist/utils/rule-registry.js +82 -77
  411. package/dist/utils/schema-version.d.ts +5 -5
  412. package/dist/utils/schema-version.d.ts.map +1 -1
  413. package/dist/utils/schema-version.js +26 -6
  414. package/dist/utils/strict-modeling.d.ts +0 -4
  415. package/dist/utils/strict-modeling.d.ts.map +1 -1
  416. package/dist/utils/strict-modeling.js +7 -8
  417. package/dist/verification/playwright-reporter.d.ts +21 -0
  418. package/dist/verification/playwright-reporter.d.ts.map +1 -0
  419. package/dist/verification/playwright-reporter.js +114 -0
  420. package/package.json +46 -7
  421. package/schema/config.json +2 -2
  422. package/schema/manifest.json +26 -0
  423. package/src/public/branch-resolver.ts +1 -0
  424. package/src/public/check-types.ts +22 -19
  425. package/src/public/diagnostic-usage.ts +79 -1
  426. package/src/public/distribution-parity.ts +1 -0
  427. package/src/public/ignore-policy.ts +16 -10
  428. package/src/public/impact/coverage-depth-quality.ts +36 -0
  429. package/src/public/impact/full-kb-quality.ts +118 -5
  430. package/src/public/impact/manifest.ts +2 -4
  431. package/src/public/operational-artifacts.ts +9 -1
  432. package/src/public/operations/catalog.ts +146 -9
  433. package/src/public/operations/check-executor.ts +102 -15
  434. package/src/public/operations/check-format-shared.ts +6 -0
  435. package/src/public/operations/check-helpers.ts +74 -35
  436. package/src/public/operations/contracts.ts +366 -0
  437. package/src/public/operations/discovery-executors.ts +299 -12
  438. package/src/public/operations/index.ts +9 -4
  439. package/src/public/operations/migration-plan.ts +740 -0
  440. package/src/public/operations/node-ports.ts +84 -10
  441. package/src/public/operations/prolog-json.ts +60 -5
  442. package/src/public/operations/repair-plan.ts +1 -0
  443. package/src/public/operations/result-envelope.ts +136 -0
  444. package/src/public/operations/runtime-types.ts +91 -5
  445. package/src/public/operations/source-relationship-parity.ts +226 -0
  446. package/src/public/operations/specs/{autopilot.ts → bootstrap.ts} +17 -16
  447. package/src/public/operations/specs/check.ts +4 -3
  448. package/src/public/operations/specs/discovery.ts +57 -3
  449. package/src/public/operations/specs/modeling.ts +3 -3
  450. package/src/public/operations/specs/mutation-schemas.ts +6 -1
  451. package/src/public/operations/specs/mutation.ts +27 -2
  452. package/src/public/operations/specs/planning.ts +234 -0
  453. package/src/public/operations/specs/reporting.ts +55 -1
  454. package/src/public/operations/specs/upsert.ts +10 -0
  455. package/src/public/operations/specs/verification.ts +78 -0
  456. package/src/public/operations/symbol-repair-plan.ts +164 -0
  457. package/src/public/operations/types.ts +62 -1
  458. package/src/public/playwright-case-id.ts +35 -0
  459. package/src/public/schemas/entity.ts +7 -2
  460. package/src/public/skills/kibi-bootstrap/SKILL.md +58 -0
  461. package/src/public/skills/kibi-bootstrap/resources/bootstrap.md +11 -0
  462. package/src/public/skills/kibi-bootstrap/resources/branch-lifecycle.md +7 -0
  463. package/src/public/skills/kibi-bootstrap/resources/operation-access.md +5 -0
  464. package/src/public/skills/kibi-bootstrap/resources/source-authoring.md +8 -0
  465. package/src/public/skills/kibi-freshness/SKILL.md +39 -9
  466. package/src/public/skills/kibi-freshness/resources/branch-lifecycle.md +7 -0
  467. package/src/public/skills/kibi-freshness/resources/operation-access.md +6 -0
  468. package/src/public/skills/kibi-freshness/resources/source-authoring.md +7 -0
  469. package/src/public/skills/kibi-traceability/SKILL.md +47 -47
  470. package/src/public/skills/kibi-traceability/resources/branch-lifecycle.md +7 -0
  471. package/src/public/skills/kibi-traceability/resources/operation-access.md +5 -0
  472. package/src/public/skills/kibi-traceability/resources/source-authoring.md +6 -0
  473. package/src/public/skills/kibi-traceability/resources/traceability.md +8 -0
  474. package/src/public/skills/kibi-usage/SKILL.md +115 -239
  475. package/src/public/skills/kibi-usage/resources/branch-lifecycle.md +31 -0
  476. package/src/public/skills/kibi-usage/resources/kb-improvement.md +38 -0
  477. package/src/public/skills/kibi-usage/resources/operation-access.md +36 -38
  478. package/src/public/skills/kibi-usage/resources/relationship-directions.md +3 -3
  479. package/src/public/skills/kibi-usage/resources/source-authoring.md +31 -0
  480. package/src/public/skills/kibi-usage/resources/workflows.md +56 -3
  481. package/src/public/symbol-granularity.ts +1 -0
  482. package/src/public/telemetry-acceptance.ts +16 -1
  483. package/src/public/telemetry-remediation.ts +1 -1
  484. package/src/public/verification-receipt.ts +248 -6
  485. package/src/schemas/entity.schema.json +1148 -273
  486. package/templates/github/kibi-badge.yml +86 -0
  487. package/templates/github/kibi-report.yml +84 -0
  488. package/dist/operations/autopilot/activation.d.ts.map +0 -1
  489. package/dist/operations/autopilot/candidates.d.ts +0 -4
  490. package/dist/operations/autopilot/discovery.d.ts.map +0 -1
  491. package/dist/operations/autopilot/generate.d.ts +0 -8
  492. package/dist/operations/autopilot/generate.d.ts.map +0 -1
  493. package/dist/operations/autopilot/generate.js +0 -112
  494. package/dist/operations/autopilot/presentation.d.ts +0 -13
  495. package/dist/operations/autopilot/presentation.d.ts.map +0 -1
  496. package/dist/operations/autopilot/presentation.js +0 -91
  497. package/dist/operations/autopilot/types.d.ts.map +0 -1
  498. package/dist/operations/autopilot/types.js +0 -8
  499. package/dist/public/operations/specs/autopilot.d.ts.map +0 -1
  500. package/dist/public/skills/init-kibi/SKILL.md +0 -62
  501. package/src/public/skills/init-kibi/SKILL.md +0 -62
  502. /package/dist/operations/{autopilot → bootstrap}/activation.d.ts +0 -0
  503. /package/dist/operations/{autopilot → bootstrap}/candidate-helpers.d.ts +0 -0
  504. /package/dist/operations/{autopilot → bootstrap}/candidate-helpers.js +0 -0
  505. /package/dist/operations/{autopilot → bootstrap}/requirement-claims.d.ts +0 -0
  506. /package/dist/operations/{autopilot → bootstrap}/requirement-claims.js +0 -0
@@ -1,6 +1,42 @@
1
1
  export interface BranchEnsureOptions {
2
2
  from?: string;
3
+ workspaceRoot?: string;
3
4
  }
5
+ export interface BranchMigrateOptions {
6
+ from?: string;
7
+ to?: string;
8
+ apply?: boolean;
9
+ /** Hash-bound preview approval required for every mutating migration. */
10
+ approvalHash?: string;
11
+ recoverJournal?: string;
12
+ workspaceRoot?: string;
13
+ }
14
+ export interface BranchRecoverOptions {
15
+ apply?: boolean;
16
+ workspaceRoot?: string;
17
+ }
18
+ export interface BranchRestoreOptions {
19
+ branch?: string;
20
+ apply?: boolean;
21
+ workspaceRoot?: string;
22
+ }
23
+ /** Legacy migration changes storage format for one exact branch identity. */
24
+ export declare function isSupportedLegacyBranchMigration(from: string, to: string): boolean;
25
+ export declare function branchMigrationApprovalHash(from: string, to: string, sourcePath: string, targetPath: string): string;
4
26
  export declare function branchEnsureCommand(options?: BranchEnsureOptions): Promise<void>;
27
+ /**
28
+ * Move a legacy branch-named KB into the exact active Git branch namespace.
29
+ * Preview is the default; --apply is required because this changes tracked
30
+ * workspace state.
31
+ */
32
+ export declare function branchMigrateCommand(options?: BranchMigrateOptions): Promise<void>;
33
+ /**
34
+ * Rebuild an unreadable exact branch store from the current authored sources.
35
+ * The existing bytes are moved to a Kibi-owned recovery directory only after a
36
+ * clean staging store has been created successfully.
37
+ */
38
+ export declare function branchRecoverCommand(options?: BranchRecoverOptions): Promise<void>;
39
+ /** Restore the newest quarantined store for an exact branch identity. */
40
+ export declare function branchRestoreCommand(options?: BranchRestoreOptions): Promise<void>;
5
41
  export default branchEnsureCommand;
6
42
  //# sourceMappingURL=branch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../src/commands/branch.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAmDD,wBAAsB,mBAAmB,CACvC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../src/commands/branch.ts"],"names":[],"mappings":"AA4CA,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,6EAA6E;AAC7E,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,OAAO,CAET;AAuBD,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,MAAM,CAeR;AAgHD,wBAAsB,mBAAmB,CACvC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CA2Kf;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAyFf;AAED,yEAAyE;AACzE,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAkDf;AAED,eAAe,mBAAmB,CAAC"}
@@ -15,64 +15,395 @@
15
15
  You should have received a copy of the GNU Affero General Public License
16
16
  along with this program. If not, see <https://www.gnu.org/licenses/>.
17
17
  */
18
+ import { createHash } from "node:crypto";
18
19
  import * as fs from "node:fs";
19
20
  import * as path from "node:path";
20
- import { copyCleanSnapshot, getBranchDiagnostic, isValidBranchName, resolveActiveBranch, } from "../utils/branch-resolver.js";
21
- function resolveExplicitFromBranch(fromBranch) {
22
- if (!isValidBranchName(fromBranch)) {
23
- console.warn(`Warning: invalid branch name provided via --from: '${fromBranch}'`);
24
- return null;
25
- }
26
- const fromPath = path.join(process.cwd(), ".kb/branches", fromBranch);
27
- if (fs.existsSync(fromPath)) {
28
- return fromBranch;
29
- }
30
- console.warn(`Warning: --from branch '${fromBranch}' KB does not exist`);
31
- return null;
21
+ import { EngineClient, acquireEnginePublicationLease, engineSocketPath, } from "../engine.js";
22
+ import { getBranchDiagnostic, isValidBranchName, resolveActiveBranch, resolveBranchAttachment, } from "../utils/branch-resolver.js";
23
+ import { branchStoreManifestMatches, branchStoreManifestPath, branchStorePath, branchStoresRoot, ensureBranchStoreManifest, expectedBranchStoreManifest, legacyBranchStorePath, readBranchStoreManifest, } from "../utils/branch-store-locator.js";
24
+ import { inspectBranchStore } from "../utils/branch-store.js";
25
+ /** Legacy migration changes storage format for one exact branch identity. */
26
+ export function isSupportedLegacyBranchMigration(from, to) {
27
+ return from === to;
32
28
  }
33
- function resolveDefaultSourceBranch() {
34
- // No default branch concept - branches are independent
35
- // When --from is not specified, an empty branch KB will be created
36
- return null;
37
- }
38
- function determineSourceBranch(explicitFromBranch) {
39
- if (explicitFromBranch) {
40
- const fromResult = resolveExplicitFromBranch(explicitFromBranch);
41
- if (fromResult) {
42
- return fromResult;
29
+ function hashLegacyStore(sourcePath) {
30
+ const hash = createHash("sha256");
31
+ const visit = (directory, relative = "") => {
32
+ for (const entry of fs
33
+ .readdirSync(directory, { withFileTypes: true })
34
+ .sort((left, right) => left.name.localeCompare(right.name))) {
35
+ const absolute = path.join(directory, entry.name);
36
+ const child = relative ? path.join(relative, entry.name) : entry.name;
37
+ if (entry.isDirectory())
38
+ visit(absolute, child);
39
+ else if (entry.isFile()) {
40
+ hash.update(child.replaceAll(path.sep, "/"));
41
+ hash.update("\0");
42
+ hash.update(fs.readFileSync(absolute));
43
+ hash.update("\0");
44
+ }
43
45
  }
46
+ };
47
+ visit(sourcePath);
48
+ return hash.digest("hex");
49
+ }
50
+ export function branchMigrationApprovalHash(from, to, sourcePath, targetPath) {
51
+ const sourceHash = hashLegacyStore(sourcePath);
52
+ return createHash("sha256")
53
+ .update(JSON.stringify({
54
+ version: 2,
55
+ from,
56
+ to,
57
+ sourcePath,
58
+ targetPath,
59
+ sourceHash,
60
+ manifestVersion: expectedBranchStoreManifest(to).version,
61
+ }))
62
+ .digest("hex");
63
+ }
64
+ function migrationJournalPath(workspaceRoot, id) {
65
+ if (!/^[A-Za-z0-9._-]+$/.test(id)) {
66
+ throw new Error("branch migration journal ID is invalid");
44
67
  }
45
- return resolveDefaultSourceBranch();
68
+ return path.join(workspaceRoot, ".kb", "recovery", "branch-migrations", `${id}.json`);
69
+ }
70
+ function writeMigrationJournal(journalPath, journal) {
71
+ fs.writeFileSync(journalPath, `${JSON.stringify(journal, null, 2)}\n`, {
72
+ mode: 0o600,
73
+ });
46
74
  }
47
- function createBranchKbFromSource(sourceBranch, targetBranch) {
48
- const sourcePath = path.join(process.cwd(), ".kb/branches", sourceBranch);
49
- const targetPath = path.join(process.cwd(), ".kb/branches", targetBranch);
50
- copyCleanSnapshot(sourcePath, targetPath);
51
- console.log(`Created branch KB: ${targetBranch} (from ${sourceBranch})`);
75
+ function recoverBranchMigration(workspaceRoot, id, apply) {
76
+ const journalPath = migrationJournalPath(workspaceRoot, id);
77
+ const journal = JSON.parse(fs.readFileSync(journalPath, "utf8"));
78
+ if (journal.version !== 2)
79
+ throw new Error("Unsupported branch migration journal version");
80
+ const root = path.resolve(workspaceRoot);
81
+ const paths = ["sourcePath", "targetPath", "stagingPath", "backupPath"].map((key) => path.resolve(root, String(journal[key])));
82
+ if (paths.some((candidate) => !candidate.startsWith(`${root}${path.sep}`))) {
83
+ throw new Error("Branch migration journal path escapes workspace");
84
+ }
85
+ const [sourcePath, targetPath, stagingPath, backupPath] = paths;
86
+ if (!sourcePath || !targetPath || !stagingPath || !backupPath) {
87
+ throw new Error("Branch migration journal is incomplete");
88
+ }
89
+ console.log(`Branch migration recovery preview: ${id}`);
90
+ console.log(`State: ${String(journal.state)}`);
91
+ console.log(`Source: ${sourcePath}`);
92
+ console.log(`Target: ${targetPath}`);
93
+ console.log(`Backup: ${backupPath}`);
94
+ if (!apply) {
95
+ console.log("Preview only. Re-run with --apply to recover this journal.");
96
+ return;
97
+ }
98
+ if (journal.state === "committed")
99
+ return;
100
+ if (journal.state === "prepared") {
101
+ if (fs.existsSync(sourcePath) &&
102
+ fs.existsSync(stagingPath) &&
103
+ !fs.existsSync(targetPath)) {
104
+ fs.renameSync(sourcePath, backupPath);
105
+ writeMigrationJournal(journalPath, {
106
+ ...journal,
107
+ state: "legacy_quarantined",
108
+ });
109
+ }
110
+ else if (fs.existsSync(sourcePath) && fs.existsSync(targetPath)) {
111
+ throw new Error("Recovery found both legacy source and target; refusing to choose a winner");
112
+ }
113
+ }
114
+ if (fs.existsSync(backupPath) &&
115
+ fs.existsSync(stagingPath) &&
116
+ !fs.existsSync(targetPath)) {
117
+ fs.renameSync(stagingPath, targetPath);
118
+ if (!branchStoreManifestMatches(targetPath, String(journal.to))) {
119
+ throw new Error("Recovered target manifest does not match the exact branch identity");
120
+ }
121
+ writeMigrationJournal(journalPath, {
122
+ ...journal,
123
+ state: "target_published",
124
+ });
125
+ }
126
+ if (fs.existsSync(backupPath) && fs.existsSync(targetPath)) {
127
+ if (!branchStoreManifestMatches(targetPath, String(journal.to))) {
128
+ const corrupt = `${targetPath}.corrupt-${Date.now()}`;
129
+ fs.renameSync(targetPath, corrupt);
130
+ fs.renameSync(backupPath, targetPath);
131
+ throw new Error(`Invalid target moved to ${corrupt}; verified legacy backup restored`);
132
+ }
133
+ writeMigrationJournal(journalPath, { ...journal, state: "committed" });
134
+ return;
135
+ }
136
+ throw new Error(`Migration journal ${id} remains incomplete; rerun its recovery preview`);
52
137
  }
53
- function createEmptyBranchKb(branch) {
54
- const kbPath = path.join(process.cwd(), ".kb/branches", branch);
55
- fs.mkdirSync(kbPath, { recursive: true });
56
- console.log(`Created branch KB: ${branch} (empty schema)`);
138
+ function createEmptyBranchKb(branch, workspaceRoot) {
139
+ const kbPath = ensureBranchStoreManifest(workspaceRoot, branch);
140
+ console.log(`Created branch KB: ${branch} (${kbPath})`);
57
141
  }
58
142
  export async function branchEnsureCommand(options) {
59
- const branchResult = resolveActiveBranch(process.cwd());
143
+ const workspaceRoot = path.resolve(options?.workspaceRoot ?? process.cwd());
144
+ const branchResult = resolveBranchAttachment(workspaceRoot);
60
145
  if ("error" in branchResult) {
61
146
  console.error(getBranchDiagnostic(undefined, branchResult.error));
62
147
  throw new Error(`Failed to resolve active branch: ${branchResult.error}`);
63
148
  }
64
- const currentBranch = branchResult.branch;
65
- const kbPath = path.join(process.cwd(), ".kb/branches", currentBranch);
149
+ if (branchResult.migrationRequired) {
150
+ throw new Error(`Branch ensure blocked by legacy storage at ${branchResult.storePath}. Run an explicit 'kibi branch migrate --from ${branchResult.kbBranch} --to ${branchResult.gitBranch} --apply' first.`);
151
+ }
152
+ const currentBranch = branchResult.kbBranch;
153
+ const kbPath = branchResult.storePath;
154
+ if (options?.from !== undefined) {
155
+ throw new Error("branch ensure --from was removed: new branch stores compile from the current checkout's tracked sources. Use branch migrate for an explicit legacy-store move.");
156
+ }
66
157
  if (fs.existsSync(kbPath)) {
67
158
  console.log(`Branch KB already exists: ${currentBranch}`);
68
159
  return;
69
160
  }
70
- const sourceBranch = determineSourceBranch(options?.from);
71
- if (sourceBranch) {
72
- createBranchKbFromSource(sourceBranch, currentBranch);
161
+ createEmptyBranchKb(currentBranch, workspaceRoot);
162
+ }
163
+ /**
164
+ * Move a legacy branch-named KB into the exact active Git branch namespace.
165
+ * Preview is the default; --apply is required because this changes tracked
166
+ * workspace state.
167
+ */
168
+ export async function branchMigrateCommand(options = {}) {
169
+ const workspaceRoot = path.resolve(options.workspaceRoot ?? process.cwd());
170
+ if (options.recoverJournal !== undefined) {
171
+ recoverBranchMigration(workspaceRoot, options.recoverJournal, options.apply === true);
172
+ return;
173
+ }
174
+ const from = options.from;
175
+ if (!from || !isValidBranchName(from)) {
176
+ throw new Error("branch migrate requires a valid --from branch name");
177
+ }
178
+ const active = resolveActiveBranch(workspaceRoot);
179
+ if ("error" in active) {
180
+ throw new Error(`Failed to resolve active branch: ${active.error}`);
181
+ }
182
+ const to = options.to;
183
+ if (!to || !isValidBranchName(to)) {
184
+ throw new Error("branch migrate requires an explicit valid --to branch name");
185
+ }
186
+ if (active.branch !== to) {
187
+ throw new Error(`branch migrate --to '${to}' does not match the active Git branch '${active.branch}'`);
188
+ }
189
+ if (!isSupportedLegacyBranchMigration(from, to)) {
190
+ throw new Error("branch migrate only supports a same-identity literal-to-hashed migration; every cross-branch move is refused");
191
+ }
192
+ // `from === to` is valid for the same-identity storage bridge: it names the
193
+ // same exact Git identity while moving a legacy literal directory into its
194
+ // hashed compiled-store path. The explicit pair is still required; no
195
+ // rename is inferred from commit history.
196
+ const root = branchStoresRoot(workspaceRoot);
197
+ const sourcePath = legacyBranchStorePath(workspaceRoot, from);
198
+ const targetPath = branchStorePath(workspaceRoot, to);
199
+ if (!fs.existsSync(sourcePath)) {
200
+ throw new Error(`Legacy source KB does not exist: ${sourcePath}`);
201
+ }
202
+ if (fs.existsSync(targetPath)) {
203
+ throw new Error(`Target branch KB already exists: ${targetPath}`);
204
+ }
205
+ const approvalHash = branchMigrationApprovalHash(from, to, sourcePath, targetPath);
206
+ console.log(`Branch KB migration preview: ${from} -> ${to}`);
207
+ console.log(`Source: ${sourcePath}`);
208
+ console.log(`Target: ${targetPath}`);
209
+ console.log(`Approval hash: ${approvalHash}`);
210
+ if (!options.apply) {
211
+ console.log("Preview only. Re-run with --apply to move the branch KB.");
212
+ return;
213
+ }
214
+ if (!options.approvalHash) {
215
+ throw new Error(`branch migrate requires --approval-hash from the preview (${approvalHash})`);
216
+ }
217
+ if (options.approvalHash !== approvalHash) {
218
+ throw new Error(`branch migrate approval hash mismatch; expected ${approvalHash}`);
219
+ }
220
+ const publicationLease = acquireEnginePublicationLease(workspaceRoot, from);
221
+ try {
222
+ const engine = new EngineClient({
223
+ workspaceRoot,
224
+ branch: from,
225
+ timeout: 2_000,
226
+ allowPublicationLock: true,
227
+ });
228
+ const engineSocket = engineSocketPath(workspaceRoot, from);
229
+ try {
230
+ if (fs.existsSync(engineSocket))
231
+ await engine.start(false);
232
+ if (engine.isRunning()) {
233
+ await engine.stop(false);
234
+ }
235
+ else if (fs.existsSync(engineSocket)) {
236
+ throw new Error(`Kibi engine socket remains present but is not reachable: ${engineSocket}`);
237
+ }
238
+ }
239
+ catch (error) {
240
+ throw new Error(`Branch migration blocked: engine shutdown failed: ${error instanceof Error ? error.message : String(error)}`);
241
+ }
242
+ finally {
243
+ await engine.terminate();
244
+ }
245
+ if (branchMigrationApprovalHash(from, to, sourcePath, targetPath) !==
246
+ approvalHash) {
247
+ throw new Error("Branch migration source changed after engine shutdown; rerun the preview");
248
+ }
249
+ fs.mkdirSync(root, { recursive: true });
250
+ const migrationId = `${Date.now()}-${from.replaceAll("/", "__")}-${to.replaceAll("/", "__")}`;
251
+ const journalPath = path.join(workspaceRoot, ".kb", "recovery", "branch-migrations", `${migrationId}.json`);
252
+ const stagingPath = `${targetPath}.staging-${process.pid}-${Date.now()}`;
253
+ const backupPath = path.join(workspaceRoot, ".kb", "recovery", "branch-migrations", `${migrationId}-legacy`);
254
+ fs.mkdirSync(path.dirname(backupPath), { recursive: true });
255
+ const journal = {
256
+ version: 2,
257
+ from,
258
+ to,
259
+ sourcePath: path.relative(workspaceRoot, sourcePath),
260
+ targetPath: path.relative(workspaceRoot, targetPath),
261
+ stagingPath: path.relative(workspaceRoot, stagingPath),
262
+ backupPath: path.relative(workspaceRoot, backupPath),
263
+ approvalHash,
264
+ state: "prepared",
265
+ };
266
+ writeMigrationJournal(journalPath, { ...journal });
267
+ try {
268
+ fs.cpSync(sourcePath, stagingPath, {
269
+ recursive: true,
270
+ errorOnExist: true,
271
+ });
272
+ fs.writeFileSync(branchStoreManifestPath(stagingPath), `${JSON.stringify(expectedBranchStoreManifest(to), null, 2)}\n`, { mode: 0o600 });
273
+ fs.renameSync(sourcePath, backupPath);
274
+ writeMigrationJournal(journalPath, {
275
+ ...journal,
276
+ state: "legacy_quarantined",
277
+ });
278
+ fs.renameSync(stagingPath, targetPath);
279
+ if (!branchStoreManifestMatches(targetPath, to)) {
280
+ throw new Error("migrated branch store manifest verification failed");
281
+ }
282
+ writeMigrationJournal(journalPath, {
283
+ ...journal,
284
+ state: "target_published",
285
+ });
286
+ writeMigrationJournal(journalPath, { ...journal, state: "committed" });
287
+ }
288
+ catch (error) {
289
+ // Leave the hash-bound journal and any staging bytes for explicit crash
290
+ // recovery; never silently select a winner between source and target.
291
+ throw new Error(`Branch migration failed before authoritative completion; recover ${journalPath}: ${error instanceof Error ? error.message : String(error)}`);
292
+ }
293
+ console.log(`Migrated branch KB to exact Git branch '${to}'.`);
294
+ console.log(`Legacy store preserved at ${backupPath}.`);
295
+ console.log(`Migration journal: ${journalPath}.`);
296
+ }
297
+ finally {
298
+ publicationLease.release();
299
+ }
300
+ }
301
+ /**
302
+ * Rebuild an unreadable exact branch store from the current authored sources.
303
+ * The existing bytes are moved to a Kibi-owned recovery directory only after a
304
+ * clean staging store has been created successfully.
305
+ */
306
+ export async function branchRecoverCommand(options = {}) {
307
+ const workspaceRoot = path.resolve(options.workspaceRoot ?? process.cwd());
308
+ const attachment = resolveBranchAttachment(workspaceRoot);
309
+ if ("error" in attachment) {
310
+ throw new Error(`Failed to resolve active branch: ${attachment.error}`);
311
+ }
312
+ if (attachment.kind !== "exact") {
313
+ throw new Error("branch recover requires an exact Git/KB attachment; migrate legacy storage before recovery.");
314
+ }
315
+ const inspection = inspectBranchStore(workspaceRoot, attachment.kbBranch);
316
+ if (inspection.state === "missing") {
317
+ throw new Error(`Branch KB is missing at ${inspection.path}; run 'kibi branch ensure' instead.`);
318
+ }
319
+ const stamp = new Date().toISOString().replaceAll(":", "-");
320
+ const backupPath = path.join(workspaceRoot, ".kb", "recovery", attachment.kbBranch, stamp);
321
+ console.log(`Branch KB recovery preview: ${attachment.kbBranch}`);
322
+ console.log(`Store: ${inspection.path}`);
323
+ console.log(`State: ${inspection.state}${inspection.errorCode ? ` (${inspection.errorCode})` : ""}`);
324
+ console.log(`Backup: ${backupPath}`);
325
+ console.log("Strategy: rebuild a clean journaled store from current authored sources.");
326
+ console.log("Git branch remains unchanged; no branch rename will be performed.");
327
+ if (!options.apply) {
328
+ console.log("Preview only. Re-run with --apply to create the backup and publish the rebuilt store.");
329
+ return;
330
+ }
331
+ const { syncCommand } = await import("./sync.js");
332
+ const result = await syncCommand({
333
+ rebuild: true,
334
+ recoveryBackupPath: backupPath,
335
+ workspaceRoot,
336
+ });
337
+ if (!result.success) {
338
+ throw new Error("Branch KB recovery did not complete successfully.");
339
+ }
340
+ // Reattach through the normal delta path after publishing the isolated
341
+ // generation. This establishes the current checkpoint/snapshot metadata on
342
+ // the recovered store, so recovery finishes fresh rather than merely
343
+ // structurally readable.
344
+ const checkpoint = await syncCommand({ workspaceRoot });
345
+ if (!checkpoint.success) {
346
+ throw new Error("Recovered branch KB could not establish a fresh checkpoint.");
347
+ }
348
+ const auditPath = path.join(workspaceRoot, ".kb", "migrations", `${attachment.kbBranch.replaceAll("/", "__")}.recovery.json`);
349
+ fs.mkdirSync(path.dirname(auditPath), { recursive: true });
350
+ fs.writeFileSync(auditPath, `${JSON.stringify({
351
+ version: 1,
352
+ branch: attachment.kbBranch,
353
+ recoveredAt: new Date().toISOString(),
354
+ priorState: inspection.state,
355
+ priorErrorCode: inspection.errorCode ?? null,
356
+ backupPath: path.relative(workspaceRoot, backupPath),
357
+ strategy: "rebuild_from_authored_sources",
358
+ }, null, 2)}\n`, "utf8");
359
+ console.log(`Recovered exact branch KB '${attachment.kbBranch}'.`);
360
+ console.log(`Original bytes preserved at ${backupPath}.`);
361
+ console.log(`Recovery audit: ${auditPath}`);
362
+ }
363
+ /** Restore the newest quarantined store for an exact branch identity. */
364
+ export async function branchRestoreCommand(options = {}) {
365
+ const workspaceRoot = path.resolve(options.workspaceRoot ?? process.cwd());
366
+ const branch = options.branch;
367
+ if (!branch || !isValidBranchName(branch)) {
368
+ throw new Error("branch restore requires a valid --branch identity");
369
+ }
370
+ const targetPath = branchStorePath(workspaceRoot, branch);
371
+ if (fs.existsSync(targetPath)) {
372
+ throw new Error(`Target branch store already exists: ${targetPath}`);
373
+ }
374
+ const keyRoot = path.join(workspaceRoot, ".kb", "quarantine", "branches", path.basename(targetPath));
375
+ const candidates = fs.existsSync(keyRoot)
376
+ ? fs
377
+ .readdirSync(keyRoot, { withFileTypes: true })
378
+ .filter((entry) => entry.isDirectory())
379
+ .map((entry) => path.join(keyRoot, entry.name))
380
+ .sort()
381
+ .reverse()
382
+ : [];
383
+ const source = candidates.find((candidate) => {
384
+ try {
385
+ const metadata = JSON.parse(fs.readFileSync(path.join(candidate, "quarantine.json"), "utf8"));
386
+ return metadata.branch === branch;
387
+ }
388
+ catch {
389
+ return false;
390
+ }
391
+ });
392
+ if (!source)
393
+ throw new Error(`No quarantined store found for '${branch}'.`);
394
+ console.log(`Branch restore preview: ${branch}`);
395
+ console.log(`Source: ${source}`);
396
+ console.log(`Target: ${targetPath}`);
397
+ if (!options.apply) {
398
+ console.log("Preview only. Re-run with --apply to restore the store.");
399
+ return;
73
400
  }
74
- else {
75
- createEmptyBranchKb(currentBranch);
401
+ const manifest = readBranchStoreManifest(source);
402
+ if (manifest === null || !branchStoreManifestMatches(source, branch)) {
403
+ throw new Error(`Quarantined store identity mismatch for '${branch}'.`);
76
404
  }
405
+ fs.mkdirSync(path.dirname(targetPath), { recursive: true });
406
+ fs.renameSync(source, targetPath);
407
+ console.log(`Restored exact branch store for '${branch}'.`);
77
408
  }
78
409
  export default branchEnsureCommand;
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAmFA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,YAAY,EAAE,SAAS,EAAE,CAAC;AAG1B,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AA2bD,wBAAsB,YAAY,CAChC,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAqX/B"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"AAqFA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAmaD,wBAAsB,YAAY,CAChC,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA4W/B"}
@@ -18,14 +18,14 @@
18
18
  import { existsSync } from "node:fs";
19
19
  import * as path from "node:path";
20
20
  import { EngineClient } from "../engine.js";
21
- import { getBranchOverride, isCliTraceOrDebugEnabled } from "../env.js";
21
+ import { isCliTraceOrDebugEnabled } from "../env.js";
22
22
  import { extractFromManifest, extractFromManifestString, } from "../extractors/manifest.js";
23
23
  import { extractFromMarkdownString, } from "../extractors/markdown.js";
24
24
  import { PrologProcess } from "../prolog.js";
25
25
  import { escapeAtom, parseTriples, parseViolationRows, } from "../prolog/codec.js";
26
26
  import { createSemanticReviewDiagnostics, createSymbolGranularityDiagnostics, createSymbolQualityDiagnostics, hasBlockingImpactDiagnostics, } from "../public/impact-diagnostics.js";
27
27
  import { executeCheck } from "../public/operations/check-executor.js";
28
- import { KIBI_NO_IMPACT_DECLARATION, KIBI_SYMBOLS_MANIFEST_PATH, } from "../traceability/evidence-model.js";
28
+ import { KIBI_NO_IMPACT_DECLARATION, KIBI_SYMBOLS_MANIFEST_PATH, KIBI_SYMBOL_COORDINATES_PATH, } from "../traceability/evidence-model.js";
29
29
  import { getStagedFiles } from "../traceability/git-staged.js";
30
30
  import { validateStagedMarkdown } from "../traceability/markdown-validate.js";
31
31
  import { collectStagedKibiDiagnostics, } from "../traceability/staged-diagnostics.js";
@@ -34,9 +34,9 @@ import { assessStagedSymbolsManifest, collectStagedAuthoredSymbolsManifestEviden
34
34
  import { createManifestLookupSentinelKey, extractSymbolsFromStagedFile, } from "../traceability/symbol-extract.js";
35
35
  import { cleanupTempKb, consultOverlay, createOverlayFacts, createTempKb, projectStagedEntities, } from "../traceability/temp-kb.js";
36
36
  import { formatViolations as formatStagedViolations, validateStagedSymbols, } from "../traceability/validate.js";
37
- import { loadConfig } from "../utils/config.js";
37
+ import { resolveBranchAttachment } from "../utils/branch-resolver.js";
38
+ import { CANONICAL_ENTITY_PATHS } from "../utils/kb-paths.js";
38
39
  import { safeCleanupProlog } from "../utils/prolog-cleanup.js";
39
- import { getCurrentBranch } from "./init-helpers.js";
40
40
  function getMatchGroup(match, index = 1) {
41
41
  const value = match?.[index];
42
42
  return typeof value === "string" ? value : null;
@@ -70,9 +70,8 @@ function buildManifestLookup(stagedFiles) {
70
70
  // Pre-populate lookup from working-tree manifests so that code-only changes
71
71
  // (where symbols.yaml is not staged) still resolve to the correct symbol IDs
72
72
  // and relationships already defined on disk.
73
- const config = loadConfig(process.cwd());
74
- const symbolsRelPath = config.paths.symbols;
75
- if (symbolsRelPath) {
73
+ const symbolsRelPath = CANONICAL_ENTITY_PATHS.symbols;
74
+ {
76
75
  const absSymbolsPath = path.resolve(process.cwd(), symbolsRelPath);
77
76
  if (existsSync(absSymbolsPath)) {
78
77
  try {
@@ -104,10 +103,8 @@ function buildManifestLookup(stagedFiles) {
104
103
  }
105
104
  }
106
105
  const stagedManifestFiles = stagedFiles.filter((file) => file.content !== undefined &&
107
- (file.path.endsWith("/symbols.yaml") ||
108
- file.path.endsWith("/symbols.yml") ||
109
- file.path === "symbols.yaml" ||
110
- file.path === "symbols.yml"));
106
+ (file.path === CANONICAL_ENTITY_PATHS.symbols ||
107
+ file.path === ".kb/symbols.yml"));
111
108
  for (const manifestFile of stagedManifestFiles) {
112
109
  manifestLookup.set(createManifestLookupSentinelKey(manifestFile.path), {
113
110
  id: manifestFile.path,
@@ -173,29 +170,9 @@ function isKibiEntityType(value) {
173
170
  return KIBI_ENTITY_TYPES.has(value);
174
171
  }
175
172
  function isStagedManifestPath(filePath) {
176
- if (filePath.endsWith("/symbols.yaml") ||
177
- filePath.endsWith("/symbols.yml") ||
178
- filePath.endsWith("/symbol-coordinates.yaml") ||
179
- filePath === "symbols.yaml" ||
180
- filePath === "symbols.yml" ||
181
- filePath === "symbol-coordinates.yaml") {
182
- return true;
183
- }
184
- try {
185
- const config = loadConfig(process.cwd());
186
- if (config.paths.symbols) {
187
- const relSymbols = config.paths.symbols;
188
- const configuredBase = relSymbols.split(/[\\/]/).pop();
189
- if (filePath === relSymbols ||
190
- (configuredBase && filePath.endsWith(`/${configuredBase}`))) {
191
- return true;
192
- }
193
- }
194
- }
195
- catch {
196
- // ignore config read errors
197
- }
198
- return false;
173
+ return (filePath === CANONICAL_ENTITY_PATHS.symbols ||
174
+ filePath === ".kb/symbols.yml" ||
175
+ filePath === KIBI_SYMBOL_COORDINATES_PATH);
199
176
  }
200
177
  function isTestOnlySourcePath(filePath) {
201
178
  return (filePath.startsWith("tests/") ||
@@ -363,28 +340,21 @@ export async function checkCommand(options) {
363
340
  let prolog = null;
364
341
  let engine = null;
365
342
  let attached = false;
366
- let resolvedBranch = "develop";
343
+ let resolvedBranch = "";
367
344
  try {
368
345
  let resolvedKbPath = "";
369
346
  if (options.kbPath) {
370
347
  resolvedKbPath = options.kbPath;
371
348
  }
372
349
  else {
373
- const envBranch = getBranchOverride();
374
- let branch = envBranch || undefined;
375
- if (!branch) {
376
- try {
377
- branch = await getCurrentBranch(process.cwd());
378
- }
379
- catch {
380
- branch = undefined;
381
- }
350
+ const attachment = resolveBranchAttachment(process.cwd());
351
+ if ("error" in attachment)
352
+ throw new Error(attachment.error);
353
+ resolvedBranch = attachment.kbBranch;
354
+ if (attachment.migrationRequired) {
355
+ console.warn(`Warning: reading legacy KB attachment ${attachment.gitBranch} -> ${attachment.kbBranch}; migrate before writes or sync.`);
382
356
  }
383
- if (!branch)
384
- branch = envBranch || "develop";
385
- resolvedBranch = branch;
386
- // fallback to main if develop isn't present? keep path consistent
387
- resolvedKbPath = path.join(process.cwd(), ".kb/branches", branch || "main");
357
+ resolvedKbPath = attachment.storePath;
388
358
  }
389
359
  if (options.staged) {
390
360
  const minLinks = options.minLinks ? Number(options.minLinks) : 1;
@@ -396,7 +366,7 @@ export async function checkCommand(options) {
396
366
  return { exitCode: 0 };
397
367
  }
398
368
  const { manifestLookup, manifestResults, authoredSymbolResults, stagedAuthoredSymbolResults, } = buildManifestLookup(stagedFiles);
399
- const symbolsManifestPath = loadConfig(process.cwd()).paths.symbols ?? KIBI_SYMBOLS_MANIFEST_PATH;
369
+ const symbolsManifestPath = KIBI_SYMBOLS_MANIFEST_PATH;
400
370
  const sourceFiles = stagedFiles.filter((file) => !file.path.endsWith(".md") && !isStagedManifestPath(file.path));
401
371
  const markdownFiles = stagedFiles.filter((f) => f.path.endsWith(".md"));
402
372
  const markdownErrors = [];
@@ -1027,20 +997,3 @@ async function checkSymbolCoverage(prolog) {
1027
997
  }
1028
998
  return violations;
1029
999
  }
1030
- async function checkSymbolTraceability(prolog, requireAdr) {
1031
- const violations = [];
1032
- const requireAdrStr = requireAdr ? "true" : "false";
1033
- const result = await prolog.query(`findall(violation(Rule, EntityId, Desc, Sugg, Src),
1034
- checks:symbol_traceability_violation(${requireAdrStr}, violation(Rule, EntityId, Desc, Sugg, Src)),
1035
- Violations)`);
1036
- if (!result.success || !result.bindings.Violations) {
1037
- return violations;
1038
- }
1039
- const violationsStr = result.bindings.Violations;
1040
- if (violationsStr && violationsStr !== "[]") {
1041
- for (const v of parseViolationRows(violationsStr)) {
1042
- violations.push(v);
1043
- }
1044
- }
1045
- return violations;
1046
- }
@@ -1 +1 @@
1
- {"version":3,"file":"discovery-shared.d.ts","sourceRoot":"","sources":["../../src/commands/discovery-shared.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAMnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B;AAED,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,aAAa,CAAC;IAC3D,WAAW,EAAE,OAAO,eAAe,CAAC;CACrC;AAGD,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,OAAO,EACxD,IAAI,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,cAAmB,6EAG7B;AAGD,wBAAsB,wBAAwB,CAAC,CAAC,EAC9C,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,EAC/C,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAC5B,OAAO,CAAC,CAAC,CAAC,CAsDZ;AAID,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAS5D;AAGD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAC5B,MAAM,CAGR;AAGD,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAC5B,OAAO,CAAC,CAAC,CAAC,CAwBZ;AAGD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,EACpC,UAAU,EAAE,OAAO,EACnB,YAAY,EAAE,MAAM,GACnB,IAAI,CAQN"}
1
+ {"version":3,"file":"discovery-shared.d.ts","sourceRoot":"","sources":["../../src/commands/discovery-shared.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAMnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B;AAED,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,aAAa,CAAC;IAC3D,WAAW,EAAE,OAAO,eAAe,CAAC;CACrC;AAGD,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,OAAO,EACxD,IAAI,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,cAAmB,6EAG7B;AAGD,wBAAsB,wBAAwB,CAAC,CAAC,EAC9C,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,EAC/C,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAC5B,OAAO,CAAC,CAAC,CAAC,CA+CZ;AAID,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAI5D;AAGD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAC5B,MAAM,CAGR;AAGD,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAC5B,OAAO,CAAC,CAAC,CAAC,CAwBZ;AAGD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,EACpC,UAAU,EAAE,OAAO,EACnB,YAAY,EAAE,MAAM,GACnB,IAAI,CAQN"}