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
@@ -0,0 +1,241 @@
1
+ import {
2
+ type ApplyPlanArgs,
3
+ type ApplyPlanResult,
4
+ executeApplyPlan,
5
+ } from "../../../operations/planning/apply-plan.js";
6
+ import {
7
+ type CompileIntentArgs,
8
+ type CompilePlanV1,
9
+ executeCompileIntent,
10
+ } from "../../../operations/planning/compile-intent.js";
11
+ import type { OperationSpec } from "../types.js";
12
+
13
+ export type {
14
+ CompileIntentArgs,
15
+ CompilePlanV1,
16
+ ContradictionWitness,
17
+ ProposalDecision,
18
+ ScenarioDraft,
19
+ TestDraft,
20
+ TraceabilityProposal,
21
+ } from "../../../operations/planning/compile-intent.js";
22
+ export type {
23
+ ApplyPlanArgs,
24
+ ApplyPlanResult,
25
+ } from "../../../operations/planning/apply-plan.js";
26
+ export type { MigrationPlan } from "../migration-plan.js";
27
+ export { executeApplyPlan } from "../../../operations/planning/apply-plan.js";
28
+ export { executeCompileIntent } from "../../../operations/planning/compile-intent.js";
29
+
30
+ // implements REQ-kibi-change-to-proof-plan-compiler
31
+ export const compileIntentSpec = {
32
+ name: "kb_compile_intent",
33
+ cliName: "compile-intent",
34
+ description:
35
+ "Compile complete change intent into a deterministic, snapshot-bound read-only plan. Reuses intent-aware discovery and semantic modeling, accounts for every proposition, reports contradiction witnesses, proposes traceability links, and emits dependency-ordered kb_upsert-style steps only for resolved typed claims. No mutation side effects.",
36
+ businessInputSchema: {
37
+ type: "object",
38
+ required: ["intent", "mode"],
39
+ properties: {
40
+ intent: {
41
+ type: "string",
42
+ minLength: 1,
43
+ maxLength: 10000,
44
+ description:
45
+ "Complete post-change normative intent. Send the desired behavior, not a patch fragment.",
46
+ },
47
+ mode: {
48
+ type: "string",
49
+ enum: ["create", "update"],
50
+ description:
51
+ "Create a new requirement or update an existing one. Update auto-selection is allowed only with a high-confidence, well-separated candidate.",
52
+ },
53
+ requirementId: {
54
+ type: "string",
55
+ description:
56
+ "Optional exact requirement ID. Required for an update when automatic selection is below the confidence and margin gates.",
57
+ },
58
+ title: {
59
+ type: "string",
60
+ description:
61
+ "Optional requirement title; existing title is preserved for updates when omitted.",
62
+ },
63
+ clauses: {
64
+ type: "array",
65
+ items: { type: "string", minLength: 1 },
66
+ maxItems: 64,
67
+ description:
68
+ "Optional complete atomic clause decomposition. Each assertive clause receives independent proposition accounting.",
69
+ },
70
+ semanticFacets: {
71
+ type: "object",
72
+ additionalProperties: false,
73
+ properties: {
74
+ actors: { type: "array", items: { type: "string" }, maxItems: 20 },
75
+ actions: { type: "array", items: { type: "string" }, maxItems: 20 },
76
+ objects: { type: "array", items: { type: "string" }, maxItems: 20 },
77
+ constraints: {
78
+ type: "array",
79
+ items: { type: "string" },
80
+ maxItems: 20,
81
+ },
82
+ aliases: { type: "array", items: { type: "string" }, maxItems: 20 },
83
+ },
84
+ description:
85
+ "Host-agent facets forwarded to deterministic intent-v1 discovery.",
86
+ },
87
+ sourceLocations: {
88
+ type: "array",
89
+ maxItems: 20,
90
+ items: {
91
+ type: "object",
92
+ required: ["path"],
93
+ additionalProperties: false,
94
+ properties: {
95
+ path: { type: "string", minLength: 1 },
96
+ line: { type: "integer", minimum: 1 },
97
+ column: { type: "integer", minimum: 1 },
98
+ symbol: { type: "string", minLength: 1 },
99
+ },
100
+ },
101
+ description:
102
+ "Workspace-relative source coordinates used for discovery and before-hash binding.",
103
+ },
104
+ interpretations: {
105
+ type: "array",
106
+ maxItems: 3,
107
+ items: {
108
+ type: "object",
109
+ required: ["claim_key", "claim_text", "ir"],
110
+ properties: {
111
+ claim_key: { type: "string" },
112
+ claim_text: { type: "string" },
113
+ confidence: { type: "number", minimum: 0, maximum: 1 },
114
+ span: { type: "object" },
115
+ ir: { type: "object" },
116
+ },
117
+ },
118
+ description:
119
+ "Optional host-supplied typed kibi.logic.v1 interpretations; Kibi validates them before including rule steps.",
120
+ },
121
+ scenarioDrafts: {
122
+ type: "array",
123
+ maxItems: 20,
124
+ items: {
125
+ type: "object",
126
+ required: ["title", "body"],
127
+ properties: {
128
+ id: { type: "string" },
129
+ title: { type: "string", minLength: 1 },
130
+ body: { type: "string", minLength: 1 },
131
+ },
132
+ },
133
+ description:
134
+ "Optional scenario drafts. Each is linked requirement -> scenario with specified_by.",
135
+ },
136
+ testDrafts: {
137
+ type: "array",
138
+ maxItems: 20,
139
+ items: {
140
+ type: "object",
141
+ required: ["title", "body"],
142
+ properties: {
143
+ id: { type: "string" },
144
+ title: { type: "string", minLength: 1 },
145
+ body: { type: "string", minLength: 1 },
146
+ scenarioIds: {
147
+ type: "array",
148
+ items: { type: "string", minLength: 1 },
149
+ maxItems: 20,
150
+ description:
151
+ "Stable scenario draft IDs verified by this test. Required when multiple scenario drafts are supplied.",
152
+ },
153
+ verificationScope: {
154
+ type: "string",
155
+ enum: ["unit", "integration", "end_to_end"],
156
+ },
157
+ verificationPerspective: {
158
+ type: "string",
159
+ enum: ["internal", "consumer"],
160
+ },
161
+ },
162
+ },
163
+ description:
164
+ "Optional test drafts. Tests are attached to scenarios with verified_by; direct req -> test proof links are not emitted.",
165
+ },
166
+ proposalDecisions: {
167
+ type: "array",
168
+ maxItems: 20,
169
+ items: {
170
+ type: "object",
171
+ required: ["proposalId", "decision"],
172
+ properties: {
173
+ proposalId: { type: "string", minLength: 1 },
174
+ decision: { type: "string", enum: ["accept", "reject"] },
175
+ },
176
+ },
177
+ description:
178
+ "Explicit decisions for deterministic traceability proposals. Pending proposals never enter steps.",
179
+ },
180
+ },
181
+ },
182
+ requiresProlog: true,
183
+ effects: ["kb-read", "workspace-read"],
184
+ execute: executeCompileIntent,
185
+ } as const satisfies OperationSpec<CompileIntentArgs, CompilePlanV1>;
186
+
187
+ // implements REQ-kibi-change-to-proof-plan-compiler
188
+ export const applyPlanSpec = {
189
+ name: "kb_apply_plan",
190
+ cliName: "apply-plan",
191
+ description:
192
+ "Apply an explicitly approved kibi.bootstrap-plan.v1, kibi.compile-plan.v1, kibi.migration-plan.v2, or entity-deletion plan after revalidating its canonical hash and live snapshots. Bootstrap actions are dependency-ordered, sequential, source-first, and recoverable from a typed journal.",
193
+ businessInputSchema: {
194
+ type: "object",
195
+ oneOf: [
196
+ {
197
+ required: ["plan", "approvedPlanHash"],
198
+ not: { required: ["recoveryJournalId"] },
199
+ },
200
+ {
201
+ required: ["recoveryJournalId"],
202
+ not: {
203
+ anyOf: [{ required: ["plan"] }, { required: ["approvedPlanHash"] }],
204
+ },
205
+ },
206
+ ],
207
+ properties: {
208
+ approvedPlanHash: {
209
+ type: "string",
210
+ pattern: "^[a-fA-F0-9]{64}$",
211
+ description:
212
+ "Exact SHA-256 planHash returned by kb_plan_bootstrap, kb_compile_intent, or another approved plan after human review.",
213
+ },
214
+ plan: {
215
+ type: "object",
216
+ required: ["version", "planHash"],
217
+ description:
218
+ "The complete kibi.bootstrap-plan.v1, kibi.compile-plan.v1, kibi.migration-plan.v2, or hash-bound kibi.entity-deletion-plan.v1 object. Migration plans require approvedActionIds and reject blocked/non-automatic actions.",
219
+ },
220
+ approvedActionIds: {
221
+ type: "array",
222
+ items: { type: "string", minLength: 1 },
223
+ description:
224
+ "Required for migration-plan.v2. Exact automatic action IDs explicitly approved for this application.",
225
+ },
226
+ recoveryJournalId: {
227
+ type: "string",
228
+ pattern: "^[A-Za-z0-9._-]+$",
229
+ description:
230
+ "Typed recovery journal identifier returned by a committed_with_repairs result. Recovery replays only the immutable journal and never the original plan request.",
231
+ },
232
+ },
233
+ },
234
+ // Applying an entity-deletion plan must also retract the compiled entity;
235
+ // acquire the branch engine up front so the source commit and compiled
236
+ // retraction run under one capability-scoped operation context. Recovery
237
+ // journals remain usable even when the engine is unavailable.
238
+ requiresProlog: true,
239
+ effects: ["kb-read", "kb-write", "workspace-read", "workspace-write"],
240
+ execute: executeApplyPlan,
241
+ } as const satisfies OperationSpec<ApplyPlanArgs, ApplyPlanResult>;
@@ -0,0 +1,43 @@
1
+ import {
2
+ type IngestProofArgs,
3
+ type IngestProofResult,
4
+ executeIngestProof,
5
+ } from "../../../operations/proof/ingest-proof.js";
6
+ import { PROOF_RUN_ARTIFACT_SCHEMA } from "../../proof-protocol.js";
7
+ import type { OperationSpec } from "../types.js";
8
+
9
+ export type {
10
+ IngestProofArgs,
11
+ IngestProofResult,
12
+ } from "../../../operations/proof/ingest-proof.js";
13
+ export { executeIngestProof } from "../../../operations/proof/ingest-proof.js";
14
+
15
+ // implements REQ-kibi-proof-evidence-protocol
16
+ export const ingestProofSpec = {
17
+ name: "kb_ingest_proof",
18
+ cliName: "ingest-proof",
19
+ description:
20
+ "Ingest a producer-emitted kibi.proof-run.v1 artifact and evaluate it against each selected test's kibi.proof-contract.v1 proof obligations. Revalidates the live workspace snapshot, integration command binding, run-level outcome, attempt history, success policy, and append-only proof-receipt history before deriving and appending idempotent kibi.proof-receipt.v1 receipts. Producers report what happened; Kibi evaluates proof. Prefer `kibi prove` so the configured producer runs automatically; direct ingestion is an integration path for custom producers and agents.",
21
+ businessInputSchema: {
22
+ type: "object",
23
+ required: ["snapshot", "artifact"],
24
+ properties: {
25
+ snapshot: {
26
+ type: "string",
27
+ pattern: "^[a-f0-9]{64}$",
28
+ description: "Workspace snapshot captured immediately before the run.",
29
+ },
30
+ artifact: PROOF_RUN_ARTIFACT_SCHEMA,
31
+ testIds: {
32
+ type: "array",
33
+ minItems: 1,
34
+ items: { type: "string", minLength: 1 },
35
+ description:
36
+ "Existing test entities with proof_contract.v1. Omit to evaluate every test contracted to the artifact's integration.",
37
+ },
38
+ },
39
+ },
40
+ requiresProlog: true,
41
+ effects: ["kb-read", "kb-write", "workspace-read"],
42
+ execute: executeIngestProof,
43
+ } as const satisfies OperationSpec<IngestProofArgs, IngestProofResult>;
@@ -1,8 +1,18 @@
1
- import { VERIFICATION_RECEIPT_MAX_AGE_SECONDS } from "../../verification-receipt.js";
1
+ import { join } from "node:path";
2
+
3
+ import { resolveBoundSymbolScope } from "../../../extractors/manifest.js";
4
+ import { PROOF_RECEIPT_MAX_AGE_SECONDS } from "../../proof-receipt.js";
5
+ import { executeStatus } from "../discovery-executors.js";
2
6
  import {
3
7
  type LegacyMigrationPlan,
4
8
  buildLegacyMigrationPlanFromContext,
5
9
  } from "../legacy-migration-plan.js";
