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,64 +1,16 @@
1
- import { existsSync, readFileSync } from "node:fs";
2
1
  import * as path from "node:path";
3
- export const DEFAULT_SYMBOLS_PATH = "documentation/symbols.yaml";
4
- export const DEFAULT_COORDINATES_PATH = "documentation/symbol-coordinates.yaml";
5
- function isNonEmptyString(value) {
6
- return typeof value === "string" && value.trim().length > 0;
7
- }
8
- function resolveConfigPath(workspaceRoot, configPath) {
9
- const configuredPath = configPath ?? path.join(workspaceRoot, ".kb", "config.json");
10
- return path.isAbsolute(configuredPath)
11
- ? configuredPath
12
- : path.resolve(workspaceRoot, configuredPath);
13
- }
14
- function readManifestResolverConfig(workspaceRoot, configPath) {
15
- const resolvedConfigPath = resolveConfigPath(workspaceRoot, configPath);
16
- if (!existsSync(resolvedConfigPath)) {
17
- return null;
18
- }
19
- try {
20
- return JSON.parse(readFileSync(resolvedConfigPath, "utf8"));
21
- }
22
- catch {
23
- return null;
24
- }
25
- }
26
- function resolveConfiguredSymbolsPath(workspaceRoot, configPath) {
27
- const config = readManifestResolverConfig(workspaceRoot, configPath);
28
- if (!config) {
29
- return null;
30
- }
31
- const configuredPathCandidate = config.paths?.symbols ?? config.symbolsManifest;
32
- if (!isNonEmptyString(configuredPathCandidate)) {
33
- return null;
34
- }
35
- return path.isAbsolute(configuredPathCandidate)
36
- ? configuredPathCandidate
37
- : path.resolve(workspaceRoot, configuredPathCandidate);
38
- }
39
- function resolveDefaultSymbolsPath(workspaceRoot) {
40
- const candidates = [
41
- path.join(workspaceRoot, DEFAULT_SYMBOLS_PATH),
42
- path.join(workspaceRoot, "symbols.yaml"),
43
- path.join(workspaceRoot, "symbols.yml"),
44
- ];
45
- return (candidates.find((candidate) => existsSync(candidate)) ??
46
- candidates[0] ??
47
- path.join(workspaceRoot, DEFAULT_SYMBOLS_PATH));
48
- }
49
- function deriveCoordinatesPath(symbolsPath) {
50
- return path.join(path.dirname(symbolsPath), path.basename(DEFAULT_COORDINATES_PATH));
51
- }
2
+ import { CANONICAL_ENTITY_PATHS, KB_PATHS } from "./kb-paths.js";
3
+ export const DEFAULT_SYMBOLS_PATH = KB_PATHS.symbolsManifest;
4
+ export const DEFAULT_COORDINATES_PATH = KB_PATHS.symbolCoordinates;
52
5
  // implements REQ-cli-sync
