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
@@ -7,63 +7,129 @@
7
7
  "oneOf": [
8
8
  {
9
9
  "type": "object",
10
- "required": ["kind", "name", "type"],
10
+ "required": [
11
+ "kind",
12
+ "name",
13
+ "type"
14
+ ],
11
15
  "properties": {
12
- "kind": { "const": "var" },
13
- "name": { "type": "string", "pattern": "^[A-Z][A-Za-z0-9_]*$" },
14
- "type": { "type": "string", "pattern": "^[a-z][a-z0-9_:.\\/-]*$" }
16
+ "kind": {
17
+ "const": "var"
18
+ },
19
+ "name": {
20
+ "type": "string",
21
+ "pattern": "^[A-Z][A-Za-z0-9_]*$"
22
+ },
23
+ "type": {
24
+ "type": "string",
25
+ "pattern": "^[a-z][a-z0-9_:.\\/-]*$"
26
+ }
15
27
  },
16
28
  "additionalProperties": false
17
29
  },
18
30
  {
19
31
  "type": "object",
20
- "required": ["kind", "value"],
32
+ "required": [
33
+ "kind",
34
+ "value"
35
+ ],
21
36
  "properties": {
22
- "kind": { "const": "const" },
23
- "value": { "type": "string", "minLength": 1 },
24
- "type": { "type": "string", "pattern": "^[a-z][a-z0-9_:.\\/-]*$" }
37
+ "kind": {
38
+ "const": "const"
39
+ },
40
+ "value": {
41
+ "type": "string",
42
+ "minLength": 1
43
+ },
44
+ "type": {
45
+ "type": "string",
46
+ "pattern": "^[a-z][a-z0-9_:.\\/-]*$"
47
+ }
25
48
  },
26
49
  "additionalProperties": false
27
50
  },
28
51
  {
29
52
  "type": "object",
30
- "required": ["kind", "value"],
53
+ "required": [
54
+ "kind",
55
+ "value"
56
+ ],
31
57
  "properties": {
32
- "kind": { "const": "number" },
33
- "value": { "type": "number" },
34
- "unit": { "type": "string", "pattern": "^[a-z][a-z0-9_:.\\/-]*$" }
58
+ "kind": {
59
+ "const": "number"
60
+ },
61
+ "value": {
62
+ "type": "number"
63
+ },
64
+ "unit": {
65
+ "type": "string",
66
+ "pattern": "^[a-z][a-z0-9_:.\\/-]*$"
67
+ }
35
68
  },
36
69
  "additionalProperties": false
37
70
  },
38
71
  {
39
72
  "type": "object",
40
- "required": ["kind", "value", "unit"],
73
+ "required": [
74
+ "kind",
75
+ "value",
76
+ "unit"
77
+ ],
41
78
  "properties": {
42
- "kind": { "const": "duration" },
43
- "value": { "type": "number", "minimum": 0 },
79
+ "kind": {
80
+ "const": "duration"
81
+ },
82
+ "value": {
83
+ "type": "number",
84
+ "minimum": 0
85
+ },
44
86
  "unit": {
45
87
  "type": "string",
46
- "enum": ["ms", "s", "m", "h", "d", "w"]
88
+ "enum": [
89
+ "ms",
90
+ "s",
91
+ "m",
92
+ "h",
93
+ "d",
94
+ "w"
95
+ ]
47
96
  }
48
97
  },
49
98
  "additionalProperties": false
50
99
  },
51
100
  {
52
101
  "type": "object",
53
- "required": ["kind", "value"],
102
+ "required": [
103
+ "kind",
104
+ "value"
105
+ ],
54
106
  "properties": {
55
- "kind": { "const": "timestamp" },
56
- "value": { "type": "string" }
107
+ "kind": {
108
+ "const": "timestamp"
109
+ },
110
+ "value": {
111
+ "type": "string"
112
+ }
57
113
  },
58
114
  "additionalProperties": false
59
115
  },
60
116
  {
61
117
  "type": "object",
62
- "required": ["kind", "start", "end"],
118
+ "required": [
119
+ "kind",
120
+ "start",
121
+ "end"
122
+ ],
63
123
  "properties": {
64
- "kind": { "const": "interval" },
65
- "start": { "type": "string" },
66
- "end": { "type": "string" }
124
+ "kind": {
125
+ "const": "interval"
126
+ },
127
+ "start": {
128
+ "type": "string"
129
+ },
130
+ "end": {
131
+ "type": "string"
132
+ }
67
133
  },
68
134
  "additionalProperties": false
69
135
  }
@@ -71,74 +137,162 @@
71
137
  },
72
138
  "logicAtom": {
73
139
  "type": "object",
74
- "required": ["kind", "name", "args"],
140
+ "required": [
141
+ "kind",
142
+ "name",
143
+ "args"
144
+ ],
75
145
  "properties": {
76
- "kind": { "const": "atom" },
77
- "namespace": { "type": "string", "pattern": "^[a-z][a-z0-9_:.\\/-]*$" },
78
- "name": { "type": "string", "pattern": "^[a-z][a-z0-9_:.\\/-]*$" },
146
+ "kind": {
147
+ "const": "atom"
148
+ },
149
+ "namespace": {
150
+ "type": "string",
151
+ "pattern": "^[a-z][a-z0-9_:.\\/-]*$"
152
+ },
153
+ "name": {
154
+ "type": "string",
155
+ "pattern": "^[a-z][a-z0-9_:.\\/-]*$"
156
+ },
79
157
  "args": {
80
158
  "type": "array",
81
159
  "maxItems": 8,
82
- "items": { "$ref": "#/$defs/logicTerm" }
160
+ "items": {
161
+ "$ref": "#/$defs/logicTerm"
162
+ }
83
163
  },
84
- "polarity": { "enum": ["positive", "negative"] },
85
- "closedWorld": { "type": "boolean" }
164
+ "polarity": {
165
+ "enum": [
166
+ "positive",
167
+ "negative"
168
+ ]
169
+ },
170
+ "closedWorld": {
171
+ "type": "boolean"
172
+ }
86
173
  },
87
174
  "additionalProperties": false
88
175
  },