10
+ import {
11
+ type MigrationPlan,
12
+ buildActionsFromCoverage,
13
+ buildMigrationPlan,
14
+ mergeMigrationPlans,
15
+ } from "../migration-plan.js";
6
16
  import {
7
17
  runOperationJsonQuery,
8
18
  toPrologAtom,
@@ -10,6 +20,10 @@ import {
10
20
  } from "../prolog-json.js";
11
21
  import { type RepairPlan, buildRepairPlan } from "../repair-plan.js";
12
22
  import type { OperationContext } from "../runtime-types.js";
23
+ import {
24
+ addCoordinateRepairEvidence,
25
+ buildSymbolRepairPlan,
26
+ } from "../symbol-repair-plan.js";
13
27
  import type { OperationResult, OperationSpec } from "../types.js";
14
28
  import { readWorkspaceSnapshot } from "../workspace-snapshot.js";
15
29
 
@@ -45,6 +59,8 @@ export type CoverageInput = {
45
59
  readonly by?: "req" | "symbol" | "type";
46
60
  readonly tags?: readonly string[];
47
61
  readonly includePassing?: boolean;
62
+ /** Requirement proof-status filter (req mode). Implies include-passing. */
63
+ readonly statuses?: readonly string[];
48
64
  readonly includeTransitive?: boolean;
49
65
  readonly limit?: number;
50
66
  readonly offset?: number;
@@ -60,6 +76,8 @@ export type CoveragePayload = {
60
76
  readonly rows: readonly Readonly<Record<string, unknown>>[];
61
77
  readonly repairPlan?: RepairPlan;
62
78
  readonly legacyMigrationPlan?: LegacyMigrationPlan;
79
+ readonly symbolRepairPlan?: Readonly<Record<string, unknown>>;
80
+ readonly migrationPlan?: MigrationPlan;
63
81
  readonly meta?: Readonly<Record<string, unknown>>;
64
82
  };
65
83
 
@@ -95,6 +113,22 @@ function validateEntityType(type?: string): void {
95
113
  }
96
114
  }
97
115
 
116
+ const COVERAGE_PROOF_STATUSES: ReadonlySet<string> = new Set([
117
+ "proven",
118
+ "missing",
119
+ "unresolved",
120
+ "not_applicable",
121
+ ]);
122
+
123
+ function validateCoverageStatus(status: string): string {
124
+ if (!COVERAGE_PROOF_STATUSES.has(status)) {
125
+ throw new Error(
126
+ `Invalid coverage status '${status}'. Valid statuses: ${[...COVERAGE_PROOF_STATUSES].join(", ")}.`,
127
+ );
128
+ }
129
+ return status;
130
+ }
131
+
98
132
  export async function executeFindGaps(
99
133
  input: FindGapsInput,
100
134
  context: OperationContext,
@@ -151,6 +185,79 @@ export const findGapsSpec = {
151
185
  execute: executeFindGaps,
152
186
  } as const satisfies OperationSpec<FindGapsInput, FindGapsPayload>;
153
187
 
188
+ /**
189
+ * Per-contract receipt binding (W2): compute the current binding hash for
190
+ * every receipt-bearing test (contract + receipt-stripped authored document
191
+ * + bound-symbol code scope) and hand the Prolog coverage stage a
192
+ * TestId -> BindingHash dict. This is the default binding mode since slice 3;
193
+ * KIBI_PROOF_BINDING_MODE=strict-snapshot opts out (receipts then match only
194
+ * against the whole-workspace snapshot they were proven on).
195
+ */
196
+ // implements REQ-kibi-proof-evidence-protocol
197
+ export function currentProofBindingMode(): "per_contract" | "strict_snapshot" {
198
+ return process.env.KIBI_PROOF_BINDING_MODE?.trim() === "strict-snapshot"
199
+ ? "strict_snapshot"
200
+ : "per_contract";
201
+ }
202
+
203
+ async function perContractTestBindings(
204
+ context: OperationContext,
205
+ ): Promise<string | null> {
206
+ if (currentProofBindingMode() !== "per_contract") return null;
207
+ const { loadEntities } = await import("../discovery-entities.js");
208
+ const { receiptBindingHash } = await import("../../proof-fingerprint.js");
209
+ const { removeFrontmatterBlock } = await import(
210
+ "../../../operations/proof/receipt-document.js"
211
+ );
212
+ let tests: Record<string, unknown>[];
213
+ try {
214
+ tests = await loadEntities(context.prolog as never, { type: "test" });
215
+ } catch {
216
+ return null;
217
+ }
218
+ const entries: string[] = [];
219
+ const manifestPath = join(context.workspaceRoot, ".kb", "symbols.yaml");
220
+ for (const test of tests) {
221
+ const testId = typeof test.id === "string" ? test.id : "";
222
+ const contract =
223
+ test.proof_contract !== undefined &&
224
+ test.proof_contract !== null &&
225
+ typeof test.proof_contract === "object"
226
+ ? (test.proof_contract as Record<string, unknown>)
227
+ : undefined;
228
+ const source = typeof test.source === "string" ? test.source : "";
229
+ if (testId === "" || contract === undefined || source === "") continue;
230
+ if (!/\.(md|mdx)$/i.test(source)) continue;
231
+ if (!context.fs) continue;
232
+ try {
233
+ const absolute = join(context.workspaceRoot, source);
234
+ const authored = await context.fs.readFile(absolute);
235
+ const stripped = removeFrontmatterBlock(authored, "proof_receipts");
236
+ const rawBindings: ReadonlyArray<{ symbol_id?: unknown }> = Array.isArray(
237
+ test.proof_bindings,
238
+ )
239
+ ? (test.proof_bindings as ReadonlyArray<{ symbol_id?: unknown }>)
240
+ : [];
241
+ const boundIds = rawBindings
242
+ .map((binding) =>
243
+ typeof binding.symbol_id === "string" ? binding.symbol_id : "",
244
+ )
245
+ .filter((id) => id !== "");
246
+ const codeScope = resolveBoundSymbolScope(manifestPath, boundIds);
247
+ const binding = receiptBindingHash(
248
+ contract as never,
249
+ stripped ?? authored,
250
+ codeScope,
251
+ );
252
+ entries.push(`${toPrologAtom(testId)}: ${toPrologAtom(binding)}`);
253
+ } catch {
254
+ // Unreadable documents keep strict semantics for that test.
255
+ }
256
+ }
257
+ if (entries.length === 0) return null;
258
+ return `_{${entries.join(", ")}}`;
259
+ }
260
+
154
261
  export async function executeCoverage(
155
262
  input: CoverageInput,
156
263
  context: OperationContext,
@@ -161,13 +268,38 @@ export async function executeCoverage(
161
268
  ? snapshotEvidence.snapshot.hash
162
269
  : "unknown";
163
270
  const checkedAt = context.clock().toISOString();
271
+ const statuses = (input.statuses ?? []).map((status) =>
272
+ validateCoverageStatus(status),
273
+ );
274
+ const bindingsDict =
275
+ statuses.length === 0 && (input.by ?? "req") === "req"
276
+ ? await perContractTestBindings(context)
277
+ : null;
278
+ const goal =
279
+ bindingsDict !== null
280
+ ? `discovery:coverage_report_json('${input.by ?? "req"}', ${toPrologList(input.tags)}, ${input.includePassing ?? false}, per_contract, ${bindingsDict}, ${input.includeTransitive ?? true}, ${input.limit ?? 100}, ${input.offset ?? 0}, ${toPrologAtom(codeSnapshot)}, ${toPrologAtom(checkedAt)}, ${PROOF_RECEIPT_MAX_AGE_SECONDS}, JsonString)`
281
+ : statuses.length > 0
282
+ ? `discovery:coverage_report_json('${input.by ?? "req"}', ${toPrologList(input.tags)}, ${input.includePassing ?? false}, ${toPrologList(statuses)}, ${input.includeTransitive ?? true}, ${input.limit ?? 100}, ${input.offset ?? 0}, ${toPrologAtom(codeSnapshot)}, ${toPrologAtom(checkedAt)}, ${PROOF_RECEIPT_MAX_AGE_SECONDS}, JsonString)`
283
+ : `discovery:coverage_report_json('${input.by ?? "req"}', ${toPrologList(input.tags)}, ${input.includePassing ?? false}, ${input.includeTransitive ?? true}, ${input.limit ?? 100}, ${input.offset ?? 0}, ${toPrologAtom(codeSnapshot)}, ${toPrologAtom(checkedAt)}, ${PROOF_RECEIPT_MAX_AGE_SECONDS}, JsonString)`;
164
284
  const payload = await runOperationJsonQuery<CoveragePayload>(
165
285
  requireProlog(context),
166
286
  "discovery.pl",
167
- `discovery:coverage_report_json('${input.by ?? "req"}', ${toPrologList(input.tags)}, ${input.includePassing ?? false}, ${input.includeTransitive ?? true}, ${input.limit ?? 100}, ${input.offset ?? 0}, ${toPrologAtom(codeSnapshot)}, ${toPrologAtom(checkedAt)}, ${VERIFICATION_RECEIPT_MAX_AGE_SECONDS}, JsonString)`,
287
+ goal,
168
288
  "Coverage execution",
169
289
  );
170
- const repairPlan = buildRepairPlan(payload, input, codeSnapshot);
290
+ const rows =
291
+ (input.by ?? "req") === "req"
292
+ ? await addCoordinateRepairEvidence(payload.rows, context)
293
+ : payload.rows;
294
+ const repairPlan = buildRepairPlan(
295
+ { ...payload, rows },
296
+ input,
297
+ codeSnapshot,
298
+ );
299
+ const symbolRepairPlan =
300
+ input.by === "symbol"
301
+ ? await buildSymbolRepairPlan(payload.rows, context)
302
+ : undefined;
171
303
  const legacyMigrationPlan =
172
304
  input.includeMigrationPreview === true && repairPlan !== undefined
173
305
  ? await buildLegacyMigrationPlanFromContext(
@@ -177,23 +309,63 @@ export async function executeCoverage(
177
309
  context,
178
310
  )
179
311
  : undefined;
312
+ // Coverage can still report its complete Prolog-backed domain in a
313
+ // synthetic or non-Git workspace where branch status cannot be resolved.
314
+ // Preserve the coverage plan and let status expose its own branch action
315
+ // when an attachment is available.
316
+ let statusPlan: MigrationPlan | undefined;
317
+ try {
318
+ const statusResult = await executeStatus({}, context);
319
+ statusPlan = statusResult.structuredContent?.migrationPlan;
320
+ } catch (error) {
321
+ const message = error instanceof Error ? error.message : String(error);
322
+ if (!message.includes("Failed to resolve active branch")) throw error;
323
+ }
324
+ const coveragePlan = buildMigrationPlan({
325
+ expected: {
326
+ branch: context.branchAttachment?.gitBranch ?? null,
327
+ kbBranch: context.branchAttachment?.kbBranch ?? null,
328
+ ...(typeof payload.meta?.snapshotId === "string"
329
+ ? { kbSnapshotId: payload.meta.snapshotId }
330
+ : {}),
331
+ workspaceSnapshot: codeSnapshot,
332
+ },
333
+ evaluatedDomains: ["semantic", "proof", "symbol"],
334
+ incompleteDomains:
335
+ payload.meta?.scopeComplete === false ? ["coverage"] : [],
336
+ actions: buildActionsFromCoverage({
337
+ ...(repairPlan !== undefined
338
+ ? {
339
+ repairPlan: repairPlan as unknown as Readonly<
340
+ Record<string, unknown>
341
+ >,
342
+ }
343
+ : {}),
344
+ ...(symbolRepairPlan !== undefined ? { symbolRepairPlan } : {}),
345
+ }),
346
+ });
347
+ const migrationPlan = statusPlan
348
+ ? mergeMigrationPlans([statusPlan, coveragePlan])
349
+ : coveragePlan;
180
350
  const enrichedPayload = {
181
351
  ...payload,
352
+ rows,
182
353
  ...(repairPlan !== undefined ? { repairPlan } : {}),
183
354
  ...(legacyMigrationPlan !== undefined ? { legacyMigrationPlan } : {}),
355
+ ...(symbolRepairPlan !== undefined ? { symbolRepairPlan } : {}),
356
+ migrationPlan,
184
357
  meta: {
185
358
  ...(payload.meta ?? {}),
186
- verificationReceiptMaxAgeSeconds: VERIFICATION_RECEIPT_MAX_AGE_SECONDS,
187
- verificationSnapshot: codeSnapshot,
188
- verificationSnapshotAvailable: snapshotEvidence.available,
359
+ proofReceiptMaxAgeSeconds: PROOF_RECEIPT_MAX_AGE_SECONDS,
360
+ proofSnapshot: codeSnapshot,
361
+ proofSnapshotAvailable: snapshotEvidence.available,
189
362
  ...(snapshotEvidence.available
190
363
  ? {
191
- verificationSnapshotDirty: snapshotEvidence.snapshot.dirty,
192
- verificationSnapshotFileCount:
193
- snapshotEvidence.snapshot.fileCount,
194
- verificationSnapshotVersion: snapshotEvidence.snapshot.version,
364
+ proofSnapshotDirty: snapshotEvidence.snapshot.dirty,
365
+ proofSnapshotFileCount: snapshotEvidence.snapshot.fileCount,
366
+ proofSnapshotVersion: snapshotEvidence.snapshot.version,
195
367
  }
196
- : { verificationSnapshotError: snapshotEvidence.error }),
368
+ : { proofSnapshotError: snapshotEvidence.error }),
197
369
  },
198
370
  };
199
371
  const fullyCovered = Number(enrichedPayload.summary?.fullyCovered ?? 0);
@@ -218,13 +390,22 @@ export const coverageSpec = {
218
390
  name: "kb_coverage",
219
391
  cliName: "coverage",
220
392
  description:
221
- "Generate curated structural coverage and conservative end-to-end requirement proof reports for requirements, symbols, or grouped types. Requirement reports include a deterministic, dependency-ordered, read-only repair plan; optional legacy migration previews reconstruct authored proposition inventories and rank exact schema candidates without producing executable writes. Paginated plans identify incomplete scope. Requirement rows keep coverageStatus separate from proofStatus and require fresh snapshot-bound E2E receipts before proof. No mutation side effects.",
393
+ "Generate curated structural coverage and conservative end-to-end requirement proof reports for requirements, symbols, or grouped types. Reports include the compatible repair plan plus typed kibi.migration-plan.v2 actions; semantic and E2E actions remain review/execution work. Paginated plans identify incomplete scope and no mutation occurs.",
222
394
  businessInputSchema: {
223
395
  type: "object",
224
396
  properties: {
225
397
  by: { type: "string", enum: ["req", "symbol", "type"], default: "req" },
226
398
  tags: { type: "array", items: { type: "string" } },
227
399
  includePassing: { type: "boolean", default: false },
400
+ statuses: {
401
+ type: "array",
402
+ items: {
403
+ type: "string",
404
+ enum: ["proven", "missing", "unresolved", "not_applicable"],
405
+ },
406
+ description:
407
+ "Requirement proof-status filter (req mode): include only rows whose proofStatus is listed. Selecting statuses implies include-passing; not_applicable rows carry their typed applicability reason in proofStages.applicability.reason. The summary always reflects the whole KB.",
408
+ },
228
409
  includeTransitive: { type: "boolean", default: true },
229
410
  limit: { type: "integer", default: 100 },
230
411
  offset: { type: "integer", default: 0 },
@@ -32,6 +32,16 @@ export const upsertSpec = {
32
32
  },
33
33
  properties: ENTITY_PROPERTIES_SCHEMA,
34
34
  relationships: RELATIONSHIPS_SCHEMA,
35
+ document: {
36
+ type: "object",
37
+ additionalProperties: false,
38
+ description:
39
+ "Optional source-first document write. Paths are workspace-relative; omit body when updating to preserve the existing body bytes.",
40
+ properties: {
41
+ path: { type: "string", minLength: 1 },
42
+ body: { type: "string" },
43
+ },
44
+ },
35
45
  },
36
46
  },
37
47
  requiresProlog: true,