kibi-cli 0.19.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (672) hide show
  1. package/dist/cli-errors.d.ts +3 -1
  2. package/dist/cli-errors.d.ts.map +1 -1
  3. package/dist/cli-errors.js +4 -1
  4. package/dist/cli-json-command.d.ts +1 -0
  5. package/dist/cli-json-command.d.ts.map +1 -1
  6. package/dist/cli-json-command.js +13 -4
  7. package/dist/cli-operation-loader.d.ts.map +1 -1
  8. package/dist/cli-operation-loader.js +53 -20
  9. package/dist/cli-operation-metadata.d.ts +21 -8
  10. package/dist/cli-operation-metadata.d.ts.map +1 -1
  11. package/dist/cli-operation-metadata.js +27 -10
  12. package/dist/cli-protocol.d.ts.map +1 -1
  13. package/dist/cli-protocol.js +38 -8
  14. package/dist/cli-register-foundation.d.ts.map +1 -1
  15. package/dist/cli-register-foundation.js +14 -2
  16. package/dist/cli-register-maintenance.d.ts.map +1 -1
  17. package/dist/cli-register-maintenance.js +33 -4
  18. package/dist/cli-register-proof.d.ts +3 -0
  19. package/dist/cli-register-proof.d.ts.map +1 -0
  20. package/dist/cli-register-proof.js +103 -0
  21. package/dist/cli-register-reporting.d.ts.map +1 -1
  22. package/dist/cli-register-reporting.js +11 -0
  23. package/dist/cli.d.ts +4 -0
  24. package/dist/cli.d.ts.map +1 -1
  25. package/dist/cli.js +17 -8
  26. package/dist/commands/aggregated-checks.d.ts +1 -2
  27. package/dist/commands/aggregated-checks.d.ts.map +1 -1
  28. package/dist/commands/aggregated-checks.js +14 -9
  29. package/dist/commands/branch.d.ts +37 -0
  30. package/dist/commands/branch.d.ts.map +1 -1
  31. package/dist/commands/branch.js +375 -40
  32. package/dist/commands/check.d.ts +14 -0
  33. package/dist/commands/check.d.ts.map +1 -1
  34. package/dist/commands/check.js +209 -110
  35. package/dist/commands/coverage.d.ts +1 -0
  36. package/dist/commands/coverage.d.ts.map +1 -1
  37. package/dist/commands/coverage.js +6 -0
  38. package/dist/commands/discovery-shared.d.ts.map +1 -1
  39. package/dist/commands/discovery-shared.js +10 -19
  40. package/dist/commands/doctor.d.ts +26 -1
  41. package/dist/commands/doctor.d.ts.map +1 -1
  42. package/dist/commands/doctor.js +291 -30
  43. package/dist/commands/engine.d.ts +12 -0
  44. package/dist/commands/engine.d.ts.map +1 -1
  45. package/dist/commands/engine.js +50 -7
  46. package/dist/commands/gc.d.ts +5 -2
  47. package/dist/commands/gc.d.ts.map +1 -1
  48. package/dist/commands/gc.js +140 -71
  49. package/dist/commands/github-init.d.ts +57 -0
  50. package/dist/commands/github-init.d.ts.map +1 -0
  51. package/dist/commands/github-init.js +314 -0
  52. package/dist/commands/init-helpers.d.ts +1 -1
  53. package/dist/commands/init-helpers.d.ts.map +1 -1
  54. package/dist/commands/init-helpers.js +109 -28
  55. package/dist/commands/init.d.ts +2 -0
  56. package/dist/commands/init.d.ts.map +1 -1
  57. package/dist/commands/init.js +79 -24
  58. package/dist/commands/legacy-storage-migration.d.ts +54 -0
  59. package/dist/commands/legacy-storage-migration.d.ts.map +1 -0
  60. package/dist/commands/legacy-storage-migration.js +277 -0
  61. package/dist/commands/migrate.d.ts +11 -0
  62. package/dist/commands/migrate.d.ts.map +1 -1
  63. package/dist/commands/migrate.js +249 -96
  64. package/dist/commands/proof-migrate-legacy.d.ts +7 -0
  65. package/dist/commands/proof-migrate-legacy.d.ts.map +1 -0
  66. package/dist/commands/proof-migrate-legacy.js +45 -0
  67. package/dist/commands/proof-prune.d.ts +8 -0
  68. package/dist/commands/proof-prune.d.ts.map +1 -0
  69. package/dist/commands/proof-prune.js +53 -0
  70. package/dist/commands/prove.d.ts +37 -0
  71. package/dist/commands/prove.d.ts.map +1 -0
  72. package/dist/commands/prove.js +470 -0
  73. package/dist/commands/report.d.ts +24 -0
  74. package/dist/commands/report.d.ts.map +1 -0
  75. package/dist/commands/report.js +191 -0
  76. package/dist/commands/sync/cache.d.ts +16 -3
  77. package/dist/commands/sync/cache.d.ts.map +1 -1
  78. package/dist/commands/sync/cache.js +111 -4
  79. package/dist/commands/sync/discovery.d.ts +26 -2
  80. package/dist/commands/sync/discovery.d.ts.map +1 -1
  81. package/dist/commands/sync/discovery.js +204 -15
  82. package/dist/commands/sync/extraction.d.ts +8 -1
  83. package/dist/commands/sync/extraction.d.ts.map +1 -1
  84. package/dist/commands/sync/extraction.js +38 -4
  85. package/dist/commands/sync/manifest.d.ts +9 -6
  86. package/dist/commands/sync/manifest.d.ts.map +1 -1
  87. package/dist/commands/sync/manifest.js +195 -60
  88. package/dist/commands/sync/persistence.d.ts +4 -1
  89. package/dist/commands/sync/persistence.d.ts.map +1 -1
  90. package/dist/commands/sync/persistence.js +26 -12
  91. package/dist/commands/sync/staging.d.ts +1 -0
  92. package/dist/commands/sync/staging.d.ts.map +1 -1
  93. package/dist/commands/sync/staging.js +5 -2
  94. package/dist/commands/sync/untracked-targets.d.ts +24 -0
  95. package/dist/commands/sync/untracked-targets.d.ts.map +1 -0
  96. package/dist/commands/sync/untracked-targets.js +108 -0
  97. package/dist/commands/sync.d.ts +17 -1
  98. package/dist/commands/sync.d.ts.map +1 -1
  99. package/dist/commands/sync.js +375 -106
  100. package/dist/diagnostics.d.ts +1 -1
  101. package/dist/diagnostics.d.ts.map +1 -1
  102. package/dist/engine-daemon.d.ts +3 -1
  103. package/dist/engine-daemon.d.ts.map +1 -1
  104. package/dist/engine-daemon.js +49 -20
  105. package/dist/engine.d.ts +34 -3
  106. package/dist/engine.d.ts.map +1 -1
  107. package/dist/engine.js +578 -42
  108. package/dist/env.d.ts.map +1 -1
  109. package/dist/env.js +5 -6
  110. package/dist/extractors/manifest.d.ts +13 -1
  111. package/dist/extractors/manifest.d.ts.map +1 -1
  112. package/dist/extractors/manifest.js +97 -10
  113. package/dist/extractors/markdown.d.ts +5 -2
  114. package/dist/extractors/markdown.d.ts.map +1 -1
  115. package/dist/extractors/markdown.js +47 -12
  116. package/dist/extractors/playwright-cases.d.ts +24 -0
  117. package/dist/extractors/playwright-cases.d.ts.map +1 -0
  118. package/dist/extractors/playwright-cases.js +126 -0
  119. package/dist/extractors/relationships.d.ts +6 -0
  120. package/dist/extractors/relationships.d.ts.map +1 -1
  121. package/dist/extractors/relationships.js +2 -1
  122. package/dist/extractors/symbol-coordinates.d.ts +81 -3
  123. package/dist/extractors/symbol-coordinates.d.ts.map +1 -1
  124. package/dist/extractors/symbol-coordinates.js +389 -51
  125. package/dist/extractors/symbols-coordinator.js +11 -1
  126. package/dist/extractors/symbols-ts.d.ts +1 -0
  127. package/dist/extractors/symbols-ts.d.ts.map +1 -1
  128. package/dist/extractors/symbols-ts.js +142 -67
  129. package/dist/intent-search.d.ts +61 -0
  130. package/dist/intent-search.d.ts.map +1 -0
  131. package/dist/intent-search.js +437 -0
  132. package/dist/logic/ir.d.ts +1 -0
  133. package/dist/logic/ir.d.ts.map +1 -1
  134. package/dist/logic/ir.js +1 -1
  135. package/dist/operations/bootstrap/activation.d.ts +5 -0
  136. package/dist/operations/bootstrap/activation.d.ts.map +1 -0
  137. package/dist/operations/{autopilot → bootstrap}/activation.js +58 -33
  138. package/dist/operations/{autopilot → bootstrap}/candidate-helpers.d.ts.map +1 -1
  139. package/dist/operations/bootstrap/candidates.d.ts +4 -0
  140. package/dist/operations/{autopilot → bootstrap}/candidates.d.ts.map +1 -1
  141. package/dist/operations/{autopilot → bootstrap}/candidates.js +22 -8
  142. package/dist/operations/{autopilot → bootstrap}/discovery-evidence.d.ts +2 -2
  143. package/dist/operations/{autopilot → bootstrap}/discovery-evidence.d.ts.map +1 -1
  144. package/dist/operations/{autopilot → bootstrap}/discovery-evidence.js +46 -6
  145. package/dist/operations/{autopilot → bootstrap}/discovery.d.ts +1 -1
  146. package/dist/operations/bootstrap/discovery.d.ts.map +1 -0
  147. package/dist/operations/{autopilot → bootstrap}/discovery.js +21 -14
  148. package/dist/operations/bootstrap/generate.d.ts +9 -0
  149. package/dist/operations/bootstrap/generate.d.ts.map +1 -0
  150. package/dist/operations/bootstrap/generate.js +207 -0
  151. package/dist/operations/{autopilot → bootstrap}/guidance-actions.d.ts +2 -2
  152. package/dist/operations/{autopilot → bootstrap}/guidance-actions.d.ts.map +1 -1
  153. package/dist/operations/{autopilot → bootstrap}/guidance-actions.js +4 -4
  154. package/dist/operations/{autopilot → bootstrap}/guidance.d.ts +3 -2
  155. package/dist/operations/bootstrap/guidance.d.ts.map +1 -0
  156. package/dist/operations/{autopilot → bootstrap}/guidance.js +3 -1
  157. package/dist/operations/{autopilot → bootstrap}/markdown-candidates.d.ts +2 -2
  158. package/dist/operations/{autopilot → bootstrap}/markdown-candidates.d.ts.map +1 -1
  159. package/dist/operations/{autopilot → bootstrap}/markdown-candidates.js +4 -3
  160. package/dist/operations/bootstrap/presentation.d.ts +15 -0
  161. package/dist/operations/bootstrap/presentation.d.ts.map +1 -0
  162. package/dist/operations/bootstrap/presentation.js +177 -0
  163. package/dist/operations/{autopilot → bootstrap}/requirement-claims.d.ts.map +1 -1
  164. package/dist/operations/{autopilot → bootstrap}/types.d.ts +63 -21
  165. package/dist/operations/bootstrap/types.d.ts.map +1 -0
  166. package/dist/operations/bootstrap/types.js +25 -0
  167. package/dist/operations/modeling/model-requirement.d.ts +5 -0
  168. package/dist/operations/modeling/model-requirement.d.ts.map +1 -1
  169. package/dist/operations/modeling/model-requirement.js +57 -63
  170. package/dist/operations/modeling/predicate-applicability.d.ts +16 -0
  171. package/dist/operations/modeling/predicate-applicability.d.ts.map +1 -0
  172. package/dist/operations/modeling/predicate-applicability.js +375 -0
  173. package/dist/operations/modeling/predicate-applyplan.d.ts +13 -2
  174. package/dist/operations/modeling/predicate-applyplan.d.ts.map +1 -1
  175. package/dist/operations/modeling/predicate-applyplan.js +100 -3
  176. package/dist/operations/modeling/predicate-bindings.d.ts +6 -0
  177. package/dist/operations/modeling/predicate-bindings.d.ts.map +1 -0
  178. package/dist/operations/modeling/predicate-bindings.js +122 -0
  179. package/dist/operations/modeling/predicate-catalog-2.d.ts.map +1 -1
  180. package/dist/operations/modeling/predicate-catalog-2.js +18 -2
  181. package/dist/operations/modeling/predicate-catalog-3.d.ts.map +1 -1
  182. package/dist/operations/modeling/predicate-catalog-3.js +17 -1
  183. package/dist/operations/modeling/predicate-catalog-4.d.ts.map +1 -1
  184. package/dist/operations/modeling/predicate-catalog-4.js +155 -0
  185. package/dist/operations/modeling/predicate-catalog-5.d.ts +10 -0
  186. package/dist/operations/modeling/predicate-catalog-5.d.ts.map +1 -0
  187. package/dist/operations/modeling/predicate-catalog-5.js +291 -0
  188. package/dist/operations/modeling/predicate-catalog.d.ts.map +1 -1
  189. package/dist/operations/modeling/predicate-catalog.js +4 -0
  190. package/dist/operations/modeling/predicate-inference-1.d.ts.map +1 -1
  191. package/dist/operations/modeling/predicate-inference-1.js +8 -0
  192. package/dist/operations/modeling/predicate-inference-launcher.d.ts +10 -0
  193. package/dist/operations/modeling/predicate-inference-launcher.d.ts.map +1 -0
  194. package/dist/operations/modeling/predicate-inference-launcher.js +13 -0
  195. package/dist/operations/modeling/predicate-inference.d.ts.map +1 -1
  196. package/dist/operations/modeling/predicate-inference.js +4 -0
  197. package/dist/operations/modeling/predicate-loader.d.ts +1 -0
  198. package/dist/operations/modeling/predicate-loader.d.ts.map +1 -1
  199. package/dist/operations/modeling/predicate-loader.js +11 -3
  200. package/dist/operations/modeling/predicate-ranker.d.ts +8 -1
  201. package/dist/operations/modeling/predicate-ranker.d.ts.map +1 -1
  202. package/dist/operations/modeling/predicate-ranker.js +159 -24
  203. package/dist/operations/modeling/predicate-score-3.d.ts.map +1 -1
  204. package/dist/operations/modeling/predicate-score-3.js +6 -0
  205. package/dist/operations/modeling/predicate-types.d.ts +35 -1
  206. package/dist/operations/modeling/predicate-types.d.ts.map +1 -1
  207. package/dist/operations/modeling/predicate-usage-hints-3.d.ts.map +1 -1
  208. package/dist/operations/modeling/predicate-usage-hints-3.js +40 -0
  209. package/dist/operations/modeling/predicate-usage-hints-4.d.ts +3 -0
  210. package/dist/operations/modeling/predicate-usage-hints-4.d.ts.map +1 -0
  211. package/dist/operations/modeling/predicate-usage-hints-4.js +84 -0
  212. package/dist/operations/modeling/predicate-utils.d.ts.map +1 -1
  213. package/dist/operations/modeling/predicate-utils.js +2 -0
  214. package/dist/operations/modeling/suggest-predicates.d.ts +4 -2
  215. package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -1
  216. package/dist/operations/modeling/suggest-predicates.js +203 -32
  217. package/dist/operations/mutation/contradictions.d.ts +2 -1
  218. package/dist/operations/mutation/contradictions.d.ts.map +1 -1
  219. package/dist/operations/mutation/contradictions.js +26 -5
  220. package/dist/operations/mutation/delete.d.ts +3 -0
  221. package/dist/operations/mutation/delete.d.ts.map +1 -1
  222. package/dist/operations/mutation/delete.js +483 -19
  223. package/dist/operations/mutation/entity-projection.d.ts +11 -0
  224. package/dist/operations/mutation/entity-projection.d.ts.map +1 -0
  225. package/dist/operations/mutation/entity-projection.js +14 -0
  226. package/dist/operations/mutation/relationships.d.ts +11 -0
  227. package/dist/operations/mutation/relationships.d.ts.map +1 -1
  228. package/dist/operations/mutation/relationships.js +77 -5
  229. package/dist/operations/mutation/saga.d.ts +51 -0
  230. package/dist/operations/mutation/saga.d.ts.map +1 -0
  231. package/dist/operations/mutation/saga.js +67 -0
  232. package/dist/operations/mutation/serialization.d.ts.map +1 -1
  233. package/dist/operations/mutation/serialization.js +3 -1
  234. package/dist/operations/mutation/source-authoring.d.ts +65 -0
  235. package/dist/operations/mutation/source-authoring.d.ts.map +1 -0
  236. package/dist/operations/mutation/source-authoring.js +576 -0
  237. package/dist/operations/mutation/strict-fact.d.ts +1 -0
  238. package/dist/operations/mutation/strict-fact.d.ts.map +1 -1
  239. package/dist/operations/mutation/strict-fact.js +8 -5
  240. package/dist/operations/mutation/symbol-compiler-lock.d.ts +54 -0
  241. package/dist/operations/mutation/symbol-compiler-lock.d.ts.map +1 -0
  242. package/dist/operations/mutation/symbol-compiler-lock.js +337 -0
  243. package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -1
  244. package/dist/operations/mutation/symbol-granularity.js +35 -4
  245. package/dist/operations/mutation/symbol-refresh.d.ts +19 -1
  246. package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -1
  247. package/dist/operations/mutation/symbol-refresh.js +227 -63
  248. package/dist/operations/mutation/types.d.ts +57 -1
  249. package/dist/operations/mutation/types.d.ts.map +1 -1
  250. package/dist/operations/mutation/upsert.d.ts +18 -2
  251. package/dist/operations/mutation/upsert.d.ts.map +1 -1
  252. package/dist/operations/mutation/upsert.js +403 -32
  253. package/dist/operations/mutation/validate-upsert.js +2 -2
  254. package/dist/operations/mutation/validation.d.ts.map +1 -1
  255. package/dist/operations/mutation/validation.js +47 -4
  256. package/dist/operations/mutation/warnings.d.ts +1 -0
  257. package/dist/operations/mutation/warnings.d.ts.map +1 -1
  258. package/dist/operations/mutation/warnings.js +7 -5
  259. package/dist/operations/mutation/workspace-mutation-lock.d.ts +60 -0
  260. package/dist/operations/mutation/workspace-mutation-lock.d.ts.map +1 -0
  261. package/dist/operations/mutation/workspace-mutation-lock.js +362 -0
  262. package/dist/operations/planning/apply-plan.d.ts +19 -0
  263. package/dist/operations/planning/apply-plan.d.ts.map +1 -0
  264. package/dist/operations/planning/apply-plan.js +1514 -0
  265. package/dist/operations/planning/compile-intent.d.ts +108 -0
  266. package/dist/operations/planning/compile-intent.d.ts.map +1 -0
  267. package/dist/operations/planning/compile-intent.js +618 -0
  268. package/dist/operations/proof/ingest-proof.d.ts +34 -0
  269. package/dist/operations/proof/ingest-proof.d.ts.map +1 -0
  270. package/dist/operations/proof/ingest-proof.js +307 -0
  271. package/dist/operations/proof/migrate-legacy-receipts.d.ts +30 -0
  272. package/dist/operations/proof/migrate-legacy-receipts.d.ts.map +1 -0
  273. package/dist/operations/proof/migrate-legacy-receipts.js +88 -0
  274. package/dist/operations/proof/prune-receipts.d.ts +35 -0
  275. package/dist/operations/proof/prune-receipts.d.ts.map +1 -0
  276. package/dist/operations/proof/prune-receipts.js +91 -0
  277. package/dist/operations/proof/receipt-document.d.ts +29 -0
  278. package/dist/operations/proof/receipt-document.d.ts.map +1 -0
  279. package/dist/operations/proof/receipt-document.js +117 -0
  280. package/dist/operations/semantic-advisor/analyze-prose.d.ts +1 -0
  281. package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -1
  282. package/dist/operations/semantic-advisor/analyze-prose.js +52 -28
  283. package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -1
  284. package/dist/operations/semantic-advisor/clauses.js +35 -9
  285. package/dist/operations/semantic-advisor/ingestion-boundary.d.ts.map +1 -1
  286. package/dist/operations/semantic-advisor/ingestion-boundary.js +7 -3
  287. package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts +51 -0
  288. package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts.map +1 -0
  289. package/dist/operations/semantic-advisor/predicate-rules-launcher.js +96 -0
  290. package/dist/operations/semantic-advisor/strict-count-rules.d.ts +2 -0
  291. package/dist/operations/semantic-advisor/strict-count-rules.d.ts.map +1 -1
  292. package/dist/operations/semantic-advisor/strict-count-rules.js +40 -25
  293. package/dist/operations/semantic-advisor/types.d.ts +13 -5
  294. package/dist/operations/semantic-advisor/types.d.ts.map +1 -1
  295. package/dist/prolog/codec.d.ts +13 -1
  296. package/dist/prolog/codec.d.ts.map +1 -1
  297. package/dist/prolog/codec.js +269 -153
  298. package/dist/prolog/error-terms.d.ts +47 -0
  299. package/dist/prolog/error-terms.d.ts.map +1 -0
  300. package/dist/prolog/error-terms.js +334 -0
  301. package/dist/prolog/janitor.d.ts +50 -0
  302. package/dist/prolog/janitor.d.ts.map +1 -0
  303. package/dist/prolog/janitor.js +154 -0
  304. package/dist/prolog/store-lock.d.ts +45 -0
  305. package/dist/prolog/store-lock.d.ts.map +1 -0
  306. package/dist/prolog/store-lock.js +195 -0
  307. package/dist/prolog.d.ts +7 -0
  308. package/dist/prolog.d.ts.map +1 -1
  309. package/dist/prolog.js +82 -25
  310. package/dist/proof/evaluate.d.ts +27 -0
  311. package/dist/proof/evaluate.d.ts.map +1 -0
  312. package/dist/proof/evaluate.js +151 -0
  313. package/dist/proof/inspect.d.ts +12 -0
  314. package/dist/proof/inspect.d.ts.map +1 -0
  315. package/dist/proof/inspect.js +236 -0
  316. package/dist/proof/integrations.d.ts +35 -0
  317. package/dist/proof/integrations.d.ts.map +1 -0
  318. package/dist/proof/integrations.js +123 -0
  319. package/dist/proof/producers/junit-adapter.d.ts +26 -0
  320. package/dist/proof/producers/junit-adapter.d.ts.map +1 -0
  321. package/dist/proof/producers/junit-adapter.js +186 -0
  322. package/dist/proof/producers/playwright-case-id.d.ts +8 -0
  323. package/dist/proof/producers/playwright-case-id.d.ts.map +1 -0
  324. package/dist/proof/producers/playwright-case-id.js +25 -0
  325. package/dist/proof/producers/playwright-reporter.d.ts +27 -0
  326. package/dist/proof/producers/playwright-reporter.d.ts.map +1 -0
  327. package/dist/proof/producers/playwright-reporter.js +138 -0
  328. package/dist/proof/producers/tap-adapter.d.ts +10 -0
  329. package/dist/proof/producers/tap-adapter.d.ts.map +1 -0
  330. package/dist/proof/producers/tap-adapter.js +200 -0
  331. package/dist/proof/receipt-outcome.d.ts +2 -0
  332. package/dist/proof/receipt-outcome.d.ts.map +1 -0
  333. package/dist/proof/receipt-outcome.js +1 -0
  334. package/dist/public/branch-resolver.d.ts +1 -0
  335. package/dist/public/branch-resolver.d.ts.map +1 -1
  336. package/dist/public/branch-resolver.js +1 -0
  337. package/dist/public/check-types.d.ts +2 -2
  338. package/dist/public/check-types.d.ts.map +1 -1
  339. package/dist/public/check-types.js +16 -16
  340. package/dist/public/diagnostic-usage.d.ts.map +1 -1
  341. package/dist/public/diagnostic-usage.js +74 -6
  342. package/dist/public/distribution-parity.d.ts +7 -1
  343. package/dist/public/distribution-parity.d.ts.map +1 -1
  344. package/dist/public/distribution-parity.js +15 -9
  345. package/dist/public/ignore-policy.d.ts.map +1 -1
  346. package/dist/public/ignore-policy.js +16 -4
  347. package/dist/public/impact/coverage-depth-quality.d.ts +7 -1
  348. package/dist/public/impact/coverage-depth-quality.d.ts.map +1 -1
  349. package/dist/public/impact/coverage-depth-quality.js +22 -4
  350. package/dist/public/impact/diagnostics.d.ts.map +1 -1
  351. package/dist/public/impact/diagnostics.js +2 -2
  352. package/dist/public/impact/diff-meaning.d.ts +1 -0
  353. package/dist/public/impact/diff-meaning.d.ts.map +1 -1
  354. package/dist/public/impact/diff-meaning.js +5 -2
  355. package/dist/public/impact/full-kb-quality.d.ts +7 -2
  356. package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
  357. package/dist/public/impact/full-kb-quality.js +364 -39
  358. package/dist/public/impact/manifest.d.ts.map +1 -1
  359. package/dist/public/impact/manifest.js +2 -5
  360. package/dist/public/operational-artifacts.d.ts.map +1 -1
  361. package/dist/public/operational-artifacts.js +7 -1
  362. package/dist/public/operations/catalog.d.ts +900 -34
  363. package/dist/public/operations/catalog.d.ts.map +1 -1
  364. package/dist/public/operations/catalog.js +130 -6
  365. package/dist/public/operations/check-executor.d.ts +2 -2
  366. package/dist/public/operations/check-executor.d.ts.map +1 -1
  367. package/dist/public/operations/check-executor.js +68 -13
  368. package/dist/public/operations/check-format-shared.d.ts +3 -0
  369. package/dist/public/operations/check-format-shared.d.ts.map +1 -1
  370. package/dist/public/operations/check-format-shared.js +3 -0
  371. package/dist/public/operations/check-helpers.d.ts +27 -2
  372. package/dist/public/operations/check-helpers.d.ts.map +1 -1
  373. package/dist/public/operations/check-helpers.js +62 -26
  374. package/dist/public/operations/contracts.d.ts +18 -0
  375. package/dist/public/operations/contracts.d.ts.map +1 -0
  376. package/dist/public/operations/contracts.js +334 -0
  377. package/dist/public/operations/discovery-entities.d.ts +3 -0
  378. package/dist/public/operations/discovery-entities.d.ts.map +1 -1
  379. package/dist/public/operations/discovery-entities.js +4 -0
  380. package/dist/public/operations/discovery-executors.d.ts +43 -7
  381. package/dist/public/operations/discovery-executors.d.ts.map +1 -1
  382. package/dist/public/operations/discovery-executors.js +216 -13
  383. package/dist/public/operations/index.d.ts +9 -4
  384. package/dist/public/operations/index.d.ts.map +1 -1
  385. package/dist/public/operations/index.js +8 -3
  386. package/dist/public/operations/migration-plan.d.ts +102 -0
  387. package/dist/public/operations/migration-plan.d.ts.map +1 -0
  388. package/dist/public/operations/migration-plan.js +539 -0
  389. package/dist/public/operations/node-ports.d.ts.map +1 -1
  390. package/dist/public/operations/node-ports.js +71 -11
  391. package/dist/public/operations/prolog-json.d.ts +14 -0
  392. package/dist/public/operations/prolog-json.d.ts.map +1 -1
  393. package/dist/public/operations/prolog-json.js +44 -5
  394. package/dist/public/operations/repair-plan.d.ts +3 -3
  395. package/dist/public/operations/repair-plan.d.ts.map +1 -1
  396. package/dist/public/operations/repair-plan.js +49 -18
  397. package/dist/public/operations/result-envelope.d.ts +14 -0
  398. package/dist/public/operations/result-envelope.d.ts.map +1 -0
  399. package/dist/public/operations/result-envelope.js +106 -0
  400. package/dist/public/operations/runtime-types.d.ts +102 -7
  401. package/dist/public/operations/runtime-types.d.ts.map +1 -1
  402. package/dist/public/operations/source-relationship-parity.d.ts +13 -0
  403. package/dist/public/operations/source-relationship-parity.d.ts.map +1 -0
  404. package/dist/public/operations/source-relationship-parity.js +162 -0
  405. package/dist/public/operations/specs/{autopilot.d.ts → bootstrap.d.ts} +9 -9
  406. package/dist/public/operations/specs/bootstrap.d.ts.map +1 -0
  407. package/dist/public/operations/specs/{autopilot.js → bootstrap.js} +8 -7
  408. package/dist/public/operations/specs/check-rules.generated.d.ts +5 -0
  409. package/dist/public/operations/specs/check-rules.generated.d.ts.map +1 -0
  410. package/dist/public/operations/specs/check-rules.generated.js +34 -0
  411. package/dist/public/operations/specs/check.d.ts +9 -4
  412. package/dist/public/operations/specs/check.d.ts.map +1 -1
  413. package/dist/public/operations/specs/check.js +10 -21
  414. package/dist/public/operations/specs/discovery.d.ts +87 -3
  415. package/dist/public/operations/specs/discovery.d.ts.map +1 -1
  416. package/dist/public/operations/specs/discovery.js +53 -3
  417. package/dist/public/operations/specs/modeling.d.ts +3 -3
  418. package/dist/public/operations/specs/modeling.js +3 -3
  419. package/dist/public/operations/specs/mutation-schemas.d.ts +251 -14
  420. package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
  421. package/dist/public/operations/specs/mutation-schemas.js +16 -6
  422. package/dist/public/operations/specs/mutation.d.ts +42 -2
  423. package/dist/public/operations/specs/mutation.d.ts.map +1 -1
  424. package/dist/public/operations/specs/mutation.js +26 -2
  425. package/dist/public/operations/specs/planning.d.ts +279 -0
  426. package/dist/public/operations/specs/planning.d.ts.map +1 -0
  427. package/dist/public/operations/specs/planning.js +197 -0
  428. package/dist/public/operations/specs/proof.d.ts +212 -0
  429. package/dist/public/operations/specs/proof.d.ts.map +1 -0
  430. package/dist/public/operations/specs/proof.js +30 -0
  431. package/dist/public/operations/specs/reporting.d.ts +23 -1
  432. package/dist/public/operations/specs/reporting.d.ts.map +1 -1
  433. package/dist/public/operations/specs/reporting.js +156 -11
  434. package/dist/public/operations/specs/upsert.d.ts +265 -14
  435. package/dist/public/operations/specs/upsert.d.ts.map +1 -1
  436. package/dist/public/operations/specs/upsert.js +9 -0
  437. package/dist/public/operations/symbol-repair-plan.d.ts +22 -0
  438. package/dist/public/operations/symbol-repair-plan.d.ts.map +1 -0
  439. package/dist/public/operations/symbol-repair-plan.js +238 -0
  440. package/dist/public/operations/types.d.ts +52 -1
  441. package/dist/public/operations/types.d.ts.map +1 -1
  442. package/dist/public/proof-fingerprint.d.ts +54 -0
  443. package/dist/public/proof-fingerprint.d.ts.map +1 -0
  444. package/dist/public/proof-fingerprint.js +141 -0
  445. package/dist/public/proof-protocol.d.ts +354 -0
  446. package/dist/public/proof-protocol.d.ts.map +1 -0
  447. package/dist/public/proof-protocol.js +454 -0
  448. package/dist/public/proof-receipt.d.ts +279 -0
  449. package/dist/public/proof-receipt.d.ts.map +1 -0
  450. package/dist/public/proof-receipt.js +377 -0
  451. package/dist/public/schemas/entity.d.ts.map +1 -1
  452. package/dist/public/schemas/entity.js +22 -6
  453. package/dist/public/skills/kibi-bootstrap/SKILL.md +58 -0
  454. package/dist/public/skills/kibi-bootstrap/resources/bootstrap.md +11 -0
  455. package/dist/public/skills/kibi-bootstrap/resources/branch-lifecycle.md +7 -0
  456. package/dist/public/skills/kibi-bootstrap/resources/operation-access.md +5 -0
  457. package/dist/public/skills/kibi-bootstrap/resources/source-authoring.md +8 -0
  458. package/dist/public/skills/kibi-freshness/SKILL.md +39 -9
  459. package/dist/public/skills/kibi-freshness/resources/branch-lifecycle.md +7 -0
  460. package/dist/public/skills/kibi-freshness/resources/operation-access.md +6 -0
  461. package/dist/public/skills/kibi-freshness/resources/source-authoring.md +7 -0
  462. package/dist/public/skills/kibi-traceability/SKILL.md +47 -47
  463. package/dist/public/skills/kibi-traceability/resources/branch-lifecycle.md +7 -0
  464. package/dist/public/skills/kibi-traceability/resources/operation-access.md +5 -0
  465. package/dist/public/skills/kibi-traceability/resources/source-authoring.md +6 -0
  466. package/dist/public/skills/kibi-traceability/resources/traceability.md +8 -0
  467. package/dist/public/skills/kibi-usage/SKILL.md +136 -231
  468. package/dist/public/skills/kibi-usage/resources/branch-lifecycle.md +31 -0
  469. package/dist/public/skills/kibi-usage/resources/kb-improvement.md +38 -0
  470. package/dist/public/skills/kibi-usage/resources/operation-access.md +36 -38
  471. package/dist/public/skills/kibi-usage/resources/proof.md +105 -0
  472. package/dist/public/skills/kibi-usage/resources/relationship-directions.md +3 -3
  473. package/dist/public/skills/kibi-usage/resources/source-authoring.md +31 -0
  474. package/dist/public/skills/kibi-usage/resources/workflows.md +57 -4
  475. package/dist/public/symbol-granularity.d.ts +3 -14
  476. package/dist/public/symbol-granularity.d.ts.map +1 -1
  477. package/dist/public/symbol-granularity.generated.d.ts +16 -0
  478. package/dist/public/symbol-granularity.generated.d.ts.map +1 -0
  479. package/dist/public/symbol-granularity.generated.js +20 -0
  480. package/dist/public/symbol-granularity.js +6 -46
  481. package/dist/public/telemetry-acceptance.d.ts +3 -70
  482. package/dist/public/telemetry-acceptance.d.ts.map +1 -1
  483. package/dist/public/telemetry-acceptance.js +11 -2
  484. package/dist/public/telemetry-remediation.js +1 -1
  485. package/dist/relationships/shards.d.ts +16 -0
  486. package/dist/relationships/shards.d.ts.map +1 -1
  487. package/dist/relationships/shards.js +87 -2
  488. package/dist/report/brand.d.ts +19 -0
  489. package/dist/report/brand.d.ts.map +1 -0
  490. package/dist/report/brand.js +112 -0
  491. package/dist/report/html-report.css +282 -0
  492. package/dist/report/html-report.d.ts +21 -0
  493. package/dist/report/html-report.d.ts.map +1 -0
  494. package/dist/report/html-report.js +700 -0
  495. package/dist/report/relative-time.d.ts +4 -0
  496. package/dist/report/relative-time.d.ts.map +1 -0
  497. package/dist/report/relative-time.js +46 -0
  498. package/dist/report/report-view.d.ts +17 -0
  499. package/dist/report/report-view.d.ts.map +1 -0
  500. package/dist/report/report-view.js +33 -0
  501. package/dist/report/repository.d.ts +35 -0
  502. package/dist/report/repository.d.ts.map +1 -0
  503. package/dist/report/repository.js +151 -0
  504. package/dist/runtime/cli-runtime.d.ts +2 -0
  505. package/dist/runtime/cli-runtime.d.ts.map +1 -1
  506. package/dist/runtime/cli-runtime.js +90 -23
  507. package/dist/schemas/entity.schema.json +1254 -239
  508. package/dist/search-ranking.d.ts +1 -0
  509. package/dist/search-ranking.d.ts.map +1 -1
  510. package/dist/search-ranking.js +3 -0
  511. package/dist/traceability/evidence-model.d.ts +30 -2
  512. package/dist/traceability/evidence-model.d.ts.map +1 -1
  513. package/dist/traceability/evidence-model.js +2 -2
  514. package/dist/traceability/git-staged.d.ts +20 -0
  515. package/dist/traceability/git-staged.d.ts.map +1 -1
  516. package/dist/traceability/git-staged.js +156 -37
  517. package/dist/traceability/markdown-validate.d.ts.map +1 -1
  518. package/dist/traceability/markdown-validate.js +12 -7
  519. package/dist/traceability/staged-diagnostics.d.ts +7 -0
  520. package/dist/traceability/staged-diagnostics.d.ts.map +1 -1
  521. package/dist/traceability/staged-diagnostics.js +78 -7
  522. package/dist/traceability/staged-file-coverage.d.ts +33 -0
  523. package/dist/traceability/staged-file-coverage.d.ts.map +1 -0
  524. package/dist/traceability/staged-file-coverage.js +284 -0
  525. package/dist/traceability/staged-impact-contract.d.ts +3 -3
  526. package/dist/traceability/staged-impact-contract.d.ts.map +1 -1
  527. package/dist/traceability/staged-impact-contract.js +12 -40
  528. package/dist/traceability/staged-symbols-manifest.d.ts +13 -0
  529. package/dist/traceability/staged-symbols-manifest.d.ts.map +1 -1
  530. package/dist/traceability/staged-symbols-manifest.js +142 -26
  531. package/dist/traceability/symbol-extract.d.ts +5 -0
  532. package/dist/traceability/symbol-extract.d.ts.map +1 -1
  533. package/dist/traceability/symbol-extract.js +1 -1
  534. package/dist/traceability/temp-kb.d.ts +2 -0
  535. package/dist/traceability/temp-kb.d.ts.map +1 -1
  536. package/dist/traceability/temp-kb.js +14 -2
  537. package/dist/types/entities.d.ts +5 -0
  538. package/dist/types/entities.d.ts.map +1 -1
  539. package/dist/utils/branch-resolver.d.ts +25 -10
  540. package/dist/utils/branch-resolver.d.ts.map +1 -1
  541. package/dist/utils/branch-resolver.js +124 -38
  542. package/dist/utils/branch-store-locator.d.ts +23 -0
  543. package/dist/utils/branch-store-locator.d.ts.map +1 -0
  544. package/dist/utils/branch-store-locator.js +90 -0
  545. package/dist/utils/branch-store.d.ts +21 -0
  546. package/dist/utils/branch-store.d.ts.map +1 -0
  547. package/dist/utils/branch-store.js +157 -0
  548. package/dist/utils/config.d.ts +39 -37
  549. package/dist/utils/config.d.ts.map +1 -1
  550. package/dist/utils/config.js +107 -119
  551. package/dist/utils/kb-manifest.d.ts +35 -0
  552. package/dist/utils/kb-manifest.d.ts.map +1 -0
  553. package/dist/utils/kb-manifest.js +154 -0
  554. package/dist/utils/kb-paths.d.ts +54 -0
  555. package/dist/utils/kb-paths.d.ts.map +1 -0
  556. package/dist/utils/kb-paths.js +125 -0
  557. package/dist/utils/manifest-paths.d.ts +4 -4
  558. package/dist/utils/manifest-paths.d.ts.map +1 -1
  559. package/dist/utils/manifest-paths.js +8 -56
  560. package/dist/utils/rule-registry.d.ts +42 -24
  561. package/dist/utils/rule-registry.d.ts.map +1 -1
  562. package/dist/utils/rule-registry.generated.d.ts +97 -0
  563. package/dist/utils/rule-registry.generated.d.ts.map +1 -0
  564. package/dist/utils/rule-registry.generated.js +125 -0
  565. package/dist/utils/rule-registry.js +52 -148
  566. package/dist/utils/schema-version.d.ts +5 -5
  567. package/dist/utils/schema-version.d.ts.map +1 -1
  568. package/dist/utils/schema-version.js +26 -6
  569. package/dist/utils/strict-modeling.d.ts +1 -4
  570. package/dist/utils/strict-modeling.d.ts.map +1 -1
  571. package/dist/utils/strict-modeling.js +8 -9
  572. package/package.json +47 -11
  573. package/schema/config.json +2 -2
  574. package/schema/manifest.json +26 -0
  575. package/src/public/branch-resolver.ts +1 -0
  576. package/src/public/check-types.ts +22 -19
  577. package/src/public/diagnostic-usage.ts +84 -6
  578. package/src/public/distribution-parity.ts +17 -9
  579. package/src/public/ignore-policy.ts +16 -10
  580. package/src/public/impact/coverage-depth-quality.ts +37 -1
  581. package/src/public/impact/diagnostics.ts +2 -1
  582. package/src/public/impact/diff-meaning.ts +11 -4
  583. package/src/public/impact/full-kb-quality.ts +545 -41
  584. package/src/public/impact/manifest.ts +2 -4
  585. package/src/public/operational-artifacts.ts +9 -1
  586. package/src/public/operations/catalog.ts +153 -10
  587. package/src/public/operations/check-executor.ts +98 -15
  588. package/src/public/operations/check-format-shared.ts +6 -0
  589. package/src/public/operations/check-helpers.ts +74 -35
  590. package/src/public/operations/contracts.ts +382 -0
  591. package/src/public/operations/discovery-entities.ts +7 -0
  592. package/src/public/operations/discovery-executors.ts +315 -25
  593. package/src/public/operations/index.ts +9 -4
  594. package/src/public/operations/migration-plan.ts +747 -0
  595. package/src/public/operations/node-ports.ts +87 -13
  596. package/src/public/operations/prolog-json.ts +60 -5
  597. package/src/public/operations/repair-plan.ts +60 -22
  598. package/src/public/operations/result-envelope.ts +141 -0
  599. package/src/public/operations/runtime-types.ts +96 -5
  600. package/src/public/operations/source-relationship-parity.ts +226 -0
  601. package/src/public/operations/specs/{autopilot.ts → bootstrap.ts} +17 -16
  602. package/src/public/operations/specs/check-rules.generated.ts +37 -0
  603. package/src/public/operations/specs/check.ts +14 -22
  604. package/src/public/operations/specs/discovery.ts +57 -3
  605. package/src/public/operations/specs/modeling.ts +3 -3
  606. package/src/public/operations/specs/mutation-schemas.ts +24 -6
  607. package/src/public/operations/specs/mutation.ts +27 -2
  608. package/src/public/operations/specs/planning.ts +241 -0
  609. package/src/public/operations/specs/proof.ts +43 -0
  610. package/src/public/operations/specs/reporting.ts +193 -12
  611. package/src/public/operations/specs/upsert.ts +10 -0
  612. package/src/public/operations/symbol-repair-plan.ts +324 -0
  613. package/src/public/operations/types.ts +62 -1
  614. package/src/public/proof-fingerprint.ts +216 -0
  615. package/src/public/proof-protocol-types.d.ts +96 -0
  616. package/src/public/proof-protocol.ts +589 -0
  617. package/src/public/proof-receipt.ts +499 -0
  618. package/src/public/schemas/entity.ts +27 -6
  619. package/src/public/skills/kibi-bootstrap/SKILL.md +58 -0
  620. package/src/public/skills/kibi-bootstrap/resources/bootstrap.md +11 -0
  621. package/src/public/skills/kibi-bootstrap/resources/branch-lifecycle.md +7 -0
  622. package/src/public/skills/kibi-bootstrap/resources/operation-access.md +5 -0
  623. package/src/public/skills/kibi-bootstrap/resources/source-authoring.md +8 -0
  624. package/src/public/skills/kibi-freshness/SKILL.md +39 -9
  625. package/src/public/skills/kibi-freshness/resources/branch-lifecycle.md +7 -0
  626. package/src/public/skills/kibi-freshness/resources/operation-access.md +6 -0
  627. package/src/public/skills/kibi-freshness/resources/source-authoring.md +7 -0
  628. package/src/public/skills/kibi-traceability/SKILL.md +47 -47
  629. package/src/public/skills/kibi-traceability/resources/branch-lifecycle.md +7 -0
  630. package/src/public/skills/kibi-traceability/resources/operation-access.md +5 -0
  631. package/src/public/skills/kibi-traceability/resources/source-authoring.md +6 -0
  632. package/src/public/skills/kibi-traceability/resources/traceability.md +8 -0
  633. package/src/public/skills/kibi-usage/SKILL.md +136 -231
  634. package/src/public/skills/kibi-usage/resources/branch-lifecycle.md +31 -0
  635. package/src/public/skills/kibi-usage/resources/kb-improvement.md +38 -0
  636. package/src/public/skills/kibi-usage/resources/operation-access.md +36 -38
  637. package/src/public/skills/kibi-usage/resources/proof.md +105 -0
  638. package/src/public/skills/kibi-usage/resources/relationship-directions.md +3 -3
  639. package/src/public/skills/kibi-usage/resources/source-authoring.md +31 -0
  640. package/src/public/skills/kibi-usage/resources/workflows.md +57 -4
  641. package/src/public/symbol-granularity.generated.ts +41 -0
  642. package/src/public/symbol-granularity.ts +35 -59
  643. package/src/public/telemetry-acceptance-types.d.ts +98 -0
  644. package/src/public/telemetry-acceptance.ts +30 -93
  645. package/src/public/telemetry-remediation.ts +1 -1
  646. package/src/schemas/entity.schema.json +1254 -239
  647. package/templates/github/kibi-badge.yml +86 -0
  648. package/templates/github/kibi-report.yml +84 -0
  649. package/dist/operations/autopilot/activation.d.ts +0 -4
  650. package/dist/operations/autopilot/activation.d.ts.map +0 -1
  651. package/dist/operations/autopilot/candidates.d.ts +0 -4
  652. package/dist/operations/autopilot/discovery.d.ts.map +0 -1
  653. package/dist/operations/autopilot/generate.d.ts +0 -8
  654. package/dist/operations/autopilot/generate.d.ts.map +0 -1
  655. package/dist/operations/autopilot/generate.js +0 -112
  656. package/dist/operations/autopilot/guidance.d.ts.map +0 -1
  657. package/dist/operations/autopilot/presentation.d.ts +0 -13
  658. package/dist/operations/autopilot/presentation.d.ts.map +0 -1
  659. package/dist/operations/autopilot/presentation.js +0 -91
  660. package/dist/operations/autopilot/types.d.ts.map +0 -1
  661. package/dist/operations/autopilot/types.js +0 -8
  662. package/dist/public/operations/specs/autopilot.d.ts.map +0 -1
  663. package/dist/public/skills/init-kibi/SKILL.md +0 -62
  664. package/dist/public/verification-receipt.d.ts +0 -75
  665. package/dist/public/verification-receipt.d.ts.map +0 -1
  666. package/dist/public/verification-receipt.js +0 -129
  667. package/src/public/skills/init-kibi/SKILL.md +0 -62
  668. package/src/public/verification-receipt.ts +0 -170
  669. /package/dist/operations/{autopilot → bootstrap}/candidate-helpers.d.ts +0 -0
  670. /package/dist/operations/{autopilot → bootstrap}/candidate-helpers.js +0 -0
  671. /package/dist/operations/{autopilot → bootstrap}/requirement-claims.d.ts +0 -0
  672. /package/dist/operations/{autopilot → bootstrap}/requirement-claims.js +0 -0
