kibi-cli 1.0.1 → 2.1.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 (548) 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.js +3 -3
  8. package/dist/cli-operation-metadata.d.ts +4 -3
  9. package/dist/cli-operation-metadata.d.ts.map +1 -1
  10. package/dist/cli-operation-metadata.js +7 -5
  11. package/dist/cli-protocol.js +1 -1
  12. package/dist/cli-register-maintenance.d.ts.map +1 -1
  13. package/dist/cli-register-maintenance.js +7 -0
  14. package/dist/cli-register-proof.d.ts +3 -0
  15. package/dist/cli-register-proof.d.ts.map +1 -0
  16. package/dist/cli-register-proof.js +127 -0
  17. package/dist/cli-register-reporting.d.ts.map +1 -1
  18. package/dist/cli-register-reporting.js +7 -0
  19. package/dist/cli.d.ts +4 -0
  20. package/dist/cli.d.ts.map +1 -1
  21. package/dist/cli.js +19 -10
  22. package/dist/commands/branch.d.ts +1 -0
  23. package/dist/commands/branch.d.ts.map +1 -1
  24. package/dist/commands/branch.js +8 -4
  25. package/dist/commands/check-generated.d.ts +7 -0
  26. package/dist/commands/check-generated.d.ts.map +1 -0
  27. package/dist/commands/check-generated.js +192 -0
  28. package/dist/commands/check.d.ts +14 -0
  29. package/dist/commands/check.d.ts.map +1 -1
  30. package/dist/commands/check.js +193 -46
  31. package/dist/commands/coverage.d.ts +1 -0
  32. package/dist/commands/coverage.d.ts.map +1 -1
  33. package/dist/commands/coverage.js +6 -0
  34. package/dist/commands/doctor.d.ts +22 -0
  35. package/dist/commands/doctor.d.ts.map +1 -1
  36. package/dist/commands/doctor.js +170 -23
  37. package/dist/commands/engine.d.ts +12 -0
  38. package/dist/commands/engine.d.ts.map +1 -1
  39. package/dist/commands/engine.js +42 -0
  40. package/dist/commands/github-init.d.ts +1 -0
  41. package/dist/commands/github-init.d.ts.map +1 -1
  42. package/dist/commands/github-init.js +9 -5
  43. package/dist/commands/init-helpers.d.ts.map +1 -1
  44. package/dist/commands/init-helpers.js +49 -10
  45. package/dist/commands/migrate.d.ts +4 -0
  46. package/dist/commands/migrate.d.ts.map +1 -1
  47. package/dist/commands/migrate.js +7 -7
  48. package/dist/commands/proof-explain.d.ts +10 -0
  49. package/dist/commands/proof-explain.d.ts.map +1 -0
  50. package/dist/commands/proof-explain.js +45 -0
  51. package/dist/commands/proof-impact.d.ts +7 -0
  52. package/dist/commands/proof-impact.d.ts.map +1 -0
  53. package/dist/commands/proof-impact.js +39 -0
  54. package/dist/commands/proof-migrate-legacy.d.ts +7 -0
  55. package/dist/commands/proof-migrate-legacy.d.ts.map +1 -0
  56. package/dist/commands/proof-migrate-legacy.js +45 -0
  57. package/dist/commands/proof-prune.d.ts +8 -0
  58. package/dist/commands/proof-prune.d.ts.map +1 -0
  59. package/dist/commands/proof-prune.js +53 -0
  60. package/dist/commands/prove.d.ts +37 -0
  61. package/dist/commands/prove.d.ts.map +1 -0
  62. package/dist/commands/prove.js +470 -0
  63. package/dist/commands/report.d.ts.map +1 -1
  64. package/dist/commands/report.js +18 -3
  65. package/dist/commands/sync/discovery.d.ts +3 -0
  66. package/dist/commands/sync/discovery.d.ts.map +1 -1
  67. package/dist/commands/sync/discovery.js +36 -28
  68. package/dist/commands/sync/manifest.d.ts +2 -1
  69. package/dist/commands/sync/manifest.d.ts.map +1 -1
  70. package/dist/commands/sync/manifest.js +55 -21
  71. package/dist/commands/sync/persistence.d.ts +4 -1
  72. package/dist/commands/sync/persistence.d.ts.map +1 -1
  73. package/dist/commands/sync/persistence.js +31 -14
  74. package/dist/commands/sync/staging.d.ts +1 -0
  75. package/dist/commands/sync/staging.d.ts.map +1 -1
  76. package/dist/commands/sync/staging.js +5 -2
  77. package/dist/commands/sync/untracked-targets.d.ts +24 -0
  78. package/dist/commands/sync/untracked-targets.d.ts.map +1 -0
  79. package/dist/commands/sync/untracked-targets.js +108 -0
  80. package/dist/commands/sync.d.ts +11 -1
  81. package/dist/commands/sync.d.ts.map +1 -1
  82. package/dist/commands/sync.js +74 -30
  83. package/dist/engine-daemon.d.ts +3 -1
  84. package/dist/engine-daemon.d.ts.map +1 -1
  85. package/dist/engine-daemon.js +49 -20
  86. package/dist/engine.d.ts +17 -77
  87. package/dist/engine.d.ts.map +1 -1
  88. package/dist/engine.js +331 -91
  89. package/dist/env/bootstrap.d.ts +84 -0
  90. package/dist/env/bootstrap.d.ts.map +1 -0
  91. package/dist/env/bootstrap.js +310 -0
  92. package/dist/extractors/manifest.d.ts +5 -0
  93. package/dist/extractors/manifest.d.ts.map +1 -1
  94. package/dist/extractors/manifest.js +46 -1
  95. package/dist/extractors/markdown.d.ts +7 -3
  96. package/dist/extractors/markdown.d.ts.map +1 -1
  97. package/dist/extractors/markdown.js +60 -24
  98. package/dist/extractors/playwright-cases.js +1 -1
  99. package/dist/extractors/relationships.d.ts +6 -0
  100. package/dist/extractors/relationships.d.ts.map +1 -1
  101. package/dist/extractors/relationships.js +1 -1
  102. package/dist/extractors/symbol-coordinates.d.ts.map +1 -1
  103. package/dist/extractors/symbols-coordinator.d.ts +8 -0
  104. package/dist/extractors/symbols-coordinator.d.ts.map +1 -1
  105. package/dist/extractors/symbols-coordinator.js +40 -0
  106. package/dist/extractors/symbols-ts.d.ts +9 -19
  107. package/dist/extractors/symbols-ts.d.ts.map +1 -1
  108. package/dist/extractors/symbols-ts.js +34 -429
  109. package/dist/intent-search.d.ts +1 -0
  110. package/dist/intent-search.d.ts.map +1 -1
  111. package/dist/intent-search.js +11 -8
  112. package/dist/logic/ir.d.ts +1 -0
  113. package/dist/logic/ir.d.ts.map +1 -1
  114. package/dist/logic/ir.js +1 -1
  115. package/dist/operations/bootstrap/activation.d.ts +2 -1
  116. package/dist/operations/bootstrap/activation.d.ts.map +1 -1
  117. package/dist/operations/bootstrap/activation.js +11 -3
  118. package/dist/operations/bootstrap/generate.d.ts +2 -1
  119. package/dist/operations/bootstrap/generate.d.ts.map +1 -1
  120. package/dist/operations/bootstrap/generate.js +6 -3
  121. package/dist/operations/bootstrap/guidance.d.ts +1 -0
  122. package/dist/operations/bootstrap/guidance.d.ts.map +1 -1
  123. package/dist/operations/bootstrap/guidance.js +1 -1
  124. package/dist/operations/modeling/model-requirement.d.ts +5 -0
  125. package/dist/operations/modeling/model-requirement.d.ts.map +1 -1
  126. package/dist/operations/modeling/model-requirement.js +57 -46
  127. package/dist/operations/modeling/predicate-applicability.d.ts.map +1 -1
  128. package/dist/operations/modeling/predicate-applicability.js +103 -4
  129. package/dist/operations/modeling/predicate-catalog-2.d.ts.map +1 -1
  130. package/dist/operations/modeling/predicate-catalog-2.js +18 -2
  131. package/dist/operations/modeling/predicate-catalog-3.d.ts.map +1 -1
  132. package/dist/operations/modeling/predicate-catalog-3.js +17 -1
  133. package/dist/operations/modeling/predicate-catalog-5.d.ts +10 -0
  134. package/dist/operations/modeling/predicate-catalog-5.d.ts.map +1 -0
  135. package/dist/operations/modeling/predicate-catalog-5.js +291 -0
  136. package/dist/operations/modeling/predicate-catalog.d.ts.map +1 -1
  137. package/dist/operations/modeling/predicate-catalog.js +4 -0
  138. package/dist/operations/modeling/predicate-loader.d.ts +1 -0
  139. package/dist/operations/modeling/predicate-loader.d.ts.map +1 -1
  140. package/dist/operations/modeling/predicate-loader.js +4 -3
  141. package/dist/operations/modeling/predicate-ranker.d.ts.map +1 -1
  142. package/dist/operations/modeling/predicate-ranker.js +4 -1
  143. package/dist/operations/modeling/predicate-types.d.ts +1 -1
  144. package/dist/operations/modeling/predicate-types.d.ts.map +1 -1
  145. package/dist/operations/modeling/predicate-usage-hints-4.d.ts +3 -0
  146. package/dist/operations/modeling/predicate-usage-hints-4.d.ts.map +1 -0
  147. package/dist/operations/modeling/predicate-usage-hints-4.js +84 -0
  148. package/dist/operations/modeling/suggest-predicates.d.ts +4 -2
  149. package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -1
  150. package/dist/operations/modeling/suggest-predicates.js +82 -22
  151. package/dist/operations/mutation/contradictions.d.ts +2 -1
  152. package/dist/operations/mutation/contradictions.d.ts.map +1 -1
  153. package/dist/operations/mutation/contradictions.js +26 -5
  154. package/dist/operations/mutation/delete.d.ts +3 -0
  155. package/dist/operations/mutation/delete.d.ts.map +1 -1
  156. package/dist/operations/mutation/delete.js +100 -32
  157. package/dist/operations/mutation/relationships.d.ts +1 -0
  158. package/dist/operations/mutation/relationships.d.ts.map +1 -1
  159. package/dist/operations/mutation/relationships.js +6 -4
  160. package/dist/operations/mutation/saga.d.ts +51 -0
  161. package/dist/operations/mutation/saga.d.ts.map +1 -0
  162. package/dist/operations/mutation/saga.js +67 -0
  163. package/dist/operations/mutation/serialization.d.ts.map +1 -1
  164. package/dist/operations/mutation/serialization.js +3 -2
  165. package/dist/operations/mutation/source-authoring.d.ts +5 -1
  166. package/dist/operations/mutation/source-authoring.d.ts.map +1 -1
  167. package/dist/operations/mutation/source-authoring.js +79 -46
  168. package/dist/operations/mutation/strict-fact.d.ts +1 -0
  169. package/dist/operations/mutation/strict-fact.d.ts.map +1 -1
  170. package/dist/operations/mutation/strict-fact.js +8 -5
  171. package/dist/operations/mutation/symbol-compiler-lock.d.ts +5 -2
  172. package/dist/operations/mutation/symbol-compiler-lock.d.ts.map +1 -1
  173. package/dist/operations/mutation/symbol-compiler-lock.js +65 -2
  174. package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -1
  175. package/dist/operations/mutation/symbol-granularity.js +11 -89
  176. package/dist/operations/mutation/symbol-refresh.d.ts +1 -0
  177. package/dist/operations/mutation/symbol-refresh.d.ts.map +1 -1
  178. package/dist/operations/mutation/symbol-refresh.js +10 -8
  179. package/dist/operations/mutation/upsert.d.ts +18 -2
  180. package/dist/operations/mutation/upsert.d.ts.map +1 -1
  181. package/dist/operations/mutation/upsert.js +86 -54
  182. package/dist/operations/mutation/validate-upsert.js +2 -2
  183. package/dist/operations/mutation/validation.d.ts.map +1 -1
  184. package/dist/operations/mutation/validation.js +46 -4
  185. package/dist/operations/mutation/warnings.d.ts +1 -0
  186. package/dist/operations/mutation/warnings.d.ts.map +1 -1
  187. package/dist/operations/mutation/warnings.js +7 -5
  188. package/dist/operations/mutation/workspace-mutation-lock.d.ts +60 -0
  189. package/dist/operations/mutation/workspace-mutation-lock.d.ts.map +1 -0
  190. package/dist/operations/mutation/workspace-mutation-lock.js +362 -0
  191. package/dist/operations/planning/apply-plan.d.ts +8 -106
  192. package/dist/operations/planning/apply-plan.d.ts.map +1 -1
  193. package/dist/operations/planning/apply-plan.js +113 -36
  194. package/dist/operations/planning/compile-intent.d.ts +51 -0
  195. package/dist/operations/planning/compile-intent.d.ts.map +1 -1
  196. package/dist/operations/planning/compile-intent.js +133 -17
  197. package/dist/operations/proof/baseline-diff.d.ts +41 -0
  198. package/dist/operations/proof/baseline-diff.d.ts.map +1 -0
  199. package/dist/operations/proof/baseline-diff.js +153 -0
  200. package/dist/operations/proof/explain.d.ts +75 -0
  201. package/dist/operations/proof/explain.d.ts.map +1 -0
  202. package/dist/operations/proof/explain.js +294 -0
  203. package/dist/operations/proof/impact.d.ts +45 -0
  204. package/dist/operations/proof/impact.d.ts.map +1 -0
  205. package/dist/operations/proof/impact.js +118 -0
  206. package/dist/operations/proof/ingest-proof.d.ts +34 -0
  207. package/dist/operations/proof/ingest-proof.d.ts.map +1 -0
  208. package/dist/operations/proof/ingest-proof.js +348 -0
  209. package/dist/operations/proof/migrate-legacy-receipts.d.ts +30 -0
  210. package/dist/operations/proof/migrate-legacy-receipts.d.ts.map +1 -0
  211. package/dist/operations/proof/migrate-legacy-receipts.js +92 -0
  212. package/dist/operations/proof/prune-receipts.d.ts +35 -0
  213. package/dist/operations/proof/prune-receipts.d.ts.map +1 -0
  214. package/dist/operations/proof/prune-receipts.js +91 -0
  215. package/dist/operations/proof/receipt-document.d.ts +29 -0
  216. package/dist/operations/proof/receipt-document.d.ts.map +1 -0
  217. package/dist/operations/proof/receipt-document.js +117 -0
  218. package/dist/operations/semantic-advisor/analysis-receipt.d.ts.map +1 -1
  219. package/dist/operations/semantic-advisor/analysis-receipt.js +3 -9
  220. package/dist/operations/semantic-advisor/analyze-prose.d.ts +1 -0
  221. package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -1
  222. package/dist/operations/semantic-advisor/analyze-prose.js +64 -93
  223. package/dist/operations/semantic-advisor/clauses.d.ts.map +1 -1
  224. package/dist/operations/semantic-advisor/clauses.js +20 -7
  225. package/dist/operations/semantic-advisor/plugin-orchestration.d.ts +63 -0
  226. package/dist/operations/semantic-advisor/plugin-orchestration.d.ts.map +1 -0
  227. package/dist/operations/semantic-advisor/plugin-orchestration.js +489 -0
  228. package/dist/operations/semantic-advisor/predicate-rules-core.d.ts +15 -2
  229. package/dist/operations/semantic-advisor/predicate-rules-core.d.ts.map +1 -1
  230. package/dist/operations/semantic-advisor/predicate-rules-core.js +7 -140
  231. package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts +11 -12
  232. package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts.map +1 -1
  233. package/dist/operations/semantic-advisor/predicate-rules-launcher.js +6 -94
  234. package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts +16 -0
  235. package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts.map +1 -1
  236. package/dist/operations/semantic-advisor/predicate-rules-policy.js +7 -150
  237. package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts +9 -0
  238. package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts.map +1 -1
  239. package/dist/operations/semantic-advisor/predicate-rules-product-tail.js +7 -102
  240. package/dist/operations/semantic-advisor/predicate-rules-product.d.ts +13 -0
  241. package/dist/operations/semantic-advisor/predicate-rules-product.d.ts.map +1 -1
  242. package/dist/operations/semantic-advisor/predicate-rules-product.js +7 -133
  243. package/dist/operations/semantic-advisor/strict-count-rules.d.ts +2 -0
  244. package/dist/operations/semantic-advisor/strict-count-rules.d.ts.map +1 -1
  245. package/dist/operations/semantic-advisor/strict-count-rules.js +40 -25
  246. package/dist/operations/semantic-advisor/types.d.ts +1 -0
  247. package/dist/operations/semantic-advisor/types.d.ts.map +1 -1
  248. package/dist/plugins/compose-ontology-packs.d.ts +51 -0
  249. package/dist/plugins/compose-ontology-packs.d.ts.map +1 -0
  250. package/dist/plugins/compose-ontology-packs.js +257 -0
  251. package/dist/plugins/compose-semantic-classifier.d.ts +42 -0
  252. package/dist/plugins/compose-semantic-classifier.d.ts.map +1 -0
  253. package/dist/plugins/compose-semantic-classifier.js +211 -0
  254. package/dist/plugins/external-allowlist.d.ts +10 -0
  255. package/dist/plugins/external-allowlist.d.ts.map +1 -0
  256. package/dist/plugins/external-allowlist.js +16 -0
  257. package/dist/plugins/index.d.ts +9 -0
  258. package/dist/plugins/index.d.ts.map +1 -0
  259. package/dist/plugins/index.js +33 -0
  260. package/dist/plugins/load-plugin.d.ts +19 -0
  261. package/dist/plugins/load-plugin.d.ts.map +1 -0
  262. package/dist/plugins/load-plugin.js +59 -0
  263. package/dist/plugins/project-config.d.ts +28 -0
  264. package/dist/plugins/project-config.d.ts.map +1 -0
  265. package/dist/plugins/project-config.js +90 -0
  266. package/dist/plugins/registry.d.ts +93 -0
  267. package/dist/plugins/registry.d.ts.map +1 -0
  268. package/dist/plugins/registry.js +338 -0
  269. package/dist/plugins/resolve-package.d.ts +47 -0
  270. package/dist/plugins/resolve-package.d.ts.map +1 -0
  271. package/dist/plugins/resolve-package.js +262 -0
  272. package/dist/plugins/source-analysis-service.d.ts +44 -0
  273. package/dist/plugins/source-analysis-service.d.ts.map +1 -0
  274. package/dist/plugins/source-analysis-service.js +232 -0
  275. package/dist/prolog/codec.d.ts +13 -1
  276. package/dist/prolog/codec.d.ts.map +1 -1
  277. package/dist/prolog/codec.js +269 -154
  278. package/dist/prolog/error-terms.d.ts +47 -0
  279. package/dist/prolog/error-terms.d.ts.map +1 -0
  280. package/dist/prolog/error-terms.js +334 -0
  281. package/dist/prolog/janitor.d.ts +50 -0
  282. package/dist/prolog/janitor.d.ts.map +1 -0
  283. package/dist/prolog/janitor.js +154 -0
  284. package/dist/prolog/store-lock.d.ts +45 -0
  285. package/dist/prolog/store-lock.d.ts.map +1 -0
  286. package/dist/prolog/store-lock.js +195 -0
  287. package/dist/prolog.d.ts +7 -0
  288. package/dist/prolog.d.ts.map +1 -1
  289. package/dist/prolog.js +55 -17
  290. package/dist/proof/evaluate.d.ts +27 -0
  291. package/dist/proof/evaluate.d.ts.map +1 -0
  292. package/dist/proof/evaluate.js +151 -0
  293. package/dist/proof/inspect.d.ts +12 -0
  294. package/dist/proof/inspect.d.ts.map +1 -0
  295. package/dist/proof/inspect.js +236 -0
  296. package/dist/proof/integrations.d.ts +35 -0
  297. package/dist/proof/integrations.d.ts.map +1 -0
  298. package/dist/proof/integrations.js +123 -0
  299. package/dist/proof/producers/junit-adapter.d.ts +26 -0
  300. package/dist/proof/producers/junit-adapter.d.ts.map +1 -0
  301. package/dist/proof/producers/junit-adapter.js +186 -0
  302. package/dist/{public → proof/producers}/playwright-case-id.d.ts +1 -1
  303. package/dist/proof/producers/playwright-case-id.d.ts.map +1 -0
  304. package/dist/{public → proof/producers}/playwright-case-id.js +1 -1
  305. package/dist/proof/producers/playwright-reporter.d.ts +27 -0
  306. package/dist/proof/producers/playwright-reporter.d.ts.map +1 -0
  307. package/dist/proof/producers/playwright-reporter.js +138 -0
  308. package/dist/proof/producers/tap-adapter.d.ts +10 -0
  309. package/dist/proof/producers/tap-adapter.d.ts.map +1 -0
  310. package/dist/proof/producers/tap-adapter.js +200 -0
  311. package/dist/proof/receipt-outcome.d.ts +2 -0
  312. package/dist/proof/receipt-outcome.d.ts.map +1 -0
  313. package/dist/proof/receipt-outcome.js +1 -0
  314. package/dist/public/diagnostic-usage.js +6 -6
  315. package/dist/public/distribution-parity.d.ts +7 -1
  316. package/dist/public/distribution-parity.d.ts.map +1 -1
  317. package/dist/public/distribution-parity.js +15 -10
  318. package/dist/public/extractors/symbols-coordinator.d.ts +1 -1
  319. package/dist/public/extractors/symbols-coordinator.d.ts.map +1 -1
  320. package/dist/public/extractors/symbols-coordinator.js +1 -1
  321. package/dist/public/impact/analyzer.d.ts +1 -1
  322. package/dist/public/impact/analyzer.d.ts.map +1 -1
  323. package/dist/public/impact/analyzer.js +6 -4
  324. package/dist/public/impact/coverage-depth-quality.d.ts +1 -0
  325. package/dist/public/impact/coverage-depth-quality.d.ts.map +1 -1
  326. package/dist/public/impact/coverage-depth-quality.js +1 -1
  327. package/dist/public/impact/diagnostics.d.ts.map +1 -1
  328. package/dist/public/impact/diagnostics.js +2 -2
  329. package/dist/public/impact/diff-meaning.d.ts +1 -0
  330. package/dist/public/impact/diff-meaning.d.ts.map +1 -1
  331. package/dist/public/impact/diff-meaning.js +5 -2
  332. package/dist/public/impact/full-kb-quality.d.ts +5 -2
  333. package/dist/public/impact/full-kb-quality.d.ts.map +1 -1
  334. package/dist/public/impact/full-kb-quality.js +329 -64
  335. package/dist/public/operations/catalog.d.ts +450 -196
  336. package/dist/public/operations/catalog.d.ts.map +1 -1
  337. package/dist/public/operations/catalog.js +6 -4
  338. package/dist/public/operations/check-executor.d.ts.map +1 -1
  339. package/dist/public/operations/check-executor.js +4 -8
  340. package/dist/public/operations/check-helpers.d.ts +1 -1
  341. package/dist/public/operations/check-helpers.d.ts.map +1 -1
  342. package/dist/public/operations/check-helpers.js +1 -1
  343. package/dist/public/operations/contracts.d.ts +7 -0
  344. package/dist/public/operations/contracts.d.ts.map +1 -1
  345. package/dist/public/operations/contracts.js +66 -34
  346. package/dist/public/operations/discovery-entities.d.ts +15 -0
  347. package/dist/public/operations/discovery-entities.d.ts.map +1 -1
  348. package/dist/public/operations/discovery-entities.js +38 -0
  349. package/dist/public/operations/discovery-executors.d.ts +9 -9
  350. package/dist/public/operations/discovery-executors.d.ts.map +1 -1
  351. package/dist/public/operations/discovery-executors.js +39 -31
  352. package/dist/public/operations/index.d.ts +1 -1
  353. package/dist/public/operations/index.d.ts.map +1 -1
  354. package/dist/public/operations/index.js +1 -1
  355. package/dist/public/operations/migration-plan.d.ts +4 -3
  356. package/dist/public/operations/migration-plan.d.ts.map +1 -1
  357. package/dist/public/operations/migration-plan.js +23 -21
  358. package/dist/public/operations/node-ports.js +6 -6
  359. package/dist/public/operations/prolog-json.d.ts +1 -1
  360. package/dist/public/operations/prolog-json.d.ts.map +1 -1
  361. package/dist/public/operations/prolog-json.js +7 -7
  362. package/dist/public/operations/repair-plan.d.ts +3 -3
  363. package/dist/public/operations/repair-plan.d.ts.map +1 -1
  364. package/dist/public/operations/repair-plan.js +49 -19
  365. package/dist/public/operations/result-envelope.d.ts +1 -0
  366. package/dist/public/operations/result-envelope.d.ts.map +1 -1
  367. package/dist/public/operations/result-envelope.js +12 -10
  368. package/dist/public/operations/runtime-types.d.ts +21 -1
  369. package/dist/public/operations/runtime-types.d.ts.map +1 -1
  370. package/dist/public/operations/specs/check-rules.generated.d.ts +5 -0
  371. package/dist/public/operations/specs/check-rules.generated.d.ts.map +1 -0
  372. package/dist/public/operations/specs/check-rules.generated.js +35 -0
  373. package/dist/public/operations/specs/check.d.ts +7 -2
  374. package/dist/public/operations/specs/check.d.ts.map +1 -1
  375. package/dist/public/operations/specs/check.js +8 -20
  376. package/dist/public/operations/specs/discovery.d.ts +3 -0
  377. package/dist/public/operations/specs/discovery.d.ts.map +1 -1
  378. package/dist/public/operations/specs/discovery.js +3 -0
  379. package/dist/public/operations/specs/mutation-schemas.d.ts +257 -163
  380. package/dist/public/operations/specs/mutation-schemas.d.ts.map +1 -1
  381. package/dist/public/operations/specs/mutation-schemas.js +15 -7
  382. package/dist/public/operations/specs/planning.d.ts +9 -0
  383. package/dist/public/operations/specs/planning.d.ts.map +1 -1
  384. package/dist/public/operations/specs/planning.js +6 -0
  385. package/dist/public/operations/specs/proof.d.ts +212 -0
  386. package/dist/public/operations/specs/proof.d.ts.map +1 -0
  387. package/dist/public/operations/specs/proof.js +30 -0
  388. package/dist/public/operations/specs/reporting.d.ts +20 -0
  389. package/dist/public/operations/specs/reporting.d.ts.map +1 -1
  390. package/dist/public/operations/specs/reporting.js +112 -12
  391. package/dist/public/operations/specs/semantic.d.ts +1 -1
  392. package/dist/public/operations/specs/semantic.d.ts.map +1 -1
  393. package/dist/public/operations/specs/semantic.js +54 -4
  394. package/dist/public/operations/specs/upsert.d.ts +257 -163
  395. package/dist/public/operations/specs/upsert.d.ts.map +1 -1
  396. package/dist/public/operations/symbol-repair-plan.d.ts +11 -0
  397. package/dist/public/operations/symbol-repair-plan.d.ts.map +1 -1
  398. package/dist/public/operations/symbol-repair-plan.js +121 -4
  399. package/dist/public/operations/types.d.ts +6 -1
  400. package/dist/public/operations/types.d.ts.map +1 -1
  401. package/dist/public/proof-fingerprint.d.ts +54 -0
  402. package/dist/public/proof-fingerprint.d.ts.map +1 -0
  403. package/dist/public/proof-fingerprint.js +141 -0
  404. package/dist/public/proof-protocol.d.ts +354 -0
  405. package/dist/public/proof-protocol.d.ts.map +1 -0
  406. package/dist/public/proof-protocol.js +454 -0
  407. package/dist/public/proof-receipt.d.ts +279 -0
  408. package/dist/public/proof-receipt.d.ts.map +1 -0
  409. package/dist/public/proof-receipt.js +377 -0
  410. package/dist/public/schemas/entity.d.ts.map +1 -1
  411. package/dist/public/schemas/entity.js +21 -7
  412. package/dist/public/skills/kibi-freshness/SKILL.md +1 -1
  413. package/dist/public/skills/kibi-usage/SKILL.md +44 -12
  414. package/dist/public/skills/kibi-usage/resources/operation-access.md +1 -1
  415. package/dist/public/skills/kibi-usage/resources/proof.md +150 -0
  416. package/dist/public/skills/kibi-usage/resources/workflows.md +6 -6
  417. package/dist/public/symbol-granularity.d.ts +3 -14
  418. package/dist/public/symbol-granularity.d.ts.map +1 -1
  419. package/dist/public/symbol-granularity.generated.d.ts +16 -0
  420. package/dist/public/symbol-granularity.generated.d.ts.map +1 -0
  421. package/dist/public/symbol-granularity.generated.js +53 -0
  422. package/dist/public/symbol-granularity.js +6 -47
  423. package/dist/public/telemetry-acceptance.d.ts +3 -77
  424. package/dist/public/telemetry-acceptance.d.ts.map +1 -1
  425. package/dist/public/telemetry-acceptance.js +4 -2
  426. package/dist/public/telemetry-remediation.js +1 -1
  427. package/dist/report/html-report.css +1240 -0
  428. package/dist/report/html-report.d.ts +4 -2
  429. package/dist/report/html-report.d.ts.map +1 -1
  430. package/dist/report/html-report.js +37 -300
  431. package/dist/runtime/cli-runtime.d.ts +2 -0
  432. package/dist/runtime/cli-runtime.d.ts.map +1 -1
  433. package/dist/runtime/cli-runtime.js +32 -7
  434. package/dist/schemas/entity.schema.json +355 -215
  435. package/dist/search-ranking.d.ts +1 -0
  436. package/dist/search-ranking.d.ts.map +1 -1
  437. package/dist/search-ranking.js +3 -0
  438. package/dist/traceability/evidence-model.d.ts +28 -0
  439. package/dist/traceability/evidence-model.d.ts.map +1 -1
  440. package/dist/traceability/git-staged.d.ts +20 -0
  441. package/dist/traceability/git-staged.d.ts.map +1 -1
  442. package/dist/traceability/git-staged.js +145 -1
  443. package/dist/traceability/staged-diagnostics.d.ts +7 -0
  444. package/dist/traceability/staged-diagnostics.d.ts.map +1 -1
  445. package/dist/traceability/staged-diagnostics.js +78 -7
  446. package/dist/traceability/staged-file-coverage.d.ts +33 -0
  447. package/dist/traceability/staged-file-coverage.d.ts.map +1 -0
  448. package/dist/traceability/staged-file-coverage.js +284 -0
  449. package/dist/traceability/staged-impact-contract.js +4 -4
  450. package/dist/traceability/staged-symbols-manifest.d.ts +13 -0
  451. package/dist/traceability/staged-symbols-manifest.d.ts.map +1 -1
  452. package/dist/traceability/staged-symbols-manifest.js +138 -27
  453. package/dist/traceability/symbol-extract.d.ts +24 -2
  454. package/dist/traceability/symbol-extract.d.ts.map +1 -1
  455. package/dist/traceability/symbol-extract.js +64 -208
  456. package/dist/traceability/temp-kb.d.ts +2 -0
  457. package/dist/traceability/temp-kb.d.ts.map +1 -1
  458. package/dist/traceability/temp-kb.js +13 -4
  459. package/dist/types/entities.d.ts +5 -3
  460. package/dist/types/entities.d.ts.map +1 -1
  461. package/dist/utils/branch-resolver.d.ts +1 -0
  462. package/dist/utils/branch-resolver.d.ts.map +1 -1
  463. package/dist/utils/branch-resolver.js +7 -4
  464. package/dist/utils/branch-store.d.ts +6 -0
  465. package/dist/utils/branch-store.d.ts.map +1 -1
  466. package/dist/utils/branch-store.js +27 -0
  467. package/dist/utils/kb-paths.d.ts +1 -1
  468. package/dist/utils/kb-paths.d.ts.map +1 -1
  469. package/dist/utils/kb-paths.js +1 -1
  470. package/dist/utils/rule-registry.d.ts +1 -11
  471. package/dist/utils/rule-registry.d.ts.map +1 -1
  472. package/dist/utils/rule-registry.generated.d.ts +102 -0
  473. package/dist/utils/rule-registry.generated.d.ts.map +1 -0
  474. package/dist/utils/rule-registry.generated.js +131 -0
  475. package/dist/utils/rule-registry.js +12 -113
  476. package/dist/utils/strict-modeling.d.ts +1 -0
  477. package/dist/utils/strict-modeling.d.ts.map +1 -1
  478. package/dist/utils/strict-modeling.js +1 -1
  479. package/package.json +20 -20
  480. package/src/public/diagnostic-usage.ts +6 -6
  481. package/src/public/distribution-parity.ts +17 -10
  482. package/src/public/extractors/symbols-coordinator.ts +1 -0
  483. package/src/public/impact/analyzer.ts +15 -12
  484. package/src/public/impact/coverage-depth-quality.ts +1 -1
  485. package/src/public/impact/diagnostics.ts +2 -1
  486. package/src/public/impact/diff-meaning.ts +11 -4
  487. package/src/public/impact/full-kb-quality.ts +463 -72
  488. package/src/public/operations/catalog.ts +10 -4
  489. package/src/public/operations/check-executor.ts +4 -8
  490. package/src/public/operations/check-helpers.ts +2 -2
  491. package/src/public/operations/contracts.ts +78 -34
  492. package/src/public/operations/discovery-entities.ts +53 -0
  493. package/src/public/operations/discovery-executors.ts +64 -48
  494. package/src/public/operations/index.ts +1 -1
  495. package/src/public/operations/migration-plan.ts +32 -25
  496. package/src/public/operations/node-ports.ts +6 -6
  497. package/src/public/operations/prolog-json.ts +13 -5
  498. package/src/public/operations/repair-plan.ts +60 -23
  499. package/src/public/operations/result-envelope.ts +15 -10
  500. package/src/public/operations/runtime-types.ts +26 -2
  501. package/src/public/operations/specs/check-rules.generated.ts +38 -0
  502. package/src/public/operations/specs/check.ts +12 -21
  503. package/src/public/operations/specs/discovery.ts +3 -0
  504. package/src/public/operations/specs/mutation-schemas.ts +22 -9
  505. package/src/public/operations/specs/planning.ts +7 -0
  506. package/src/public/operations/specs/proof.ts +43 -0
  507. package/src/public/operations/specs/reporting.ts +140 -13
  508. package/src/public/operations/specs/semantic.ts +79 -17
  509. package/src/public/operations/symbol-repair-plan.ts +166 -7
  510. package/src/public/operations/types.ts +6 -1
  511. package/src/public/proof-fingerprint.ts +216 -0
  512. package/src/public/proof-protocol-types.d.ts +96 -0
  513. package/src/public/proof-protocol.ts +589 -0
  514. package/src/public/proof-receipt.ts +499 -0
  515. package/src/public/schemas/entity.ts +26 -10
  516. package/src/public/skills/kibi-freshness/SKILL.md +1 -1
  517. package/src/public/skills/kibi-usage/SKILL.md +44 -12
  518. package/src/public/skills/kibi-usage/resources/operation-access.md +1 -1
  519. package/src/public/skills/kibi-usage/resources/proof.md +150 -0
  520. package/src/public/skills/kibi-usage/resources/workflows.md +6 -6
  521. package/src/public/symbol-granularity.generated.ts +74 -0
  522. package/src/public/symbol-granularity.ts +34 -59
  523. package/src/public/telemetry-acceptance-types.d.ts +98 -0
  524. package/src/public/telemetry-acceptance.ts +22 -100
  525. package/src/public/telemetry-remediation.ts +1 -1
  526. package/src/schemas/entity.schema.json +355 -215
  527. package/dist/cli-register-verification.d.ts +0 -3
  528. package/dist/cli-register-verification.d.ts.map +0 -1
  529. package/dist/cli-register-verification.js +0 -16
  530. package/dist/commands/verify.d.ts +0 -10
  531. package/dist/commands/verify.d.ts.map +0 -1
  532. package/dist/commands/verify.js +0 -126
  533. package/dist/operations/verification/ingest-verification.d.ts +0 -29
  534. package/dist/operations/verification/ingest-verification.d.ts.map +0 -1
  535. package/dist/operations/verification/ingest-verification.js +0 -192
  536. package/dist/public/operations/specs/verification.d.ts +0 -78
  537. package/dist/public/operations/specs/verification.d.ts.map +0 -1
  538. package/dist/public/operations/specs/verification.js +0 -62
  539. package/dist/public/playwright-case-id.d.ts.map +0 -1
  540. package/dist/public/verification-receipt.d.ts +0 -242
  541. package/dist/public/verification-receipt.d.ts.map +0 -1
  542. package/dist/public/verification-receipt.js +0 -296
  543. package/dist/verification/playwright-reporter.d.ts +0 -21
  544. package/dist/verification/playwright-reporter.d.ts.map +0 -1
  545. package/dist/verification/playwright-reporter.js +0 -114
  546. package/src/public/operations/specs/verification.ts +0 -78
  547. package/src/public/playwright-case-id.ts +0 -35
  548. package/src/public/verification-receipt.ts +0 -412