53
- export function resolveSymbolsManifestPaths(workspaceRoot, configPath) {
54
- const symbolsPath = resolveConfiguredSymbolsPath(workspaceRoot, configPath) ??
55
- resolveDefaultSymbolsPath(workspaceRoot);
6
+ export function resolveSymbolsManifestPaths(workspaceRoot) {
7
+ const symbolsPath = path.join(workspaceRoot, CANONICAL_ENTITY_PATHS.symbols);
56
8
  return {
57
9
  symbolsPath,
58
- coordinatesPath: deriveCoordinatesPath(symbolsPath),
10
+ coordinatesPath: path.join(workspaceRoot, DEFAULT_COORDINATES_PATH),
59
11
  };
60
12
  }
61
13
  // implements REQ-cli-sync
62
- export function resolveSymbolsManifestPath(workspaceRoot, configPath) {
63
- return resolveSymbolsManifestPaths(workspaceRoot, configPath).symbolsPath;
14
+ export function resolveSymbolsManifestPath(workspaceRoot) {
15
+ return resolveSymbolsManifestPaths(workspaceRoot).symbolsPath;
64
16
  }
@@ -1,16 +1,34 @@
1
1
  /**
2
- * Central registry of all KB check rules.
3
- * This is the single source of truth for rule names, descriptions, and defaults.
2
+ * Central registry of KB check rules.
3
+ *
4
+ * Kibi — not the repository — owns each rule's enforcement class. Projects
5
+ * can no longer disable canonical checks. `--rules` remains an
6
+ * invocation-time diagnostic selector only and never persists policy.
4
7
  */
8
+ export type RuleEnforcementClass =
9
+ /**
10
+ * Canonical blocking correctness checks. Always evaluated by
11
+ * `kibi check`, hooks, CI, reports, and coverage summaries. Not
12
+ * configurable by any project surface.
13
+ */
14
+ "canonical"
15
+ /**
16
+ * Advisory modeling-quality checks. Reported as quality diagnostics to
17
+ * guide agents, but never gate canonical health on their own.
18
+ */
19
+ | "advisory"
20
+ /**
21
+ * Migration/experimental diagnostics. Default-off; surfaced only through
22
+ * explicit invocation-time `--rules` selection for focused diagnosis.
23
+ */
24
+ | "migration";
5
25
  export interface RuleDefinition {
6
26
  name: string;
7
27
  description: string;
8
- defaultEnabled: boolean;
28
+ /** Kibi-owned role of this rule in the enforcement contract. */
29
+ enforcementClass: RuleEnforcementClass;
9
30
  category: "coverage" | "integrity" | "lifecycle" | "traceability";
10
31
  }
11
- export interface SymbolTraceabilityOptions {
12
- requireAdr: boolean;
13
- }
14
32
  /** A single KB check violation. */
15
33
  export interface Violation {
16
34
  rule: string;
@@ -21,10 +39,6 @@ export interface Violation {
21
39
  /** Exact source-bound proof evidence, when the check can produce it. */
22
40
  evidence?: Readonly<Record<string, unknown>>;
23
41
  }
24
- export interface ChecksConfig {
25
- rules: Record<string, boolean>;
26
- symbolTraceability: SymbolTraceabilityOptions;
27
- }
28
42
  /**
29
43
  * All known check rules.
30
44
  * When adding a new rule, add it here.
@@ -34,24 +48,38 @@ export declare const RULES: readonly RuleDefinition[];
34
48
  * Set of all rule names for quick lookups.
35
49
  */
36
50
  export declare const RULE_NAMES: Set<string>;
51
+ export declare function getRuleDefinition(name: string): RuleDefinition | undefined;
52
+ export declare function getRuleEnforcementClass(name: string): RuleEnforcementClass | undefined;
53
+ /**
54
+ * Whether a plain `kibi check` evaluates this enforcement class.
55
+ * Canonical and advisory rules run; migration rules run only when
56
+ * explicitly selected with `--rules`.
57
+ */
58
+ export declare function ruleRunsByDefault(enforcementClass: RuleEnforcementClass): boolean;
37
59
  /**
38
- * Default checks configuration with all rules enabled.
60
+ * Rules that a plain `kibi check` evaluates. Derived from enforcement
61
+ * class: canonical and advisory run, migration does not.
39
62
  */
40
- export declare const DEFAULT_CHECKS_CONFIG: ChecksConfig;
63
+ export declare function getDefaultRules(): Set<string>;
41
64
  /**
42
- * Get effective rules based on config and CLI --rules filter.
43
- * @param configRules Rules from .kb/config.json (may be partial)
44
- * @param cliRules Optional comma-separated list from --rules CLI flag
65
+ * Canonical blocking rules only. Used by health badges, reports, and CI
66
+ * gates that must not fail on advisory or migration diagnostics.
67
+ */
68
+ export declare function getCanonicalRules(): Set<string>;
69
+ export declare function isCanonicalRule(name: string): boolean;
70
+ /**
71
+ * Resolve the rule set for one check invocation.
72
+ *
73
+ * @param requestedRules Optional invocation-time diagnostic selector
74
+ * (`--rules`). When absent, canonical and advisory rules run. When
75
+ * present, only the selected rules run for that invocation and nothing is
76
+ * persisted. Selection never changes enforcement class.
45
77
  * @returns Set of rule names that should run
46
78
  */
47
- export declare function getEffectiveRules(configRules?: Record<string, boolean>, cliRules?: string): Set<string>;
79
+ export declare function getEffectiveRules(requestedRules?: readonly string[]): Set<string>;
48
80
  /**
49
81
  * Validate a rule name.
50
82
  * @returns Error message if invalid, null if valid
51
83
  */
52
84
  export declare function validateRuleName(name: string): string | null;
53
- /**
54
- * Merge partial checks config with defaults.
55
- */
56
- export declare function mergeChecksConfig(partial?: Partial<ChecksConfig>): ChecksConfig;
57
85
  //# sourceMappingURL=rule-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rule-registry.d.ts","sourceRoot":"","sources":["../../src/utils/rule-registry.ts"],"names":[],"mappings":"AAkBA;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,cAAc,CAAC;CACnE;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,mCAAmC;AACnC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,kBAAkB,EAAE,yBAAyB,CAAC;CAC/C;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,SAAS,cAAc,EAsHjC,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU,aAAoC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAKnC,CAAC;AAEF;;;;;GAKG;AAEH,wBAAgB,iBAAiB,CAC/B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,QAAQ,CAAC,EAAE,MAAM,GAChB,GAAG,CAAC,MAAM,CAAC,CAsBb;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAC9B,YAAY,CAWd"}
1
+ {"version":3,"file":"rule-registry.d.ts","sourceRoot":"","sources":["../../src/utils/rule-registry.ts"],"names":[],"mappings":"AAkBA;;;;;;GAMG;AAEH,MAAM,MAAM,oBAAoB;AAC9B;;;;GAIG;AACD,WAAW;AACb;;;GAGG;GACD,UAAU;AACZ;;;GAGG;GACD,WAAW,CAAC;AAEhB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,QAAQ,EAAE,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,cAAc,CAAC;CACnE;AAED,mCAAmC;AACnC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9C;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,SAAS,cAAc,EA6HjC,CAAC;AAIX;;GAEG;AACH,eAAO,MAAM,UAAU,aAAoC,CAAC;AAE5D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1E;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,GACX,oBAAoB,GAAG,SAAS,CAElC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,gBAAgB,EAAE,oBAAoB,GACrC,OAAO,CAET;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,GAAG,CAAC,MAAM,CAAC,CAM7C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,GAAG,CAAC,MAAM,CAAC,CAM/C;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;;;;;GAQG;AAEH,wBAAgB,iBAAiB,CAC/B,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,GACjC,GAAG,CAAC,MAAM,CAAC,CAOb;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5D"}
@@ -24,143 +24,163 @@ export const RULES = [
24
24
  {
25
25
  name: "must-priority-coverage",
26
26
  description: "Every must-priority requirement must have a scenario and a test",
27
- defaultEnabled: true,
27
+ enforcementClass: "canonical",
28
28
  category: "coverage",
29
29
  },
30
30
  {
31
31
  name: "symbol-coverage",
32
32
  description: "Production symbols need qualifying coverage via covered_by plus a canonical requirement/scenario test path",
33
- defaultEnabled: true,
33
+ enforcementClass: "canonical",
34
34
  category: "coverage",
35
35
  },
36
36
  {
37
37
  name: "symbol-traceability",
38
- description: "Production symbols must directly implement requirements for ownership; covered_by is coverage only, executable_for is test identity only, and ADR constraints are optional unless configured",
39
- defaultEnabled: true,
38
+ description: "Production symbols must directly implement requirements for ownership; covered_by is coverage only and executable_for is test identity only",
39
+ enforcementClass: "canonical",
40
40
  category: "traceability",
41
41
  },
42
42
  {
43
43
  name: "no-dangling-refs",
44
44
  description: "All relationship targets must exist in the KB",
45
- defaultEnabled: true,
45
+ enforcementClass: "canonical",
46
+ category: "integrity",
47
+ },
48
+ {
49
+ name: "source-relationship-parity",
50
+ description: "Authored Markdown and relationship-shard edges must exactly match the compiled KB",
51
+ enforcementClass: "canonical",
46
52
  category: "integrity",
47
53
  },
48
54
  {
49
55
  name: "no-cycles",
50
56
  description: "No circular dependency chains in requirements",
51
- defaultEnabled: true,
57
+ enforcementClass: "canonical",
52
58
  category: "integrity",
53
59
  },
54
60
  {
55
61
  name: "required-fields",
56
62
  description: "All entities must have required fields",
57
- defaultEnabled: true,
63
+ enforcementClass: "canonical",
58
64
  category: "integrity",
59
65
  },
60
66
  {
61
67
  name: "deprecated-adr-no-successor",
62
68
  description: "Deprecated ADRs must have a successor ADR that supersedes them",
63
- defaultEnabled: true,
69
+ enforcementClass: "canonical",
64
70
  category: "lifecycle",
65
71
  },
66
72
  {
67
73
  name: "domain-contradictions",
68
74
  description: "Detect contradictions between requirements constraining the same fact",
69
- defaultEnabled: true,
75
+ enforcementClass: "canonical",
70
76
  category: "integrity",
71
77
  },
72
78
  {
73
- name: "strict-fact-shape",
74
- description: "Detect malformed strict facts (facts with fact_kind that are missing required fields)",
75
- defaultEnabled: false,
79
+ name: "logic-coverage",
80
+ description: "Require every explicitly declared atomic requirement claim to be grounded by a linked strict-property or predicate fact",
81
+ enforcementClass: "canonical",
76
82
  category: "integrity",
77
83
  },
78
84
  {
79
- name: "strict-req-fact-pairing",
80
- description: "Detect requirements with incomplete strict subject/property fact pairing for contradiction-safe semantics",
81
- defaultEnabled: false,
85
+ name: "rule-safety",
86
+ description: "Stored Logic IR rules use only the typed, bounded, stratified vocabulary",
87
+ enforcementClass: "canonical",
82
88
  category: "integrity",
83
89
  },
84
90
  {
85
- name: "strict-readiness",
86
- description: "Report strict contradiction-readiness levels for requirements that are still prose-only or otherwise not contradiction-ready",
87
- defaultEnabled: false,
91
+ name: "rule-verifiability",
92
+ description: "Requirement rule links resolve to safe rules and registered rule schemas",
93
+ enforcementClass: "canonical",
88
94
  category: "integrity",
89
95
  },
90
96
  {
91
- name: "predicate-verifiability",
92
- description: "Detect requires_predicate links that do not target ground fact_kind: predicate facts",
93
- defaultEnabled: false,
97
+ name: "query-plan-safety",
98
+ description: "Detect Prolog validation clauses that place negation before generator calls",
99
+ enforcementClass: "canonical",
94
100
  category: "integrity",
95
101
  },
96
102
  {
97
- name: "logic-coverage",
98
- description: "Require every explicitly declared atomic requirement claim to be grounded by a linked strict-property or predicate fact",
99
- defaultEnabled: true,
103
+ name: "strict-fact-shape",
104
+ description: "Detect malformed strict facts (facts with fact_kind that are missing required fields)",
105
+ enforcementClass: "advisory",
100
106
  category: "integrity",
101
107
  },
102
108
  {
103
- name: "rule-safety",
104
- description: "Stored Logic IR rules use only the typed, bounded, stratified vocabulary",
105
- defaultEnabled: true,
109
+ name: "strict-req-fact-pairing",
110
+ description: "Detect requirements with incomplete strict subject/property fact pairing for contradiction-safe semantics",
111
+ enforcementClass: "advisory",
106
112
  category: "integrity",
107
113
  },
108
114
  {
109
- name: "rule-verifiability",
110
- description: "Requirement rule links resolve to safe rules and registered rule schemas",
111
- defaultEnabled: true,
115
+ name: "predicate-verifiability",
116
+ description: "Detect requires_predicate links that do not target ground fact_kind: predicate facts",
117
+ enforcementClass: "advisory",
112
118
  category: "integrity",
113
119
  },
114
120
  {
115
- name: "semantic-completeness",
116
- description: "Every inventoried assertive proposition is modeled or explicitly classified",
117
- defaultEnabled: false,
121
+ name: "strict-readiness",
122
+ description: "Report strict contradiction-readiness levels for requirements that are still prose-only or otherwise not contradiction-ready",
123
+ enforcementClass: "migration",
118
124
  category: "integrity",
119
125
  },
120
126
  {
121
- name: "query-plan-safety",
122
- description: "Detect Prolog validation clauses that place negation before generator calls",
123
- defaultEnabled: true,
127
+ name: "semantic-completeness",
128
+ description: "Every inventoried assertive proposition is modeled or explicitly classified",
129
+ enforcementClass: "migration",
124
130
  category: "integrity",
125
131
  },
126
132
  ];
133
+ const RULES_BY_NAME = new Map(RULES.map((rule) => [rule.name, rule]));
127
134
  /**
128
135
  * Set of all rule names for quick lookups.
129
136
  */
130
137
  export const RULE_NAMES = new Set(RULES.map((r) => r.name));
138
+ export function getRuleDefinition(name) {
139
+ return RULES_BY_NAME.get(name);
140
+ }
141
+ export function getRuleEnforcementClass(name) {
142
+ return RULES_BY_NAME.get(name)?.enforcementClass;
143
+ }
131
144
  /**
132
- * Default checks configuration with all rules enabled.
145
+ * Whether a plain `kibi check` evaluates this enforcement class.
146
+ * Canonical and advisory rules run; migration rules run only when
147
+ * explicitly selected with `--rules`.
133
148
  */
134
- export const DEFAULT_CHECKS_CONFIG = {
135
- rules: Object.fromEntries(RULES.map((r) => [r.name, r.defaultEnabled])),
136
- symbolTraceability: {
137
- requireAdr: false,
138
- },
139
- };
149
+ export function ruleRunsByDefault(enforcementClass) {
150
+ return enforcementClass !== "migration";
151
+ }
140
152
  /**
141
- * Get effective rules based on config and CLI --rules filter.
142
- * @param configRules Rules from .kb/config.json (may be partial)
143
- * @param cliRules Optional comma-separated list from --rules CLI flag
153
+ * Rules that a plain `kibi check` evaluates. Derived from enforcement
154
+ * class: canonical and advisory run, migration does not.
155
+ */
156
+ export function getDefaultRules() {
157
+ return new Set(RULES.filter((rule) => ruleRunsByDefault(rule.enforcementClass)).map((rule) => rule.name));
158
+ }
159
+ /**
160
+ * Canonical blocking rules only. Used by health badges, reports, and CI
161
+ * gates that must not fail on advisory or migration diagnostics.
162
+ */
163
+ export function getCanonicalRules() {
164
+ return new Set(RULES.filter((rule) => rule.enforcementClass === "canonical").map((r) => r.name));
165
+ }
166
+ export function isCanonicalRule(name) {
167
+ return RULES_BY_NAME.get(name)?.enforcementClass === "canonical";
168
+ }
169
+ /**
170
+ * Resolve the rule set for one check invocation.
171
+ *
172
+ * @param requestedRules Optional invocation-time diagnostic selector
173
+ * (`--rules`). When absent, canonical and advisory rules run. When
174
+ * present, only the selected rules run for that invocation and nothing is
175
+ * persisted. Selection never changes enforcement class.
144
176
  * @returns Set of rule names that should run
145
177
  */
146
178
  // implements REQ-006
147
- export function getEffectiveRules(configRules, cliRules) {
148
- if (cliRules) {
149
- return new Set(cliRules
150
- .split(",")
151
- .map((s) => s.trim())
152
- .filter((s) => RULE_NAMES.has(s)));
153
- }
154
- // Start with all known rules
155
- const effective = new Set();
156
- for (const rule of RULES) {
157
- // Config value takes precedence over default, missing means use default
158
- const enabled = configRules?.[rule.name] ?? rule.defaultEnabled;
159
- if (enabled) {
160
- effective.add(rule.name);
161
- }
179
+ export function getEffectiveRules(requestedRules) {
180
+ if (requestedRules !== undefined) {
181
+ return new Set(requestedRules.filter((name) => RULE_NAMES.has(name)));
162
182
  }
163
- return effective;
183
+ return getDefaultRules();
164
184
  }
165
185
  /**
166
186
  * Validate a rule name.
@@ -172,18 +192,3 @@ export function validateRuleName(name) {
172
192
  }
173
193
  return null;
174
194
  }
175
- /**
176
- * Merge partial checks config with defaults.
177
- */
178
- export function mergeChecksConfig(partial) {
179
- return {
180
- rules: {
181
- ...DEFAULT_CHECKS_CONFIG.rules,
182
- ...partial?.rules,
183
- },
184
- symbolTraceability: {
185
- ...DEFAULT_CHECKS_CONFIG.symbolTraceability,
186
- ...partial?.symbolTraceability,
187
- },
188
- };
189
- }
@@ -1,5 +1,4 @@
1
- import type { KbConfig } from "./config.js";
2
- export declare const LATEST_KB_SCHEMA_VERSION = 4;
1
+ export declare const LATEST_KB_SCHEMA_VERSION = 5;
3
2
  export interface SchemaVersionStatus {
4
3
  status: "missing" | "invalid" | "older" | "current" | "newer";
5
4
  currentVersion: number | null;
@@ -7,8 +6,9 @@ export interface SchemaVersionStatus {
7
6
  needsMigration: boolean;
8
7
  warning: string | null;
9
8
  }
10
- type SchemaVersionConfig = Pick<KbConfig, "schemaVersion"> | null | undefined;
9
+ export type SchemaVersionSource = {
10
+ schemaVersion: number | string | null | undefined;
11
+ } | null | undefined;
11
12
  export declare function normalizeSchemaVersion(schemaVersion: number | string | null | undefined): number | null;
12
- export declare function getSchemaVersionStatus(config?: SchemaVersionConfig): SchemaVersionStatus;
13
- export {};
13
+ export declare function getSchemaVersionStatus(config?: SchemaVersionSource): SchemaVersionStatus;
14
14
  //# sourceMappingURL=schema-version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-version.d.ts","sourceRoot":"","sources":["../../src/utils/schema-version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9D,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,KAAK,mBAAmB,GAAG,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AAG9E,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAChD,MAAM,GAAG,IAAI,CAgBf;AAGD,wBAAgB,sBAAsB,CACpC,MAAM,CAAC,EAAE,mBAAmB,GAC3B,mBAAmB,CA6CrB"}
1
+ {"version":3,"file":"schema-version.d.ts","sourceRoot":"","sources":["../../src/utils/schema-version.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9D,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GACrD,IAAI,GACJ,SAAS,CAAC;AAGd,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAChD,MAAM,GAAG,IAAI,CAgBf;AAGD,wBAAgB,sBAAsB,CACpC,MAAM,CAAC,EAAE,mBAAmB,GAC3B,mBAAmB,CAgDrB"}
@@ -1,5 +1,22 @@
1
+ /*
2
+ * Kibi — repo-local, per-branch, queryable long-term memory for software projects
3
+ * Copyright (C) 2026 Piotr Franczyk
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU Affero General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU Affero General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Affero General Public License
16
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
17
+ */
1
18
  // implements REQ-003
2
- export const LATEST_KB_SCHEMA_VERSION = 4;
19
+ export const LATEST_KB_SCHEMA_VERSION = 5;
3
20
  // implements REQ-003
4
21
  export function normalizeSchemaVersion(schemaVersion) {
5
22
  if (schemaVersion === undefined || schemaVersion === null) {
@@ -18,7 +35,10 @@ export function normalizeSchemaVersion(schemaVersion) {
18
35
  // implements REQ-003
19
36
  export function getSchemaVersionStatus(config) {
20
37
  const latestVersion = LATEST_KB_SCHEMA_VERSION;
21
- const hasSchemaVersion = config !== null && config !== undefined && "schemaVersion" in config;
38
+ const hasSchemaVersion = config !== null &&
39
+ config !== undefined &&
40
+ "schemaVersion" in config &&
41
+ config.schemaVersion !== undefined;
22
42
  const currentVersion = normalizeSchemaVersion(config?.schemaVersion);
23
43
  if (currentVersion === null) {
24
44
  return {
@@ -27,8 +47,8 @@ export function getSchemaVersionStatus(config) {
27
47
  latestVersion,
28
48
  needsMigration: true,
29
49
  warning: hasSchemaVersion
30
- ? "KB config schemaVersion is invalid and should be migrated."
31
- : "KB config schemaVersion is missing; legacy config should be migrated.",
50
+ ? "KB schemaVersion is invalid and should be migrated."
51
+ : "KB schemaVersion is missing; the repository should be initialized or migrated.",
32
52
  };
33
53
  }
34
54
  if (currentVersion > latestVersion) {
@@ -37,7 +57,7 @@ export function getSchemaVersionStatus(config) {
37
57
  currentVersion,
38
58
  latestVersion,
39
59
  needsMigration: false,
40
- warning: `KB config schemaVersion ${currentVersion} is newer than the latest supported version ${latestVersion}.`,
60
+ warning: `KB schemaVersion ${currentVersion} is newer than the latest supported version ${latestVersion}.`,
41
61
  };
42
62
  }
43
63
  if (currentVersion < latestVersion) {
@@ -46,7 +66,7 @@ export function getSchemaVersionStatus(config) {
46
66
  currentVersion,
47
67
  latestVersion,
48
68
  needsMigration: true,
49
- warning: `KB config schemaVersion ${currentVersion} is older than the latest version ${latestVersion} and should be migrated.`,
69
+ warning: `KB schemaVersion ${currentVersion} is older than the latest version ${latestVersion} and should be migrated.`,
50
70
  };
51
71
  }
52
72
  return {
@@ -1,6 +1,5 @@
1
1
  import type { BaseEntity, FactFields } from "../types/entities.js";
2
2
  import type { BaseRelationship } from "../types/relationships.js";
3
- import { type KbConfigPaths } from "./config.js";
4
3
  export interface SemanticClaim {
5
4
  source: string;
6
5
  subjectKey: string;
@@ -13,9 +12,6 @@ export interface SemanticClaim {
13
12
  export interface StrictModelInput {
14
13
  claim: SemanticClaim;
15
14
  statement: string;
16
- config?: Pick<{
17
- paths: KbConfigPaths;
18
- }, "paths">;
19
15
  }
20
16
  type EntityProperties = Partial<Omit<BaseEntity, "created_at" | "updated_at"> & FactFields> & {
21
17
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"strict-modeling.d.ts","sourceRoot":"","sources":["../../src/utils/strict-modeling.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;IAC7D,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,IAAI,CAAC;QAAE,KAAK,EAAE,aAAa,CAAA;KAAE,EAAE,OAAO,CAAC,CAAC;CAClD;AAED,KAAK,gBAAgB,GAAG,OAAO,CAC7B,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,YAAY,CAAC,GAAG,UAAU,CAC3D,GAAG;IACF,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,UAAU,CACzB,KAAK,SAAS,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,EAC7C,WAAW,SAAS,gBAAgB,GAAG,gBAAgB;IAEvD,IAAI,EAAE,KAAK,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,WAAW,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,gBAAgB,EAChB,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,YAAY,CACjD,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,yBAAyB;IACjC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACvB,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,QAAQ,EAAE,IAAI,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,mBAAmB;IAC3B,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACpC,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GAAG,yBAAyB,GAAG,mBAAmB,CAAC;AAE7E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiBzD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAe1D;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,GACnB,oBAAoB,CAwBtB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,cAAc,CAsH3E;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC,GACtC,cAAc,EAAE,CAkBlB"}
1
+ {"version":3,"file":"strict-modeling.d.ts","sourceRoot":"","sources":["../../src/utils/strict-modeling.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAKlE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;IAC7D,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,KAAK,gBAAgB,GAAG,OAAO,CAC7B,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,YAAY,CAAC,GAAG,UAAU,CAC3D,GAAG;IACF,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,UAAU,CACzB,KAAK,SAAS,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,EAC7C,WAAW,SAAS,gBAAgB,GAAG,gBAAgB;IAEvD,IAAI,EAAE,KAAK,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,WAAW,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,gBAAgB,EAChB,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,YAAY,CACjD,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,yBAAyB;IACjC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACvB,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,QAAQ,EAAE,IAAI,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,mBAAmB;IAC3B,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACpC,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GAAG,yBAAyB,GAAG,mBAAmB,CAAC;AAE7E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiBzD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAe1D;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,GACnB,oBAAoB,CAwBtB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,cAAc,CAsH3E;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC,GACtC,cAAc,EAAE,CAkBlB"}
@@ -17,7 +17,7 @@
17
17
  */
18
18
  import { createHash } from "node:crypto";
19
19
  import * as path from "node:path";
20
- import { DEFAULT_CONFIG } from "./config.js";
20
+ import { CANONICAL_ENTITY_PATHS } from "./kb-paths.js";
21
21
  const STRICT_CONFIDENCE_THRESHOLD = 0.7;
22
22
  export function normalizeSubjectKey(value) {
23
23
  const normalized = value
@@ -78,7 +78,7 @@ export function buildStrictWriteSet(input) {
78
78
  confidence,
79
79
  provenance: textRef,
80
80
  });
81
- const sourcePaths = resolveEntitySourcePaths(input.config?.paths);
81
+ const sourcePaths = resolveEntitySourcePaths();
82
82
  if (confidence < STRICT_CONFIDENCE_THRESHOLD) {
83
83
  return {
84
84
  observationFact: {
@@ -366,15 +366,14 @@ function dedupeRelationships(relationships) {
366
366
  }
367
367
  return deduped;
368
368
  }
369
- function resolveEntitySourcePaths(configPaths) {
369
+ function resolveEntitySourcePaths() {
370
370
  return {
371
- requirements: normalizeEntityDirectory(configPaths?.requirements, DEFAULT_CONFIG.paths.requirements),
372
- facts: normalizeEntityDirectory(configPaths?.facts, DEFAULT_CONFIG.paths.facts),
371
+ requirements: normalizeEntityDirectory(CANONICAL_ENTITY_PATHS.requirements),
372
+ facts: normalizeEntityDirectory(CANONICAL_ENTITY_PATHS.facts),
373
373
  };
374
374
  }
375
- function normalizeEntityDirectory(directory, fallback) {
376
- const selected = directory?.trim() || fallback?.trim() || "documentation";
377
- return selected.split(path.sep).join("/").replace(/\/+$/g, "");
375
+ function normalizeEntityDirectory(directory) {
376
+ return directory.split(path.sep).join("/").replace(/\/+$/g, "");
378
377
  }
379
378
  function buildEntitySourcePath(directory, entityId) {
380
379
  return `${directory}/${entityId}.md`;
@@ -0,0 +1,21 @@
1
+ export declare const PLAYWRIGHT_RUN_VERSION: "kibi.playwright-run.v1";
2
+ export type KibiPlaywrightReporterOptions = Readonly<{
3
+ outputPath?: string;
4
+ codeSnapshot?: string;
5
+ commandArgv?: readonly string[];
6
+ environmentHash?: string;
7
+ workspaceRoot?: string;
8
+ now?: () => Date;
9
+ }>;
10
+ /** Reporter callback surface intentionally uses structural types, no Playwright dependency. */
11
+ export declare class KibiPlaywrightReporter {
12
+ private readonly options;
13
+ private readonly cases;
14
+ private startedAt;
15
+ constructor(options?: KibiPlaywrightReporterOptions);
16
+ onBegin(): void;
17
+ onTestEnd(test: unknown, result: unknown): void;
18
+ onEnd(result?: unknown): Promise<void>;
19
+ }
20
+ export default KibiPlaywrightReporter;
21
+ //# sourceMappingURL=playwright-reporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright-reporter.d.ts","sourceRoot":"","sources":["../../src/verification/playwright-reporter.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,sBAAsB,EAAG,wBAAiC,CAAC;AAGxE,MAAM,MAAM,6BAA6B,GAAG,QAAQ,CAAC;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB,CAAC,CAAC;AAuDH,+FAA+F;AAC/F,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,GAAE,6BAAkC;IAMvD,OAAO,IAAI,IAAI;IAKf,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAoCzC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CA0B7C;AAED,eAAe,sBAAsB,CAAC"}