@@ -1,28 +1,17 @@
1
1
  import { readFile } from "node:fs/promises";
2
2
  import path from "node:path";
3
- import { parseEntityFromList, parseListOfLists, parseTriples, } from "../../prolog/codec.js";
3
+ import { normalizeEntityId, parseAtomList, parseEntityFromList, parseListOfLists, parseTriples, } from "../../prolog/codec.js";
4
+ import { runOperationJsonQuery, toPrologAtom, toPrologList, } from "../operations/prolog-json.js";
5
+ import { PROOF_RECEIPT_MAX_AGE_SECONDS } from "../proof-receipt.js";
6
+ import relationshipSchema from "../schemas/relationship.js";
4
7
  import { analyzeTelemetryAcceptance, createTelemetryAcceptanceDiagnostics, parseTelemetryUsageLog, } from "../telemetry-acceptance.js";
5
8
  import { createCoverageDepthQualityDiagnostics } from "./coverage-depth-quality.js";
6
9
  import { createRequirementQualityDiagnostics } from "./requirement-quality.js";
7
10
  import { createSymbolQualityDiagnostics } from "./symbol-quality.js";
8
- const RELATIONSHIP_TYPES = [
9
- "depends_on",
10
- "executable_for",
11
- "specified_by",
12
- "verified_by",
13
- "validates",
14
- "implements",
15
- "covered_by",
16
- "constrained_by",
17
- "constrains",
18
- "requires_property",
19
- "requires_predicate",
20
- "guards",
21
- "publishes",
22
- "consumes",
23
- "supersedes",
24
- "relates_to",
25
- ];
11
+ const RELATIONSHIP_TYPES = relationshipSchema.properties.type.enum;
12
+ const ENTITY_BATCH_SIZE = 32;
13
+ const PROLOG_OUTPUT_CAPACITY_MARKER = "Query exceeded bounded Prolog output capacity (ENOBUFS)";
14
+ const ENTITY_IDS_QUERY = "findall(Id, kb_entity(Id, _, _), Ids)";
26
15
  function stringField(entity, key) {
27
16
  const value = entity[key];
28
17
  return typeof value === "string" ? value : "";
@@ -41,6 +30,16 @@ function optionalStringArrayField(entity, key) {
41
30
  return undefined;
42
31
  return value.map((item) => String(item));
43
32
  }
33
+ function optionalBooleanField(entity, key) {
34
+ const value = entity[key];
35
+ return typeof value === "boolean" ? value : undefined;
36
+ }
37
+ function optionalObjectField(entity, key) {
38
+ const value = entity[key];
39
+ return value && typeof value === "object" && !Array.isArray(value)
40
+ ? value
41
+ : undefined;
42
+ }
44
43
  function toExtractedEntity(entity) {
45
44
  const extracted = {
46
45
  id: stringField(entity, "id"),
@@ -72,6 +71,27 @@ function toExtractedEntity(entity) {
72
71
  const logicClaims = optionalStringArrayField(entity, "logic_claims");
73
72
  if (logicClaims !== undefined)
74
73
  extracted.logic_claims = logicClaims;
74
+ const semanticClauses = optionalStringArrayField(entity, "semantic_clauses");
75
+ if (semanticClauses !== undefined)
76
+ extracted.semantic_clauses = semanticClauses;
77
+ const semanticInventoryVersion = optionalStringField(entity, "semantic_inventory_version");
78
+ if (semanticInventoryVersion === "kibi.semantic-inventory.v1") {
79
+ extracted.semantic_inventory_version = semanticInventoryVersion;
80
+ }
81
+ const semanticSourceField = optionalStringField(entity, "semantic_source_field");
82
+ if (semanticSourceField === "semantic_text" ||
83
+ semanticSourceField === "text_ref" ||
84
+ semanticSourceField === "title") {
85
+ extracted.semantic_source_field = semanticSourceField;
86
+ }
87
+ const semanticSourceHash = optionalStringField(entity, "semantic_source_hash");
88
+ if (semanticSourceHash !== undefined) {
89
+ extracted.semantic_source_hash = semanticSourceHash;
90
+ }
91
+ const semanticInventory = entity.semantic_inventory;
92
+ if (Array.isArray(semanticInventory)) {
93
+ extracted.semantic_inventory = semanticInventory;
94
+ }
75
95
  const granularityReason = optionalStringField(entity, "granularity_reason");
76
96
  if (granularityReason !== undefined) {
77
97
  extracted.granularity_reason = granularityReason;
@@ -88,6 +108,23 @@ function toExtractedEntity(entity) {
88
108
  verificationScope === "end_to_end") {
89
109
  extracted.verification_scope = verificationScope;
90
110
  }
111
+ const verificationPerspective = optionalStringField(entity, "verification_perspective");
112
+ if (verificationPerspective === "internal" ||
113
+ verificationPerspective === "consumer") {
114
+ extracted.verification_perspective = verificationPerspective;
115
+ }
116
+ const proofContract = optionalObjectField(entity, "proof_contract");
117
+ if (proofContract !== undefined) {
118
+ extracted.proof_contract = proofContract;
119
+ }
120
+ const proofBindings = entity.proof_bindings;
121
+ if (Array.isArray(proofBindings)) {
122
+ extracted.proof_bindings = proofBindings;
123
+ }
124
+ const proofReceipts = entity.proof_receipts;
125
+ if (Array.isArray(proofReceipts)) {
126
+ extracted.proof_receipts = proofReceipts;
127
+ }
91
128
  const sourceLine = optionalNumberField(entity, "sourceLine");
92
129
  if (sourceLine !== undefined)
93
130
  extracted.sourceLine = sourceLine;
@@ -106,25 +143,80 @@ function toExtractedEntity(entity) {
106
143
  factKind === "observation" ||
107
144
  factKind === "meta" ||
108
145
  factKind === "predicate_schema" ||
109
- factKind === "predicate") {
146
+ factKind === "predicate" ||
147
+ factKind === "rule_schema" ||
148
+ factKind === "rule") {
110
149
  extracted.fact_kind = factKind;
111
150
  }
112
- const claimKey = optionalStringField(entity, "claim_key");
113
- if (claimKey !== undefined)
114
- extracted.claim_key = claimKey;
115
- const claimText = optionalStringField(entity, "claim_text");
116
- if (claimText !== undefined)
117
- extracted.claim_text = claimText;
118
- const predicateName = optionalStringField(entity, "predicate_name");
119
- if (predicateName !== undefined)
120
- extracted.predicate_name = predicateName;
121
- const predicateNamespace = optionalStringField(entity, "predicate_namespace");
122
- if (predicateNamespace !== undefined) {
123
- extracted.predicate_namespace = predicateNamespace;
151
+ for (const field of [
152
+ "subject_key",
153
+ "property_key",
154
+ "value_string",
155
+ "unit",
156
+ "scope",
157
+ "valid_from",
158
+ "valid_to",
159
+ "canonical_key",
160
+ "claim_key",
161
+ "claim_text",
162
+ "predicate_name",
163
+ "predicate_namespace",
164
+ "rule_hash",
165
+ "rule_schema_id",
166
+ "rule_name",
167
+ "semantic_key",
168
+ ]) {
169
+ const value = optionalStringField(entity, field);
170
+ if (value !== undefined)
171
+ extracted[field] = value;
172
+ }
173
+ const operator = optionalStringField(entity, "operator");
174
+ if (operator === "eq" ||
175
+ operator === "neq" ||
176
+ operator === "lt" ||
177
+ operator === "lte" ||
178
+ operator === "gt" ||
179
+ operator === "gte") {
180
+ extracted.operator = operator;
124
181
  }
182
+ const valueType = optionalStringField(entity, "value_type");
183
+ if (valueType === "string" ||
184
+ valueType === "int" ||
185
+ valueType === "number" ||
186
+ valueType === "bool") {
187
+ extracted.value_type = valueType;
188
+ }
189
+ const polarity = optionalStringField(entity, "polarity");
190
+ if (polarity === "require" ||
191
+ polarity === "forbid" ||
192
+ polarity === "assert" ||
193
+ polarity === "deny") {
194
+ extracted.polarity = polarity;
195
+ }
196
+ const valueInt = optionalNumberField(entity, "value_int");
197
+ if (valueInt !== undefined)
198
+ extracted.value_int = valueInt;
199
+ const valueNumber = optionalNumberField(entity, "value_number");
200
+ if (valueNumber !== undefined)
201
+ extracted.value_number = valueNumber;
125
202
  const predicateArity = optionalNumberField(entity, "predicate_arity");
126
203
  if (predicateArity !== undefined)
127
204
  extracted.predicate_arity = predicateArity;
205
+ const claimSpanStart = optionalNumberField(entity, "claim_span_start");
206
+ if (claimSpanStart !== undefined)
207
+ extracted.claim_span_start = claimSpanStart;
208
+ const claimSpanEnd = optionalNumberField(entity, "claim_span_end");
209
+ if (claimSpanEnd !== undefined)
210
+ extracted.claim_span_end = claimSpanEnd;
211
+ const valueBool = optionalBooleanField(entity, "value_bool");
212
+ if (valueBool !== undefined)
213
+ extracted.value_bool = valueBool;
214
+ const closedWorld = optionalBooleanField(entity, "closed_world");
215
+ if (closedWorld !== undefined)
216
+ extracted.closed_world = closedWorld;
217
+ const ruleIr = optionalObjectField(entity, "rule_ir");
218
+ if (ruleIr !== undefined)
219
+ extracted.rule_ir = ruleIr;
128
220
  for (const field of [
129
221
  "argument_names",
130
222
  "argument_types",
@@ -143,18 +235,200 @@ function sourceFileFor(entity) {
143
235
  return (optionalStringField(entity, "sourceFile") ??
144
236
  optionalStringField(entity, "source_file"));
145
237
  }
146
- async function loadKbExtractionResults(prolog) {
147
- const entityResult = await prolog.query("findall([Id,Type,Props], kb_entity(Id, Type, Props), Results)");
148
- const entities = entityResult.bindings.Results
149
- ? parseListOfLists(entityResult.bindings.Results).map(parseEntityFromList)
150
- : [];
238
+ class BoundedEntityProjectionError extends Error {
239
+ constructor(message) {
240
+ super(message);
241
+ this.name = "BoundedEntityProjectionError";
242
+ }
243
+ }
244
+ function isOutputCapacityError(error) {
245
+ return error?.includes(PROLOG_OUTPUT_CAPACITY_MARKER) === true;
246
+ }
247
+ function parseAuthoritativeEntityIds(raw) {
248
+ const trimmed = raw.trim();
249
+ if (trimmed !== "[]" &&
250
+ (!trimmed.startsWith("[") || !trimmed.endsWith("]"))) {
251
+ throw new Error("Full KB entity ID enumeration returned malformed data");
252
+ }
253
+ const ids = parseAtomList(trimmed);
254
+ if (ids.some((id) => id.length === 0)) {
255
+ throw new Error("Full KB entity ID enumeration returned an empty ID");
256
+ }
257
+ return ids;
258
+ }
259
+ function validateEntityBatch(requestedIds, entities) {
260
+ const requested = new Set();
261
+ for (const id of requestedIds) {
262
+ const normalizedId = normalizeEntityId(id);
263
+ if (normalizedId.length === 0 || requested.has(normalizedId)) {
264
+ throw new Error("Full KB bounded entity projection returned duplicate or empty requested IDs");
265
+ }
266
+ requested.add(normalizedId);
267
+ }
268
+ const returned = new Map();
269
+ for (const entity of entities) {
270
+ const id = stringField(entity, "id");
271
+ const type = stringField(entity, "type");
272
+ const normalizedId = normalizeEntityId(id);
273
+ if (normalizedId.length === 0 || type.length === 0) {
274
+ throw new Error("Full KB bounded entity projection returned a malformed entity row");
275
+ }
276
+ if (!requested.has(normalizedId) || returned.has(normalizedId)) {
277
+ throw new Error(`Full KB bounded entity projection returned an unexpected entity ID: ${normalizedId}`);
278
+ }
279
+ returned.set(normalizedId, entity);
280
+ }
281
+ const missing = [...requested.keys()].filter((id) => !returned.has(id));
282
+ if (missing.length > 0) {
283
+ throw new Error(`Full KB bounded entity projection returned an incomplete page; missing ${missing.join(", ")}`);
284
+ }
285
+ return [...requested.keys()].map((id) => returned.get(id));
286
+ }
287
+ function validateIndexedEntityPage(entities, seenIds) {
288
+ const pageIds = new Set();
289
+ for (const entity of entities) {
290
+ const id = normalizeEntityId(stringField(entity, "id"));
291
+ const type = stringField(entity, "type");
292
+ if (id.length === 0 || type.length === 0) {
293
+ throw new Error("Full KB paginated entity projection returned a malformed entity row");
294
+ }
295
+ if (pageIds.has(id) || seenIds.has(id)) {
296
+ throw new Error(`Full KB paginated entity projection returned duplicate entity ID: ${id}`);
297
+ }
298
+ pageIds.add(id);
299
+ }
300
+ return [...entities];
301
+ }
302
+ function isOutputCapacityException(error) {
303
+ return isOutputCapacityError(error instanceof Error ? error.message : String(error));
304
+ }
305
+ async function loadIndexedEntityProjection(queryEntities) {
306
+ const entities = [];
307
+ const seenIds = new Set();
308
+ let offset = 0;
309
+ let pageSize = ENTITY_BATCH_SIZE;
310
+ let totalCount;
311
+ while (totalCount === undefined || offset < totalCount) {
312
+ let page;
313
+ try {
314
+ page = await queryEntities({ limit: pageSize, offset });
315
+ }
316
+ catch (error) {
317
+ if (!isOutputCapacityException(error) || pageSize === 1) {
318
+ throw error;
319
+ }
320
+ pageSize = Math.ceil(pageSize / 2);
321
+ continue;
322
+ }
323
+ if (!Number.isInteger(page.count) ||
324
+ page.count < 0 ||
325
+ (totalCount !== undefined && page.count !== totalCount)) {
326
+ throw new Error("Full KB paginated entity projection returned an inconsistent count");
327
+ }
328
+ totalCount ??= page.count;
329
+ if (page.entities.length > pageSize) {
330
+ throw new Error("Full KB paginated entity projection returned an oversized page");
331
+ }
332
+ const pageEntities = validateIndexedEntityPage(page.entities, seenIds);
333
+ if (offset + pageEntities.length > totalCount) {
334
+ throw new Error("Full KB paginated entity projection returned more rows than its count");
335
+ }
336
+ if (pageEntities.length === 0 && offset < totalCount) {
337
+ throw new Error("Full KB paginated entity projection returned an incomplete page");
338
+ }
339
+ for (const entity of pageEntities) {
340
+ seenIds.add(normalizeEntityId(stringField(entity, "id")));
341
+ }
342
+ entities.push(...pageEntities);
343
+ offset += pageEntities.length;
344
+ if (offset < totalCount && pageEntities.length < pageSize) {
345
+ throw new Error("Full KB paginated entity projection returned an incomplete page");
346
+ }
347
+ }
348
+ if (entities.length !== totalCount) {
349
+ throw new Error("Full KB paginated entity projection returned an incomplete result");
350
+ }
351
+ return entities;
352
+ }
353
+ async function loadEntityBatch(prolog, ids) {
354
+ const idTerms = ids.map((id) => toPrologAtom(id)).join(",");
355
+ const result = await prolog.query(`findall([Id,Type,Props], (member(Id, [${idTerms}]), kb_entity(Id, Type, Props)), Results)`);
356
+ if (!result.success) {
357
+ const message = result.error ?? "Unknown error";
358
+ if (isOutputCapacityError(result.error)) {
359
+ throw new BoundedEntityProjectionError(message);
360
+ }
361
+ throw new Error(`Full KB bounded entity projection query failed: ${message}`);
362
+ }
363
+ const rawRows = result.bindings.Results;
364
+ if (rawRows === undefined) {
365
+ throw new Error("Full KB bounded entity projection query returned no Results binding");
366
+ }
367
+ return validateEntityBatch(ids, parseListOfLists(rawRows).map(parseEntityFromList));
368
+ }
369
+ async function loadEntityBatchAdaptively(prolog, ids) {
370
+ try {
371
+ return await loadEntityBatch(prolog, ids);
372
+ }
373
+ catch (error) {
374
+ if (!(error instanceof BoundedEntityProjectionError))
375
+ throw error;
376
+ if (ids.length === 1) {
377
+ throw new Error(`Full KB entity projection failed for ${ids[0]}: ${error.message}`);
378
+ }
379
+ const midpoint = Math.ceil(ids.length / 2);
380
+ const left = await loadEntityBatchAdaptively(prolog, ids.slice(0, midpoint));
381
+ const right = await loadEntityBatchAdaptively(prolog, ids.slice(midpoint));
382
+ return [...left, ...right];
383
+ }
384
+ }
385
+ async function loadBoundedEntityProjection(prolog) {
386
+ const idsResult = await prolog.query(ENTITY_IDS_QUERY);
387
+ if (!idsResult.success) {
388
+ throw new Error(`Full KB entity ID enumeration query failed: ${idsResult.error ?? "Unknown error"}`);
389
+ }
390
+ const rawIds = idsResult.bindings.Ids;
391
+ if (rawIds === undefined) {
392
+ throw new Error("Full KB entity ID enumeration query returned no Ids binding");
393
+ }
394
+ const ids = parseAuthoritativeEntityIds(rawIds);
395
+ const entities = [];
396
+ for (let offset = 0; offset < ids.length; offset += ENTITY_BATCH_SIZE) {
397
+ entities.push(...(await loadEntityBatchAdaptively(prolog, ids.slice(offset, offset + ENTITY_BATCH_SIZE))));
398
+ }
399
+ return entities;
400
+ }
401
+ export async function loadKbExtractionResults(prolog) {
402
+ let entities;
403
+ if (prolog.queryEntities !== undefined) {
404
+ entities = await loadIndexedEntityProjection(prolog.queryEntities.bind(prolog));
405
+ }
406
+ else {
407
+ const entityResult = await prolog.query("findall([Id,Type,Props], kb_entity(Id, Type, Props), Results)");
408
+ if (entityResult.success) {
409
+ entities = entityResult.bindings.Results
410
+ ? parseListOfLists(entityResult.bindings.Results).map(parseEntityFromList)
411
+ : [];
412
+ }
413
+ else if (isOutputCapacityError(entityResult.error)) {
414
+ entities = await loadBoundedEntityProjection(prolog);
415
+ }
416
+ else {
417
+ throw new Error(`Full KB entity projection query failed: ${entityResult.error ?? "Unknown error"}`);
418
+ }
419
+ }
151
420
  const relationships = new Map();
152
421
  for (const relationshipType of RELATIONSHIP_TYPES) {
153
422
  const relResult = await prolog.query(`findall([From,To,'${relationshipType}'], kb_relationship(${relationshipType}, From, To), Rels)`);
423
+ if (!relResult.success) {
424
+ throw new Error(`Full KB relationship projection query failed for ${relationshipType}: ${relResult.error ?? "Unknown error"}`);
425
+ }
154
426
  const rows = relResult.bindings.Rels
155
427
  ? parseTriples(relResult.bindings.Rels)
156
428
  : [];
157
- for (const [from, to, type] of rows) {
429
+ for (const [rawFrom, rawTo, type] of rows) {
430
+ const from = normalizeEntityId(rawFrom);
431
+ const to = normalizeEntityId(rawTo);
158
432
  const current = relationships.get(from) ?? [];
159
433
  current.push({ from, to, type });
160
434
  relationships.set(from, current);
@@ -172,6 +446,56 @@ async function loadKbExtractionResults(prolog) {
172
446
  return result;
173
447
  });
174
448
  }
449
+ export function passingE2eStage(passingE2e) {
450
+ return passingE2e &&
451
+ typeof passingE2e === "object" &&
452
+ !Array.isArray(passingE2e)
453
+ ? passingE2e
454
+ : undefined;
455
+ }
456
+ function stringArrayField(value) {
457
+ return Array.isArray(value) ? value.map(String) : undefined;
458
+ }
459
+ async function loadCoverageProofEvidence(prolog, requirementCount, proofSnapshot, checkedAt) {
460
+ if (proofSnapshot === undefined ||
461
+ checkedAt === undefined ||
462
+ requirementCount === 0) {
463
+ return new Map();
464
+ }
465
+ let payload;
466
+ try {
467
+ // W1 push-down: the slim evidence projection returns only the fields the
468
+ // quality diagnostics consume, keeping the response far below the output
469
+ // capacity limit on large KBs (the full coverage report rows were the
470
+ // original ENOBUFS offender).
471
+ payload = await runOperationJsonQuery(prolog, "discovery.pl", `discovery:coverage_evidence_json(${toPrologList([])}, ${toPrologAtom(proofSnapshot)}, ${toPrologAtom(checkedAt)}, ${PROOF_RECEIPT_MAX_AGE_SECONDS}, JsonString)`, "Quality diagnostic coverage evidence");
472
+ }
473
+ catch {
474
+ // Quality diagnostics must fail closed when the optional proof readback is
475
+ // unavailable; a failed advisory query must not make kb_check fail.
476
+ return new Map();
477
+ }
478
+ const evidence = new Map();
479
+ for (const row of payload.rows ?? []) {
480
+ const id = typeof row.id === "string" ? row.id : undefined;
481
+ if (id === undefined)
482
+ continue;
483
+ const passingE2eTests = stringArrayField(row.passingE2eTests) ?? [];
484
+ evidence.set(id, {
485
+ ...(typeof row.proofStatus === "string"
486
+ ? { proofStatus: row.proofStatus }
487
+ : {}),
488
+ ...(typeof row.passingE2eStatus === "string"
489
+ ? { passingE2eStatus: row.passingE2eStatus }
490
+ : {}),
491
+ passingE2eTests,
492
+ ...(Array.isArray(row.receiptGapCodes)
493
+ ? { receiptGapCodes: row.receiptGapCodes.map(String) }
494
+ : {}),
495
+ });
496
+ }
497
+ return evidence;
498
+ }
175
499
  function capDiagnostics(diagnostics, maxDiagnostics) {
176
500
  return maxDiagnostics !== undefined && maxDiagnostics >= 0
177
501
  ? diagnostics.slice(0, maxDiagnostics)
@@ -224,7 +548,8 @@ export async function collectFullKbQualityDiagnostics(options) {
224
548
  loadKbExtractionResults(options.prolog),
225
549
  collectTelemetryDiagnostics(options.workspaceRoot, options.now ?? new Date()),
226
550
  ]);
227
- const coverageDepthDiagnostics = createCoverageDepthQualityDiagnostics(manifestResults);
551
+ const proofEvidence = await loadCoverageProofEvidence(options.prolog, manifestResults.filter((result) => result.entity.type === "req").length, options.proofSnapshot, options.checkedAt);
552
+ const coverageDepthDiagnostics = createCoverageDepthQualityDiagnostics(manifestResults, proofEvidence);
228
553
  const diagnostics = [
229
554
  ...telemetryDiagnostics,
230
555
  ...createRequirementQualityDiagnostics({
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/public/impact/manifest.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAc3E,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,GACpB,SAAS,gBAAgB,EAAE,CAoB7B;AAED,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,SAAS,gBAAgB,EAAE,GAC3C,cAAc,CAYhB"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/public/impact/manifest.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAc3E,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,GACpB,SAAS,gBAAgB,EAAE,CAkB7B;AAED,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,SAAS,gBAAgB,EAAE,GAC3C,cAAc,CAYhB"}
@@ -1,7 +1,7 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import * as path from "node:path";
3
3
  import { extractFromManifest } from "../../extractors/manifest.js";
4
- import { loadConfig } from "../../utils/config.js";
4
+ import { CANONICAL_ENTITY_PATHS } from "../../utils/kb-paths.js";
5
5
  import { isTraceabilityRelationshipType } from "../symbol-granularity.js";
6
6
  import { normalizeSourceFile } from "./source-changes.js";
7
7
  function toTraceabilityRelationships(relationships) {
@@ -10,10 +10,7 @@ function toTraceabilityRelationships(relationships) {
10
10
  .map((relationship) => ({ type: relationship.type, to: relationship.to }));
11
11
  }
12
12
  export function readImpactManifestResults(workspaceRoot) {
13
- const config = loadConfig(workspaceRoot);
14
- const symbolsPath = config.paths.symbols;
15
- if (!symbolsPath)
16
- return [];
13
+ const symbolsPath = CANONICAL_ENTITY_PATHS.symbols;
17
14
  const absolutePath = path.isAbsolute(symbolsPath)
18
15
  ? symbolsPath
19
16
  : path.resolve(workspaceRoot, symbolsPath);
@@ -1 +1 @@
1
- {"version":3,"file":"operational-artifacts.d.ts","sourceRoot":"","sources":["../../src/public/operational-artifacts.ts"],"names":[],"mappings":"AAAA,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKnE"}
1
+ {"version":3,"file":"operational-artifacts.d.ts","sourceRoot":"","sources":["../../src/public/operational-artifacts.ts"],"names":[],"mappings":"AAAA,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAanE"}
@@ -1,5 +1,11 @@
1
1
  export function isOperationalArtifactPath(pathLike) {
2
2
  // implements REQ-001
3
3
  const normalized = pathLike.replaceAll("\\", "/");
4
- return /(^|\/)\.sisyphus\//.test(normalized);
4
+ // Recovery journals and pending-source receipts are runtime-owned
5
+ // operational state. They must remain visible to Kibi's recovery/status
6
+ // services, but they are not authored evidence and must not make a Git
7
+ // verification snapshot dirty or enter source compilation as arbitrary
8
+ // untracked files.
9
+ return (/(^|\/)\.sisyphus\//.test(normalized) ||
10
+ /(^|\/)\.kb\/recovery(?:\/|$)/.test(normalized));
5
11
  }