89
176
  "logicExpression": {
90
177
  "oneOf": [
91
- { "$ref": "#/$defs/logicAtom" },
178
+ {
179
+ "$ref": "#/$defs/logicAtom"
180
+ },
92
181
  {
93
182
  "type": "object",
94
- "required": ["kind", "items"],
183
+ "required": [
184
+ "kind",
185
+ "items"
186
+ ],
95
187
  "properties": {
96
- "kind": { "enum": ["all", "any"] },
188
+ "kind": {
189
+ "enum": [
190
+ "all",
191
+ "any"
192
+ ]
193
+ },
97
194
  "items": {
98
195
  "type": "array",
99
196
  "minItems": 1,
100
197
  "maxItems": 32,
101
- "items": { "$ref": "#/$defs/logicExpression" }
198
+ "items": {
199
+ "$ref": "#/$defs/logicExpression"
200
+ }
102
201
  }
103
202
  },
104
203
  "additionalProperties": false
105
204
  },
106
205
  {
107
206
  "type": "object",
108
- "required": ["kind", "item"],
207
+ "required": [
208
+ "kind",
209
+ "item"
210
+ ],
109
211
  "properties": {
110
- "kind": { "const": "not" },
111
- "item": { "$ref": "#/$defs/logicAtom" }
212
+ "kind": {
213
+ "const": "not"
214
+ },
215
+ "item": {
216
+ "$ref": "#/$defs/logicAtom"
217
+ }
112
218
  },
113
219
  "additionalProperties": false
114
220
  },
115
221
  {
116
222
  "type": "object",
117
- "required": ["kind", "operator", "left", "right"],
223
+ "required": [
224
+ "kind",
225
+ "operator",
226
+ "left",
227
+ "right"
228
+ ],
118
229
  "properties": {
119
- "kind": { "const": "compare" },
120
- "operator": { "enum": ["eq", "neq", "lt", "lte", "gt", "gte"] },
121
- "left": { "$ref": "#/$defs/logicTerm" },
122
- "right": { "$ref": "#/$defs/logicTerm" }
230
+ "kind": {
231
+ "const": "compare"
232
+ },
233
+ "operator": {
234
+ "enum": [
235
+ "eq",
236
+ "neq",
237
+ "lt",
238
+ "lte",
239
+ "gt",
240
+ "gte"
241
+ ]
242
+ },
243
+ "left": {
244
+ "$ref": "#/$defs/logicTerm"
245
+ },
246
+ "right": {
247
+ "$ref": "#/$defs/logicTerm"
248
+ }
123
249
  },
124
250
  "additionalProperties": false
125
251
  },
126
252
  {
127
253
  "type": "object",
128
- "required": ["kind", "atom", "operator", "value"],
254
+ "required": [
255
+ "kind",
256
+ "atom",
257
+ "operator",
258
+ "value"
259
+ ],
129
260
  "properties": {
130
- "kind": { "const": "count" },
131
- "atom": { "$ref": "#/$defs/logicAtom" },
132
- "operator": { "enum": ["eq", "neq", "lt", "lte", "gt", "gte"] },
133
- "value": { "type": "integer", "minimum": 0 }
261
+ "kind": {
262
+ "const": "count"
263
+ },
264
+ "atom": {
265
+ "$ref": "#/$defs/logicAtom"
266
+ },
267
+ "operator": {
268
+ "enum": [
269
+ "eq",
270
+ "neq",
271
+ "lt",
272
+ "lte",
273
+ "gt",
274
+ "gte"
275
+ ]
276
+ },
277
+ "value": {
278
+ "type": "integer",
279
+ "minimum": 0
280
+ }
134
281
  },
135
282
  "additionalProperties": false
136
283
  },
137
284
  {
138
285
  "type": "object",
139
- "required": ["kind", "relation", "left", "right"],
286
+ "required": [
287
+ "kind",
288
+ "relation",
289
+ "left",
290
+ "right"
291
+ ],
140
292
  "properties": {
141
- "kind": { "const": "temporal" },
293
+ "kind": {
294
+ "const": "temporal"
295
+ },
142
296
  "relation": {
143
297
  "enum": [
144
298
  "before",
@@ -149,8 +303,12 @@
149
303
  "finishes"
150
304
  ]
151
305
  },
152
- "left": { "$ref": "#/$defs/logicTerm" },
153
- "right": { "$ref": "#/$defs/logicTerm" }
306
+ "left": {
307
+ "$ref": "#/$defs/logicTerm"
308
+ },
309
+ "right": {
310
+ "$ref": "#/$defs/logicTerm"
311
+ }
154
312
  },
155
313
  "additionalProperties": false
156
314
  }
@@ -158,28 +316,61 @@
158
316
  },
159
317
  "logicRule": {
160
318
  "type": "object",
161
- "required": ["version", "kind", "modality"],
319
+ "required": [
320
+ "version",
321
+ "kind",
322
+ "modality"
323
+ ],
162
324
  "properties": {
163
- "version": { "const": "kibi.logic.v1" },
164
- "kind": { "enum": ["atom", "rule", "constraint"] },
325
+ "version": {
326
+ "const": "kibi.logic.v1"
327
+ },
328
+ "kind": {
329
+ "enum": [
330
+ "atom",
331
+ "rule",
332
+ "constraint"
333
+ ]
334
+ },
165
335
  "modality": {
166
- "enum": ["assert", "deny", "oblige", "permit", "forbid"]
336
+ "enum": [
337
+ "assert",
338
+ "deny",
339
+ "oblige",
340
+ "permit",
341
+ "forbid"
342
+ ]
343
+ },
344
+ "head": {
345
+ "$ref": "#/$defs/logicAtom"
346
+ },
347
+ "body": {
348
+ "$ref": "#/$defs/logicExpression"
167
349
  },
168
- "head": { "$ref": "#/$defs/logicAtom" },
169
- "body": { "$ref": "#/$defs/logicExpression" },
170
350
  "variables": {
171
351
  "type": "array",
172
352
  "maxItems": 32,
173
353
  "items": {
174
354
  "type": "object",
175
- "required": ["name", "type"],
355
+ "required": [
356
+ "name",
357
+ "type"
358
+ ],
176
359
  "properties": {
177
- "name": { "type": "string", "pattern": "^[A-Z][A-Za-z0-9_]*$" },
360
+ "name": {
361
+ "type": "string",
362
+ "pattern": "^[A-Z][A-Za-z0-9_]*$"
363
+ },
178
364
  "type": {
179
365
  "type": "string",
180
366
  "pattern": "^[a-z][a-z0-9_:.\\/-]*$"
181
367
  },
182
- "quantifier": { "enum": ["forall", "exists"] }
368
+ "quantifier": {
369
+ "enum": [
370
+ "forall",
371
+ "exists"
372
+ ]
373
+ }
183
374
  },
184
375
  "additionalProperties": false
185
376
  }
@@ -187,27 +378,49 @@
187
378
  "exceptions": {
188
379
  "type": "array",
189
380
  "maxItems": 16,
190
- "items": { "$ref": "#/$defs/logicExpression" }
381
+ "items": {
382
+ "$ref": "#/$defs/logicExpression"
383
+ }
191
384
  },
192
385
  "scope": {
193
386
  "type": "object",
194
387
  "properties": {
195
- "authority": { "type": "string" },
196
- "name": { "type": "string" },
197
- "tags": { "type": "array", "items": { "type": "string" } }
388
+ "authority": {
389
+ "type": "string"
390
+ },
391
+ "name": {
392
+ "type": "string"
393
+ },
394
+ "tags": {
395
+ "type": "array",
396
+ "items": {
397
+ "type": "string"
398
+ }
399
+ }
198
400
  },
199
401
  "additionalProperties": false
200
402
  },
201
- "validFrom": { "type": "string" },
202
- "validTo": { "type": "string" },
203
- "ruleSchemaId": { "type": "string", "minLength": 1 }
403
+ "validFrom": {
404
+ "type": "string"
405
+ },
406
+ "validTo": {
407
+ "type": "string"
408
+ },
409
+ "ruleSchemaId": {
410
+ "type": "string",
411
+ "minLength": 1
412
+ }
204
413
  },
205
414
  "additionalProperties": false
206
415
  }
207
416
  },
208
417
  "properties": {
209
- "id": { "type": "string" },
210
- "title": { "type": "string" },
418
+ "id": {
419
+ "type": "string"
420
+ },
421
+ "title": {
422
+ "type": "string"
423
+ },
211
424
  "status": {
212
425
  "type": "string",
213
426
  "enum": [
@@ -232,15 +445,39 @@
232
445
  "removed"
233
446
  ]
234
447
  },
235
- "created_at": { "type": "string" },
236
- "updated_at": { "type": "string" },
237
- "source": { "type": "string" },
238
- "tags": { "type": "array", "items": { "type": "string" } },
239
- "owner": { "type": "string" },
240
- "priority": { "type": "string" },
241
- "severity": { "type": "string" },
242
- "links": { "type": "array", "items": { "type": "string" } },
243
- "text_ref": { "type": "string" },
448
+ "created_at": {
449
+ "type": "string"
450
+ },
451
+ "updated_at": {
452
+ "type": "string"
453
+ },
454
+ "source": {
455
+ "type": "string"
456
+ },
457
+ "tags": {
458
+ "type": "array",
459
+ "items": {
460
+ "type": "string"
461
+ }
462
+ },
463
+ "owner": {
464
+ "type": "string"
465
+ },
466
+ "priority": {
467
+ "type": "string"
468
+ },
469
+ "severity": {
470
+ "type": "string"
471
+ },
472
+ "links": {
473
+ "type": "array",
474
+ "items": {
475
+ "type": "string"
476
+ }
477
+ },
478
+ "text_ref": {
479
+ "type": "string"
480
+ },
244
481
  "semantic_text": {
245
482
  "type": "string",
246
483
  "description": "Requirement-only authored prose whose exact UTF-8 bytes anchor the semantic inventory without replacing text_ref evidence."
@@ -249,12 +486,18 @@
249
486
  "type": "array",
250
487
  "minItems": 1,
251
488
  "uniqueItems": true,
252
- "items": { "type": "string", "pattern": "^CLAIM-[A-F0-9]{16}$" }
489
+ "items": {
490
+ "type": "string",
491
+ "pattern": "^CLAIM-[A-F0-9]{16}$"
492
+ }
253
493
  },
254
494
  "semantic_clauses": {
255
495
  "type": "array",
256
496
  "minItems": 1,
257
- "items": { "type": "string", "minLength": 1 }
497
+ "items": {
498
+ "type": "string",
499
+ "minLength": 1
500
+ }
258
501
  },
259
502
  "semantic_inventory_version": {
260
503
  "type": "string",
@@ -262,7 +505,11 @@
262
505
  },
263
506
  "semantic_source_field": {
264
507
  "type": "string",
265
- "enum": ["semantic_text", "text_ref", "title"]
508
+ "enum": [
509
+ "semantic_text",
510
+ "text_ref",
511
+ "title"
512
+ ]
266
513
  },
267
514
  "semantic_source_hash": {
268
515
  "type": "string",
@@ -272,10 +519,22 @@
272
519
  "type": "array",
273
520
  "items": {
274
521
  "type": "object",
275
- "required": ["claim_key", "claim_text", "role", "status", "span"],
522
+ "required": [
523
+ "claim_key",
524
+ "claim_text",
525
+ "role",
526
+ "status",
527
+ "span"
528
+ ],
276
529
  "properties": {
277
- "claim_key": { "type": "string", "pattern": "^CLAIM-[A-F0-9]{16}$" },
278
- "claim_text": { "type": "string", "minLength": 1 },
530
+ "claim_key": {
531
+ "type": "string",
532
+ "pattern": "^CLAIM-[A-F0-9]{16}$"
533
+ },
534
+ "claim_text": {
535
+ "type": "string",
536
+ "minLength": 1
537
+ },
279
538
  "role": {
280
539
  "type": "string",
281
540
  "enum": [
@@ -301,28 +560,46 @@
301
560
  },
302
561
  "span": {
303
562
  "type": "object",
304
- "required": ["start", "end"],
563
+ "required": [
564
+ "start",
565
+ "end"
566
+ ],
305
567
  "properties": {
306
- "start": { "type": "integer", "minimum": 0 },
307
- "end": { "type": "integer", "minimum": 0 }
568
+ "start": {
569
+ "type": "integer",
570
+ "minimum": 0
571
+ },
572
+ "end": {
573
+ "type": "integer",
574
+ "minimum": 0
575
+ }
308
576
  },
309
577
  "additionalProperties": false
310
578
  },
311
- "semantic_key": { "type": "string" },
312
- "payload_hash": { "type": "string" },
313
- "reason": { "type": "string" }
579
+ "semantic_key": {
580
+ "type": "string"
581
+ },
582
+ "payload_hash": {
583
+ "type": "string"
584
+ },
585
+ "reason": {
586
+ "type": "string"
587
+ }
314
588
  },
315
589
  "additionalProperties": false
316
590
  }
317
591
  },
318
- "sourceFile": { "type": "string" },
592
+ "sourceFile": {
593
+ "type": "string"
594
+ },
319
595
  "granularity_reason": {
320
596
  "type": "string",
321
597
  "enum": [
322
598
  "config-artifact",
323
599
  "module-level-behavior",
324
600
  "extractor-miss",
325
- "legacy-link"
601
+ "legacy-link",
602
+ "test-suite"
326
603
  ]
327
604
  },
328
605
  "symbol_role": {
@@ -338,67 +615,293 @@
338
615
  },
339
616
  "verification_scope": {
340
617
  "type": "string",
341
- "enum": ["unit", "integration", "end_to_end"]
618
+ "enum": [
619
+ "unit",
620
+ "integration",
621
+ "end_to_end"
622
+ ]
342
623
  },
343
624
  "verification_perspective": {
344
625
  "type": "string",
345
- "enum": ["internal", "consumer"]
626
+ "enum": [
627
+ "internal",
628
+ "consumer"
629
+ ]
346
630
  },
347
- "verification_receipts": {
348
- "type": "array",
349
- "maxItems": 50,
350
- "items": {
351
- "type": "object",
352
- "required": [
353
- "version",
354
- "receipt_id",
355
- "test_id",
356
- "runner",
357
- "command",
358
- "scope",
359
- "outcome",
360
- "code_snapshot",
361
- "environment_hash",
362
- "started_at",
363
- "finished_at",
364
- "artifact_digest"
365
- ],
366
- "properties": {
367
- "version": {
368
- "type": "string",
369
- "const": "kibi.verification-receipt.v1"
370
- },
371
- "receipt_id": {
372
- "type": "string",
373
- "pattern": "^VR-[A-Za-z0-9][A-Za-z0-9._:-]{7,127}$"
374
- },
375
- "test_id": { "type": "string", "minLength": 1 },
376
- "runner": { "type": "string", "minLength": 1 },
377
- "command": { "type": "string", "minLength": 1 },
378
- "scope": {
631
+ "verification_contract": {
632
+ "type": "object",
633
+ "required": [
634
+ "version",
635
+ "runner",
636
+ "command_argv",
637
+ "required_case_symbols",
638
+ "required_projects",
639
+ "success_policy"
640
+ ],
641
+ "properties": {
642
+ "version": {
643
+ "type": "string",
644
+ "const": "kibi.verification-contract.v1"
645
+ },
646
+ "runner": {
647
+ "type": "string",
648
+ "minLength": 1
649
+ },
650
+ "command_argv": {
651
+ "type": "array",
652
+ "minItems": 1,
653
+ "items": {
379
654
  "type": "string",
380
- "enum": ["unit", "integration", "end_to_end"]
381
- },
382
- "outcome": {
655
+ "minLength": 1
656
+ }
657
+ },
658
+ "required_case_symbols": {
659
+ "type": "array",
660
+ "items": {
383
661
  "type": "string",
384
- "enum": ["passed", "failed", "errored", "cancelled", "skipped"]
662
+ "minLength": 1
385
663
  },
386
- "code_snapshot": {
664
+ "uniqueItems": true
665
+ },
666
+ "required_projects": {
667
+ "type": "array",
668
+ "items": {
387
669
  "type": "string",
388
- "pattern": "^[a-f0-9]{64}$"
670
+ "minLength": 1
389
671
  },
390
- "environment_hash": {
391
- "type": "string",
392
- "pattern": "^[a-f0-9]{64}$"
672
+ "uniqueItems": true
673
+ },
674
+ "success_policy": {
675
+ "type": "string",
676
+ "const": "all_required_cases_first_attempt"
677
+ }
678
+ },
679
+ "additionalProperties": false
680
+ },
681
+ "verification_receipts": {
682
+ "type": "array",
683
+ "items": {
684
+ "oneOf": [
685
+ {
686
+ "type": "object",
687
+ "required": [
688
+ "version",
689
+ "receipt_id",
690
+ "test_id",
691
+ "runner",
692
+ "command",
693
+ "scope",
694
+ "outcome",
695
+ "code_snapshot",
696
+ "environment_hash",
697
+ "started_at",
698
+ "finished_at",
699
+ "artifact_digest"
700
+ ],
701
+ "properties": {
702
+ "version": {
703
+ "type": "string",
704
+ "const": "kibi.verification-receipt.v1"
705
+ },
706
+ "receipt_id": {
707
+ "type": "string",
708
+ "pattern": "^VR-[A-Za-z0-9][A-Za-z0-9._:-]{7,127}$"
709
+ },
710
+ "test_id": {
711
+ "type": "string",
712
+ "minLength": 1
713
+ },
714
+ "runner": {
715
+ "type": "string",
716
+ "minLength": 1
717
+ },
718
+ "command": {
719
+ "type": "string",
720
+ "minLength": 1
721
+ },
722
+ "scope": {
723
+ "type": "string",
724
+ "enum": [
725
+ "unit",
726
+ "integration",
727
+ "end_to_end"
728
+ ]
729
+ },
730
+ "outcome": {
731
+ "type": "string",
732
+ "enum": [
733
+ "passed",
734
+ "failed",
735
+ "errored",
736
+ "cancelled",
737
+ "skipped",
738
+ "timed_out",
739
+ "interrupted"
740
+ ]
741
+ },
742
+ "code_snapshot": {
743
+ "type": "string",
744
+ "pattern": "^[a-f0-9]{64}$"
745
+ },
746
+ "environment_hash": {
747
+ "type": "string",
748
+ "pattern": "^[a-f0-9]{64}$"
749
+ },
750
+ "started_at": {
751
+ "type": "string",
752
+ "minLength": 1
753
+ },
754
+ "finished_at": {
755
+ "type": "string",
756
+ "minLength": 1
757
+ },
758
+ "artifact_digest": {
759
+ "type": "string",
760
+ "pattern": "^[a-f0-9]{64}$"
761
+ }
762
+ },
763
+ "additionalProperties": false
393
764
  },
394
- "started_at": { "type": "string", "minLength": 1 },
395
- "finished_at": { "type": "string", "minLength": 1 },
396
- "artifact_digest": {
397
- "type": "string",
398
- "pattern": "^[a-f0-9]{64}$"
765
+ {
766
+ "type": "object",
767
+ "required": [
768
+ "version",
769
+ "receipt_id",
770
+ "test_id",
771
+ "runner",
772
+ "command",
773
+ "scope",
774
+ "outcome",
775
+ "code_snapshot",
776
+ "environment_hash",
777
+ "started_at",
778
+ "finished_at",
779
+ "artifact_digest",
780
+ "command_argv",
781
+ "contract_hash",
782
+ "case_results"
783
+ ],
784
+ "properties": {
785
+ "version": {
786
+ "type": "string",
787
+ "const": "kibi.verification-receipt.v2"
788
+ },
789
+ "receipt_id": {
790
+ "type": "string",
791
+ "pattern": "^VR-[A-Za-z0-9][A-Za-z0-9._:-]{7,127}$"
792
+ },
793
+ "test_id": {
794
+ "type": "string",
795
+ "minLength": 1
796
+ },
797
+ "runner": {
798
+ "type": "string",
799
+ "minLength": 1
800
+ },
801
+ "command": {
802
+ "type": "string",
803
+ "minLength": 1
804
+ },
805
+ "scope": {
806
+ "type": "string",
807
+ "enum": [
808
+ "unit",
809
+ "integration",
810
+ "end_to_end"
811
+ ]
812
+ },
813
+ "outcome": {
814
+ "type": "string",
815
+ "enum": [
816
+ "passed",
817
+ "failed",
818
+ "errored",
819
+ "cancelled",
820
+ "skipped",
821
+ "timed_out",
822
+ "interrupted"
823
+ ]
824
+ },
825
+ "code_snapshot": {
826
+ "type": "string",
827
+ "pattern": "^[a-f0-9]{64}$"
828
+ },
829
+ "environment_hash": {
830
+ "type": "string",
831
+ "pattern": "^[a-f0-9]{64}$"
832
+ },
833
+ "started_at": {
834
+ "type": "string",
835
+ "minLength": 1
836
+ },
837
+ "finished_at": {
838
+ "type": "string",
839
+ "minLength": 1
840
+ },
841
+ "artifact_digest": {
842
+ "type": "string",
843
+ "pattern": "^[a-f0-9]{64}$"
844
+ },
845
+ "command_argv": {
846
+ "type": "array",
847
+ "minItems": 1,
848
+ "items": {
849
+ "type": "string",
850
+ "minLength": 1
851
+ }
852
+ },
853
+ "contract_hash": {
854
+ "type": "string",
855
+ "pattern": "^[a-f0-9]{64}$"
856
+ },
857
+ "case_results": {
858
+ "type": "array",
859
+ "minItems": 1,
860
+ "maxItems": 1000,
861
+ "items": {
862
+ "type": "object",
863
+ "required": [
864
+ "symbol_id",
865
+ "project",
866
+ "outcome",
867
+ "retries",
868
+ "duration_ms"
869
+ ],
870
+ "properties": {
871
+ "symbol_id": {
872
+ "type": "string",
873
+ "minLength": 1
874
+ },
875
+ "project": {
876
+ "type": "string",
877
+ "minLength": 1
878
+ },
879
+ "outcome": {
880
+ "type": "string",
881
+ "enum": [
882
+ "passed",
883
+ "failed",
884
+ "timed_out",
885
+ "skipped",
886
+ "interrupted"
887
+ ]
888
+ },
889
+ "retries": {
890
+ "type": "integer",
891
+ "minimum": 0
892
+ },
893
+ "duration_ms": {
894
+ "type": "integer",
895
+ "minimum": 0
896
+ }
897
+ },
898
+ "additionalProperties": false
899
+ }
900
+ }
901
+ },
902
+ "additionalProperties": false
399
903
  }
400
- },
401
- "additionalProperties": false
904
+ ]
402
905
  }
403
906
  },
404
907
  "type": {
@@ -427,51 +930,151 @@
427
930
  "rule"
428
931
  ]
429
932
  },
430
- "subject_key": { "type": "string" },
431
- "property_key": { "type": "string" },
933
+ "subject_key": {
934
+ "type": "string"
935
+ },
936
+ "property_key": {
937
+ "type": "string"
938
+ },
432
939
  "operator": {
433
940
  "type": "string",
434
- "enum": ["eq", "neq", "lt", "lte", "gt", "gte"]
941
+ "enum": [
942
+ "eq",
943
+ "neq",
944
+ "lt",
945
+ "lte",
946
+ "gt",
947
+ "gte"
948
+ ]
435
949
  },
436
950
  "value_type": {
437
951
  "type": "string",
438
- "enum": ["string", "int", "number", "bool"]
439
- },
440
- "value_string": { "type": "string" },
441
- "value_int": { "type": "integer" },
442
- "value_number": { "type": "number" },
443
- "value_bool": { "type": "boolean" },
444
- "unit": { "type": "string" },
445
- "scope": { "type": "string" },
952
+ "enum": [
953
+ "string",
954
+ "int",
955
+ "number",
956
+ "bool"
957
+ ]
958
+ },
959
+ "value_string": {
960
+ "type": "string"
961
+ },
962
+ "value_int": {
963
+ "type": "integer"
964
+ },
965
+ "value_number": {
966
+ "type": "number"
967
+ },
968
+ "value_bool": {
969
+ "type": "boolean"
970
+ },
971
+ "unit": {
972
+ "type": "string"
973
+ },
974
+ "scope": {
975
+ "type": "string"
976
+ },
446
977
  "polarity": {
447
978
  "type": "string",
448
- "enum": ["require", "forbid", "assert", "deny"]
449
- },
450
- "closed_world": { "type": "boolean" },
451
- "valid_from": { "type": "string" },
452
- "valid_to": { "type": "string" },
453
- "canonical_key": { "type": "string" },
454
- "claim_key": { "type": "string", "pattern": "^CLAIM-[A-F0-9]{16}$" },
455
- "claim_text": { "type": "string" },
456
- "predicate_name": { "type": "string" },
457
- "predicate_namespace": { "type": "string" },
458
- "predicate_arity": { "type": "integer", "minimum": 1 },
459
- "argument_names": { "type": "array", "items": { "type": "string" } },
460
- "argument_types": { "type": "array", "items": { "type": "string" } },
979
+ "enum": [
980
+ "require",
981
+ "forbid",
982
+ "assert",
983
+ "deny"
984
+ ]
985
+ },
986
+ "closed_world": {
987
+ "type": "boolean"
988
+ },
989
+ "valid_from": {
990
+ "type": "string"
991
+ },
992
+ "valid_to": {
993
+ "type": "string"
994
+ },
995
+ "canonical_key": {
996
+ "type": "string"
997
+ },
998
+ "claim_key": {
999
+ "type": "string",
1000
+ "pattern": "^CLAIM-[A-F0-9]{16}$"
1001
+ },
1002
+ "claim_text": {
1003
+ "type": "string"
1004
+ },
1005
+ "predicate_name": {
1006
+ "type": "string"
1007
+ },
1008
+ "predicate_namespace": {
1009
+ "type": "string"
1010
+ },
1011
+ "predicate_arity": {
1012
+ "type": "integer",
1013
+ "minimum": 1
1014
+ },
1015
+ "argument_names": {
1016
+ "type": "array",
1017
+ "items": {
1018
+ "type": "string"
1019
+ }
1020
+ },
1021
+ "argument_types": {
1022
+ "type": "array",
1023
+ "items": {
1024
+ "type": "string"
1025
+ }
1026
+ },
461
1027
  "argument_descriptions": {
462
1028
  "type": "array",
463
- "items": { "type": "string" }
464
- },
465
- "aliases": { "type": "array", "items": { "type": "string" } },
466
- "examples": { "type": "array", "items": { "type": "string" } },
467
- "predicate_args": { "type": "array", "items": { "type": "string" } },
468
- "rule_ir": { "$ref": "#/$defs/logicRule" },
469
- "rule_hash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
470
- "rule_schema_id": { "type": "string", "minLength": 1 },
471
- "rule_name": { "type": "string", "minLength": 1 },
472
- "semantic_key": { "type": "string", "pattern": "^SEM-[A-F0-9]{24}$" },
473
- "claim_span_start": { "type": "integer", "minimum": 0 },
474
- "claim_span_end": { "type": "integer", "minimum": 0 }
1029
+ "items": {
1030
+ "type": "string"
1031
+ }
1032
+ },
1033
+ "aliases": {
1034
+ "type": "array",
1035
+ "items": {
1036
+ "type": "string"
1037
+ }
1038
+ },
1039
+ "examples": {
1040
+ "type": "array",
1041
+ "items": {
1042
+ "type": "string"
1043
+ }
1044
+ },
1045
+ "predicate_args": {
1046
+ "type": "array",
1047
+ "items": {
1048
+ "type": "string"
1049
+ }
1050
+ },
1051
+ "rule_ir": {
1052
+ "$ref": "#/$defs/logicRule"
1053
+ },
1054
+ "rule_hash": {
1055
+ "type": "string",
1056
+ "pattern": "^[a-f0-9]{64}$"
1057
+ },
1058
+ "rule_schema_id": {
1059
+ "type": "string",
1060
+ "minLength": 1
1061
+ },
1062
+ "rule_name": {
1063
+ "type": "string",
1064
+ "minLength": 1
1065
+ },
1066
+ "semantic_key": {
1067
+ "type": "string",
1068
+ "pattern": "^SEM-[A-F0-9]{24}$"
1069
+ },
1070
+ "claim_span_start": {
1071
+ "type": "integer",
1072
+ "minimum": 0
1073
+ },
1074
+ "claim_span_end": {
1075
+ "type": "integer",
1076
+ "minimum": 0
1077
+ }
475
1078
  },
476
1079
  "required": [
477
1080
  "id",
@@ -485,137 +1088,333 @@
485
1088
  "allOf": [
486
1089
  {
487
1090
  "if": {
488
- "properties": { "type": { "const": "req" } }
489
- },
490
- "then": {},
491
- "else": { "not": { "required": ["logic_claims"] } }
492
- },
493
- {
494
- "if": {
495
- "anyOf": [{ "required": ["claim_key"] }, { "required": ["claim_text"] }]
1091
+ "properties": {
1092
+ "type": {
1093
+ "const": "req"
1094
+ }
1095
+ }
496
1096
  },
497
- "then": { "required": ["claim_key", "claim_text"] }
1097
+ "else": {
1098
+ "not": {
1099
+ "required": [
1100
+ "logic_claims"
1101
+ ]
1102
+ }
1103
+ }
498
1104
  },
499
1105
  {
500
1106
  "if": {
501
- "properties": { "type": { "const": "test" } }
1107
+ "properties": {
1108
+ "type": {
1109
+ "const": "fact"
1110
+ }
1111
+ }
502
1112
  },
503
- "then": {},
504
1113
  "else": {
505
1114
  "not": {
506
1115
  "anyOf": [
507
- { "required": ["verification_scope"] },
508
- { "required": ["verification_perspective"] },
509
- { "required": ["verification_receipts"] }
1116
+ {
1117
+ "required": [
1118
+ "fact_kind"
1119
+ ]
1120
+ },
1121
+ {
1122
+ "required": [
1123
+ "subject_key"
1124
+ ]
1125
+ },
1126
+ {
1127
+ "required": [
1128
+ "property_key"
1129
+ ]
1130
+ },
1131
+ {
1132
+ "required": [
1133
+ "operator"
1134
+ ]
1135
+ },
1136
+ {
1137
+ "required": [
1138
+ "value_type"
1139
+ ]
1140
+ },
1141
+ {
1142
+ "required": [
1143
+ "value_string"
1144
+ ]
1145
+ },
1146
+ {
1147
+ "required": [
1148
+ "value_int"
1149
+ ]
1150
+ },
1151
+ {
1152
+ "required": [
1153
+ "value_number"
1154
+ ]
1155
+ },
1156
+ {
1157
+ "required": [
1158
+ "value_bool"
1159
+ ]
1160
+ },
1161
+ {
1162
+ "required": [
1163
+ "unit"
1164
+ ]
1165
+ },
1166
+ {
1167
+ "required": [
1168
+ "scope"
1169
+ ]
1170
+ },
1171
+ {
1172
+ "required": [
1173
+ "polarity"
1174
+ ]
1175
+ },
1176
+ {
1177
+ "required": [
1178
+ "closed_world"
1179
+ ]
1180
+ },
1181
+ {
1182
+ "required": [
1183
+ "valid_from"
1184
+ ]
1185
+ },
1186
+ {
1187
+ "required": [
1188
+ "valid_to"
1189
+ ]
1190
+ },
1191
+ {
1192
+ "required": [
1193
+ "canonical_key"
1194
+ ]
1195
+ },
1196
+ {
1197
+ "required": [
1198
+ "claim_key"
1199
+ ]
1200
+ },
1201
+ {
1202
+ "required": [
1203
+ "claim_text"
1204
+ ]
1205
+ },
1206
+ {
1207
+ "required": [
1208
+ "predicate_name"
1209
+ ]
1210
+ },
1211
+ {
1212
+ "required": [
1213
+ "predicate_namespace"
1214
+ ]
1215
+ },
1216
+ {
1217
+ "required": [
1218
+ "predicate_arity"
1219
+ ]
1220
+ },
1221
+ {
1222
+ "required": [
1223
+ "argument_names"
1224
+ ]
1225
+ },
1226
+ {
1227
+ "required": [
1228
+ "argument_types"
1229
+ ]
1230
+ },
1231
+ {
1232
+ "required": [
1233
+ "argument_descriptions"
1234
+ ]
1235
+ },
1236
+ {
1237
+ "required": [
1238
+ "aliases"
1239
+ ]
1240
+ },
1241
+ {
1242
+ "required": [
1243
+ "examples"
1244
+ ]
1245
+ },
1246
+ {
1247
+ "required": [
1248
+ "predicate_args"
1249
+ ]
1250
+ },
1251
+ {
1252
+ "required": [
1253
+ "rule_ir"
1254
+ ]
1255
+ },
1256
+ {
1257
+ "required": [
1258
+ "rule_hash"
1259
+ ]
1260
+ },
1261
+ {
1262
+ "required": [
1263
+ "rule_schema_id"
1264
+ ]
1265
+ },
1266
+ {
1267
+ "required": [
1268
+ "rule_name"
1269
+ ]
1270
+ },
1271
+ {
1272
+ "required": [
1273
+ "semantic_key"
1274
+ ]
1275
+ },
1276
+ {
1277
+ "required": [
1278
+ "claim_span_start"
1279
+ ]
1280
+ },
1281
+ {
1282
+ "required": [
1283
+ "claim_span_end"
1284
+ ]
1285
+ }
510
1286
  ]
511
1287
  }
512
1288
  }
513
1289
  },
514
- {
515
- "if": { "required": ["verification_receipts"] },
516
- "then": { "required": ["verification_scope"] }
517
- },
518
1290
  {
519
1291
  "if": {
520
1292
  "properties": {
521
- "type": { "const": "fact" },
522
- "fact_kind": { "const": "rule_schema" }
523
- },
524
- "required": ["type", "fact_kind"]
1293
+ "type": {
1294
+ "const": "test"
1295
+ }
1296
+ }
525
1297
  },
526
- "then": {
527
- "required": ["rule_name", "argument_names", "argument_types"]
1298
+ "else": {
1299
+ "not": {
1300
+ "anyOf": [
1301
+ {
1302
+ "required": [
1303
+ "verification_scope"
1304
+ ]
1305
+ },
1306
+ {
1307
+ "required": [
1308
+ "verification_perspective"
1309
+ ]
1310
+ },
1311
+ {
1312
+ "required": [
1313
+ "verification_contract"
1314
+ ]
1315
+ },
1316
+ {
1317
+ "required": [
1318
+ "verification_receipts"
1319
+ ]
1320
+ }
1321
+ ]
1322
+ }
528
1323
  }
529
1324
  },
530
1325
  {
531
1326
  "if": {
532
- "properties": {
533
- "type": { "const": "fact" },
534
- "fact_kind": { "const": "rule" }
535
- },
536
- "required": ["type", "fact_kind"]
1327
+ "required": [
1328
+ "verification_receipts"
1329
+ ]
537
1330
  },
538
1331
  "then": {
539
1332
  "required": [
540
- "rule_ir",
541
- "rule_hash",
542
- "rule_schema_id",
543
- "rule_name",
544
- "semantic_key"
1333
+ "verification_scope"
545
1334
  ]
546
1335
  }
547
1336
  },
548
1337
  {
549
1338
  "if": {
550
- "properties": { "type": { "const": "fact" } }
1339
+ "properties": {
1340
+ "type": {
1341
+ "const": "req"
1342
+ }
1343
+ }
551
1344
  },
552
- "then": {},
553
1345
  "else": {
554
1346
  "not": {
555
1347
  "anyOf": [
556
- { "required": ["fact_kind"] },
557
- { "required": ["subject_key"] },
558
- { "required": ["property_key"] },
559
- { "required": ["operator"] },
560
- { "required": ["value_type"] },
561
- { "required": ["value_string"] },
562
- { "required": ["value_int"] },
563
- { "required": ["value_number"] },
564
- { "required": ["value_bool"] },
565
- { "required": ["unit"] },
566
- { "required": ["scope"] },
567
- { "required": ["polarity"] },
568
- { "required": ["closed_world"] },
569
- { "required": ["valid_from"] },
570
- { "required": ["valid_to"] },
571
- { "required": ["canonical_key"] },
572
- { "required": ["claim_key"] },
573
- { "required": ["claim_text"] },
574
- { "required": ["predicate_name"] },
575
- { "required": ["predicate_namespace"] },
576
- { "required": ["predicate_arity"] },
577
- { "required": ["argument_names"] },
578
- { "required": ["argument_types"] },
579
- { "required": ["argument_descriptions"] },
580
- { "required": ["aliases"] },
581
- { "required": ["examples"] },
582
- { "required": ["predicate_args"] },
583
- { "required": ["rule_ir"] },
584
- { "required": ["rule_hash"] },
585
- { "required": ["rule_schema_id"] },
586
- { "required": ["rule_name"] },
587
- { "required": ["semantic_key"] },
588
- { "required": ["claim_span_start"] },
589
- { "required": ["claim_span_end"] }
1348
+ {
1349
+ "required": [
1350
+ "semantic_inventory"
1351
+ ]
1352
+ },
1353
+ {
1354
+ "required": [
1355
+ "semantic_clauses"
1356
+ ]
1357
+ },
1358
+ {
1359
+ "required": [
1360
+ "semantic_text"
1361
+ ]
1362
+ },
1363
+ {
1364
+ "required": [
1365
+ "semantic_inventory_version"
1366
+ ]
1367
+ },
1368
+ {
1369
+ "required": [
1370
+ "semantic_source_field"
1371
+ ]
1372
+ },
1373
+ {
1374
+ "required": [
1375
+ "semantic_source_hash"
1376
+ ]
1377
+ }
590
1378
  ]
591
1379
  }
592
1380
  }
593
1381
  },
594
1382
  {
595
1383
  "if": {
596
- "properties": { "type": { "const": "req" } }
1384
+ "anyOf": [
1385
+ {
1386
+ "required": [
1387
+ "claim_key"
1388
+ ]
1389
+ },
1390
+ {
1391
+ "required": [
1392
+ "claim_text"
1393
+ ]
1394
+ }
1395
+ ]
597
1396
  },
598
- "then": {},
599
- "else": {
600
- "not": {
601
- "anyOf": [
602
- { "required": ["semantic_inventory"] },
603
- { "required": ["semantic_clauses"] },
604
- { "required": ["semantic_text"] },
605
- { "required": ["semantic_inventory_version"] },
606
- { "required": ["semantic_source_field"] },
607
- { "required": ["semantic_source_hash"] }
608
- ]
609
- }
1397
+ "then": {
1398
+ "required": [
1399
+ "claim_key",
1400
+ "claim_text"
1401
+ ]
610
1402
  }
611
1403
  },
612
1404
  {
613
1405
  "if": {
614
1406
  "properties": {
615
- "type": { "const": "fact" },
616
- "fact_kind": { "const": "predicate_schema" }
1407
+ "type": {
1408
+ "const": "fact"
1409
+ },
1410
+ "fact_kind": {
1411
+ "const": "predicate_schema"
1412
+ }
617
1413
  },
618
- "required": ["type", "fact_kind"]
1414
+ "required": [
1415
+ "type",
1416
+ "fact_kind"
1417
+ ]
619
1418
  },
620
1419
  "then": {
621
1420
  "required": [
@@ -629,29 +1428,105 @@
629
1428
  {
630
1429
  "if": {
631
1430
  "properties": {
632
- "type": { "const": "fact" },
633
- "fact_kind": { "const": "predicate" }
1431
+ "type": {
1432
+ "const": "fact"
1433
+ },
1434
+ "fact_kind": {
1435
+ "const": "predicate"
1436
+ }
634
1437
  },
635
- "required": ["type", "fact_kind"]
1438
+ "required": [
1439
+ "type",
1440
+ "fact_kind"
1441
+ ]
636
1442
  },
637
1443
  "then": {
638
- "required": ["predicate_name", "predicate_args", "canonical_key"],
1444
+ "required": [
1445
+ "predicate_name",
1446
+ "predicate_args",
1447
+ "canonical_key"
1448
+ ],
639
1449
  "properties": {
640
- "polarity": { "enum": ["assert", "deny"] }
1450
+ "polarity": {
1451
+ "enum": [
1452
+ "assert",
1453
+ "deny"
1454
+ ]
1455
+ }
641
1456
  }
642
1457
  }
643
1458
  },
644
1459
  {
645
1460
  "if": {
646
1461
  "properties": {
647
- "type": { "const": "fact" },
648
- "fact_kind": { "const": "property_value" }
1462
+ "type": {
1463
+ "const": "fact"
1464
+ },
1465
+ "fact_kind": {
1466
+ "const": "rule_schema"
1467
+ }
649
1468
  },
650
- "required": ["type", "fact_kind"]
1469
+ "required": [
1470
+ "type",
1471
+ "fact_kind"
1472
+ ]
651
1473
  },
652
1474
  "then": {
1475
+ "required": [
1476
+ "rule_name",
1477
+ "argument_names",
1478
+ "argument_types"
1479
+ ]
1480
+ }
1481
+ },
1482
+ {
1483
+ "if": {
653
1484
  "properties": {
654
- "polarity": { "enum": ["require", "forbid"] }
1485
+ "type": {
1486
+ "const": "fact"
1487
+ },
1488
+ "fact_kind": {
1489
+ "const": "rule"
1490
+ }
1491
+ },
1492
+ "required": [
1493
+ "type",
1494
+ "fact_kind"
1495
+ ]
1496
+ },
1497
+ "then": {
1498
+ "required": [
1499
+ "rule_ir",
1500
+ "rule_hash",
1501
+ "rule_schema_id",
1502
+ "rule_name",
1503
+ "semantic_key"
1504
+ ]
1505
+ }
1506
+ },
1507
+ {
1508
+ "if": {
1509
+ "properties": {
1510
+ "type": {
1511
+ "const": "fact"
1512
+ },
1513
+ "fact_kind": {
1514
+ "const": "property_value"
1515
+ }
1516
+ },
1517
+ "required": [
1518
+ "type",
1519
+ "fact_kind"
1520
+ ]
1521
+ },
1522
+ "then": {
1523
+ "properties": {
1524
+ "polarity": {
1525
+ "enum": [
1526
+ "require",
1527
+ "forbid"
1528
+ ]
1529
+ }
655
1530
  }
656
1531
  }
657
1532
  }