@@ -0,0 +1,1240 @@
1
+ :root {
2
+ color-scheme: dark;
3
+ --bg: #090d18;
4
+ --surface: rgba(20, 27, 45, 0.86);
5
+ --surface-strong: #151d30;
6
+ --line: rgba(157, 171, 206, 0.16);
7
+ --text: #f4f7ff;
8
+ --muted: #9ba7c3;
9
+ --violet: #9d84ff;
10
+ --cyan: #5ce1e6;
11
+ --green: #62e6a7;
12
+ --amber: #ffc96b;
13
+ --red: #ff7d90;
14
+ --shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
15
+ font-family: Inter, ui-sans-serif, system-ui, -apple-system,
16
+ BlinkMacSystemFont, "Segoe UI", sans-serif;
17
+ }
18
+ * {
19
+ box-sizing: border-box;
20
+ }
21
+ html {
22
+ scroll-behavior: smooth;
23
+ }
24
+ body {
25
+ margin: 0;
26
+ min-width: 320px;
27
+ color: var(--text);
28
+ background: radial-gradient(
29
+ circle at 12% -10%,
30
+ rgba(93, 74, 190, 0.32),
31
+ transparent 34rem
32
+ ),
33
+ radial-gradient(
34
+ circle at 88% 8%,
35
+ rgba(33, 153, 166, 0.19),
36
+ transparent 30rem
37
+ ), var(--bg);
38
+ }
39
+ body::before {
40
+ position: fixed;
41
+ inset: 0;
42
+ z-index: -1;
43
+ content: "";
44
+ opacity: 0.18;
45
+ background-image: linear-gradient(
46
+ rgba(255, 255, 255, 0.035) 1px,
47
+ transparent 1px
48
+ ), linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
49
+ background-size: 38px 38px;
50
+ mask-image: linear-gradient(to bottom, black, transparent 75%);
51
+ }
52
+ .shell {
53
+ width: min(1160px, calc(100% - 40px));
54
+ margin: 0 auto;
55
+ }
56
+ .topbar {
57
+ display: flex;
58
+ align-items: center;
59
+ justify-content: space-between;
60
+ padding: 34px 0 16px;
61
+ }
62
+ .brand {
63
+ display: flex;
64
+ align-items: center;
65
+ gap: 12px;
66
+ font-weight: 900;
67
+ letter-spacing: .3em;
68
+ }
69
+ .brand__mark {
70
+ display: grid;
71
+ width: 34px;
72
+ height: 34px;
73
+ place-items: center;
74
+ border: 1px solid rgba(157, 132, 255, 0.55);
75
+ border-radius: 11px;
76
+ color: var(--violet);
77
+ background: rgba(157, 132, 255, 0.12);
78
+ box-shadow: inset 0 0 18px rgba(157, 132, 255, 0.12);
79
+ }
80
+ .snapshot {
81
+ color: var(--muted);
82
+ font: 500 12px / 1.4 ui-monospace, SFMono-Regular, Menlo, monospace;
83
+ }
84
+ .hero {
85
+ display: grid;
86
+ grid-template-columns: 1.15fr .85fr;
87
+ gap: 30px;
88
+ align-items: stretch;
89
+ padding: 42px 0 26px;
90
+ }
91
+ .hero__copy,
92
+ .score-card {
93
+ border: 1px solid var(--line);
94
+ border-radius: 28px;
95
+ background: linear-gradient(
96
+ 145deg,
97
+ rgba(25, 33, 54, 0.92),
98
+ rgba(13, 18, 31, 0.82)
99
+ );
100
+ box-shadow: var(--shadow);
101
+ }
102
+ .hero__copy {
103
+ padding: clamp(30px, 5vw, 62px);
104
+ }
105
+ .eyebrow {
106
+ margin: 0 0 17px;
107
+ color: var(--cyan);
108
+ font-size: 12px;
109
+ font-weight: 800;
110
+ letter-spacing: .18em;
111
+ text-transform: uppercase;
112
+ }
113
+ h1 {
114
+ max-width: 720px;
115
+ margin: 0;
116
+ font-size: clamp(42px, 7vw, 76px);
117
+ font-weight: 760;
118
+ letter-spacing: -.055em;
119
+ line-height: 0.98;
120
+ }
121
+ h1 span {
122
+ display: block;
123
+ color: var(--muted);
124
+ font-size: .42em;
125
+ font-weight: 620;
126
+ letter-spacing: -.025em;
127
+ line-height: 1.4;
128
+ }
129
+ .hero__lede {
130
+ max-width: 620px;
131
+ margin: 25px 0 0;
132
+ color: #bdc6dc;
133
+ font-size: 17px;
134
+ line-height: 1.65;
135
+ }
136
+ .score-card {
137
+ display: grid;
138
+ min-height: 340px;
139
+ padding: 38px;
140
+ place-items: center;
141
+ text-align: center;
142
+ }
143
+ .score-ring {
144
+ --score: 0%;
145
+ position: relative;
146
+ display: grid;
147
+ width: 220px;
148
+ aspect-ratio: 1;
149
+ place-items: center;
150
+ border-radius: 50%;
151
+ background: conic-gradient(
152
+ var(--green) var(--score),
153
+ rgba(255, 255, 255, 0.08) 0
154
+ );
155
+ box-shadow: 0 0 60px rgba(98, 230, 167, 0.12);
156
+ }
157
+ .score-ring::before {
158
+ position: absolute;
159
+ width: 178px;
160
+ aspect-ratio: 1;
161
+ content: "";
162
+ border: 1px solid var(--line);
163
+ border-radius: inherit;
164
+ background: #111827;
165
+ }
166
+ .score-ring__value {
167
+ position: relative;
168
+ font-size: 52px;
169
+ font-weight: 820;
170
+ letter-spacing: -.06em;
171
+ }
172
+ .score-ring__value span {
173
+ margin-left: 2px;
174
+ color: var(--muted);
175
+ font-size: 22px;
176
+ }
177
+ .score-card p {
178
+ position: relative;
179
+ margin: 13px 0 0;
180
+ color: var(--muted);
181
+ font-size: 13px;
182
+ font-weight: 750;
183
+ letter-spacing: .12em;
184
+ text-transform: uppercase;
185
+ }
186
+ .snapshot-notice {
187
+ display: flex;
188
+ gap: 14px;
189
+ align-items: center;
190
+ margin: 3px 0 23px;
191
+ padding: 15px 18px;
192
+ border: 1px solid rgba(255, 201, 107, 0.3);
193
+ border-radius: 15px;
194
+ color: #f8dfb2;
195
+ background: rgba(255, 201, 107, 0.08);
196
+ }
197
+ .snapshot-notice strong {
198
+ flex: none;
199
+ color: var(--amber);
200
+ font-size: 12px;
201
+ letter-spacing: .08em;
202
+ text-transform: uppercase;
203
+ }
204
+ .metrics {
205
+ display: grid;
206
+ grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
207
+ overflow: hidden;
208
+ margin: 0 0 62px;
209
+ border: 1px solid var(--line);
210
+ border-radius: 20px;
211
+ background: rgba(18, 25, 42, 0.74);
212
+ box-shadow: var(--shadow);
213
+ }
214
+ .metric {
215
+ min-width: 0;
216
+ padding: 22px 20px;
217
+ border-right: 1px solid var(--line);
218
+ border-bottom: 1px solid var(--line);
219
+ }
220
+ .metric:last-child {
221
+ border-right: 0;
222
+ }
223
+ .metric span {
224
+ display: block;
225
+ min-height: 32px;
226
+ color: var(--muted);
227
+ font-size: 12px;
228
+ line-height: 1.35;
229
+ }
230
+ .metric strong {
231
+ display: block;
232
+ margin-top: 6px;
233
+ font-size: 30px;
234
+ letter-spacing: -.035em;
235
+ }
236
+ .metric--good strong {
237
+ color: var(--green);
238
+ }
239
+ .metric--warn strong {
240
+ color: var(--amber);
241
+ }
242
+ .metric--bad strong {
243
+ color: var(--red);
244
+ }
245
+ .section-header {
246
+ display: flex;
247
+ gap: 24px;
248
+ align-items: end;
249
+ justify-content: space-between;
250
+ margin-bottom: 24px;
251
+ }
252
+ .section-header h2 {
253
+ margin: 0;
254
+ font-size: clamp(29px, 4vw, 42px);
255
+ letter-spacing: -.04em;
256
+ }
257
+ .section-header p {
258
+ max-width: 590px;
259
+ margin: 8px 0 0;
260
+ color: var(--muted);
261
+ line-height: 1.55;
262
+ }
263
+ .controls {
264
+ position: sticky;
265
+ top: 12px;
266
+ z-index: 4;
267
+ display: flex;
268
+ gap: 12px;
269
+ margin: 0 0 24px;
270
+ padding: 12px;
271
+ border: 1px solid var(--line);
272
+ border-radius: 18px;
273
+ background: rgba(9, 13, 24, 0.86);
274
+ box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
275
+ backdrop-filter: blur(18px);
276
+ }
277
+ .search {
278
+ min-width: 180px;
279
+ flex: 1;
280
+ padding: 12px 15px;
281
+ border: 1px solid var(--line);
282
+ border-radius: 12px;
283
+ outline: none;
284
+ color: var(--text);
285
+ background: rgba(255, 255, 255, 0.045);
286
+ font: inherit;
287
+ }
288
+ .search:focus {
289
+ border-color: var(--violet);
290
+ box-shadow: 0 0 0 3px rgba(157, 132, 255, 0.12);
291
+ }
292
+ .filters {
293
+ display: flex;
294
+ gap: 7px;
295
+ overflow-x: auto;
296
+ }
297
+ .filter {
298
+ padding: 10px 13px;
299
+ border: 1px solid transparent;
300
+ border-radius: 11px;
301
+ color: var(--muted);
302
+ background: transparent;
303
+ cursor: pointer;
304
+ font: inherit;
305
+ font-size: 12px;
306
+ font-weight: 650;
307
+ white-space: nowrap;
308
+ }
309
+ .filter:hover {
310
+ color: var(--text);
311
+ background: rgba(255, 255, 255, 0.05);
312
+ }
313
+ .filter[aria-pressed="true"] {
314
+ border-color: rgba(157, 132, 255, 0.38);
315
+ color: #ddd5ff;
316
+ background: rgba(157, 132, 255, 0.14);
317
+ }
318
+ .requirements {
319
+ display: grid;
320
+ grid-template-columns: repeat(2, minmax(0, 1fr));
321
+ gap: 18px;
322
+ padding-bottom: 80px;
323
+ }
324
+ .requirement {
325
+ position: relative;
326
+ overflow: hidden;
327
+ padding: 25px;
328
+ border: 1px solid var(--line);
329
+ border-radius: 20px;
330
+ background: linear-gradient(
331
+ 145deg,
332
+ rgba(22, 30, 50, 0.94),
333
+ rgba(15, 21, 36, 0.9)
334
+ );
335
+ box-shadow: 0 16px 45px rgba(0, 0, 0, 0.2);
336
+ }
337
+ .requirement::before {
338
+ position: absolute;
339
+ inset: 0 auto 0 0;
340
+ width: 3px;
341
+ content: "";
342
+ background: var(--amber);
343
+ }
344
+ .requirement--proven::before {
345
+ background: var(--green);
346
+ }
347
+ .requirement--unresolved::before {
348
+ background: var(--red);
349
+ }
350
+ .requirement[hidden] {
351
+ display: none;
352
+ }
353
+ .requirement__header {
354
+ display: flex;
355
+ gap: 18px;
356
+ align-items: start;
357
+ justify-content: space-between;
358
+ }
359
+ .requirement__id {
360
+ margin-bottom: 7px;
361
+ color: var(--muted);
362
+ font: 700 11px / 1.2 ui-monospace, SFMono-Regular, Menlo, monospace;
363
+ letter-spacing: .05em;
364
+ }
365
+ .requirement h3 {
366
+ margin: 0;
367
+ font-size: 20px;
368
+ line-height: 1.25;
369
+ letter-spacing: -.02em;
370
+ }
371
+ .proof-badge {
372
+ flex: none;
373
+ padding: 7px 9px;
374
+ border: 1px solid rgba(255, 201, 107, 0.25);
375
+ border-radius: 999px;
376
+ color: var(--amber);
377
+ background: rgba(255, 201, 107, 0.08);
378
+ font-size: 10px;
379
+ font-weight: 800;
380
+ letter-spacing: .07em;
381
+ text-transform: uppercase;
382
+ }
383
+ .proof-badge--proven {
384
+ border-color: rgba(98, 230, 167, 0.25);
385
+ color: var(--green);
386
+ background: rgba(98, 230, 167, 0.08);
387
+ }
388
+ .proof-badge--unresolved {
389
+ border-color: rgba(255, 125, 144, 0.25);
390
+ color: var(--red);
391
+ background: rgba(255, 125, 144, 0.08);
392
+ }
393
+ .stages {
394
+ display: grid;
395
+ gap: 9px;
396
+ margin: 24px 0 0;
397
+ padding: 0;
398
+ list-style: none;
399
+ }
400
+ .stage {
401
+ display: grid;
402
+ grid-template-columns: 20px minmax(100px, .7fr) 1.3fr;
403
+ gap: 8px;
404
+ align-items: baseline;
405
+ }
406
+ .stage__icon {
407
+ display: grid;
408
+ width: 17px;
409
+ height: 17px;
410
+ place-items: center;
411
+ border-radius: 50%;
412
+ color: #08130e;
413
+ background: var(--green);
414
+ font-size: 11px;
415
+ font-weight: 900;
416
+ }
417
+ .stage--warning .stage__icon {
418
+ color: #241602;
419
+ background: var(--amber);
420
+ }
421
+ .stage--failed .stage__icon {
422
+ color: #24080c;
423
+ background: var(--red);
424
+ }
425
+ .stage--muted .stage__icon {
426
+ color: var(--muted);
427
+ background: rgba(255, 255, 255, 0.08);
428
+ }
429
+ .stage__label {
430
+ font-size: 13px;
431
+ font-weight: 720;
432
+ }
433
+ .stage__detail {
434
+ color: var(--muted);
435
+ font-size: 12px;
436
+ line-height: 1.45;
437
+ }
438
+ .contradiction {
439
+ margin-top: 21px;
440
+ padding: 16px;
441
+ border: 1px solid rgba(255, 125, 144, 0.24);
442
+ border-radius: 14px;
443
+ background: rgba(255, 125, 144, 0.07);
444
+ }
445
+ .contradiction__eyebrow {
446
+ color: var(--red);
447
+ font-size: 10px;
448
+ font-weight: 850;
449
+ letter-spacing: .1em;
450
+ text-transform: uppercase;
451
+ }
452
+ .contradiction__values {
453
+ display: flex;
454
+ gap: 11px;
455
+ align-items: center;
456
+ margin-top: 9px;
457
+ font: 750 15px / 1.4 ui-monospace, SFMono-Regular, Menlo, monospace;
458
+ }
459
+ .contradiction__values b {
460
+ color: var(--red);
461
+ }
462
+ .contradiction p {
463
+ margin: 8px 0 0;
464
+ color: #d9a9b1;
465
+ font-size: 12px;
466
+ line-height: 1.5;
467
+ }
468
+ .proof-gaps {
469
+ margin-top: 18px;
470
+ border-top: 1px solid var(--line);
471
+ color: var(--muted);
472
+ font-size: 12px;
473
+ }
474
+ .proof-advisories {
475
+ margin-top: 12px;
476
+ border-top: 1px solid var(--line);
477
+ color: var(--muted);
478
+ font-size: 12px;
479
+ }
480
+ .proof-gaps summary,
481
+ .proof-advisories summary {
482
+ padding-top: 14px;
483
+ cursor: pointer;
484
+ font-weight: 700;
485
+ }
486
+ .proof-gaps ul,
487
+ .proof-advisories ul {
488
+ columns: 2;
489
+ margin: 11px 0 0;
490
+ padding-left: 18px;
491
+ }
492
+ .proof-gaps li,
493
+ .proof-advisories li {
494
+ margin-bottom: 7px;
495
+ break-inside: avoid;
496
+ }
497
+ .empty {
498
+ display: none;
499
+ padding: 70px 20px;
500
+ border: 1px dashed var(--line);
501
+ border-radius: 20px;
502
+ color: var(--muted);
503
+ text-align: center;
504
+ }
505
+ .empty[data-visible="true"] {
506
+ display: block;
507
+ }
508
+ footer {
509
+ display: flex;
510
+ gap: 20px;
511
+ justify-content: space-between;
512
+ padding: 30px 0 48px;
513
+ border-top: 1px solid var(--line);
514
+ color: var(--muted);
515
+ font-size: 12px;
516
+ }
517
+ @media (max-width: 960px) {
518
+ .hero {
519
+ grid-template-columns: 1fr;
520
+ }
521
+ .score-card {
522
+ min-height: 290px;
523
+ }
524
+ .metrics {
525
+ grid-template-columns: repeat(3, 1fr);
526
+ }
527
+ .metric:nth-child(3) {
528
+ border-right: 0;
529
+ }
530
+ .metric:nth-child(-n + 3) {
531
+ border-bottom: 1px solid var(--line);
532
+ }
533
+ }
534
+ @media (max-width: 760px) {
535
+ .shell {
536
+ width: min(100% - 24px, 1160px);
537
+ }
538
+ .topbar {
539
+ padding-top: 22px;
540
+ }
541
+ .hero {
542
+ padding-top: 20px;
543
+ }
544
+ .hero__copy,
545
+ .score-card {
546
+ border-radius: 22px;
547
+ }
548
+ .requirements {
549
+ grid-template-columns: 1fr;
550
+ }
551
+ .section-header {
552
+ align-items: start;
553
+ flex-direction: column;
554
+ }
555
+ .controls {
556
+ align-items: stretch;
557
+ flex-direction: column;
558
+ }
559
+ .filters {
560
+ padding-bottom: 2px;
561
+ }
562
+ footer {
563
+ flex-direction: column;
564
+ }
565
+ }
566
+ @media (max-width: 520px) {
567
+ .metrics {
568
+ grid-template-columns: repeat(2, 1fr);
569
+ }
570
+ .metric {
571
+ border-bottom: 1px solid var(--line);
572
+ }
573
+ .metric:nth-child(2n) {
574
+ border-right: 0;
575
+ }
576
+ .metric:nth-last-child(-n + 2) {
577
+ border-bottom: 0;
578
+ }
579
+ .stage {
580
+ grid-template-columns: 20px 1fr;
581
+ }
582
+ .stage__detail {
583
+ grid-column: 2;
584
+ }
585
+ .proof-gaps ul {
586
+ columns: 1;
587
+ }
588
+ }
589
+ @media print {
590
+ body {
591
+ background: #fff;
592
+ color: #111827;
593
+ }
594
+ body::before,
595
+ .controls {
596
+ display: none;
597
+ }
598
+ .hero__copy,
599
+ .score-card,
600
+ .metrics,
601
+ .requirement {
602
+ border-color: #d9deea;
603
+ color: #111827;
604
+ background: #fff;
605
+ box-shadow: none;
606
+ break-inside: avoid;
607
+ }
608
+ .requirements {
609
+ display: block;
610
+ }
611
+ .requirement {
612
+ margin-bottom: 14px;
613
+ }
614
+ .hero__lede,
615
+ .metric span,
616
+ .stage__detail,
617
+ .section-header p,
618
+ footer {
619
+ color: #59647a;
620
+ }
621
+ }
622
+
623
+ /* Kibi proof-rail identity. Tokens mirror assets/logo.svg and assets/wordmark.svg. */
624
+ :root {
625
+ --carbon: __KIBI_CARBON__;
626
+ --deep-carbon: __KIBI_DEEP_CARBON__;
627
+ --panel: __KIBI_PANEL__;
628
+ --ice: __KIBI_ICE__;
629
+ --signal: __KIBI_SIGNAL__;
630
+ --snow: __KIBI_SNOW__;
631
+ --mist: __KIBI_MIST__;
632
+ --rail: __KIBI_RAIL__;
633
+ --success: __KIBI_SUCCESS__;
634
+ --warning: __KIBI_WARNING__;
635
+ --danger: __KIBI_DANGER__;
636
+ --line: rgba(162, 211, 244, 0.16);
637
+ --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
638
+ font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
639
+ "Segoe UI", sans-serif;
640
+ }
641
+ body {
642
+ color: var(--snow);
643
+ background: var(--deep-carbon);
644
+ }
645
+ body::before {
646
+ position: fixed;
647
+ inset: 0 0 auto;
648
+ z-index: -1;
649
+ height: 4px;
650
+ content: "";
651
+ opacity: 1;
652
+ background: linear-gradient(90deg, var(--ice) 0 17%, var(--signal) 17% 100%);
653
+ mask-image: none;
654
+ }
655
+ .shell {
656
+ width: min(1180px, calc(100% - 40px));
657
+ }
658
+ .topbar {
659
+ padding: 30px 0 20px;
660
+ border-bottom: 1px solid var(--line);
661
+ }
662
+ .brand {
663
+ gap: 13px;
664
+ letter-spacing: normal;
665
+ }
666
+ .brand__logo {
667
+ width: 42px;
668
+ height: 42px;
669
+ flex: none;
670
+ }
671
+ .brand__wordmark {
672
+ width: 86px;
673
+ height: auto;
674
+ }
675
+ .brand__product {
676
+ padding-left: 14px;
677
+ border-left: 1px solid var(--rail);
678
+ color: var(--mist);
679
+ font-size: 12px;
680
+ font-weight: 700;
681
+ letter-spacing: .08em;
682
+ text-transform: uppercase;
683
+ }
684
+ .snapshot {
685
+ max-width: min(52vw, 420px);
686
+ overflow: hidden;
687
+ color: var(--mist);
688
+ font: 500 11px / 1.4 var(--mono);
689
+ text-align: right;
690
+ text-overflow: ellipsis;
691
+ }
692
+ .snapshot a,
693
+ .source-link,
694
+ .cta {
695
+ color: var(--ice);
696
+ text-decoration: underline;
697
+ text-decoration-thickness: 1px;
698
+ text-underline-offset: 2px;
699
+ }
700
+ .snapshot a:hover,
701
+ .source-link:hover,
702
+ .cta:hover {
703
+ color: var(--snow);
704
+ }
705
+ .relative-age::before {
706
+ content: " · ";
707
+ }
708
+ .relative-age:empty::before {
709
+ content: none;
710
+ }
711
+ .overview {
712
+ display: grid;
713
+ grid-template-columns: minmax(0, 1fr) auto;
714
+ gap: 36px;
715
+ align-items: end;
716
+ padding: clamp(38px, 7vw, 76px) 0 32px;
717
+ }
718
+ .eyebrow {
719
+ margin: 0 0 12px;
720
+ color: var(--ice);
721
+ font: 750 11px / 1.4 var(--mono);
722
+ letter-spacing: .12em;
723
+ }
724
+ h1 {
725
+ margin: 0;
726
+ font-size: clamp(38px, 6vw, 68px);
727
+ font-weight: 720;
728
+ letter-spacing: -.052em;
729
+ line-height: 1;
730
+ }
731
+ .overview__copy {
732
+ max-width: 700px;
733
+ }
734
+ .overview__copy p:last-child {
735
+ max-width: 660px;
736
+ margin: 19px 0 0;
737
+ color: var(--mist);
738
+ font-size: 16px;
739
+ line-height: 1.65;
740
+ }
741
+ .score {
742
+ min-width: 220px;
743
+ padding-left: 30px;
744
+ border-left: 2px solid var(--signal);
745
+ text-align: right;
746
+ }
747
+ .score__value {
748
+ color: var(--snow);
749
+ font: 760 clamp(62px, 9vw, 104px) / 0.84 var(--mono);
750
+ letter-spacing: -.09em;
751
+ }
752
+ .score__value span {
753
+ color: var(--ice);
754
+ font-size: .38em;
755
+ letter-spacing: -.04em;
756
+ }
757
+ .score__label {
758
+ margin-top: 17px;
759
+ color: var(--ice);
760
+ font-size: 12px;
761
+ font-weight: 760;
762
+ letter-spacing: .12em;
763
+ text-transform: uppercase;
764
+ }
765
+ .score__ratio {
766
+ margin-top: 6px;
767
+ color: var(--mist);
768
+ font: 500 12px / 1.4 var(--mono);
769
+ }
770
+ .score__note {
771
+ max-width: 260px;
772
+ margin: 10px 0 0 auto;
773
+ color: var(--mist);
774
+ font-size: 11px;
775
+ font-weight: 500;
776
+ letter-spacing: 0;
777
+ line-height: 1.45;
778
+ text-transform: none;
779
+ }
780
+ .snapshot-notice {
781
+ margin: 0 0 22px;
782
+ padding: 14px 16px;
783
+ border-color: rgba(242, 184, 75, 0.4);
784
+ border-radius: 9px;
785
+ color: var(--snow);
786
+ background: rgba(242, 184, 75, 0.08);
787
+ }
788
+ .snapshot-notice strong {
789
+ color: var(--warning);
790
+ font: 750 11px / 1.4 var(--mono);
791
+ }
792
+ .proof-path {
793
+ margin-bottom: 20px;
794
+ padding: 24px 26px 22px;
795
+ border: 1px solid var(--line);
796
+ border-radius: 14px;
797
+ background: var(--carbon);
798
+ }
799
+ .proof-path__header {
800
+ display: flex;
801
+ gap: 24px;
802
+ align-items: start;
803
+ justify-content: space-between;
804
+ margin-bottom: 25px;
805
+ }
806
+ .proof-path__header h2 {
807
+ margin: 0;
808
+ font-size: 19px;
809
+ letter-spacing: -.02em;
810
+ }
811
+ .proof-path__header p {
812
+ max-width: 510px;
813
+ margin: 0;
814
+ color: var(--mist);
815
+ font-size: 12px;
816
+ line-height: 1.55;
817
+ text-align: right;
818
+ }
819
+ .proof-rail {
820
+ display: grid;
821
+ grid-template-columns: repeat(5, minmax(0, 1fr));
822
+ margin: 0;
823
+ padding: 0;
824
+ list-style: none;
825
+ }
826
+ .proof-rail > li {
827
+ min-width: 0;
828
+ }
829
+ .proof-gate {
830
+ position: relative;
831
+ display: block;
832
+ width: 100%;
833
+ min-width: 0;
834
+ margin: 0;
835
+ padding: 25px 18px 0 0;
836
+ border: 0;
837
+ border-top: 2px solid var(--signal);
838
+ border-radius: 0;
839
+ color: inherit;
840
+ background: transparent;
841
+ font: inherit;
842
+ text-align: left;
843
+ cursor: pointer;
844
+ }
845
+ .proof-gate:last-child,
846
+ .proof-rail > li:last-child .proof-gate {
847
+ padding-right: 0;
848
+ }
849
+ .proof-gate:focus-visible {
850
+ outline: 2px solid var(--ice);
851
+ outline-offset: 4px;
852
+ }
853
+ .proof-gate[aria-pressed="true"] {
854
+ background: rgba(62, 142, 214, 0.1);
855
+ }
856
+ .proof-gate__node {
857
+ position: absolute;
858
+ top: -10px;
859
+ left: 0;
860
+ display: grid;
861
+ width: 19px;
862
+ height: 19px;
863
+ place-items: center;
864
+ border: 2px solid var(--ice);
865
+ border-radius: 50%;
866
+ color: var(--deep-carbon);
867
+ background: var(--ice);
868
+ font: 800 9px / 1 var(--mono);
869
+ }
870
+ .proof-gate--blocked {
871
+ border-top-color: var(--rail);
872
+ }
873
+ .proof-gate--blocked .proof-gate__node {
874
+ border-color: var(--danger);
875
+ color: var(--danger);
876
+ background: var(--carbon);
877
+ }
878
+ .proof-gate__count {
879
+ font: 750 28px / 1 var(--mono);
880
+ letter-spacing: -.05em;
881
+ }
882
+ .proof-gate__label {
883
+ margin-top: 8px;
884
+ font-size: 13px;
885
+ font-weight: 720;
886
+ }
887
+ .proof-gate__drop {
888
+ min-height: 17px;
889
+ margin-top: 5px;
890
+ color: var(--warning);
891
+ font: 650 10px / 1.4 var(--mono);
892
+ }
893
+ .proof-gate p {
894
+ margin: 7px 0 0;
895
+ color: var(--mist);
896
+ font-size: 11px;
897
+ line-height: 1.45;
898
+ }
899
+ .metrics {
900
+ margin: 0 0 62px;
901
+ border-color: var(--line);
902
+ border-radius: 12px;
903
+ background: var(--panel);
904
+ box-shadow: none;
905
+ }
906
+ .metric {
907
+ position: relative;
908
+ padding: 18px 17px;
909
+ border-color: var(--line);
910
+ }
911
+ .metric::before {
912
+ position: absolute;
913
+ top: 0;
914
+ left: 17px;
915
+ width: 28px;
916
+ height: 2px;
917
+ content: "";
918
+ background: var(--signal);
919
+ }
920
+ .metric span {
921
+ min-height: 31px;
922
+ color: var(--mist);
923
+ font-size: 11px;
924
+ }
925
+ .metric strong {
926
+ margin-top: 4px;
927
+ font: 720 26px / 1 var(--mono);
928
+ letter-spacing: -.04em;
929
+ }
930
+ .metric--good strong {
931
+ color: var(--success);
932
+ }
933
+ .metric--warn strong {
934
+ color: var(--warning);
935
+ }
936
+ .metric--bad strong {
937
+ color: var(--danger);
938
+ }
939
+ .section-header p {
940
+ color: var(--mist);
941
+ }
942
+ .controls {
943
+ margin-bottom: 18px;
944
+ padding: 10px;
945
+ border-color: var(--line);
946
+ border-radius: 12px;
947
+ background: rgba(17, 19, 24, 0.94);
948
+ box-shadow: none;
949
+ backdrop-filter: blur(14px);
950
+ }
951
+ .search {
952
+ padding: 11px 13px;
953
+ border-color: var(--rail);
954
+ border-radius: 8px;
955
+ color: var(--snow);
956
+ background: var(--carbon);
957
+ }
958
+ .search:focus {
959
+ border-color: var(--ice);
960
+ box-shadow: 0 0 0 3px rgba(162, 211, 244, 0.1);
961
+ }
962
+ .filters {
963
+ gap: 6px;
964
+ }
965
+ .filter {
966
+ padding: 9px 11px;
967
+ border-radius: 7px;
968
+ color: var(--mist);
969
+ font: 650 11px / 1.4 var(--mono);
970
+ }
971
+ .filter:hover {
972
+ color: var(--snow);
973
+ background: rgba(162, 211, 244, 0.06);
974
+ }
975
+ .filter[aria-pressed="true"] {
976
+ border-color: rgba(162, 211, 244, 0.35);
977
+ color: var(--ice);
978
+ background: rgba(62, 142, 214, 0.13);
979
+ }
980
+ .filter:focus-visible {
981
+ outline: 2px solid var(--ice);
982
+ outline-offset: 2px;
983
+ }
984
+ .cta:focus-visible,
985
+ .source-link:focus-visible,
986
+ .snapshot a:focus-visible {
987
+ outline: 2px solid var(--ice);
988
+ outline-offset: 2px;
989
+ }
990
+ .requirements {
991
+ grid-template-columns: 1fr;
992
+ gap: 13px;
993
+ }
994
+ .requirement {
995
+ padding: 22px 24px 20px;
996
+ border-color: var(--line);
997
+ border-radius: 12px;
998
+ background: var(--panel);
999
+ box-shadow: none;
1000
+ }
1001
+ .requirement::before {
1002
+ background: var(--warning);
1003
+ }
1004
+ .requirement--proven::before {
1005
+ background: var(--success);
1006
+ }
1007
+ .requirement--unresolved::before {
1008
+ background: var(--danger);
1009
+ }
1010
+ .requirement__id {
1011
+ color: var(--ice);
1012
+ font: 700 10px / 1.2 var(--mono);
1013
+ letter-spacing: .07em;
1014
+ }
1015
+ .requirement h3 {
1016
+ font-size: 18px;
1017
+ line-height: 1.3;
1018
+ }
1019
+ .proof-badge {
1020
+ padding: 6px 8px;
1021
+ border-color: rgba(242, 184, 75, 0.3);
1022
+ border-radius: 6px;
1023
+ color: var(--warning);
1024
+ background: rgba(242, 184, 75, 0.07);
1025
+ font: 800 9px / 1.2 var(--mono);
1026
+ }
1027
+ .proof-badge--proven {
1028
+ border-color: rgba(99, 201, 154, 0.3);
1029
+ color: var(--success);
1030
+ background: rgba(99, 201, 154, 0.07);
1031
+ }
1032
+ .proof-badge--unresolved {
1033
+ border-color: rgba(240, 113, 120, 0.3);
1034
+ color: var(--danger);
1035
+ background: rgba(240, 113, 120, 0.07);
1036
+ }
1037
+ .stages {
1038
+ grid-template-columns: repeat(5, minmax(0, 1fr));
1039
+ gap: 0;
1040
+ }
1041
+ .stage {
1042
+ position: relative;
1043
+ display: block;
1044
+ min-width: 0;
1045
+ padding: 20px 13px 0 0;
1046
+ border-top: 1px solid var(--rail);
1047
+ }
1048
+ .stage:last-child {
1049
+ padding-right: 0;
1050
+ }
1051
+ .stage__icon {
1052
+ position: absolute;
1053
+ top: -8px;
1054
+ left: 0;
1055
+ width: 16px;
1056
+ height: 16px;
1057
+ border: 1px solid var(--success);
1058
+ color: var(--deep-carbon);
1059
+ background: var(--success);
1060
+ font: 900 10px / 1 var(--mono);
1061
+ }
1062
+ .stage--warning .stage__icon {
1063
+ border-color: var(--warning);
1064
+ color: var(--warning);
1065
+ background: var(--panel);
1066
+ }
1067
+ .stage--failed .stage__icon {
1068
+ border-color: var(--danger);
1069
+ color: var(--danger);
1070
+ background: var(--panel);
1071
+ }
1072
+ .stage--muted .stage__icon {
1073
+ border-color: var(--rail);
1074
+ color: var(--mist);
1075
+ background: var(--panel);
1076
+ }
1077
+ .stage__label {
1078
+ display: block;
1079
+ font-size: 12px;
1080
+ }
1081
+ .stage__detail {
1082
+ display: block;
1083
+ margin-top: 5px;
1084
+ color: var(--mist);
1085
+ font-size: 11px;
1086
+ }
1087
+ .contradiction {
1088
+ border-color: rgba(240, 113, 120, 0.32);
1089
+ border-radius: 9px;
1090
+ background: rgba(240, 113, 120, 0.07);
1091
+ }
1092
+ .contradiction__eyebrow,
1093
+ .contradiction__values b {
1094
+ color: var(--danger);
1095
+ }
1096
+ .contradiction p,
1097
+ .proof-gaps,
1098
+ .proof-advisories {
1099
+ color: var(--mist);
1100
+ }
1101
+ .proof-gaps,
1102
+ .proof-advisories {
1103
+ border-color: var(--line);
1104
+ }
1105
+ .proof-gaps ul,
1106
+ .proof-advisories ul {
1107
+ columns: 3;
1108
+ }
1109
+ .empty {
1110
+ border-color: var(--rail);
1111
+ border-radius: 12px;
1112
+ color: var(--mist);
1113
+ }
1114
+ footer {
1115
+ border-color: var(--line);
1116
+ color: var(--mist);
1117
+ font: 500 11px / 1.5 var(--mono);
1118
+ }
1119
+ .filter__count {
1120
+ margin-left: 6px;
1121
+ color: var(--ice);
1122
+ }
1123
+ .requirement h3 .source-link {
1124
+ color: inherit;
1125
+ }
1126
+ @media (max-width: 960px) {
1127
+ .proof-rail {
1128
+ grid-template-columns: repeat(5, 180px);
1129
+ overflow-x: auto;
1130
+ padding-top: 8px;
1131
+ }
1132
+ .snapshot {
1133
+ max-width: 100%;
1134
+ }
1135
+ }
1136
+ @media (max-width: 760px) {
1137
+ .shell {
1138
+ width: min(100% - 24px, 1180px);
1139
+ }
1140
+ .topbar {
1141
+ align-items: start;
1142
+ flex-wrap: wrap;
1143
+ gap: 12px;
1144
+ }
1145
+ .snapshot {
1146
+ max-width: 100%;
1147
+ text-align: left;
1148
+ }
1149
+ .overview {
1150
+ grid-template-columns: 1fr;
1151
+ gap: 28px;
1152
+ padding-top: 38px;
1153
+ }
1154
+ .score {
1155
+ min-width: 0;
1156
+ padding: 20px 0 0;
1157
+ border-top: 2px solid var(--signal);
1158
+ border-left: 0;
1159
+ text-align: left;
1160
+ }
1161
+ .score__value {
1162
+ font-size: 66px;
1163
+ }
1164
+ .score__note {
1165
+ margin-left: 0;
1166
+ }
1167
+ .proof-path__header {
1168
+ align-items: start;
1169
+ flex-direction: column;
1170
+ }
1171
+ .proof-path__header p {
1172
+ text-align: left;
1173
+ }
1174
+ .stages {
1175
+ grid-template-columns: 1fr;
1176
+ }
1177
+ .stage {
1178
+ min-height: 66px;
1179
+ margin-left: 8px;
1180
+ padding: 0 0 18px 30px;
1181
+ border-top: 0;
1182
+ border-left: 1px solid var(--rail);
1183
+ }
1184
+ .stage__icon {
1185
+ top: 0;
1186
+ left: -8px;
1187
+ }
1188
+ .proof-gaps ul,
1189
+ .proof-advisories ul {
1190
+ columns: 2;
1191
+ }
1192
+ }
1193
+ @media (max-width: 520px) {
1194
+ .brand__product {
1195
+ display: none;
1196
+ }
1197
+ .proof-path {
1198
+ padding-inline: 18px;
1199
+ }
1200
+ .proof-gaps ul,
1201
+ .proof-advisories ul {
1202
+ columns: 1;
1203
+ }
1204
+ }
1205
+ @media print {
1206
+ :root {
1207
+ color-scheme: light;
1208
+ }
1209
+ body {
1210
+ color: #17202a;
1211
+ background: #fff;
1212
+ }
1213
+ .topbar,
1214
+ .proof-path,
1215
+ .metrics,
1216
+ .requirement {
1217
+ border-color: #cbd5dc;
1218
+ color: #17202a;
1219
+ background: #fff;
1220
+ }
1221
+ .proof-gate,
1222
+ .stage {
1223
+ border-color: #7b8b96;
1224
+ background: transparent;
1225
+ }
1226
+ .proof-gate p,
1227
+ .proof-path__header p,
1228
+ .metric span,
1229
+ .stage__detail,
1230
+ .section-header p,
1231
+ footer,
1232
+ .score__note {
1233
+ color: #4e606c;
1234
+ }
1235
+ .source-link,
1236
+ .cta,
1237
+ .snapshot a {
1238
+ color: inherit;
1239
+ }
1240
+ }