universal-physics-tensor 8.0.0 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (916) hide show
  1. package/README.md +26 -21
  2. package/data/atlas/atlas.json +75 -64
  3. package/data/atlas/atlas.jsonld +1 -1
  4. package/data/atlas/diffusion.json +23 -22
  5. package/data/atlas/oscillators.json +21 -16
  6. package/data/atlas/waves.json +33 -28
  7. package/data/bridge-catalog.json +1356 -1791
  8. package/data/bridge-catalog.schema.json +789 -46
  9. package/data/quantities.json +280 -234
  10. package/data/quantities.schema.json +52 -0
  11. package/data/schemas/atlas-record.v0.json +184 -46
  12. package/data/units.json +1178 -0
  13. package/data/units.schema.json +124 -0
  14. package/dist/atlas/applicability.d.ts.map +1 -1
  15. package/dist/atlas/applicability.js +14 -3
  16. package/dist/atlas/applicability.js.map +1 -1
  17. package/dist/atlas/association.d.ts +1 -1
  18. package/dist/atlas/association.js.map +1 -1
  19. package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -1
  20. package/dist/atlas/benchmark/backend-shapes.js +5 -1
  21. package/dist/atlas/benchmark/backend-shapes.js.map +1 -1
  22. package/dist/atlas/benchmark/baselines.d.ts.map +1 -1
  23. package/dist/atlas/benchmark/baselines.js +8 -0
  24. package/dist/atlas/benchmark/baselines.js.map +1 -1
  25. package/dist/atlas/benchmark/hybrid-retrieval.d.ts +3 -2
  26. package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
  27. package/dist/atlas/benchmark/hybrid-retrieval.js +16 -12
  28. package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
  29. package/dist/atlas/benchmark/leakage.js.map +1 -1
  30. package/dist/atlas/benchmark/loader.js.map +1 -1
  31. package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -1
  32. package/dist/atlas/benchmark/run-atlas.js +14 -2
  33. package/dist/atlas/benchmark/run-atlas.js.map +1 -1
  34. package/dist/atlas/benchmark/stats.d.ts +1 -1
  35. package/dist/atlas/benchmark/stats.d.ts.map +1 -1
  36. package/dist/atlas/benchmark/stats.js +1 -1
  37. package/dist/atlas/benchmark/stats.js.map +1 -1
  38. package/dist/atlas/benchmark/study.js.map +1 -1
  39. package/dist/atlas/benchmark/types.js.map +1 -1
  40. package/dist/atlas/bridge-record.d.ts +4 -4
  41. package/dist/atlas/bridge-record.d.ts.map +1 -1
  42. package/dist/atlas/bridge-record.js +6 -6
  43. package/dist/atlas/bridge-record.js.map +1 -1
  44. package/dist/atlas/catalog-formal-ref.js.map +1 -1
  45. package/dist/atlas/chain-pipeline.d.ts +0 -11
  46. package/dist/atlas/chain-pipeline.d.ts.map +1 -1
  47. package/dist/atlas/chain-pipeline.js +5 -16
  48. package/dist/atlas/chain-pipeline.js.map +1 -1
  49. package/dist/atlas/composition-table.js.map +1 -1
  50. package/dist/atlas/conventions.js.map +1 -1
  51. package/dist/atlas/coverage.d.ts +2 -2
  52. package/dist/atlas/coverage.js.map +1 -1
  53. package/dist/atlas/derivation.js.map +1 -1
  54. package/dist/atlas/derive-evidence.d.ts +6 -4
  55. package/dist/atlas/derive-evidence.d.ts.map +1 -1
  56. package/dist/atlas/derive-evidence.js +7 -2
  57. package/dist/atlas/derive-evidence.js.map +1 -1
  58. package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
  59. package/dist/atlas/diffusion/bridges-closure.js +0 -5
  60. package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
  61. package/dist/atlas/diffusion/bridges.d.ts.map +1 -1
  62. package/dist/atlas/diffusion/bridges.js +0 -3
  63. package/dist/atlas/diffusion/bridges.js.map +1 -1
  64. package/dist/atlas/diffusion/dimensions.js.map +1 -1
  65. package/dist/atlas/diffusion/index.d.ts +1 -1
  66. package/dist/atlas/diffusion/index.d.ts.map +1 -1
  67. package/dist/atlas/diffusion/index.js.map +1 -1
  68. package/dist/atlas/diffusion/models.js.map +1 -1
  69. package/dist/atlas/diffusion/numerics.js.map +1 -1
  70. package/dist/atlas/error-algebra.d.ts +6 -0
  71. package/dist/atlas/error-algebra.d.ts.map +1 -1
  72. package/dist/atlas/error-algebra.js +26 -0
  73. package/dist/atlas/error-algebra.js.map +1 -1
  74. package/dist/atlas/export.d.ts +18 -2
  75. package/dist/atlas/export.d.ts.map +1 -1
  76. package/dist/atlas/export.js +9 -3
  77. package/dist/atlas/export.js.map +1 -1
  78. package/dist/atlas/families.d.ts +19 -2
  79. package/dist/atlas/families.d.ts.map +1 -1
  80. package/dist/atlas/families.js +26 -3
  81. package/dist/atlas/families.js.map +1 -1
  82. package/dist/atlas/family.d.ts +27 -0
  83. package/dist/atlas/family.d.ts.map +1 -0
  84. package/dist/atlas/family.js +12 -0
  85. package/dist/atlas/family.js.map +1 -0
  86. package/dist/atlas/index.d.ts +3 -2
  87. package/dist/atlas/index.d.ts.map +1 -1
  88. package/dist/atlas/index.js +2 -1
  89. package/dist/atlas/index.js.map +1 -1
  90. package/dist/atlas/link-prediction.d.ts +1 -1
  91. package/dist/atlas/link-prediction.d.ts.map +1 -1
  92. package/dist/atlas/link-prediction.js.map +1 -1
  93. package/dist/atlas/model.js.map +1 -1
  94. package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -1
  95. package/dist/atlas/oscillators/bridges-coarse.js +0 -1
  96. package/dist/atlas/oscillators/bridges-coarse.js.map +1 -1
  97. package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
  98. package/dist/atlas/oscillators/bridges-exact.js +0 -3
  99. package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
  100. package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
  101. package/dist/atlas/oscillators/bridges-limits.js +0 -2
  102. package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
  103. package/dist/atlas/oscillators/dimensions.js.map +1 -1
  104. package/dist/atlas/oscillators/index.d.ts +1 -16
  105. package/dist/atlas/oscillators/index.d.ts.map +1 -1
  106. package/dist/atlas/oscillators/index.js.map +1 -1
  107. package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
  108. package/dist/atlas/oscillators/models.js.map +1 -1
  109. package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -1
  110. package/dist/atlas/oscillators/norm-transport.js.map +1 -1
  111. package/dist/atlas/oscillators/norms.js.map +1 -1
  112. package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
  113. package/dist/atlas/oscillators/phase-carriage.js.map +1 -1
  114. package/dist/atlas/oscillators/phase-translation.js.map +1 -1
  115. package/dist/atlas/oscillators/position-translation.js.map +1 -1
  116. package/dist/atlas/oscillators/rejections.js.map +1 -1
  117. package/dist/atlas/path-bound.js.map +1 -1
  118. package/dist/atlas/physjs-entries.generated.d.ts +1601 -220
  119. package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
  120. package/dist/atlas/physjs-entries.generated.js +1854 -345
  121. package/dist/atlas/physjs-entries.generated.js.map +1 -1
  122. package/dist/atlas/physjs-ref.d.ts +151 -117
  123. package/dist/atlas/physjs-ref.d.ts.map +1 -1
  124. package/dist/atlas/physjs-ref.js +244 -211
  125. package/dist/atlas/physjs-ref.js.map +1 -1
  126. package/dist/atlas/physjs-reviewed.d.ts +31 -0
  127. package/dist/atlas/physjs-reviewed.d.ts.map +1 -0
  128. package/dist/atlas/physjs-reviewed.js +194 -0
  129. package/dist/atlas/physjs-reviewed.js.map +1 -0
  130. package/dist/atlas/poster/associations.js.map +1 -1
  131. package/dist/atlas/poster/derivations.js.map +1 -1
  132. package/dist/atlas/poster/statements.js.map +1 -1
  133. package/dist/atlas/proof-target.d.ts +16 -8
  134. package/dist/atlas/proof-target.d.ts.map +1 -1
  135. package/dist/atlas/proof-target.js +34 -31
  136. package/dist/atlas/proof-target.js.map +1 -1
  137. package/dist/atlas/public.d.ts +2 -1
  138. package/dist/atlas/public.d.ts.map +1 -1
  139. package/dist/atlas/public.js +2 -1
  140. package/dist/atlas/public.js.map +1 -1
  141. package/dist/atlas/regime.js.map +1 -1
  142. package/dist/atlas/serialize.d.ts +18 -12
  143. package/dist/atlas/serialize.d.ts.map +1 -1
  144. package/dist/atlas/serialize.js +28 -18
  145. package/dist/atlas/serialize.js.map +1 -1
  146. package/dist/atlas/statement.js.map +1 -1
  147. package/dist/atlas/translation-registry.js.map +1 -1
  148. package/dist/atlas/translation.js.map +1 -1
  149. package/dist/atlas/types.d.ts +9 -2
  150. package/dist/atlas/types.d.ts.map +1 -1
  151. package/dist/atlas/types.js +1 -1
  152. package/dist/atlas/types.js.map +1 -1
  153. package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
  154. package/dist/atlas/waves/bridges-closure.js +0 -3
  155. package/dist/atlas/waves/bridges-closure.js.map +1 -1
  156. package/dist/atlas/waves/bridges.d.ts.map +1 -1
  157. package/dist/atlas/waves/bridges.js +0 -4
  158. package/dist/atlas/waves/bridges.js.map +1 -1
  159. package/dist/atlas/waves/index.d.ts +1 -1
  160. package/dist/atlas/waves/index.d.ts.map +1 -1
  161. package/dist/atlas/waves/index.js.map +1 -1
  162. package/dist/atlas/waves/models.js.map +1 -1
  163. package/dist/atlas/waves/numerics.js.map +1 -1
  164. package/dist/atlas/witness-artifact.js.map +1 -1
  165. package/dist/atlas/witness-dominance.d.ts +4 -3
  166. package/dist/atlas/witness-dominance.d.ts.map +1 -1
  167. package/dist/atlas/witness-dominance.js +15 -5
  168. package/dist/atlas/witness-dominance.js.map +1 -1
  169. package/dist/atlas/witness-numeric.d.ts +8 -4
  170. package/dist/atlas/witness-numeric.d.ts.map +1 -1
  171. package/dist/atlas/witness-numeric.js +27 -2
  172. package/dist/atlas/witness-numeric.js.map +1 -1
  173. package/dist/atlas/witness-result.d.ts +7 -1
  174. package/dist/atlas/witness-result.d.ts.map +1 -1
  175. package/dist/atlas/witness-result.js.map +1 -1
  176. package/dist/atlas/witness-specs.js.map +1 -1
  177. package/dist/atlas/witness-symbolic.js.map +1 -1
  178. package/dist/atlas/witnesses/quantum-support.js.map +1 -1
  179. package/dist/bridges/caller-table.d.ts +1 -1
  180. package/dist/bridges/caller-table.d.ts.map +1 -1
  181. package/dist/bridges/caller-table.js.map +1 -1
  182. package/dist/bridges/carrier-sign.d.ts.map +1 -1
  183. package/dist/bridges/carrier-sign.js +8 -3
  184. package/dist/bridges/carrier-sign.js.map +1 -1
  185. package/dist/bridges/catalog-adapter.d.ts +12 -3
  186. package/dist/bridges/catalog-adapter.d.ts.map +1 -1
  187. package/dist/bridges/catalog-adapter.js +22 -14
  188. package/dist/bridges/catalog-adapter.js.map +1 -1
  189. package/dist/bridges/catalog-load.d.ts +19 -2
  190. package/dist/bridges/catalog-load.d.ts.map +1 -1
  191. package/dist/bridges/catalog-load.js +233 -14
  192. package/dist/bridges/catalog-load.js.map +1 -1
  193. package/dist/bridges/catalog-types.d.ts +96 -27
  194. package/dist/bridges/catalog-types.d.ts.map +1 -1
  195. package/dist/bridges/catalog-types.js.map +1 -1
  196. package/dist/bridges/coefficient-statement.js +1 -5
  197. package/dist/bridges/coefficient-statement.js.map +1 -1
  198. package/dist/bridges/confrontation-coverage.js.map +1 -1
  199. package/dist/bridges/confrontations.d.ts +1 -1
  200. package/dist/bridges/confrontations.d.ts.map +1 -1
  201. package/dist/bridges/confrontations.js +1 -1
  202. package/dist/bridges/confrontations.js.map +1 -1
  203. package/dist/bridges/evaluation-errors.d.ts +89 -0
  204. package/dist/bridges/evaluation-errors.d.ts.map +1 -0
  205. package/dist/bridges/evaluation-errors.js +136 -0
  206. package/dist/bridges/evaluation-errors.js.map +1 -0
  207. package/dist/bridges/evaluator-inputs.d.ts +5 -3
  208. package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
  209. package/dist/bridges/evaluator-inputs.js +24 -24
  210. package/dist/bridges/evaluator-inputs.js.map +1 -1
  211. package/dist/bridges/evaluators.d.ts +48 -8
  212. package/dist/bridges/evaluators.d.ts.map +1 -1
  213. package/dist/bridges/evaluators.js +173 -38
  214. package/dist/bridges/evaluators.js.map +1 -1
  215. package/dist/bridges/expr-parse.d.ts +38 -7
  216. package/dist/bridges/expr-parse.d.ts.map +1 -1
  217. package/dist/bridges/expr-parse.js +129 -156
  218. package/dist/bridges/expr-parse.js.map +1 -1
  219. package/dist/bridges/holds.d.ts +16 -8
  220. package/dist/bridges/holds.d.ts.map +1 -1
  221. package/dist/bridges/holds.js +130 -236
  222. package/dist/bridges/holds.js.map +1 -1
  223. package/dist/bridges/index.d.ts +15 -14
  224. package/dist/bridges/index.d.ts.map +1 -1
  225. package/dist/bridges/index.js +14 -15
  226. package/dist/bridges/index.js.map +1 -1
  227. package/dist/bridges/input-contract.d.ts +65 -0
  228. package/dist/bridges/input-contract.d.ts.map +1 -0
  229. package/dist/bridges/input-contract.js +97 -0
  230. package/dist/bridges/input-contract.js.map +1 -0
  231. package/dist/bridges/membership.d.ts +5 -3
  232. package/dist/bridges/membership.d.ts.map +1 -1
  233. package/dist/bridges/membership.js +5 -6
  234. package/dist/bridges/membership.js.map +1 -1
  235. package/dist/bridges/notices.d.ts +11 -0
  236. package/dist/bridges/notices.d.ts.map +1 -0
  237. package/dist/bridges/notices.js +22 -0
  238. package/dist/bridges/notices.js.map +1 -0
  239. package/dist/bridges/observations/types.js.map +1 -1
  240. package/dist/bridges/rejected.d.ts +11 -17
  241. package/dist/bridges/rejected.d.ts.map +1 -1
  242. package/dist/bridges/rejected.js +13 -68
  243. package/dist/bridges/rejected.js.map +1 -1
  244. package/dist/bridges/relation-eval.d.ts +5 -6
  245. package/dist/bridges/relation-eval.d.ts.map +1 -1
  246. package/dist/bridges/relation-eval.js +9 -38
  247. package/dist/bridges/relation-eval.js.map +1 -1
  248. package/dist/bridges/rhs-registry.js.map +1 -1
  249. package/dist/bridges/sensitivity.d.ts +11 -3
  250. package/dist/bridges/sensitivity.d.ts.map +1 -1
  251. package/dist/bridges/sensitivity.js +24 -10
  252. package/dist/bridges/sensitivity.js.map +1 -1
  253. package/dist/bridges/tensor-index.js.map +1 -1
  254. package/dist/bridges/types.d.ts +1 -7
  255. package/dist/bridges/types.d.ts.map +1 -1
  256. package/dist/bridges/types.js +1 -4
  257. package/dist/bridges/types.js.map +1 -1
  258. package/dist/canonical/canonical-equation.d.ts +31 -0
  259. package/dist/canonical/canonical-equation.d.ts.map +1 -1
  260. package/dist/canonical/canonical-equation.js.map +1 -1
  261. package/dist/canonical/dimensional-fields.js.map +1 -1
  262. package/dist/canonical/entries/_l1-build.js.map +1 -1
  263. package/dist/canonical/entries/atomic.d.ts.map +1 -1
  264. package/dist/canonical/entries/atomic.js +11 -1
  265. package/dist/canonical/entries/atomic.js.map +1 -1
  266. package/dist/canonical/entries/condensed-matter.d.ts.map +1 -1
  267. package/dist/canonical/entries/condensed-matter.js +7 -4
  268. package/dist/canonical/entries/condensed-matter.js.map +1 -1
  269. package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
  270. package/dist/canonical/entries/dimensional-classics.js +50 -2
  271. package/dist/canonical/entries/dimensional-classics.js.map +1 -1
  272. package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
  273. package/dist/canonical/entries/electromagnetism.js +32 -2
  274. package/dist/canonical/entries/electromagnetism.js.map +1 -1
  275. package/dist/canonical/entries/fluids-waves.d.ts.map +1 -1
  276. package/dist/canonical/entries/fluids-waves.js +34 -0
  277. package/dist/canonical/entries/fluids-waves.js.map +1 -1
  278. package/dist/canonical/entries/mechanics.d.ts.map +1 -1
  279. package/dist/canonical/entries/mechanics.js +24 -0
  280. package/dist/canonical/entries/mechanics.js.map +1 -1
  281. package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
  282. package/dist/canonical/entries/nonmonomial.js +42 -24
  283. package/dist/canonical/entries/nonmonomial.js.map +1 -1
  284. package/dist/canonical/entries/relativity.d.ts.map +1 -1
  285. package/dist/canonical/entries/relativity.js +6 -0
  286. package/dist/canonical/entries/relativity.js.map +1 -1
  287. package/dist/canonical/entries/statistical-mechanics.d.ts.map +1 -1
  288. package/dist/canonical/entries/statistical-mechanics.js +24 -5
  289. package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
  290. package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
  291. package/dist/canonical/entries/thermo-nuclear-cosmo.js +15 -0
  292. package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
  293. package/dist/canonical/linkage.d.ts +29 -4
  294. package/dist/canonical/linkage.d.ts.map +1 -1
  295. package/dist/canonical/linkage.js +31 -29
  296. package/dist/canonical/linkage.js.map +1 -1
  297. package/dist/canonical/normal-form.d.ts +0 -8
  298. package/dist/canonical/normal-form.d.ts.map +1 -1
  299. package/dist/canonical/normal-form.js +17 -12
  300. package/dist/canonical/normal-form.js.map +1 -1
  301. package/dist/canonical/registry.js.map +1 -1
  302. package/dist/canonical/residual.js.map +1 -1
  303. package/dist/canonical/seed-l-layer.d.ts +7 -1
  304. package/dist/canonical/seed-l-layer.d.ts.map +1 -1
  305. package/dist/canonical/seed-l-layer.js +7 -1
  306. package/dist/canonical/seed-l-layer.js.map +1 -1
  307. package/dist/canonical/structural.d.ts +21 -0
  308. package/dist/canonical/structural.d.ts.map +1 -1
  309. package/dist/canonical/structural.js +24 -4
  310. package/dist/canonical/structural.js.map +1 -1
  311. package/dist/cases/brownian-sphere.js +4 -4
  312. package/dist/cases/brownian-sphere.js.map +1 -1
  313. package/dist/cases/damped-resonator.js +2 -2
  314. package/dist/cases/damped-resonator.js.map +1 -1
  315. package/dist/cases/index.d.ts +9 -2
  316. package/dist/cases/index.d.ts.map +1 -1
  317. package/dist/cases/index.js +26 -7
  318. package/dist/cases/index.js.map +1 -1
  319. package/dist/cases/kepler-rv.js +6 -6
  320. package/dist/cases/kepler-rv.js.map +1 -1
  321. package/dist/cases/lumped-cooling.js +1 -1
  322. package/dist/cases/lumped-cooling.js.map +1 -1
  323. package/dist/cases/quadrature.js.map +1 -1
  324. package/dist/cases/resistor-noise.js +3 -3
  325. package/dist/cases/resistor-noise.js.map +1 -1
  326. package/dist/cases/skin-depth.js.map +1 -1
  327. package/dist/cases/types.js.map +1 -1
  328. package/dist/cli/args.d.ts +7 -2
  329. package/dist/cli/args.d.ts.map +1 -1
  330. package/dist/cli/args.js +18 -2
  331. package/dist/cli/args.js.map +1 -1
  332. package/dist/cli/bindings.d.ts +13 -0
  333. package/dist/cli/bindings.d.ts.map +1 -0
  334. package/dist/cli/bindings.js +32 -0
  335. package/dist/cli/bindings.js.map +1 -0
  336. package/dist/cli/closed-form-range.js.map +1 -1
  337. package/dist/cli/command.js.map +1 -1
  338. package/dist/cli/commands/_atlas-map.d.ts +3 -3
  339. package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
  340. package/dist/cli/commands/_atlas-map.js +43 -18
  341. package/dist/cli/commands/_atlas-map.js.map +1 -1
  342. package/dist/cli/commands/_atlas-route.js.map +1 -1
  343. package/dist/cli/commands/_discovery-opts.d.ts +2 -1
  344. package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
  345. package/dist/cli/commands/_discovery-opts.js +48 -18
  346. package/dist/cli/commands/_discovery-opts.js.map +1 -1
  347. package/dist/cli/commands/atlas.d.ts.map +1 -1
  348. package/dist/cli/commands/atlas.js +7 -12
  349. package/dist/cli/commands/atlas.js.map +1 -1
  350. package/dist/cli/commands/audit.d.ts.map +1 -1
  351. package/dist/cli/commands/audit.js +13 -21
  352. package/dist/cli/commands/audit.js.map +1 -1
  353. package/dist/cli/commands/axes.js.map +1 -1
  354. package/dist/cli/commands/candidates.d.ts.map +1 -1
  355. package/dist/cli/commands/candidates.js +16 -8
  356. package/dist/cli/commands/candidates.js.map +1 -1
  357. package/dist/cli/commands/canonical.js.map +1 -1
  358. package/dist/cli/commands/chain.js +1 -1
  359. package/dist/cli/commands/chain.js.map +1 -1
  360. package/dist/cli/commands/confront.d.ts.map +1 -1
  361. package/dist/cli/commands/confront.js +22 -14
  362. package/dist/cli/commands/confront.js.map +1 -1
  363. package/dist/cli/commands/connectors.d.ts.map +1 -1
  364. package/dist/cli/commands/connectors.js +8 -9
  365. package/dist/cli/commands/connectors.js.map +1 -1
  366. package/dist/cli/commands/coverage.js.map +1 -1
  367. package/dist/cli/commands/derive.d.ts.map +1 -1
  368. package/dist/cli/commands/derive.js +50 -26
  369. package/dist/cli/commands/derive.js.map +1 -1
  370. package/dist/cli/commands/discover.d.ts.map +1 -1
  371. package/dist/cli/commands/discover.js +18 -13
  372. package/dist/cli/commands/discover.js.map +1 -1
  373. package/dist/cli/commands/eval.d.ts.map +1 -1
  374. package/dist/cli/commands/eval.js +29 -26
  375. package/dist/cli/commands/eval.js.map +1 -1
  376. package/dist/cli/commands/evaluate.d.ts +1 -35
  377. package/dist/cli/commands/evaluate.d.ts.map +1 -1
  378. package/dist/cli/commands/evaluate.js +99 -208
  379. package/dist/cli/commands/evaluate.js.map +1 -1
  380. package/dist/cli/commands/explain.d.ts.map +1 -1
  381. package/dist/cli/commands/explain.js +57 -45
  382. package/dist/cli/commands/explain.js.map +1 -1
  383. package/dist/cli/commands/frontier.js.map +1 -1
  384. package/dist/cli/commands/ground.d.ts.map +1 -1
  385. package/dist/cli/commands/ground.js +41 -11
  386. package/dist/cli/commands/ground.js.map +1 -1
  387. package/dist/cli/commands/index.js.map +1 -1
  388. package/dist/cli/commands/map.d.ts.map +1 -1
  389. package/dist/cli/commands/map.js +84 -92
  390. package/dist/cli/commands/map.js.map +1 -1
  391. package/dist/cli/commands/metric.d.ts.map +1 -1
  392. package/dist/cli/commands/metric.js +53 -15
  393. package/dist/cli/commands/metric.js.map +1 -1
  394. package/dist/cli/commands/path.js +4 -4
  395. package/dist/cli/commands/path.js.map +1 -1
  396. package/dist/cli/commands/predict.js.map +1 -1
  397. package/dist/cli/commands/priority.js.map +1 -1
  398. package/dist/cli/commands/probe.d.ts.map +1 -1
  399. package/dist/cli/commands/probe.js +50 -26
  400. package/dist/cli/commands/probe.js.map +1 -1
  401. package/dist/cli/commands/recover.js +1 -1
  402. package/dist/cli/commands/recover.js.map +1 -1
  403. package/dist/cli/commands/regime.d.ts +5 -4
  404. package/dist/cli/commands/regime.d.ts.map +1 -1
  405. package/dist/cli/commands/regime.js +25 -27
  406. package/dist/cli/commands/regime.js.map +1 -1
  407. package/dist/cli/commands/retrieve.d.ts.map +1 -1
  408. package/dist/cli/commands/retrieve.js +22 -14
  409. package/dist/cli/commands/retrieve.js.map +1 -1
  410. package/dist/cli/commands/search.d.ts.map +1 -1
  411. package/dist/cli/commands/search.js +8 -4
  412. package/dist/cli/commands/search.js.map +1 -1
  413. package/dist/cli/commands/symbolic.d.ts.map +1 -1
  414. package/dist/cli/commands/symbolic.js +14 -7
  415. package/dist/cli/commands/symbolic.js.map +1 -1
  416. package/dist/cli/commands/testplan.js +4 -4
  417. package/dist/cli/commands/testplan.js.map +1 -1
  418. package/dist/cli/conventions.d.ts +6 -7
  419. package/dist/cli/conventions.d.ts.map +1 -1
  420. package/dist/cli/conventions.js +19 -28
  421. package/dist/cli/conventions.js.map +1 -1
  422. package/dist/cli/determination.js.map +1 -1
  423. package/dist/cli/errors.js.map +1 -1
  424. package/dist/cli/euler-guard.d.ts +13 -2
  425. package/dist/cli/euler-guard.d.ts.map +1 -1
  426. package/dist/cli/euler-guard.js +17 -3
  427. package/dist/cli/euler-guard.js.map +1 -1
  428. package/dist/cli/eval-numbers.d.ts +4 -9
  429. package/dist/cli/eval-numbers.d.ts.map +1 -1
  430. package/dist/cli/eval-numbers.js +11 -41
  431. package/dist/cli/eval-numbers.js.map +1 -1
  432. package/dist/cli/expr-print.d.ts +29 -2
  433. package/dist/cli/expr-print.d.ts.map +1 -1
  434. package/dist/cli/expr-print.js +46 -2
  435. package/dist/cli/expr-print.js.map +1 -1
  436. package/dist/cli/flag-help.js.map +1 -1
  437. package/dist/cli/graphs.js.map +1 -1
  438. package/dist/cli/library-defaults.d.ts +19 -0
  439. package/dist/cli/library-defaults.d.ts.map +1 -0
  440. package/dist/cli/library-defaults.js +22 -0
  441. package/dist/cli/library-defaults.js.map +1 -0
  442. package/dist/cli/main.js +7 -3
  443. package/dist/cli/main.js.map +1 -1
  444. package/dist/cli/map-evidence.js.map +1 -1
  445. package/dist/cli/output.d.ts +3 -6
  446. package/dist/cli/output.d.ts.map +1 -1
  447. package/dist/cli/output.js.map +1 -1
  448. package/dist/cli/published-url.d.ts +2 -0
  449. package/dist/cli/published-url.d.ts.map +1 -1
  450. package/dist/cli/published-url.js +5 -0
  451. package/dist/cli/published-url.js.map +1 -1
  452. package/dist/cli/record-reach.d.ts +6 -0
  453. package/dist/cli/record-reach.d.ts.map +1 -1
  454. package/dist/cli/record-reach.js +16 -10
  455. package/dist/cli/record-reach.js.map +1 -1
  456. package/dist/cli/record-tables.d.ts +2 -1
  457. package/dist/cli/record-tables.d.ts.map +1 -1
  458. package/dist/cli/record-tables.js +8 -3
  459. package/dist/cli/record-tables.js.map +1 -1
  460. package/dist/cli/record.d.ts.map +1 -1
  461. package/dist/cli/record.js +31 -12
  462. package/dist/cli/record.js.map +1 -1
  463. package/dist/cli/search-index.d.ts +5 -0
  464. package/dist/cli/search-index.d.ts.map +1 -1
  465. package/dist/cli/search-index.js +12 -1
  466. package/dist/cli/search-index.js.map +1 -1
  467. package/dist/cli/statuses.js.map +1 -1
  468. package/dist/cli/top-level-help.js.map +1 -1
  469. package/dist/cli/version.js.map +1 -1
  470. package/dist/cli-api.d.ts +57 -18
  471. package/dist/cli-api.d.ts.map +1 -1
  472. package/dist/cli-api.js +49 -21
  473. package/dist/cli-api.js.map +1 -1
  474. package/dist/composition/adjudication.d.ts +8 -30
  475. package/dist/composition/adjudication.d.ts.map +1 -1
  476. package/dist/composition/adjudication.js +15 -67
  477. package/dist/composition/adjudication.js.map +1 -1
  478. package/dist/composition/aliases.d.ts +1 -1
  479. package/dist/composition/aliases.d.ts.map +1 -1
  480. package/dist/composition/aliases.js +10 -20
  481. package/dist/composition/aliases.js.map +1 -1
  482. package/dist/composition/audit-coverage.d.ts +2 -0
  483. package/dist/composition/audit-coverage.d.ts.map +1 -1
  484. package/dist/composition/audit-coverage.js.map +1 -1
  485. package/dist/composition/axes.d.ts +12 -0
  486. package/dist/composition/axes.d.ts.map +1 -1
  487. package/dist/composition/axes.js +18 -6
  488. package/dist/composition/axes.js.map +1 -1
  489. package/dist/composition/axis-audit.js.map +1 -1
  490. package/dist/composition/bridge-analysis.d.ts +0 -14
  491. package/dist/composition/bridge-analysis.d.ts.map +1 -1
  492. package/dist/composition/bridge-analysis.js +66 -57
  493. package/dist/composition/bridge-analysis.js.map +1 -1
  494. package/dist/composition/bridge-prediction.d.ts +5 -1
  495. package/dist/composition/bridge-prediction.d.ts.map +1 -1
  496. package/dist/composition/bridge-prediction.js +12 -16
  497. package/dist/composition/bridge-prediction.js.map +1 -1
  498. package/dist/composition/buckingham-filter.js.map +1 -1
  499. package/dist/composition/canonical-compare.d.ts.map +1 -1
  500. package/dist/composition/canonical-compare.js +12 -2
  501. package/dist/composition/canonical-compare.js.map +1 -1
  502. package/dist/composition/canonical-graph.d.ts +15 -18
  503. package/dist/composition/canonical-graph.d.ts.map +1 -1
  504. package/dist/composition/canonical-graph.js +59 -85
  505. package/dist/composition/canonical-graph.js.map +1 -1
  506. package/dist/composition/canonical-json.js.map +1 -1
  507. package/dist/composition/canonical-prefactors.d.ts +10 -29
  508. package/dist/composition/canonical-prefactors.d.ts.map +1 -1
  509. package/dist/composition/canonical-prefactors.js +15 -202
  510. package/dist/composition/canonical-prefactors.js.map +1 -1
  511. package/dist/composition/catalog-graph.d.ts.map +1 -1
  512. package/dist/composition/catalog-graph.js +6 -20
  513. package/dist/composition/catalog-graph.js.map +1 -1
  514. package/dist/composition/chain-candidate.d.ts +2 -0
  515. package/dist/composition/chain-candidate.d.ts.map +1 -1
  516. package/dist/composition/chain-candidate.js +2 -0
  517. package/dist/composition/chain-candidate.js.map +1 -1
  518. package/dist/composition/chain-match.js.map +1 -1
  519. package/dist/composition/chain-regime.js.map +1 -1
  520. package/dist/composition/chain-result.js.map +1 -1
  521. package/dist/composition/compose-surface.js.map +1 -1
  522. package/dist/composition/compose-symbolic.js.map +1 -1
  523. package/dist/composition/compose.d.ts.map +1 -1
  524. package/dist/composition/compose.js +154 -36
  525. package/dist/composition/compose.js.map +1 -1
  526. package/dist/composition/composition-recovery.js.map +1 -1
  527. package/dist/composition/consequence.d.ts.map +1 -1
  528. package/dist/composition/consequence.js +15 -6
  529. package/dist/composition/consequence.js.map +1 -1
  530. package/dist/composition/consistency.js.map +1 -1
  531. package/dist/composition/descriptor.d.ts +1 -1
  532. package/dist/composition/descriptor.d.ts.map +1 -1
  533. package/dist/composition/descriptor.js.map +1 -1
  534. package/dist/composition/dimension-adjacency.js.map +1 -1
  535. package/dist/composition/discovery.d.ts +67 -7
  536. package/dist/composition/discovery.d.ts.map +1 -1
  537. package/dist/composition/discovery.js +83 -23
  538. package/dist/composition/discovery.js.map +1 -1
  539. package/dist/composition/edge.d.ts +19 -22
  540. package/dist/composition/edge.d.ts.map +1 -1
  541. package/dist/composition/edge.js +25 -28
  542. package/dist/composition/edge.js.map +1 -1
  543. package/dist/composition/enumerate.d.ts +2 -2
  544. package/dist/composition/enumerate.d.ts.map +1 -1
  545. package/dist/composition/enumerate.js.map +1 -1
  546. package/dist/composition/evaluate-relation.d.ts +29 -5
  547. package/dist/composition/evaluate-relation.d.ts.map +1 -1
  548. package/dist/composition/evaluate-relation.js +100 -72
  549. package/dist/composition/evaluate-relation.js.map +1 -1
  550. package/dist/composition/explain.d.ts +14 -4
  551. package/dist/composition/explain.d.ts.map +1 -1
  552. package/dist/composition/explain.js +53 -19
  553. package/dist/composition/explain.js.map +1 -1
  554. package/dist/composition/expr-eval.d.ts.map +1 -1
  555. package/dist/composition/expr-eval.js +2 -1
  556. package/dist/composition/expr-eval.js.map +1 -1
  557. package/dist/composition/expr-simplify.d.ts.map +1 -1
  558. package/dist/composition/expr-simplify.js +9 -39
  559. package/dist/composition/expr-simplify.js.map +1 -1
  560. package/dist/composition/expr-subst.js.map +1 -1
  561. package/dist/composition/formula-shape.d.ts +9 -0
  562. package/dist/composition/formula-shape.d.ts.map +1 -1
  563. package/dist/composition/formula-shape.js +54 -0
  564. package/dist/composition/formula-shape.js.map +1 -1
  565. package/dist/composition/frontier-account.d.ts +3 -2
  566. package/dist/composition/frontier-account.d.ts.map +1 -1
  567. package/dist/composition/frontier-account.js +7 -3
  568. package/dist/composition/frontier-account.js.map +1 -1
  569. package/dist/composition/graph-viz-svg.js.map +1 -1
  570. package/dist/composition/graph-viz.js.map +1 -1
  571. package/dist/composition/grounding.js.map +1 -1
  572. package/dist/composition/identifiability.js.map +1 -1
  573. package/dist/composition/index.d.ts +9 -5
  574. package/dist/composition/index.d.ts.map +1 -1
  575. package/dist/composition/index.js +7 -4
  576. package/dist/composition/index.js.map +1 -1
  577. package/dist/composition/mathts-quiet.d.ts +28 -0
  578. package/dist/composition/mathts-quiet.d.ts.map +1 -0
  579. package/dist/composition/mathts-quiet.js +56 -0
  580. package/dist/composition/mathts-quiet.js.map +1 -0
  581. package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -1
  582. package/dist/composition/mathts-scalar-symbols.js +18 -34
  583. package/dist/composition/mathts-scalar-symbols.js.map +1 -1
  584. package/dist/composition/not-composable-seeds.d.ts +3 -1
  585. package/dist/composition/not-composable-seeds.d.ts.map +1 -1
  586. package/dist/composition/not-composable-seeds.js +2 -0
  587. package/dist/composition/not-composable-seeds.js.map +1 -1
  588. package/dist/composition/probe/backend-protocol.js.map +1 -1
  589. package/dist/composition/probe/candidate-store.js.map +1 -1
  590. package/dist/composition/probe/corpus.js.map +1 -1
  591. package/dist/composition/probe/dataset.js.map +1 -1
  592. package/dist/composition/probe/experiment-design.js.map +1 -1
  593. package/dist/composition/probe/expression-gaps.js.map +1 -1
  594. package/dist/composition/probe/falsify.d.ts +14 -3
  595. package/dist/composition/probe/falsify.d.ts.map +1 -1
  596. package/dist/composition/probe/falsify.js +14 -27
  597. package/dist/composition/probe/falsify.js.map +1 -1
  598. package/dist/composition/probe/fingerprint.js.map +1 -1
  599. package/dist/composition/probe/fit.d.ts +1 -1
  600. package/dist/composition/probe/fit.d.ts.map +1 -1
  601. package/dist/composition/probe/fit.js +2 -1
  602. package/dist/composition/probe/fit.js.map +1 -1
  603. package/dist/composition/probe/frontier.js.map +1 -1
  604. package/dist/composition/probe/generator.js.map +1 -1
  605. package/dist/composition/probe/index.d.ts +4 -2
  606. package/dist/composition/probe/index.d.ts.map +1 -1
  607. package/dist/composition/probe/index.js +4 -2
  608. package/dist/composition/probe/index.js.map +1 -1
  609. package/dist/composition/probe/limits.js.map +1 -1
  610. package/dist/composition/probe/metadata.js.map +1 -1
  611. package/dist/composition/probe/pipeline.d.ts +5 -0
  612. package/dist/composition/probe/pipeline.d.ts.map +1 -1
  613. package/dist/composition/probe/pipeline.js +13 -6
  614. package/dist/composition/probe/pipeline.js.map +1 -1
  615. package/dist/composition/probe/problem.d.ts +8 -0
  616. package/dist/composition/probe/problem.d.ts.map +1 -1
  617. package/dist/composition/probe/problem.js +78 -12
  618. package/dist/composition/probe/problem.js.map +1 -1
  619. package/dist/composition/probe/report.js.map +1 -1
  620. package/dist/composition/probe/residual.js.map +1 -1
  621. package/dist/composition/probe/run-manifest.js +2 -2
  622. package/dist/composition/probe/run-manifest.js.map +1 -1
  623. package/dist/composition/probe/scoring.d.ts +2 -1
  624. package/dist/composition/probe/scoring.d.ts.map +1 -1
  625. package/dist/composition/probe/scoring.js +21 -7
  626. package/dist/composition/probe/scoring.js.map +1 -1
  627. package/dist/composition/probe/search-budget.js.map +1 -1
  628. package/dist/composition/probe/serialize.js.map +1 -1
  629. package/dist/composition/probe/structure.js.map +1 -1
  630. package/dist/composition/probe/study.d.ts +4 -3
  631. package/dist/composition/probe/study.d.ts.map +1 -1
  632. package/dist/composition/probe/study.js +5 -3
  633. package/dist/composition/probe/study.js.map +1 -1
  634. package/dist/composition/probe/types.d.ts +3 -1
  635. package/dist/composition/probe/types.d.ts.map +1 -1
  636. package/dist/composition/probe/types.js +2 -0
  637. package/dist/composition/probe/types.js.map +1 -1
  638. package/dist/composition/proposed-bridges.d.ts +11 -4
  639. package/dist/composition/proposed-bridges.d.ts.map +1 -1
  640. package/dist/composition/proposed-bridges.js +14 -6
  641. package/dist/composition/proposed-bridges.js.map +1 -1
  642. package/dist/composition/quantities.d.ts +0 -4
  643. package/dist/composition/quantities.d.ts.map +1 -1
  644. package/dist/composition/quantities.js +5 -5
  645. package/dist/composition/quantities.js.map +1 -1
  646. package/dist/composition/quantity.d.ts +18 -2
  647. package/dist/composition/quantity.d.ts.map +1 -1
  648. package/dist/composition/quantity.js +35 -6
  649. package/dist/composition/quantity.js.map +1 -1
  650. package/dist/composition/representative-values.js.map +1 -1
  651. package/dist/composition/retrodiction.d.ts +18 -0
  652. package/dist/composition/retrodiction.d.ts.map +1 -1
  653. package/dist/composition/retrodiction.js +37 -7
  654. package/dist/composition/retrodiction.js.map +1 -1
  655. package/dist/composition/uncertainty.js.map +1 -1
  656. package/dist/composition/user-equation.d.ts +11 -7
  657. package/dist/composition/user-equation.d.ts.map +1 -1
  658. package/dist/composition/user-equation.js +24 -26
  659. package/dist/composition/user-equation.js.map +1 -1
  660. package/dist/core/axes-registry.d.ts +8 -5
  661. package/dist/core/axes-registry.d.ts.map +1 -1
  662. package/dist/core/axes-registry.js.map +1 -1
  663. package/dist/core/cell.js.map +1 -1
  664. package/dist/core/constants.d.ts +35 -12
  665. package/dist/core/constants.d.ts.map +1 -1
  666. package/dist/core/constants.js +46 -15
  667. package/dist/core/constants.js.map +1 -1
  668. package/dist/core/data-file.d.ts +27 -0
  669. package/dist/core/data-file.d.ts.map +1 -0
  670. package/dist/core/data-file.js +48 -0
  671. package/dist/core/data-file.js.map +1 -0
  672. package/dist/core/flux-rules.js +1 -1
  673. package/dist/core/flux-rules.js.map +1 -1
  674. package/dist/core/json-schema.d.ts +27 -0
  675. package/dist/core/json-schema.d.ts.map +1 -0
  676. package/dist/core/json-schema.js +177 -0
  677. package/dist/core/json-schema.js.map +1 -0
  678. package/dist/core/labeled-tensor.d.ts +6 -1
  679. package/dist/core/labeled-tensor.d.ts.map +1 -1
  680. package/dist/core/labeled-tensor.js +18 -8
  681. package/dist/core/labeled-tensor.js.map +1 -1
  682. package/dist/core/regime-registry.d.ts +6 -2
  683. package/dist/core/regime-registry.d.ts.map +1 -1
  684. package/dist/core/regime-registry.js.map +1 -1
  685. package/dist/core/regime-rule-install.js.map +1 -1
  686. package/dist/core/regimes-builtins.js.map +1 -1
  687. package/dist/core/tensor.d.ts +7 -4
  688. package/dist/core/tensor.d.ts.map +1 -1
  689. package/dist/core/tensor.js +40 -8
  690. package/dist/core/tensor.js.map +1 -1
  691. package/dist/core/types.d.ts +3 -2
  692. package/dist/core/types.d.ts.map +1 -1
  693. package/dist/core/types.js +16 -14
  694. package/dist/core/types.js.map +1 -1
  695. package/dist/core/universal-index.js.map +1 -1
  696. package/dist/diff/bridge-ast-gradient.d.ts +4 -5
  697. package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
  698. package/dist/diff/bridge-ast-gradient.js +16 -23
  699. package/dist/diff/bridge-ast-gradient.js.map +1 -1
  700. package/dist/diff/bridge-gradient.d.ts +24 -80
  701. package/dist/diff/bridge-gradient.d.ts.map +1 -1
  702. package/dist/diff/bridge-gradient.js +21 -98
  703. package/dist/diff/bridge-gradient.js.map +1 -1
  704. package/dist/diff/bridge-specs.d.ts +18 -6
  705. package/dist/diff/bridge-specs.d.ts.map +1 -1
  706. package/dist/diff/bridge-specs.js +17 -5
  707. package/dist/diff/bridge-specs.js.map +1 -1
  708. package/dist/dimensional/algebra.js.map +1 -1
  709. package/dist/dimensional/ast-builders.d.ts +5 -4
  710. package/dist/dimensional/ast-builders.d.ts.map +1 -1
  711. package/dist/dimensional/ast-builders.js +6 -5
  712. package/dist/dimensional/ast-builders.js.map +1 -1
  713. package/dist/dimensional/ast-types.js.map +1 -1
  714. package/dist/dimensional/bridge-check.d.ts.map +1 -1
  715. package/dist/dimensional/bridge-check.js +3 -5
  716. package/dist/dimensional/bridge-check.js.map +1 -1
  717. package/dist/dimensional/buckingham.js.map +1 -1
  718. package/dist/dimensional/connection-validators.d.ts +2 -1
  719. package/dist/dimensional/connection-validators.d.ts.map +1 -1
  720. package/dist/dimensional/connection-validators.js.map +1 -1
  721. package/dist/dimensional/connection.js.map +1 -1
  722. package/dist/dimensional/constant-rows.d.ts +54 -0
  723. package/dist/dimensional/constant-rows.d.ts.map +1 -0
  724. package/dist/dimensional/constant-rows.js +115 -0
  725. package/dist/dimensional/constant-rows.js.map +1 -0
  726. package/dist/dimensional/constants.d.ts +7 -17
  727. package/dist/dimensional/constants.d.ts.map +1 -1
  728. package/dist/dimensional/constants.js +12 -21
  729. package/dist/dimensional/constants.js.map +1 -1
  730. package/dist/dimensional/curvature-composite.js.map +1 -1
  731. package/dist/dimensional/curvature-invariants.js.map +1 -1
  732. package/dist/dimensional/curvature.js.map +1 -1
  733. package/dist/dimensional/dimension-inference.js.map +1 -1
  734. package/dist/dimensional/dimension-spec.d.ts +21 -6
  735. package/dist/dimensional/dimension-spec.d.ts.map +1 -1
  736. package/dist/dimensional/dimension-spec.js +150 -160
  737. package/dist/dimensional/dimension-spec.js.map +1 -1
  738. package/dist/dimensional/einstein-equation.js.map +1 -1
  739. package/dist/dimensional/errors.d.ts +3 -1
  740. package/dist/dimensional/errors.d.ts.map +1 -1
  741. package/dist/dimensional/errors.js +2 -2
  742. package/dist/dimensional/errors.js.map +1 -1
  743. package/dist/dimensional/exact-scale.d.ts +79 -0
  744. package/dist/dimensional/exact-scale.d.ts.map +1 -0
  745. package/dist/dimensional/exact-scale.js +222 -0
  746. package/dist/dimensional/exact-scale.js.map +1 -0
  747. package/dist/dimensional/field-equation-helpers.js.map +1 -1
  748. package/dist/dimensional/formula-names.d.ts +13 -12
  749. package/dist/dimensional/formula-names.d.ts.map +1 -1
  750. package/dist/dimensional/formula-names.js +28 -51
  751. package/dist/dimensional/formula-names.js.map +1 -1
  752. package/dist/dimensional/fresh-label.js.map +1 -1
  753. package/dist/dimensional/friedmann-equation.d.ts +3 -3
  754. package/dist/dimensional/friedmann-equation.js +3 -3
  755. package/dist/dimensional/friedmann-equation.js.map +1 -1
  756. package/dist/dimensional/gauge-field.d.ts +2 -3
  757. package/dist/dimensional/gauge-field.d.ts.map +1 -1
  758. package/dist/dimensional/gauge-field.js +0 -1
  759. package/dist/dimensional/gauge-field.js.map +1 -1
  760. package/dist/dimensional/hyphen-names.d.ts.map +1 -1
  761. package/dist/dimensional/hyphen-names.js +8 -0
  762. package/dist/dimensional/hyphen-names.js.map +1 -1
  763. package/dist/dimensional/killing-validators.js.map +1 -1
  764. package/dist/dimensional/klein-gordon-equation.js.map +1 -1
  765. package/dist/dimensional/metric-validators.d.ts +2 -1
  766. package/dist/dimensional/metric-validators.d.ts.map +1 -1
  767. package/dist/dimensional/metric-validators.js.map +1 -1
  768. package/dist/dimensional/metric.js.map +1 -1
  769. package/dist/dimensional/natural-units.js.map +1 -1
  770. package/dist/dimensional/quantity-registry.d.ts +23 -1
  771. package/dist/dimensional/quantity-registry.d.ts.map +1 -1
  772. package/dist/dimensional/quantity-registry.js +55 -18
  773. package/dist/dimensional/quantity-registry.js.map +1 -1
  774. package/dist/dimensional/rg-flow.js.map +1 -1
  775. package/dist/dimensional/stress-energy-validators.js.map +1 -1
  776. package/dist/dimensional/symbolic-constants.d.ts +63 -19
  777. package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
  778. package/dist/dimensional/symbolic-constants.js +114 -92
  779. package/dist/dimensional/symbolic-constants.js.map +1 -1
  780. package/dist/dimensional/tensor-trace.js.map +1 -1
  781. package/dist/dimensional/tensor.js.map +1 -1
  782. package/dist/dimensional/types.js.map +1 -1
  783. package/dist/dimensional/unit-convention.d.ts +0 -2
  784. package/dist/dimensional/unit-convention.d.ts.map +1 -1
  785. package/dist/dimensional/unit-convention.js +2 -2
  786. package/dist/dimensional/unit-convention.js.map +1 -1
  787. package/dist/dimensional/unit-data.d.ts +70 -0
  788. package/dist/dimensional/unit-data.d.ts.map +1 -0
  789. package/dist/dimensional/unit-data.js +139 -0
  790. package/dist/dimensional/unit-data.js.map +1 -0
  791. package/dist/dimensional/units.d.ts +87 -24
  792. package/dist/dimensional/units.d.ts.map +1 -1
  793. package/dist/dimensional/units.js +290 -295
  794. package/dist/dimensional/units.js.map +1 -1
  795. package/dist/dimensional/validator-registry.js.map +1 -1
  796. package/dist/dimensional/validator.d.ts +0 -16
  797. package/dist/dimensional/validator.d.ts.map +1 -1
  798. package/dist/dimensional/validator.js +65 -29
  799. package/dist/dimensional/validator.js.map +1 -1
  800. package/dist/dimensional/weyl-validators.js.map +1 -1
  801. package/dist/index.d.ts +65 -18
  802. package/dist/index.d.ts.map +1 -1
  803. package/dist/index.js +19 -24
  804. package/dist/index.js.map +1 -1
  805. package/dist/numerical/bianchi-residual.js.map +1 -1
  806. package/dist/numerical/binding-value.d.ts +32 -7
  807. package/dist/numerical/binding-value.d.ts.map +1 -1
  808. package/dist/numerical/binding-value.js +218 -209
  809. package/dist/numerical/binding-value.js.map +1 -1
  810. package/dist/numerical/christoffel-flat.js.map +1 -1
  811. package/dist/numerical/connection-lowering-helpers.js.map +1 -1
  812. package/dist/numerical/covariant-eikonal.d.ts.map +1 -1
  813. package/dist/numerical/covariant-eikonal.js +2 -2
  814. package/dist/numerical/covariant-eikonal.js.map +1 -1
  815. package/dist/numerical/curvature-lowering-helpers.d.ts +20 -0
  816. package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
  817. package/dist/numerical/curvature-lowering-helpers.js +6 -3
  818. package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
  819. package/dist/numerical/derivative-lowering.js.map +1 -1
  820. package/dist/numerical/einstein-equation.js.map +1 -1
  821. package/dist/numerical/engine-registry.js.map +1 -1
  822. package/dist/numerical/errors.d.ts +7 -3
  823. package/dist/numerical/errors.d.ts.map +1 -1
  824. package/dist/numerical/errors.js +5 -5
  825. package/dist/numerical/errors.js.map +1 -1
  826. package/dist/numerical/evaluator-uncertainty.d.ts +34 -0
  827. package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -0
  828. package/dist/numerical/evaluator-uncertainty.js +134 -0
  829. package/dist/numerical/evaluator-uncertainty.js.map +1 -0
  830. package/dist/numerical/formula-contract.d.ts +67 -7
  831. package/dist/numerical/formula-contract.d.ts.map +1 -1
  832. package/dist/numerical/formula-contract.js +68 -42
  833. package/dist/numerical/formula-contract.js.map +1 -1
  834. package/dist/numerical/formula-dimension.d.ts +17 -7
  835. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  836. package/dist/numerical/formula-dimension.js +120 -44
  837. package/dist/numerical/formula-dimension.js.map +1 -1
  838. package/dist/numerical/formula-mathts.d.ts.map +1 -1
  839. package/dist/numerical/formula-mathts.js +10 -3
  840. package/dist/numerical/formula-mathts.js.map +1 -1
  841. package/dist/numerical/formula-registry.d.ts +13 -3
  842. package/dist/numerical/formula-registry.d.ts.map +1 -1
  843. package/dist/numerical/formula-registry.js +7 -2
  844. package/dist/numerical/formula-registry.js.map +1 -1
  845. package/dist/numerical/geodesic-integrator.js.map +1 -1
  846. package/dist/numerical/geometrized.js.map +1 -1
  847. package/dist/numerical/gl4-integrator.d.ts +28 -27
  848. package/dist/numerical/gl4-integrator.d.ts.map +1 -1
  849. package/dist/numerical/gl4-integrator.js +44 -45
  850. package/dist/numerical/gl4-integrator.js.map +1 -1
  851. package/dist/numerical/grid-field.js.map +1 -1
  852. package/dist/numerical/index.js.map +1 -1
  853. package/dist/numerical/input-validation.d.ts +3 -6
  854. package/dist/numerical/input-validation.d.ts.map +1 -1
  855. package/dist/numerical/input-validation.js +4 -8
  856. package/dist/numerical/input-validation.js.map +1 -1
  857. package/dist/numerical/killing.d.ts +8 -5
  858. package/dist/numerical/killing.d.ts.map +1 -1
  859. package/dist/numerical/killing.js.map +1 -1
  860. package/dist/numerical/klein-gordon.js.map +1 -1
  861. package/dist/numerical/kretschmann.js.map +1 -1
  862. package/dist/numerical/lowering-utils.js.map +1 -1
  863. package/dist/numerical/lowering.d.ts.map +1 -1
  864. package/dist/numerical/lowering.js +7 -17
  865. package/dist/numerical/lowering.js.map +1 -1
  866. package/dist/numerical/mathts-engine.d.ts.map +1 -1
  867. package/dist/numerical/mathts-engine.js +11 -6
  868. package/dist/numerical/mathts-engine.js.map +1 -1
  869. package/dist/numerical/metric-inverse.js.map +1 -1
  870. package/dist/numerical/null-ic.js.map +1 -1
  871. package/dist/numerical/null-ray-integrator.js +4 -4
  872. package/dist/numerical/null-ray-integrator.js.map +1 -1
  873. package/dist/numerical/painleve-gullstrand-metric.js.map +1 -1
  874. package/dist/numerical/pderiv.d.ts.map +1 -1
  875. package/dist/numerical/pderiv.js +9 -2
  876. package/dist/numerical/pderiv.js.map +1 -1
  877. package/dist/numerical/perihelion-finder.js.map +1 -1
  878. package/dist/numerical/quadrature.d.ts +5 -2
  879. package/dist/numerical/quadrature.d.ts.map +1 -1
  880. package/dist/numerical/quadrature.js +20 -3
  881. package/dist/numerical/quadrature.js.map +1 -1
  882. package/dist/numerical/spacetime-metrics.d.ts +17 -19
  883. package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
  884. package/dist/numerical/spacetime-metrics.js +158 -250
  885. package/dist/numerical/spacetime-metrics.js.map +1 -1
  886. package/dist/numerical/strides.js.map +1 -1
  887. package/dist/numerical/tensor-engine.d.ts +9 -5
  888. package/dist/numerical/tensor-engine.d.ts.map +1 -1
  889. package/dist/numerical/tensor-engine.js.map +1 -1
  890. package/dist/numerical/types.js.map +1 -1
  891. package/dist/numerical/weyl-lowering.js.map +1 -1
  892. package/dist/relations/category.js.map +1 -1
  893. package/dist/relations/composition-table.d.ts +4 -4
  894. package/dist/relations/composition-table.js +4 -4
  895. package/dist/relations/composition-table.js.map +1 -1
  896. package/dist/relations/conventions.js.map +1 -1
  897. package/dist/relations/domain-regimes.js.map +1 -1
  898. package/dist/relations/regime-registration.js.map +1 -1
  899. package/dist/relations/regime-vocabularies.js.map +1 -1
  900. package/dist/relations/regime.d.ts +18 -8
  901. package/dist/relations/regime.d.ts.map +1 -1
  902. package/dist/relations/regime.js +26 -14
  903. package/dist/relations/regime.js.map +1 -1
  904. package/dist/relations/types.d.ts +26 -6
  905. package/dist/relations/types.d.ts.map +1 -1
  906. package/dist/relations/types.js +15 -3
  907. package/dist/relations/types.js.map +1 -1
  908. package/package.json +10 -14
  909. package/dist/bridges/registry.d.ts +0 -60
  910. package/dist/bridges/registry.d.ts.map +0 -1
  911. package/dist/bridges/registry.js +0 -87
  912. package/dist/bridges/registry.js.map +0 -1
  913. package/dist/cli/poster-source.d.ts +0 -154
  914. package/dist/cli/poster-source.d.ts.map +0 -1
  915. package/dist/cli/poster-source.js +0 -184
  916. package/dist/cli/poster-source.js.map +0 -1
@@ -1,10 +1,5 @@
1
1
  import { CliError, UsageError } from '../errors.js';
2
- import { readNamedBinding } from '../../numerical/binding-value.js';
3
- import { UnitError } from '../../dimensional/units.js';
4
- import { CANONICAL_GRAPH } from '../../composition/canonical-graph.js';
5
- import { CATALOG_GRAPH } from '../../composition/catalog-graph.js';
6
- import { assertSynonymAgreement, resolveQuantityName, SynonymDisagreementError, } from '../../dimensional/formula-names.js';
7
- export function parseDiscoveryOpts(flags) {
2
+ export function parseDiscoveryOpts(api, flags) {
8
3
  const opts = {};
9
4
  const moValues = flags.get('max-orders');
10
5
  if (moValues && moValues.length > 0) {
@@ -12,9 +7,9 @@ export function parseDiscoveryOpts(flags) {
12
7
  const n = Number(raw);
13
8
  // Reject rather than silently ignore: an empty value coerces to 0 (every
14
9
  // pair would clash), a non-numeric one to NaN, and a negative threshold is
15
- // meaningless.
10
+ // meaningless. The flag is well formed and its value is bad: exit 1, as for any bad value.
16
11
  if (raw === '' || !Number.isFinite(n) || n < 0) {
17
- throw new UsageError(`upt: --max-orders must be a non-negative finite number, got "${raw}".`);
12
+ throw new CliError(`upt: --max-orders must be a non-negative finite number, got "${raw}".`);
18
13
  }
19
14
  opts.maxOrdersOfMagnitude = n;
20
15
  }
@@ -25,42 +20,77 @@ export function parseDiscoveryOpts(flags) {
25
20
  const eq = pair.indexOf('=');
26
21
  const k = eq >= 0 ? pair.slice(0, eq) : pair;
27
22
  const v = eq >= 0 ? pair.slice(eq + 1) : '';
28
- if (eq < 0 || !k || v === '') {
23
+ if (eq < 0 || !k) {
29
24
  throw new UsageError(`upt: --anchor expects k=v with a finite numeric value, got "${pair}".`);
30
25
  }
26
+ // An empty value is a bad value (exit 1), as `x=` is on every other binding.
27
+ if (v === '')
28
+ throw new CliError(`upt: --anchor '${k}' has no value ('${pair}'); give k=v with a finite numeric value`);
31
29
  pairs.push({ name: k, raw: v, pair });
32
30
  }
33
31
  }
32
+ const seenAnchor = new Set();
33
+ for (const p of pairs) {
34
+ if (seenAnchor.has(p.name))
35
+ throw new CliError(`upt: --anchor '${p.name}' is given twice ('${p.pair}'); give one value per name`);
36
+ seenAnchor.add(p.name);
37
+ }
34
38
  const siblings = pairs.map((p) => ({ name: p.name, raw: p.raw }));
39
+ // Every quantity either graph names, with its dimension: an anchor is a value of one of them.
40
+ const quantities = new Map();
41
+ for (const edge of [...api.CATALOG_GRAPH, ...api.CANONICAL_GRAPH]) {
42
+ for (const q of [edge.target, ...edge.sources])
43
+ quantities.set(q.name, q.dim);
44
+ }
45
+ const quantityNames = new Set(quantities.keys());
35
46
  const rawValues = {};
36
47
  for (const p of pairs) {
48
+ const resolved = api.resolveQuantityName(p.name, quantityNames);
49
+ const dim = resolved === null ? undefined : quantities.get(resolved);
50
+ if (resolved === null || dim === undefined) {
51
+ // An anchor on a name no graph holds would be read, printed as the anchor, and change nothing.
52
+ throw new CliError(`upt: --anchor '${p.pair}': '${p.name}' is not a quantity in either graph (\`upt search ${p.name}\` looks for one)`);
53
+ }
37
54
  try {
38
- const read = readNamedBinding(p.name, p.raw, { siblings });
55
+ const read = api.readNamedBinding(p.name, p.raw, { siblings });
39
56
  if (!Number.isFinite(read.value)) {
40
- throw new UsageError(`upt: --anchor expects k=v with a finite numeric value, got "${p.pair}".`);
57
+ throw new CliError(`upt: --anchor expects k=v with a finite numeric value, got "${p.pair}".`);
58
+ }
59
+ // A bare number is already in SI. A value with a unit must be the quantity's dimension:
60
+ // `mass=1s` is not a mass of 1 kg.
61
+ if (read.dimensioned && !api.dimensionsEqual(read.dimension, dim)) {
62
+ throw new CliError(`upt: --anchor '${p.pair}' is ${api.format(read.dimension)}, but ${resolved} is ${api.format(dim)}`);
41
63
  }
42
64
  rawValues[p.name] = read.value;
43
65
  }
44
66
  catch (e) {
45
- if (e instanceof UsageError)
67
+ // A bad value is exit 1 on every command; a missing `=` was refused as usage above.
68
+ if (e instanceof CliError)
46
69
  throw e;
47
- if (e instanceof UnitError && /is a temperature/.test(e.message)) {
70
+ if (e instanceof api.TemperatureBindingError) {
48
71
  throw new CliError(`upt: --anchor '${p.pair}' is not a temperature. ${e.message}`);
49
72
  }
50
- throw new UsageError(`upt: --anchor expects k=v with a finite numeric value, got "${p.pair}".`);
73
+ // Not a number: the pinned sentence. Any other unit error (an unknown unit, an ambiguous
74
+ // one) says what it found, so it is passed on with the anchor it came from.
75
+ if (e instanceof api.BindingNumberError) {
76
+ throw new CliError(`upt: --anchor expects k=v with a finite numeric value, got "${p.pair}".`);
77
+ }
78
+ if (e instanceof api.UnitError) {
79
+ throw new CliError(`upt: --anchor '${p.pair}': ${e.message}`);
80
+ }
81
+ throw e;
51
82
  }
52
83
  }
53
84
  try {
54
- assertSynonymAgreement(rawValues);
85
+ api.assertSynonymAgreement(rawValues);
55
86
  }
56
87
  catch (e) {
57
- if (e instanceof SynonymDisagreementError)
88
+ if (e instanceof api.SynonymDisagreementError)
58
89
  throw new CliError(`upt: ${e.message}`);
59
90
  throw e;
60
91
  }
61
- const quantityNames = new Set([...CATALOG_GRAPH, ...CANONICAL_GRAPH].flatMap((edge) => [edge.target.name, ...edge.sources.map((s) => s.name)]));
62
92
  for (const [name, value] of Object.entries(rawValues)) {
63
- const key = resolveQuantityName(name, quantityNames) ?? name;
93
+ const key = api.resolveQuantityName(name, quantityNames) ?? name;
64
94
  gt[key] = value;
65
95
  }
66
96
  if (Object.keys(gt).length)
@@ -1 +1 @@
1
- {"version":3,"file":"_discovery-opts.js","sourceRoot":"","sources":["../../../src/cli/commands/_discovery-opts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_discovery-opts.js","sourceRoot":"","sources":["../../../src/cli/commands/_discovery-opts.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Shared `--max-orders`/`--anchor` parsing — used by both `discover` and\n * `map`'s `--proposed` overlay. In the old CLI, `map`'s `proposedJunctions`\n * passed the raw args straight through `parseDiscoveryOpts` (bin/upt.mjs line\n * 392), so `map --proposed --max-orders=N` genuinely tuned the proposed\n * overlay — the two commands share this validation, not just the shape.\n *\n * Transposed verbatim from bin/upt.mjs's `parseDiscoveryOpts()` (lines\n * 596-632). The two error messages are pinned byte-exact by\n * `tests/cli/upt-discover-opts.test.ts` (which drives the OLD bin, still\n * green and untouched) — do not reword them.\n */\nimport type { ParsedArgs } from '../args.js';\nimport type { CommandCtx } from '../command.js';\nimport { CliError, UsageError } from '../errors.js';\nimport type { DiscoveryOptions } from '../../composition/discovery.js';\nimport type { Dimension } from '../../dimensional/types.js';\n\nexport function parseDiscoveryOpts(api: CommandCtx['api'], flags: ParsedArgs['flags']): DiscoveryOptions {\n const opts: { maxOrdersOfMagnitude?: number; groundTruth?: Record<string, number> } = {};\n\n const moValues = flags.get('max-orders');\n if (moValues && moValues.length > 0) {\n const raw = moValues[moValues.length - 1];\n const n = Number(raw);\n // Reject rather than silently ignore: an empty value coerces to 0 (every\n // pair would clash), a non-numeric one to NaN, and a negative threshold is\n // meaningless. The flag is well formed and its value is bad: exit 1, as for any bad value.\n if (raw === '' || !Number.isFinite(n) || n < 0) {\n throw new CliError(`upt: --max-orders must be a non-negative finite number, got \"${raw}\".`);\n }\n opts.maxOrdersOfMagnitude = n;\n }\n\n const gt: Record<string, number> = {};\n const pairs: { name: string; raw: string; pair: string }[] = [];\n for (const x of flags.get('anchor') ?? []) {\n for (const pair of x.split(',')) {\n const eq = pair.indexOf('=');\n const k = eq >= 0 ? pair.slice(0, eq) : pair;\n const v = eq >= 0 ? pair.slice(eq + 1) : '';\n if (eq < 0 || !k) {\n throw new UsageError(`upt: --anchor expects k=v with a finite numeric value, got \"${pair}\".`);\n }\n // An empty value is a bad value (exit 1), as `x=` is on every other binding.\n if (v === '') throw new CliError(`upt: --anchor '${k}' has no value ('${pair}'); give k=v with a finite numeric value`);\n pairs.push({ name: k, raw: v, pair });\n }\n }\n const seenAnchor = new Set<string>();\n for (const p of pairs) {\n if (seenAnchor.has(p.name)) throw new CliError(`upt: --anchor '${p.name}' is given twice ('${p.pair}'); give one value per name`);\n seenAnchor.add(p.name);\n }\n const siblings = pairs.map((p) => ({ name: p.name, raw: p.raw }));\n // Every quantity either graph names, with its dimension: an anchor is a value of one of them.\n const quantities = new Map<string, Dimension>();\n for (const edge of [...api.CATALOG_GRAPH, ...api.CANONICAL_GRAPH]) {\n for (const q of [edge.target, ...edge.sources]) quantities.set(q.name, q.dim);\n }\n const quantityNames = new Set(quantities.keys());\n const rawValues: Record<string, number> = {};\n for (const p of pairs) {\n const resolved = api.resolveQuantityName(p.name, quantityNames);\n const dim = resolved === null ? undefined : quantities.get(resolved);\n if (resolved === null || dim === undefined) {\n // An anchor on a name no graph holds would be read, printed as the anchor, and change nothing.\n throw new CliError(`upt: --anchor '${p.pair}': '${p.name}' is not a quantity in either graph (\\`upt search ${p.name}\\` looks for one)`);\n }\n try {\n const read = api.readNamedBinding(p.name, p.raw, { siblings });\n if (!Number.isFinite(read.value)) {\n throw new CliError(`upt: --anchor expects k=v with a finite numeric value, got \"${p.pair}\".`);\n }\n // A bare number is already in SI. A value with a unit must be the quantity's dimension:\n // `mass=1s` is not a mass of 1 kg.\n if (read.dimensioned && !api.dimensionsEqual(read.dimension, dim)) {\n throw new CliError(\n `upt: --anchor '${p.pair}' is ${api.format(read.dimension)}, but ${resolved} is ${api.format(dim)}`,\n );\n }\n rawValues[p.name] = read.value;\n } catch (e) {\n // A bad value is exit 1 on every command; a missing `=` was refused as usage above.\n if (e instanceof CliError) throw e;\n if (e instanceof api.TemperatureBindingError) {\n throw new CliError(`upt: --anchor '${p.pair}' is not a temperature. ${e.message}`);\n }\n // Not a number: the pinned sentence. Any other unit error (an unknown unit, an ambiguous\n // one) says what it found, so it is passed on with the anchor it came from.\n if (e instanceof api.BindingNumberError) {\n throw new CliError(`upt: --anchor expects k=v with a finite numeric value, got \"${p.pair}\".`);\n }\n if (e instanceof api.UnitError) {\n throw new CliError(`upt: --anchor '${p.pair}': ${e.message}`);\n }\n throw e;\n }\n }\n try {\n api.assertSynonymAgreement(rawValues);\n } catch (e) {\n if (e instanceof api.SynonymDisagreementError) throw new CliError(`upt: ${e.message}`);\n throw e;\n }\n for (const [name, value] of Object.entries(rawValues)) {\n const key = api.resolveQuantityName(name, quantityNames) ?? name;\n gt[key] = value;\n }\n if (Object.keys(gt).length) opts.groundTruth = gt;\n\n return opts;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"atlas.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/atlas.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AA4B/E,0DAA0D;AAC1D,UAAU,UAAU;IAClB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAIA;AAufD,eAAO,MAAM,OAAO,EAAE,OASrB,CAAC"}
1
+ {"version":3,"file":"atlas.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/atlas.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AA4B/E,0DAA0D;AAC1D,UAAU,UAAU;IAClB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAIA;AAmfD,eAAO,MAAM,OAAO,EAAE,OASrB,CAAC"}
@@ -19,7 +19,7 @@ const FLAGS = [
19
19
  {
20
20
  name: '--stored',
21
21
  valueStyle: 'none',
22
- description: `Read witness results from ${WITNESS_RESULTS_URL}. That file is not in the published package; the command then names --run.`,
22
+ description: `Read witness results from ${WITNESS_RESULTS_URL}. When the file is absent (a checkout or install without data/), the command names --run.`,
23
23
  },
24
24
  JSON_FLAG,
25
25
  ];
@@ -80,11 +80,8 @@ const HELP = `upt atlas [<bridge-id>] [--run] [--json]
80
80
  * `be-16`, `BE-16`, and `16` name a catalog equation by its integer id.
81
81
  * An atlas id (`ab-…`) does not match.
82
82
  */
83
- function catalogEquationNumber(raw) {
84
- const m = /^(?:be-)?(\d+)$/i.exec(raw);
85
- if (m === null)
86
- return undefined;
87
- return Number(m[1]);
83
+ function catalogEquationNumber(api, raw) {
84
+ return api.catalogIdNumber(raw);
88
85
  }
89
86
  /**
90
87
  * Print the stored catalog `formalRef`. This is not an atlas-bridge report,
@@ -123,9 +120,9 @@ function emitCatalogFormalRef(entry, wantJson, ctx) {
123
120
  ctx.out(` url: ${ref.url}`);
124
121
  ctx.out(` covers: ${ref.covers}`);
125
122
  ctx.out('This command prints the stored catalog formalRef. It does not derive formally-proved from it.');
126
- if (entry.id === 16) {
127
- ctx.out('The catalog edge for id 16 is speculative. A chain through this equation stays provisional (upt chain). ' +
128
- 'composeEdges of be-42 with be-16 is highly-speculative. That grade is not this formalRef, ' +
123
+ if (entry.status !== 'established') {
124
+ ctx.out(`The catalog edge for id ${entry.id} is ${entry.status}. A chain through this equation stays provisional (upt chain); ` +
125
+ 'a composition through it takes the lower grade. That grade is not this formalRef, ' +
129
126
  'and this formalRef does not make the chain formally-proved.');
130
127
  }
131
128
  return 0;
@@ -178,7 +175,7 @@ async function run(ctx) {
178
175
  }
179
176
  const row = rows.find((r) => r.bridge.id === id);
180
177
  if (row === undefined) {
181
- const catalogN = catalogEquationNumber(id);
178
+ const catalogN = catalogEquationNumber(api, id);
182
179
  if (catalogN !== undefined) {
183
180
  const entry = api.BRIDGE_EQUATIONS.find((e) => e.id === catalogN);
184
181
  if (entry !== undefined) {
@@ -335,7 +332,6 @@ async function run(ctx) {
335
332
  },
336
333
  preserves: [...b.preserves],
337
334
  doesNotPreserve: [...b.doesNotPreserve],
338
- storedEvidence: [...b.evidence].sort(),
339
335
  formallyProved: derived.has('formally-proved'),
340
336
  derivedEvidence,
341
337
  provedWithUnresolvedCounterexample: unresolvedCounterexample,
@@ -392,7 +388,6 @@ async function run(ctx) {
392
388
  }
393
389
  list('preserves', b.preserves);
394
390
  list('does NOT preserve', b.doesNotPreserve);
395
- out(`stored evidence: ${report.storedEvidence.join(', ') || 'none'}`);
396
391
  out(`derived evidence: ${report.derivedEvidence.join(', ') || 'none'}`);
397
392
  out(`formally-proved (derived from formalRef): ${report.formallyProved
398
393
  ? `YES — for the formal-reference statement only (fidelity ${b.formalRef.fidelity}); ` +
@@ -1 +1 @@
1
- {"version":3,"file":"atlas.js","sourceRoot":"","sources":["../../../src/cli/commands/atlas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"atlas.js","sourceRoot":"","sources":["../../../src/cli/commands/atlas.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,UAAU,EAAuB,MAAM,iBAAiB,CAAC;AAChI,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,mBAAmB,GAAG,YAAY,CAAC,iCAAiC,CAAC,CAAC;AAE5E,MAAM,KAAK,GAAe;IACxB;QACE,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,MAAM;QAClB,WAAW,EAAE,wEAAwE;KACtF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,MAAM;QAClB,WAAW,EAAE,+FAA+F;KAC7G;IACD;QACE,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,MAAM;QAClB,WAAW,EAAE,6BAA6B,mBAAmB,2FAA2F;KACzJ;IACD,SAAS;CACV,CAAC;AAWF;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAA2B;IAM9D,MAAM,CAAC,GAAG,CAAC,CAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACjF,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxH,CAAC;AAED,yEAAyE;AACzE,SAAS,gBAAgB,CAAC,UAAoC;IAC5D,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,kBAAkB,CAAC;IAC9E,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAoC4B,CAAC;AAI1C;;;GAGG;AACH,SAAS,qBAAqB,CAAC,GAAsB,EAAE,GAAW;IAChE,OAAO,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,KAAsB,EAAE,QAAiB,EAAE,GAAe;IACtF,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,QAAQ,CAAC,iBAAiB,KAAK,CAAC,EAAE,iFAAiF,CAAC,CAAC;IACjI,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC;IAC5B,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CACN;YACE,OAAO,EAAE,OAAO;YAChB,UAAU,EACR,8FAA8F;gBAC9F,8GAA8G;YAChH,OAAO,EAAE,EAAE,EAAE,EAAE;YACf,MAAM,EAAE;gBACN,MAAM,EAAE,SAAS;gBACjB,EAAE;gBACF,SAAS,EAAE,KAAK,CAAC,EAAE;gBACnB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,SAAS,EAAE,GAAG;aACf;SACF,EACD,GAAG,CAAC,KAAK,CACV,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,0CAA0C,CAAC,CAAC;IAC3D,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3B,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC7B,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7C,GAAG,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,OAAO,YAAY,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IAC/E,GAAG,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvC,GAAG,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/B,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7B,GAAG,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,GAAG,CAAC,GAAG,CAAC,+FAA+F,CAAC,CAAC;IACzG,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACnC,GAAG,CAAC,GAAG,CACL,2BAA2B,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC,MAAM,iEAAiE;YACrH,oFAAoF;YACpF,6DAA6D,CAChE,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,GAAe;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;IACrC,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,QAAQ,CAAC,mCAAmC,KAAK,0BAA0B,CAAC,CAAC;IAEhH,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,CAAC;IACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAU,CAAC,CAAC,CAAC,CAAC;IAEzF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,EAAE,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,QAAQ,CAChB,mHAAmH;YACjH,wCAAwC,CAC3C,CAAC;IACJ,CAAC;IACD,IAAI,EAAE,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,MAAM,IAAI,OAAO,CAAC,EAAE,CAAC;QAC1E,IAAI,MAAM,IAAI,OAAO;YAAE,MAAM,IAAI,QAAQ,CAAC,kGAAkG,CAAC,CAAC;QAC9I,MAAM,OAAO,GAA0B,MAAM;YAC3C,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC;YAChC,CAAC,CAAC,OAAO;gBACP,CAAC,CAAC,MAAM,UAAU,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9D,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,IAAI,GAAG,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QACjH,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACvH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,iBAAiB,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACtG,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,CAAC;QACX,CAAC;QACD,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,yBAAyB,QAAQ,CAAC,MAAM,YAAY,CAAC,CAAC;QAC7E,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5F,GAAG,CAAC,wIAAwI,CAAC,CAAC;QAC9I,GAAG,CAAC,0EAA0E,CAAC,CAAC;QAChF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACjD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;YAClE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,QAAQ,CAChB,iBAAiB,KAAK,CAAC,EAAE,sFAAsF,CAChH,CAAC;gBACJ,CAAC;gBACD,OAAO,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YACpD,CAAC;YACD,MAAM,IAAI,QAAQ,CAChB,8BAA8B,EAAE,6FAA6F,CAC9H,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,QAAQ,CAAC,8BAA8B,EAAE,oCAAoC,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;IACrB,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAChE,MAAM,eAAe,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAChF,MAAM,wBAAwB,GAAG,GAAG,CAAC,kCAAkC,CAAC,OAAO,CAAC,CAAC;IACjF,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnF,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC;IAEvF,2EAA2E;IAC3E,iEAAiE;IACjE,+EAA+E;IAC/E,MAAM,UAAU,GAAG,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9C,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,gBAAgB,CAAC;QACvF,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QACjF,CAAC,CAAC,EAAE,CACP,CAAC;IACF,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAClD,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,WAAW;QACnD,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QAChF,CAAC,CAAC,EAAE,CACP,CAAC;IACF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACjF,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gDAAgD,CAAC;IACpG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;IACvC,MAAM,MAAM,GAAG;QACb,cAAc,EAAE;YACd,eAAe,EACb,CAAC,CAAC,SAAS,KAAK,SAAS;gBACvB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC;oBACE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM;oBAC1B,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS;oBAChC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ;oBAC9B,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI;oBACtB,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG;iBACrB;YACP,IAAI,EACF,CAAC,CAAC,SAAS,KAAK,SAAS;gBACvB,CAAC,CAAC,0DAA0D;gBAC5D,CAAC,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,MAAM,cAAc,CAAC,CAAC,SAAS,CAAC,QAAQ,8BAA8B;SAC7G;QACD,MAAM,EAAE;YACN,YAAY,EAAE,CAAC;YACf,OAAO,EAAE,CAAC,KAAK,CAAC;YAChB,IAAI,EACF,CAAC,KAAK,CAAC;gBACL,CAAC,CAAC,0CAA0C;gBAC5C,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,sCAAsC,GAAG,CAAC,MAAM,WAAW;SACzH;QACD,KAAK,EACH,CAAC,CAAC,KAAK,KAAK,SAAS;YACnB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC;gBACE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI;gBACnC,SAAS,EAAE,cAAc;gBACzB,IAAI,EACF,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,KAAK,aAAa;oBACrC,CAAC,CAAC,gDAAgD;oBAClD,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,KAAK,uBAAuB;wBAChD,CAAC,CAAC,iFAAiF;wBACnF,CAAC,CAAC,iCAAiC,CAAC,GAAG,SAAS;aACvD;QACP,OAAO,EAAE;YACP,WAAW,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS;YAClC,IAAI,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,wBAAwB,SAAS,EAAE;SAC7F;QACD,SAAS,EAAE;YACT,QAAQ,EAAE,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB;YACrE,IAAI,EACF,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBACtB,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC;oBAC/B,CAAC,CAAC,mDAAmD;oBACrD,CAAC,CAAC,GAAG,oBAAoB,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,sBAAsB,oBAAoB,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,wBAAwB;SAClJ;KACF,CAAC;IAEF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,CAAC,EAAU,EAAmD,EAAE,CAC9E,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9F,MAAM,gBAAgB,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO;gBACL,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;gBACjE,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC;QACJ,CAAC;QACD,OAAO;YACL,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACpB,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,UAAoB,CAAC,CAAC,CAAE,cAAwB;YACnF,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;SAC5B,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAEnE,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC;IACxC,MAAM,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzG,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9G,MAAM,gBAAgB,GAAG,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC7F,MAAM,cAAc,GAClB,CAAC,CAAC,QAAQ,KAAK,mBAAmB;QAChC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YAClB,MAAM,CAAC,GAAG,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5F,MAAM,cAAc,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzG,OAAO;gBACL,EAAE,EAAE,EAAE,CAAC,EAAE;gBACT,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,EAAE,EAAE,EAAE,CAAC,EAAE;gBACT,CAAC,EAAE,EAAE,CAAC,CAAC;gBACP,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,UAAU,EAAE,EAAE,CAAC,UAAU;gBACzB,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;gBAC1F,UAAU,EAAE,EAAE,CAAC,UAAU;gBACzB,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE;gBACrH,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,MAAM,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAE,UAAoB,CAAC,CAAC,CAAE,cAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;gBACzG,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;aACzD,CAAC;QACJ,CAAC,CAAC,CAAC;IACT,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,IAAI,CAAC,EAAE,gBAAgB,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC;IAEtF,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjE,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;QAChE,cAAc,EAAE,CAAC,CAAC,cAAc;QAChC,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;QAC1B,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC;QACrC,MAAM,EAAE;YACN,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;YACtH,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;SAC5C;QACD,KAAK,EACH,CAAC,CAAC,KAAK,KAAK,SAAS;YACnB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC;gBACE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK;gBACpB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI;gBAClB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM;gBACtB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO;gBACxB,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc;gBACtC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;aACzE;QACP,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;QAC3B,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC;QACvC,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAC9C,eAAe;QACf,kCAAkC,EAAE,wBAAwB;QAC5D,iBAAiB,EAAE,QAAQ;QAC3B,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC,CAAC;QAC3H,eAAe,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACnG,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;QAC9B,eAAe,EAAE,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM;QACtE,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;QAC3B,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,MAAM;QACN,gBAAgB;QAChB,UAAU,EAAE,UAAU;QACtB,cAAc;QACd,GAAG,CAAC,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;KAC7E,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CACN;YACE,OAAO,EAAE,OAAO;YAChB,UAAU,EACR,sFAAsF;gBACtF,sCAAsC,mBAAmB,4BAA4B;gBACrF,wEAAwE;YAC1E,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,EAAE;YAClC,MAAM,EAAE,MAAM;SACf,EACD,GAAG,CAAC,KAAK,CACV,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,KAAwB,EAAQ,EAAE;QAC7D,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;QACjB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC;IACF,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACjD,GAAG,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5H,GAAG,CAAC,mBAAmB,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;IAC3C,GAAG,CAAC,YAAY,CAAC,CAAC,OAAO,IAAI,aAAa,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC;IAC1C,GAAG,CAAC,SAAS,CAAC,CAAC;IACf,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO;QAAE,GAAG,CAAC,0EAA0E,CAAC,CAAC;IAC3G,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY;QAAE,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IAC/H,GAAG,CAAC,QAAQ,CAAC,CAAC;IACd,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;QAAE,GAAG,CAAC,eAAe,CAAC,CAAC;SAC3C,CAAC;QACJ,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QACtE,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACnC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACrC,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;QAC1C,GAAG,CAAC,iBAAiB,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/B,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC;IAC7C,GAAG,CAAC,qBAAqB,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IACxE,GAAG,CACD,6CACE,MAAM,CAAC,cAAc;QACnB,CAAC,CAAC,2DAA2D,CAAC,CAAC,SAAU,CAAC,QAAQ,KAAK;YACrF,gFAAgF;QAClF,CAAC,CAAC,IACN,EAAE,CACH,CAAC;IACF,GAAG,CACD,MAAM,CAAC,kCAAkC;QACvC,CAAC,CAAC,0GAA0G;QAC5G,CAAC,CAAC,4CAA4C,CACjD,CAAC;IACF,GAAG,CACD,QAAQ,CAAC,MAAM,KAAK,CAAC;QACnB,CAAC,CAAC,2CAA2C;QAC7C,CAAC,CAAC,oCAAoC,mBAAmB,SAAS,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACpF,8BAA8B,CACrC,CAAC;IACF,GAAG,CAAC,YAAY,CAAC,CAAC;IAClB,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,GAAG,CAAC,eAAe,CAAC,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QAC5B,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAChH,CAAC;IACD,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACxB,IAAI,CAAC,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,GAAG,CAAC,eAAe,CAAC,CAAC;IACzD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe;QAAE,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,aAAa,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;IACtF,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACzB,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS;QAAE,GAAG,CAAC,6CAA6C,CAAC,CAAC;SAC7E,CAAC;QACJ,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;QACzD,GAAG,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,OAAO,YAAY,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;QAC3F,GAAG,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,GAAG,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACnC,GAAG,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QACjC,4EAA4E;QAC5E,8EAA8E;QAC9E,GAAG,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,SAAS,GAAG,CAAC,CAAoC,EAAU,EAAE;QACjE,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC,CAAC,MAAM,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1G,OAAO,CAAC,CAAC,MAAM,KAAK,UAAU;YAC5B,CAAC,CAAC,gDAAgD,CAAC,CAAC,EAAE,kBAAkB;YACxE,CAAC,CAAC,yCAAyC,CAAC,CAAC,KAAK,EAAE,CAAC;IACzD,CAAC,CAAC;IACF,GAAG,CAAC,0DAA0D,CAAC,CAAC;IAChE,GAAG,CAAC,qBAAqB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,GAAG,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,GAAG,CAAC,YAAY,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,aAAa,EAAE,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,CAAC,CAAmC,EAAU,EAAE,CAChE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;SACd,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;SAC9B,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAE,CAAC;QACxD,MAAM,IAAI,GACR,EAAE,CAAC,KAAK,KAAK,OAAO;YAClB,CAAC,CAAC,wDAAwD;YAC1D,CAAC,CAAC,2FAA2F,CAAC;QAClG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,iBAAiB,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,GAAG,CAAC,cAAc,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,GAAG,CAAC,gBAAgB,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,KAAK,MAAM,EAAE,IAAI,kBAAkB,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAE,CAAC;QACxD,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC,IAAI,QAAQ,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IACtE,GAAG,CACD,cAAc,CAAC,MAAM,GAAG,kBAAkB,CAAC,MAAM,KAAK,CAAC;QACrD,CAAC,CAAC,yEAAyE;QAC3E,CAAC,CAAC,yDAAyD,CAC9D,CAAC;IACF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,GAAG,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/F,KAAK,MAAM,CAAC,IAAI,YAAY;QAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9E,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,GAAG,CACD,UAAU,CAAC,MAAM,KAAK,CAAC;YACrB,CAAC,CAAC,uCAAuC,CAAC,CAAC,EAAE,kCAAkC;YAC/E,CAAC,CAAC,kBAAkB,UAAU,CAAC,OAAO,cAAc,UAAU,CAAC,OAAO,cAAc,UAAU,CAAC,UAAU,aAAa,CACzH,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,GAAG,CAAC,gHAAgH,CAAC,CAAC;QACtH,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;YAAE,GAAG,CAAC,+DAA+D,CAAC,CAAC;QACtG,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;YAChC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,OAAO,MAAM,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAC5G,GAAG,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,2BAA2B,GAAG,CAAC,CAAC;YACzG,MAAM,MAAM,GACV,EAAE,CAAC,MAAM,KAAK,UAAU;gBACtB,CAAC,CAAC,gDAAgD,CAAC,CAAC,EAAE,kBAAkB;gBACxE,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,cAAc;oBAC5B,CAAC,CAAC,yCAAyC,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC1E,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;YAC3E,GAAG,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,qBAAqB,MAAM,EAAE,CAAC,CAAC;QAClG,CAAC;IACH,CAAC;IACD,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/B,GAAG,CACD,kBAAkB,CAAC,CAAC,YAAY,sDAAsD;QACpF,6GAA6G,CAChH,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAY;IAC9B,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;IAC9B,OAAO,EAAE,0FAA0F;IACnG,OAAO,EAAE,8BAA8B;IACvC,KAAK,EAAE,SAAS;IAChB,GAAG;CACJ,CAAC;AACF,eAAe,CAAC,OAAO,CAAC,CAAC","sourcesContent":["/**\n * `upt atlas [<bridge-id>]` — one atlas bridge with EVERY qualification visible.\n *\n * Atlas Phase 6, S6.5. The rule this command exists to keep: no output hides a\n * qualification. A bridge is its relation AND its side conditions, regime,\n * bound and horizon, witnesses, counterexamples and formal reference; printing\n * the relation alone would present an approximation valid for θ0 ≤ 0.5 as if it\n * held everywhere. Sections that are empty are PRINTED as empty (\"none stated\"),\n * never omitted, so an absent qualification is visible as an absence.\n *\n * With no id it lists every bridge of every registered family.\n *\n * A catalog id (`be-<n>`, any letter case) is not an atlas bridge. When the\n * atlas overlay has a formal reference for that id, this command prints it.\n * It does not derive `formally-proved` from it. A catalog equation with no\n * reference says so. An id in neither registry stays an unknown bridge.\n *\n * ## The two derived tags, shown honestly\n *\n * `formally-proved` is derived here from the record's `formalRef`.\n * When that tag and `contradicted` are both derived, the report prints\n * `proved, with unresolved counterexample: yes`. The proof stays and the\n * counterexample stays unresolved.\n * `symbolically-checked` is derived from `data/atlas/witness-results.json`, a\n * repository artifact that is NOT shipped in the package, so this command lists\n * the symbolic witnesses and says where the tag is decided rather than printing\n * a verdict it cannot see.\n */\nimport type { FlagSpec } from '../args.js';\nimport { registerCommand, type Command, type CommandCtx } from '../command.js';\nimport { commandHelp, JSON_FLAG } from '../flag-help.js';\nimport { CliError, EXIT_CHECK_FAILED } from '../errors.js';\nimport { emitJson } from '../output.js';\nimport { atlasEvidenceText, buildAtlasEvidenceView, loadStoredResults, runResults, type WitnessResults } from './_atlas-map.js';\nimport { publishedUrl } from '../published-url.js';\n\nconst WITNESS_RESULTS_URL = publishedUrl('data/atlas/witness-results.json');\n\nconst FLAGS: FlagSpec[] = [\n {\n name: '--run',\n valueStyle: 'none',\n description: 'Execute the in-process registered witnesses. Exit 3 if one is refuted.',\n },\n {\n name: '--evidence',\n valueStyle: 'none',\n description: 'With no bridge id, list every bridge\\'s derived evidence and the witness results it observes.',\n },\n {\n name: '--stored',\n valueStyle: 'none',\n description: `Read witness results from ${WITNESS_RESULTS_URL}. When the file is absent (a checkout or install without data/), the command names --run.`,\n },\n JSON_FLAG,\n];\n\n/** One witness run as `runWitnessRegistry` reports it. */\ninterface WitnessRun {\n readonly witnessId: string;\n readonly kind: string;\n readonly status: 'checked' | 'refuted' | 'unresolved';\n readonly reason?: string;\n readonly detail: string;\n}\n\n/**\n * Tally witness runs. `refuted` and `unresolved` are kept apart: only a\n * refutation fails the check; an unresolved run is not a pass either.\n * @internal\n */\nexport function summarizeWitnessRuns(runs: readonly WitnessRun[]): {\n checked: number;\n refuted: number;\n unresolved: number;\n exitCode: number;\n} {\n const n = (s: WitnessRun['status']) => runs.filter((r) => r.status === s).length;\n const refuted = n('refuted');\n return { checked: n('checked'), refuted, unresolved: n('unresolved'), exitCode: refuted > 0 ? EXIT_CHECK_FAILED : 0 };\n}\n\n/** `null` and `[]` are both not yet analysed, and neither is omitted. */\nfunction formatUniformity(uniformity: readonly string[] | null): string {\n if (uniformity === null || uniformity.length === 0) return 'not yet analysed';\n return uniformity.join('; ');\n}\n\nconst HELP = `upt atlas [<bridge-id>] [--run] [--json]\n upt atlas --evidence [--stored | --run] [--json]\n One atlas bridge with every qualification visible: relation, premises\n and conclusion, transformation and inverse, side conditions, regime\n inequalities, bound with its horizon and uniformity, what it preserves and loses,\n witnesses, counterexamples, formal reference and review status.\n review status is the record's review mark (proposed or reviewed).\n It is not an evidence tag. formally-proved is derived from the\n formal reference and does not depend on that mark. Empty\n sections print as \"none stated\", never disappear. When derived\n evidence is both formally-proved and contradicted, the report prints\n proved, with unresolved counterexample: yes. The proof stays and the\n counterexample stays unresolved. With no id, lists\n every bridge of every family.\n A catalog id be-<n> (either letter case) is not an atlas bridge. When\n the atlas overlay has a formal reference for that id, the command\n prints it and does not derive formally-proved from it. A catalog\n equation with no formal reference says so. --run applies only to an atlas bridge.\n Evidence is shown BY CLAIM (correspondence, regime, bound, horizon,\n preserves), each citing only what the record's structure links to it;\n a witness is listed under the bound (sharp, or at one point for a bound\n that is not sharp) or under a preserved property only where the witness\n registry attributes it, and the rest are listed apart. Every witness shows its\n execution status: a witness's name is not\n its result. --run executes the bridge's in-process registered\n witnesses now and reports checked / refuted / unresolved separately\n (exit 3 if any is refuted).\n --evidence, with no id, is the atlas-wide evidence view: every bridge of\n every family with its DERIVED evidence, the tags undecided without\n witness results, per-tag counts (zeros included) and each declared norm\n transport's witness. --stored derives it from the committed witness\n results, --run from every registered witness run now (exit 3 if any is\n refuted); either implies --evidence when no id is given.\n e.g. upt atlas ab-pendulum-linear\n upt atlas be-16\n upt atlas ab-walk-diffusion --run\n upt atlas --evidence --run`;\n\ntype CatalogEquation = CommandCtx['api']['BRIDGE_EQUATIONS'][number];\n\n/**\n * `be-16`, `BE-16`, and `16` name a catalog equation by its integer id.\n * An atlas id (`ab-…`) does not match.\n */\nfunction catalogEquationNumber(api: CommandCtx['api'], raw: string): number | undefined {\n return api.catalogIdNumber(raw);\n}\n\n/**\n * Print the stored catalog `formalRef`. This is not an atlas-bridge report,\n * and it does not call `deriveEvidence`: a catalog reference is not a derived\n * `formally-proved` tag.\n */\nfunction emitCatalogFormalRef(entry: CatalogEquation, wantJson: boolean, ctx: CommandCtx): number {\n const ref = ctx.api.catalogFormalRef(entry.id);\n if (ref === undefined) {\n throw new CliError(`upt atlas: be-${entry.id} is a catalog equation and has no formalRef (\\`upt atlas\\` lists atlas bridges)`);\n }\n const id = `be-${entry.id}`;\n if (wantJson) {\n emitJson(\n {\n command: 'atlas',\n epistemics:\n 'This is the stored catalog formalRef. The entry is a catalog equation, not an atlas bridge. ' +\n 'This command does not derive formally-proved from it. The covers line states the part the theorem certifies.',\n options: { id },\n result: {\n source: 'catalog',\n id,\n catalogId: entry.id,\n name: entry.name,\n formalRef: ref,\n },\n },\n ctx.write,\n );\n return 0;\n }\n ctx.out(`\\n${id} — catalog equation, not an atlas bridge`);\n ctx.out(` ${entry.name}`);\n ctx.out('formal reference:');\n ctx.out(` ${ref.system}: ${ref.statement}`);\n ctx.out(` version ${ref.version}; axioms ${ref.axioms.join(', ') || 'none'}`);\n ctx.out(` fidelity: ${ref.fidelity}`);\n ctx.out(` kind: ${ref.kind}`);\n ctx.out(` url: ${ref.url}`);\n ctx.out(` covers: ${ref.covers}`);\n ctx.out('This command prints the stored catalog formalRef. It does not derive formally-proved from it.');\n if (entry.status !== 'established') {\n ctx.out(\n `The catalog edge for id ${entry.id} is ${entry.status}. A chain through this equation stays provisional (upt chain); ` +\n 'a composition through it takes the lower grade. That grade is not this formalRef, ' +\n 'and this formalRef does not make the chain formally-proved.',\n );\n }\n return 0;\n}\n\nasync function run(ctx: CommandCtx): Promise<number> {\n const { args, api, out } = ctx;\n const wantJson = args.flags.has('json');\n const [id, extra] = args.positionals;\n if (extra !== undefined) throw new CliError(`upt atlas: unexpected argument '${extra}' (one bridge at a time)`);\n\n const families = api.ATLAS_FAMILIES;\n const rows = families.flatMap((f) => f.bridges.map((b) => ({ family: f.family, bridge: b })));\n const models = new Map(families.flatMap((f) => f.models.map((m) => [m.id, m] as const)));\n\n const stored = args.flags.has('stored');\n const running = args.flags.has('run');\n if (id !== undefined && (args.flags.has('evidence') || stored)) {\n throw new CliError(\n 'upt atlas: --evidence and --stored are the atlas-wide view (no bridge id); one bridge already shows its evidence ' +\n 'by claim, and --run runs its witnesses',\n );\n }\n if (id === undefined && (args.flags.has('evidence') || stored || running)) {\n if (stored && running) throw new CliError('upt atlas: pick one witness-results source: --stored (the committed artifact) or --run (run now)');\n const results: WitnessResults | null = stored\n ? loadStoredResults('upt atlas')\n : running\n ? await runResults(api, new Set(rows.map((r) => r.bridge.id)))\n : null;\n const view = buildAtlasEvidenceView(api, results);\n const code = results?.mode === 'run' && results.rows.some((r) => r.status === 'refuted') ? EXIT_CHECK_FAILED : 0;\n if (wantJson) {\n emitJson({ command: 'atlas', options: { view: 'evidence', results: results?.mode ?? null }, result: view }, ctx.write);\n return code;\n }\n for (const line of atlasEvidenceText(view)) out(line);\n return code;\n }\n\n if (id === undefined) {\n const listing = rows.map((r) => ({ id: r.bridge.id, family: r.family, relation: r.bridge.relation }));\n if (wantJson) {\n emitJson({ command: 'atlas', result: { bridges: listing } }, ctx.write);\n return 0;\n }\n out(`\\n${listing.length} atlas bridges across ${families.length} families:`);\n for (const l of listing) out(` ${l.id.padEnd(28)} ${l.relation.padEnd(22)} [${l.family}]`);\n out('\\nRun `upt atlas <bridge-id>` for one bridge with every qualification, or `upt atlas --evidence` for every bridge\\'s derived evidence.');\n out('A catalog equation with a stored formal reference is `upt atlas be-<n>`.');\n return 0;\n }\n\n const row = rows.find((r) => r.bridge.id === id);\n if (row === undefined) {\n const catalogN = catalogEquationNumber(api, id);\n if (catalogN !== undefined) {\n const entry = api.BRIDGE_EQUATIONS.find((e) => e.id === catalogN);\n if (entry !== undefined) {\n if (args.flags.has('run')) {\n throw new CliError(\n `upt atlas: be-${entry.id} is a catalog equation, not an atlas bridge; --run applies to an atlas bridge (ab-*)`,\n );\n }\n return emitCatalogFormalRef(entry, wantJson, ctx);\n }\n throw new CliError(\n `upt atlas: unknown bridge '${id}' (not an atlas bridge and not a catalog equation; run \\`upt atlas\\` to list atlas bridges)`,\n );\n }\n throw new CliError(`upt atlas: unknown bridge '${id}' (run \\`upt atlas\\` to list them)`);\n }\n const b = row.bridge;\n const derived = api.deriveEvidence(b, api.NO_PASSING_WITNESSES);\n const derivedEvidence = api.ALL_EVIDENCE_TAGS.filter((tag) => derived.has(tag));\n const unresolvedCounterexample = api.provedWithUnresolvedCounterexample(derived);\n const symbolic = b.witnesses.filter((w) => w.kind === 'symbolic').map((w) => w.id);\n const familyOf = (modelId: string): string => models.get(modelId)?.family ?? 'UNKNOWN';\n\n // A claim cites only what the record's structure links to it. A witness is\n // cited under a claim only where the registry attributes it, and\n // tests/atlas/witness-claims.test.ts checks each attribution against the spec.\n const registered = api.WITNESS_REGISTRY.filter((e) => e.recordId === b.id);\n const boundWitnesses = registered.flatMap((e) =>\n e.kind === 'numeric' && (e.claim?.name === 'bound' || e.claim?.name === 'bound-holds-at')\n ? [{ id: e.spec.id, claim: e.claim.name, at: e.claim.at(e.spec.fineResolution) }]\n : [],\n );\n const preservesWitnesses = registered.flatMap((e) =>\n e.kind === 'numeric' && e.claim?.name === 'preserves'\n ? [{ id: e.spec.id, item: e.claim.item, at: e.claim.at(e.spec.fineResolution) }]\n : [],\n );\n const preservedWithWitness = new Set(preservesWitnesses.map((w) => w.item)).size;\n const notTheRef = b.formalRef === undefined ? '' : '; the formal reference is not attributed to it';\n const n = b.regime.inequalities.length;\n const claims = {\n correspondence: {\n formalReference:\n b.formalRef === undefined\n ? null\n : {\n system: b.formalRef.system,\n statement: b.formalRef.statement,\n fidelity: b.formalRef.fidelity,\n kind: b.formalRef.kind,\n url: b.formalRef.url,\n },\n text:\n b.formalRef === undefined\n ? 'no formal reference — no checked counterpart is recorded'\n : `formal reference ${b.formalRef.system}, fidelity ${b.formalRef.fidelity} — covers its statement only`,\n },\n regime: {\n inequalities: n,\n vacuous: n === 0,\n text:\n n === 0\n ? 'VACUOUS — no machine inequality to check'\n : `${n} machine ${n === 1 ? 'inequality' : 'inequalities'} — check a point with \\`upt regime ${row.family} --at …\\``,\n },\n bound:\n b.bound === undefined\n ? null\n : {\n basis: b.bound.deltaAtBasis ?? null,\n witnesses: boundWitnesses,\n text:\n (b.bound.deltaAtBasis === 'closed-form'\n ? 'basis closed-form (deltaAt is the exact error)'\n : b.bound.deltaAtBasis === 'numerically-supported'\n ? 'basis numerically-supported (witnesses support the formula; no proof covers it)'\n : 'no basis recorded for its value') + notTheRef,\n },\n horizon: {\n machineForm: b.bound !== undefined,\n text: b.bound === undefined ? 'none stated (no bound)' : `machine form recorded${notTheRef}`,\n },\n preserves: {\n evidence: preservesWitnesses.length === 0 ? null : preservesWitnesses,\n text:\n b.preserves.length === 0\n ? 'none stated'\n : preservesWitnesses.length === 0\n ? 'no evidence is attributed to a preserved property'\n : `${preservedWithWitness} of ${b.preserves.length} stated properties ${preservedWithWitness === 1 ? 'has' : 'have'} an attributed witness`,\n },\n };\n\n const registeredIds = new Set(registered.map((e) => e.spec.id));\n const claimOf = (id: string): 'bound' | 'bound-holds-at' | 'preserves' | null =>\n boundWitnesses.find((w) => w.id === id)?.claim ?? (preservesWitnesses.some((w) => w.id === id) ? 'preserves' : null);\n const ran = args.flags.has('run') ? (await api.runWitnessRegistry(registered)).results : null;\n const witnessExecution = b.witnesses.map((w) => {\n const result = ran?.find((r) => r.witnessId === w.id);\n if (result !== undefined) {\n return {\n id: w.id,\n kind: w.kind,\n claim: claimOf(w.id),\n status: result.status,\n ...(result.reason === undefined ? {} : { reason: result.reason }),\n detail: result.detail,\n };\n }\n return {\n id: w.id,\n kind: w.kind,\n claim: claimOf(w.id),\n status: registeredIds.has(w.id) ? ('runnable' as const) : ('not-observed' as const),\n rerun: publishedUrl(w.test),\n };\n });\n const runSummary = ran === null ? null : summarizeWitnessRuns(ran);\n\n // A declared norm transport's witness is registered under the transport id,\n // not the bridge's: it checks how the map acts on one norm, not the bridge.\n const declared = b.normTransports ?? [];\n const transportEntries = api.WITNESS_REGISTRY.filter((e) => declared.some((nt) => nt.id === e.recordId));\n const ranTransports = args.flags.has('run') ? (await api.runWitnessRegistry(transportEntries)).results : null;\n const transportSummary = ranTransports === null ? null : summarizeWitnessRuns(ranTransports);\n const normTransports =\n b.relation !== 'exact-equivalence'\n ? null\n : declared.map((nt) => {\n const r = ranTransports?.find((x) => x.recordId === nt.id && x.witnessId === nt.witness.id);\n const registeredHere = transportEntries.some((e) => e.recordId === nt.id && e.spec.id === nt.witness.id);\n return {\n id: nt.id,\n fromModel: nt.fromModel,\n toModel: nt.toModel,\n from: nt.from,\n to: nt.to,\n K: nt.K,\n domain: nt.domain,\n derivation: nt.derivation,\n timeMap: { map: nt.timeMap.map, uniform: nt.timeMap.uniform, horizon: nt.timeMap.horizon },\n uniformity: nt.uniformity,\n witness: { id: nt.witness.id, kind: nt.witness.kind, test: nt.witness.test, tolerance: nt.witness.tolerance ?? null },\n basis: nt.basis,\n status: r === undefined ? (registeredHere ? ('runnable' as const) : ('not-observed' as const)) : r.status,\n ...(r?.reason === undefined ? {} : { reason: r.reason }),\n };\n });\n const exitCode = Math.max(runSummary?.exitCode ?? 0, transportSummary?.exitCode ?? 0);\n\n const report = {\n id: b.id,\n family: row.family,\n relation: b.relation,\n premises: b.premises.map((p) => ({ id: p, family: familyOf(p) })),\n conclusion: { id: b.conclusion, family: familyOf(b.conclusion) },\n transformation: b.transformation,\n inverse: b.inverse ?? null,\n sideConditions: [...b.sideConditions],\n regime: {\n inequalities: b.regime.inequalities.map((i) => ({ group: i.group, op: i.op, bound: i.bound, alias: i.alias ?? null })),\n vacuous: b.regime.inequalities.length === 0,\n },\n bound:\n b.bound === undefined\n ? null\n : {\n K: b.bound.K,\n delta: b.bound.delta,\n norm: b.bound.norm,\n domain: b.bound.domain,\n horizon: b.bound.horizon,\n limitCharacter: b.bound.limitCharacter,\n uniformity: b.bound.uniformity === null ? null : [...b.bound.uniformity],\n },\n preserves: [...b.preserves],\n doesNotPreserve: [...b.doesNotPreserve],\n formallyProved: derived.has('formally-proved'),\n derivedEvidence,\n provedWithUnresolvedCounterexample: unresolvedCounterexample,\n symbolicWitnesses: symbolic,\n witnesses: b.witnesses.map((w) => ({ id: w.id, kind: w.kind, test: publishedUrl(w.test), tolerance: w.tolerance ?? null })),\n counterexamples: b.counterexamples.map((c) => ({ description: c.description, witness: c.witness })),\n formalRef: b.formalRef ?? null,\n formalRefCovers: b.formalRef === undefined ? null : b.formalRef.covers,\n citations: [...b.citations],\n reviewStatus: b.reviewStatus,\n claims,\n witnessExecution,\n witnessRun: runSummary,\n normTransports,\n ...(transportSummary === null ? {} : { normTransportRun: transportSummary }),\n };\n\n if (wantJson) {\n emitJson(\n {\n command: 'atlas',\n epistemics:\n 'Every qualification is included; empty lists mean \"none stated\", not \"none needed\". ' +\n `symbolically-checked is decided by ${WITNESS_RESULTS_URL}, which is not shipped in ` +\n 'the package; symbolicWitnesses names the witnesses it is decided over.',\n options: { id, run: ran !== null },\n result: report,\n },\n ctx.write,\n );\n return exitCode;\n }\n\n const list = (label: string, items: readonly string[]): void => {\n out(`${label}:`);\n if (items.length === 0) out(' none stated');\n for (const i of items) out(` - ${i}`);\n };\n out(`\\n${b.id} — ${b.relation} [${row.family}]`);\n out(` ${report.premises.map((p) => `${p.id} (${p.family})`).join(' + ')} → ${b.conclusion} (${report.conclusion.family})`);\n out(`transformation: ${b.transformation}`);\n out(`inverse: ${b.inverse ?? 'none stated'}`);\n list('side conditions', b.sideConditions);\n out('regime:');\n if (report.regime.vacuous) out(' VACUOUS — states no inequality; the bridge claims no restricted domain');\n for (const i of b.regime.inequalities) out(` - ${i.group} ${i.op} ${i.bound}${i.alias === undefined ? '' : ` (${i.alias})`}`);\n out('bound:');\n if (b.bound === undefined) out(' none stated');\n else {\n out(` K = ${b.bound.K}, delta = ${b.bound.delta} (${b.bound.norm})`);\n out(` domain: ${b.bound.domain}`);\n out(` horizon: ${b.bound.horizon}`);\n out(` limit: ${b.bound.limitCharacter}`);\n out(` uniformity: ${formatUniformity(b.bound.uniformity)}`);\n }\n list('preserves', b.preserves);\n list('does NOT preserve', b.doesNotPreserve);\n out(`derived evidence: ${report.derivedEvidence.join(', ') || 'none'}`);\n out(\n `formally-proved (derived from formalRef): ${\n report.formallyProved\n ? `YES — for the formal-reference statement only (fidelity ${b.formalRef!.fidelity}); ` +\n 'NOT the bound, regime, horizon or side conditions unless the statement says so'\n : 'no'\n }`,\n );\n out(\n report.provedWithUnresolvedCounterexample\n ? 'proved, with unresolved counterexample: yes — formally-proved stands; the counterexample is not resolved'\n : 'proved, with unresolved counterexample: no',\n );\n out(\n symbolic.length === 0\n ? 'symbolically-checked: no symbolic witness'\n : `symbolically-checked: decided by ${WITNESS_RESULTS_URL} over ${symbolic.join(', ')} ` +\n '(not shipped in the package)',\n );\n out('witnesses:');\n if (b.witnesses.length === 0) out(' none stated');\n for (const w of b.witnesses) {\n out(` - ${w.id} [${w.kind}] ${publishedUrl(w.test)}${w.tolerance === undefined ? '' : ` — ${w.tolerance}`}`);\n }\n out('counterexamples:');\n if (b.counterexamples.length === 0) out(' none stated');\n for (const c of b.counterexamples) out(` - ${c.description} (witness ${c.witness})`);\n out('formal reference:');\n if (b.formalRef === undefined) out(' none — no checked counterpart is recorded');\n else {\n out(` ${b.formalRef.system}: ${b.formalRef.statement}`);\n out(` version ${b.formalRef.version}; axioms ${b.formalRef.axioms.join(', ') || 'none'}`);\n out(` fidelity: ${b.formalRef.fidelity}`);\n out(` kind: ${b.formalRef.kind}`);\n out(` url: ${b.formalRef.url}`);\n // The tag above must not read wider than the statement. The record's covers\n // line says what the theorem certifies and that it covers its statement only.\n out(` covers: ${b.formalRef.covers}`);\n }\n const execution = (w: (typeof witnessExecution)[number]): string => {\n if (!('rerun' in w)) return `${w.status}${'reason' in w ? ` (${w.reason})` : ''} (run now) — ${w.detail}`;\n return w.status === 'runnable'\n ? `registered in-process, not run — \\`upt atlas ${b.id} --run\\` runs it`\n : `result not observed by this command — ${w.rerun}`;\n };\n out(\"evidence by claim (derived from the record's structure):\");\n out(` correspondence: ${claims.correspondence.text}`);\n out(` regime: ${claims.regime.text}`);\n out(` bound: ${claims.bound?.text ?? 'none stated'}`);\n const pointText = (p: Readonly<Record<string, number>>): string =>\n Object.entries(p)\n .sort(([x], [y]) => x.localeCompare(y))\n .map(([k, v]) => `${k} = ${v}`)\n .join(', ');\n for (const bw of boundWitnesses) {\n const w = witnessExecution.find((x) => x.id === bw.id)!;\n const what =\n bw.claim === 'bound'\n ? \"its error there is the bound's norm; tolerance ≤ delta\"\n : \"its error there is in the bound's norm; tolerance = deltaAt there, the bound is not sharp\";\n out(` - ${w.id} [${w.kind}] tests it at ${pointText(bw.at)} (${what}): ${execution(w)}`);\n }\n out(` horizon: ${claims.horizon.text}`);\n out(` preserves: ${claims.preserves.text}`);\n for (const pw of preservesWitnesses) {\n const w = witnessExecution.find((x) => x.id === pw.id)!;\n out(` - ${w.id} [${w.kind}] tests '${pw.item}' at ${pointText(pw.at)}: ${execution(w)}`);\n }\n const unattributed = witnessExecution.filter((w) => w.claim === null);\n out(\n boundWitnesses.length + preservesWitnesses.length === 0\n ? 'witness execution (the record does not attribute a witness to a claim):'\n : 'witness execution, witnesses not attributed to a claim:',\n );\n if (unattributed.length === 0) out(witnessExecution.length === 0 ? ' none stated' : ' none');\n for (const w of unattributed) out(` - ${w.id} [${w.kind}]: ${execution(w)}`);\n if (runSummary !== null) {\n out(\n registered.length === 0\n ? `witnesses run: none — no witness of ${b.id} is registered to run in-process`\n : `witnesses run: ${runSummary.checked} checked · ${runSummary.refuted} refuted · ${runSummary.unresolved} unresolved`,\n );\n }\n if (normTransports !== null) {\n out('norm transports (declared; a bound in any other norm, or crossing the other way, is refused through this map):');\n if (normTransports.length === 0) out(' none declared — this exact map carries no bound in any norm');\n for (const nt of normTransports) {\n out(` - ${nt.id}: ${nt.fromModel} → ${nt.toModel}, '${nt.from}' → '${nt.to}', K = ${nt.K} (${nt.domain})`);\n out(` time map: ${nt.timeMap.map} (${nt.timeMap.uniform ? 'uniform' : 'NOT uniform — not applied'})`);\n const status =\n nt.status === 'runnable'\n ? `registered in-process, not run — \\`upt atlas ${b.id} --run\\` runs it`\n : nt.status === 'not-observed'\n ? `result not observed by this command — ${publishedUrl(nt.witness.test)}`\n : `${nt.status}${'reason' in nt ? ` (${nt.reason})` : ''} (run now)`;\n out(` witness ${nt.witness.id} [${nt.witness.kind}; ${nt.basis} when it checks]: ${status}`);\n }\n }\n list('citations', b.citations);\n out(\n `review status: ${b.reviewStatus} — the record's review mark (proposed or reviewed), ` +\n 'not an evidence tag. formally-proved is derived from the formal reference and does not depend on this mark.',\n );\n return exitCode;\n}\n\nexport const command: Command = {\n name: 'atlas',\n aliases: [],\n flags: FLAGS,\n help: commandHelp(HELP, FLAGS),\n summary: 'Show one atlas bridge with its relation, regime, bound, witnesses, and formal reference.',\n example: 'upt atlas ab-pendulum-linear',\n group: 'explore',\n run,\n};\nregisterCommand(command);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"AAOA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAoH/E,eAAO,MAAM,OAAO,EAAE,OAUrB,CAAC"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"AAOA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AA0G/E,eAAO,MAAM,OAAO,EAAE,OAUrB,CAAC"}
@@ -2,8 +2,6 @@ import { registerCommand } from '../command.js';
2
2
  import { commandHelp, JSON_FLAG, sourceFlag } from '../flag-help.js';
3
3
  import { resolveGraph } from '../graphs.js';
4
4
  import { emitJson } from '../output.js';
5
- import { statusMeaning } from '../statuses.js';
6
- import { vacuumConstantThroughAlpha } from '../../composition/bridge-analysis.js';
7
5
  const FLAGS = [
8
6
  sourceFlag('catalog', 'Which graph to read: catalog, canonical, or both.'),
9
7
  JSON_FLAG,
@@ -21,9 +19,6 @@ const HELP = `upt audit [--source=catalog|canonical|both]
21
19
  a monomial reconstruction does not apply. It is not a failed
22
20
  reconstruction and not a physical refutation.
23
21
  --source picks the graph (default catalog).`;
24
- const DECOY_DEFINITION = statusMeaning('decoy');
25
- const NOT_A_MONOMIAL_DEFINITION = statusMeaning('not-a-monomial');
26
- const COEFFICIENT_UNSET_DEFINITION = statusMeaning('coefficient-unset');
27
22
  async function run(ctx) {
28
23
  const { args, api, out } = ctx;
29
24
  const { graph, source } = resolveGraph(api, args.flags);
@@ -62,12 +57,7 @@ async function run(ctx) {
62
57
  coefficientUnset: coefficientUnset.map(({ e, c }) => ({ id: e.id, complexity: c })),
63
58
  decoy: decoy.map(({ e, c }) => ({ id: e.id, complexity: c })),
64
59
  notAMonomial: notAMonomial.map(({ e, c }) => ({ id: e.id, complexity: c })),
65
- open: openSorted.map(({ e, c }) => ({ id: e.id, complexity: c })),
66
- definitions: {
67
- decoy: DECOY_DEFINITION,
68
- 'coefficient-unset': COEFFICIENT_UNSET_DEFINITION,
69
- 'not-a-monomial': NOT_A_MONOMIAL_DEFINITION,
70
- },
60
+ open: openSorted.map(({ e, c }) => ({ id: e.id, complexity: c, ...(Number.isFinite(c) ? {} : { unspannable: true }) })),
71
61
  },
72
62
  }, ctx.write);
73
63
  return 0;
@@ -75,29 +65,31 @@ async function run(ctx) {
75
65
  out('\nDeriving the bridge equations by dimensions');
76
66
  out('(form by dimensions; the constant is recovered by matching the evaluator)\n');
77
67
  out(` DERIVED (${derived.length}) — recognized monomial, prefactor recovered:`);
68
+ if (derived.length === 0)
69
+ out(' none');
78
70
  for (const { e, d } of derived) {
79
- const tag = d.cleanPrefactor
80
- ? ''
81
- : vacuumConstantThroughAlpha(d.subset, d.prefactor)
82
- ? ' (vacuum constant; μ0 rewritten through α)'
83
- : ' (empirical/tuned constant)';
84
- out(` ${e.id.padEnd(22)} +[${(d.subset || []).join(',')}] ×${d.prefactor.toExponential(3)}${tag}`);
71
+ const tag = d.cleanPrefactor ? '' : ' (empirical/tuned constant)';
72
+ out(` ${e.id.padEnd(22)} +[${(d.subset || []).join(',')}] ×${api.formatQuantity(d.prefactor)}${tag}`);
85
73
  }
86
74
  out(`\n COEFFICIENT UNSET (${coefficientUnset.length}) — dimensional, and no sourced prefactor multiplies the monomial. ` +
87
75
  "The evaluator's 1 is that absence, not a recovered constant:");
88
- out(' ' + coefficientUnset.map((x) => x.e.id).join(', '));
76
+ out(' ' + (coefficientUnset.length === 0 ? 'none' : coefficientUnset.map((x) => x.e.id).join(', ')));
89
77
  out(' (not a recovered prefactor, not a failed reconstruction, and not a free dimensionless group)');
90
78
  out(`\n DIMENSIONAL-RECONSTRUCTION MISMATCH (DECOY, ${decoy.length}) — a set of constants closes the dimensions, ` +
91
79
  'but its monomial does not reproduce the evaluator:');
92
- out(' ' + decoy.map((x) => x.e.id).join(', '));
80
+ out(' ' + (decoy.length === 0 ? 'none' : decoy.map((x) => x.e.id).join(', ')));
93
81
  out(' (NOT a physical refutation: the evaluator and any confrontation of these bridges stand as they are)');
94
82
  out(`\n NOT A MONOMIAL (${notAMonomial.length}) — the encoded formula adds dimensionful terms, so it is not a proportionality. ` +
95
83
  'A monomial reconstruction does not apply:');
96
- out(' ' + notAMonomial.map((x) => x.e.id).join(', '));
84
+ out(' ' + (notAMonomial.length === 0 ? 'none' : notAMonomial.map((x) => x.e.id).join(', ')));
97
85
  out(' (not a failed reconstruction of a monomial, and not a physical refutation)');
98
86
  out(`\n OPEN (${open.length}) — irreducible free dimensionless group(s); by complexity:`);
87
+ if (open.length === 0)
88
+ out(' none');
99
89
  for (const { e, c } of [...open].sort((a, b) => a.c - b.c)) {
100
- out(` cplx=${c} ${e.id}`);
90
+ // An infinite complexity is a target outside the span of its governing variables: no
91
+ // dimensionless group exists, so the row is unspannable, not merely hard.
92
+ out(` cplx=${Number.isFinite(c) ? c : '∞ (unspannable)'} ${e.id}`);
101
93
  }
102
94
  out('\n (derivability is ORTHOGONAL to credibility — see the priority command)');
103
95
  return 0;
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,KAAK,GAAe;IACxB,UAAU,CAAC,SAAS,EAAE,mDAAmD,CAAC;IAC1E,SAAS;CACV,CAAC;AAEF,MAAM,IAAI,GAAG;;;;;;;;;;;;oDAYuC,CAAC;AAGrD,KAAK,UAAU,GAAG,CAAC,GAAe;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAExD,MAAM,OAAO,GAAiG,EAAE,CAAC;IACjH,MAAM,gBAAgB,GAAoD,EAAE,CAAC;IAC7E,MAAM,KAAK,GAAoD,EAAE,CAAC;IAClE,MAAM,YAAY,GAAoD,EAAE,CAAC;IACzE,MAAM,IAAI,GAAoD,EAAE,CAAC;IACjE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACjD,IAAI,CAAC,CAAC,MAAM,KAAK,mBAAmB;YAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACtE,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAC/C,IAAI,CAAC,CAAC,MAAM,KAAK,gBAAgB;YAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;YAC/D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,QAAQ,CACN;YACE,OAAO,EAAE,OAAO;YAChB,MAAM;YACN,MAAM,EAAE;gBACN,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACrC,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,cAAc,EAAE,CAAC,CAAC,cAAc;oBAChC,UAAU,EAAE,CAAC;iBACd,CAAC,CAAC;gBACH,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnF,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC7D,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC3E,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;aACxH;SACF,EACD,GAAG,CAAC,KAAK,CACV,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,GAAG,CAAC,+CAA+C,CAAC,CAAC;IACrD,GAAG,CAAC,6EAA6E,CAAC,CAAC;IACnF,GAAG,CAAC,cAAc,OAAO,CAAC,MAAM,+CAA+C,CAAC,CAAC;IACjF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,8BAA8B,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,SAAU,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAC7G,CAAC;IACD,GAAG,CACD,0BAA0B,gBAAgB,CAAC,MAAM,qEAAqE;QACpH,8DAA8D,CACjE,CAAC;IACF,GAAG,CAAC,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxG,GAAG,CAAC,kGAAkG,CAAC,CAAC;IACxG,GAAG,CACD,mDAAmD,KAAK,CAAC,MAAM,gDAAgD;QAC7G,oDAAoD,CACvD,CAAC;IACF,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClF,GAAG,CAAC,yGAAyG,CAAC,CAAC;IAC/G,GAAG,CACD,uBAAuB,YAAY,CAAC,MAAM,mFAAmF;QAC3H,2CAA2C,CAC9C,CAAC;IACF,GAAG,CAAC,MAAM,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChG,GAAG,CAAC,gFAAgF,CAAC,CAAC;IACtF,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,6DAA6D,CAAC,CAAC;IAC3F,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACvC,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,qFAAqF;QACrF,0EAA0E;QAC1E,GAAG,CAAC,YAAY,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,GAAG,CAAC,4EAA4E,CAAC,CAAC;IAClF,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAY;IAC9B,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;IAC9B,OAAO,EACL,kHAAkH;IACpH,OAAO,EAAE,WAAW;IACpB,KAAK,EAAE,UAAU;IACjB,GAAG;CACJ,CAAC;AAEF,eAAe,CAAC,OAAO,CAAC,CAAC","sourcesContent":["/**\n * `upt audit` — try to derive every bridge equation by dimensions. Transposed\n * verbatim from bin/upt.mjs's `audit()` (lines 264-287), plus `--source`\n * (module-level `GRAPH` in the old CLI was always the catalog graph) and\n * `--json`.\n */\nimport type { FlagSpec } from '../args.js';\nimport { registerCommand, type Command, type CommandCtx } from '../command.js';\nimport { commandHelp, JSON_FLAG, sourceFlag } from '../flag-help.js';\nimport { resolveGraph } from '../graphs.js';\nimport { emitJson } from '../output.js';\n\nconst FLAGS: FlagSpec[] = [\n sourceFlag('catalog', 'Which graph to read: catalog, canonical, or both.'),\n JSON_FLAG,\n];\n\nconst HELP = `upt audit [--source=catalog|canonical|both]\n Try to derive every built-in bridge equation by dimensions: which\n re-derive as a recognized monomial (with the prefactor recovered),\n which are dimensional with no sourced prefactor (the evaluator's 1\n is that absence), which are decoys, which add dimensionful terms\n (not a monomial), which are dimensionally open.\n A DECOY is a failed dimensional RECONSTRUCTION: a set of constants\n closes the dimensions, but its monomial does not reproduce the\n bridge's evaluator. It is not a physical refutation of the formula.\n NOT A MONOMIAL means the encoded formula adds dimensionful terms, so\n a monomial reconstruction does not apply. It is not a failed\n reconstruction and not a physical refutation.\n --source picks the graph (default catalog).`;\n\n\nasync function run(ctx: CommandCtx): Promise<number> {\n const { args, api, out } = ctx;\n const { graph, source } = resolveGraph(api, args.flags);\n\n const derived: Array<{ e: (typeof graph)[number]; d: ReturnType<typeof api.attemptDerivation>; c: number }> = [];\n const coefficientUnset: Array<{ e: (typeof graph)[number]; c: number }> = [];\n const decoy: Array<{ e: (typeof graph)[number]; c: number }> = [];\n const notAMonomial: Array<{ e: (typeof graph)[number]; c: number }> = [];\n const open: Array<{ e: (typeof graph)[number]; c: number }> = [];\n for (const e of graph) {\n const d = api.attemptDerivation(e);\n const c = api.dimensionalFreedom(e);\n if (d.status === 'derived') derived.push({ e, d, c });\n else if (d.status === 'coefficient-unset') coefficientUnset.push({ e, c });\n else if (d.status === 'decoy') decoy.push({ e, c });\n else if (d.status === 'not-a-monomial') notAMonomial.push({ e, c });\n else open.push({ e, c });\n }\n\n if (args.flags.has('json')) {\n const openSorted = [...open].sort((a, b) => a.c - b.c);\n emitJson(\n {\n command: 'audit',\n source,\n result: {\n derived: derived.map(({ e, d, c }) => ({\n id: e.id,\n subset: d.subset,\n prefactor: d.prefactor,\n cleanPrefactor: d.cleanPrefactor,\n complexity: c,\n })),\n coefficientUnset: coefficientUnset.map(({ e, c }) => ({ id: e.id, complexity: c })),\n decoy: decoy.map(({ e, c }) => ({ id: e.id, complexity: c })),\n notAMonomial: notAMonomial.map(({ e, c }) => ({ id: e.id, complexity: c })),\n open: openSorted.map(({ e, c }) => ({ id: e.id, complexity: c, ...(Number.isFinite(c) ? {} : { unspannable: true }) })),\n },\n },\n ctx.write\n );\n return 0;\n }\n\n out('\\nDeriving the bridge equations by dimensions');\n out('(form by dimensions; the constant is recovered by matching the evaluator)\\n');\n out(` DERIVED (${derived.length}) — recognized monomial, prefactor recovered:`);\n if (derived.length === 0) out(' none');\n for (const { e, d } of derived) {\n const tag = d.cleanPrefactor ? '' : ' (empirical/tuned constant)';\n out(` ${e.id.padEnd(22)} +[${(d.subset || []).join(',')}] ×${api.formatQuantity(d.prefactor!)}${tag}`);\n }\n out(\n `\\n COEFFICIENT UNSET (${coefficientUnset.length}) — dimensional, and no sourced prefactor multiplies the monomial. ` +\n \"The evaluator's 1 is that absence, not a recovered constant:\",\n );\n out(' ' + (coefficientUnset.length === 0 ? 'none' : coefficientUnset.map((x) => x.e.id).join(', ')));\n out(' (not a recovered prefactor, not a failed reconstruction, and not a free dimensionless group)');\n out(\n `\\n DIMENSIONAL-RECONSTRUCTION MISMATCH (DECOY, ${decoy.length}) — a set of constants closes the dimensions, ` +\n 'but its monomial does not reproduce the evaluator:',\n );\n out(' ' + (decoy.length === 0 ? 'none' : decoy.map((x) => x.e.id).join(', ')));\n out(' (NOT a physical refutation: the evaluator and any confrontation of these bridges stand as they are)');\n out(\n `\\n NOT A MONOMIAL (${notAMonomial.length}) — the encoded formula adds dimensionful terms, so it is not a proportionality. ` +\n 'A monomial reconstruction does not apply:',\n );\n out(' ' + (notAMonomial.length === 0 ? 'none' : notAMonomial.map((x) => x.e.id).join(', ')));\n out(' (not a failed reconstruction of a monomial, and not a physical refutation)');\n out(`\\n OPEN (${open.length}) — irreducible free dimensionless group(s); by complexity:`);\n if (open.length === 0) out(' none');\n for (const { e, c } of [...open].sort((a, b) => a.c - b.c)) {\n // An infinite complexity is a target outside the span of its governing variables: no\n // dimensionless group exists, so the row is unspannable, not merely hard.\n out(` cplx=${Number.isFinite(c) ? c : '∞ (unspannable)'} ${e.id}`);\n }\n out('\\n (derivability is ORTHOGONAL to credibility — see the priority command)');\n return 0;\n}\n\nexport const command: Command = {\n name: 'audit',\n aliases: [],\n flags: FLAGS,\n help: commandHelp(HELP, FLAGS),\n summary:\n 'Derive every bridge equation by dimensions and sort derived, coefficient unset, decoy, not a monomial, and open.',\n example: 'upt audit',\n group: 'evaluate',\n run,\n};\n\nregisterCommand(command);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"axes.js","sourceRoot":"","sources":["../../../src/cli/commands/axes.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,KAAK,GAAe,CAAC,SAAS,CAAC,CAAC;AAEtC,MAAM,IAAI,GAAG;;;;uFAI0E,CAAC;AAExF,MAAM,UAAU,GACd,wEAAwE,YAAY,CAAC,yCAAyC,CAAC,GAAG,CAAC;AAErI,KAAK,UAAU,GAAG,CAAC,GAAe;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAE9D,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACjF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,GAAG,CAAC,2EAA2E,CAAC,CAAC;IACjF,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACvB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,GAAG,CACD,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE;YAC3D,YAAY,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;YACrF,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,CAC1D,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/D,GAAG,CACD,OAAO,KAAK,CAAC,MAAM,OAAO,MAAM,CAAC,MAAM,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;QACzE,iGAAiG,CACpG,CAAC;IACF,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAY;IAC9B,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,CAAC,YAAY,CAAC;IACvB,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;IAC9B,OAAO,EAAE,oEAAoE;IAC7E,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,WAAW;IAClB,GAAG;CACJ,CAAC;AAEF,eAAe,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"axes.js","sourceRoot":"","sources":["../../../src/cli/commands/axes.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,KAAK,GAAe,CAAC,SAAS,CAAC,CAAC;AAEtC,MAAM,IAAI,GAAG;;;;uFAI0E,CAAC;AAExF,MAAM,UAAU,GACd,wEAAwE,YAAY,CAAC,yCAAyC,CAAC,GAAG,CAAC;AAErI,KAAK,UAAU,GAAG,CAAC,GAAe;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAE9D,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACjF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,GAAG,CAAC,2EAA2E,CAAC,CAAC;IACjF,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACvB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,GAAG,CACD,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE;YAC3D,YAAY,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;YACrF,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,CAC1D,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/D,GAAG,CACD,OAAO,KAAK,CAAC,MAAM,OAAO,MAAM,CAAC,MAAM,eAAe,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;QACzE,iGAAiG,CACpG,CAAC;IACF,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAY;IAC9B,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,CAAC,YAAY,CAAC;IACvB,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;IAC9B,OAAO,EAAE,oEAAoE;IAC7E,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,WAAW;IAClB,GAAG;CACJ,CAAC;AAEF,eAAe,CAAC,OAAO,CAAC,CAAC","sourcesContent":["/**\n * `upt axes` — the axis-discrimination audit. Reproduces from the CLI the\n * measurement behind the rank-7 finding: which tensor classification axes actually\n * GATE the discovery funnel (an axis stays ungated until it MEASURABLY fires on\n * real candidates). Closes the reproducibility gap for\n * docs/research/rank7-axis-measurement.md.\n */\nimport type { FlagSpec } from '../args.js';\nimport { registerCommand, type Command, type CommandCtx } from '../command.js';\nimport { commandHelp, JSON_FLAG } from '../flag-help.js';\nimport { emitJson } from '../output.js';\nimport { publishedUrl } from '../published-url.js';\n\nconst FLAGS: FlagSpec[] = [JSON_FLAG];\n\nconst HELP = `upt axes\n Axis-discrimination audit — which tensor classification axes actually\n GATE the discovery funnel. Each axis measures FIRES (candidate clashes)\n vs ABSTAINS over the funnel; an axis gates only when it fires. Reproduces\n the rank-7 measurement (topology/statistics/symmetry classify but don't gate).`;\n\nconst EPISTEMICS =\n `(rank grows on measured evidence: an axis gates only when it fires — ${publishedUrl('docs/research/rank7-axis-measurement.md')})`;\n\nasync function run(ctx: CommandCtx): Promise<number> {\n const { args, api, out } = ctx;\n const report = api.auditAxisDiscrimination(api.CATALOG_GRAPH);\n\n if (args.flags.has('json')) {\n emitJson({ command: 'axes', epistemics: EPISTEMICS, result: report }, ctx.write);\n return 0;\n }\n\n out('\\nTensor-axis discrimination audit — which axes gate the discovery funnel');\n out(EPISTEMICS + '\\n');\n for (const r of report) {\n out(\n ` ${r.axis.padEnd(12)} ${r.gated ? 'GATED ' : 'ungated '}` +\n ` checked ${String(r.checked).padStart(3)} · fires ${String(r.fires).padStart(3)} · ` +\n (r.discriminates ? 'discriminates ✓' : 'does not gate'),\n );\n }\n const gated = report.filter((r) => r.gated).map((r) => r.axis);\n out(\n `\\n ${gated.length} of ${report.length} axes gate (${gated.join(', ')}); ` +\n 'the rest classify but do not gate (their physics is closed-form-isolated or already-connected).',\n );\n return 0;\n}\n\nexport const command: Command = {\n name: 'axes',\n aliases: ['axis-audit'],\n flags: FLAGS,\n help: commandHelp(HELP, FLAGS),\n summary: 'Report which tensor classification axes gate the discovery funnel.',\n example: 'upt axes',\n group: 'discovery',\n run,\n};\n\nregisterCommand(command);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"candidates.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/candidates.ts"],"names":[],"mappings":"AAOA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AA+C/E,eAAO,MAAM,OAAO,EAAE,OASrB,CAAC"}
1
+ {"version":3,"file":"candidates.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/candidates.ts"],"names":[],"mappings":"AAOA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAsD/E,eAAO,MAAM,OAAO,EAAE,OASrB,CAAC"}
@@ -2,7 +2,7 @@ import { registerCommand } from '../command.js';
2
2
  import { commandHelp, JSON_FLAG, sourceFlag } from '../flag-help.js';
3
3
  import { resolveGraph, coreAnchor, coreLine } from '../graphs.js';
4
4
  import { emitJson } from '../output.js';
5
- import { publishedUrl } from '../published-url.js';
5
+ import { adjudicationSourceUrls } from '../published-url.js';
6
6
  const FLAGS = [
7
7
  sourceFlag('catalog', 'Which graph to read: catalog, canonical, or both.'),
8
8
  JSON_FLAG,
@@ -29,13 +29,21 @@ async function run(ctx) {
29
29
  out(' weak signal; each needs a physicist to accept or (far more often) reject.\n');
30
30
  out(` funnel: ${cands.length} total → ${core.length} touch the anchored core → ${ck.length} also same-kind\n`);
31
31
  out(' same-kind + core-touching (the least-implausible set):');
32
- for (const c of ck)
33
- out(` ${(c.a + ' ≟ ' + c.b).padEnd(56)} [${c.sharedToken}]`);
34
- out('\n Most are still coincidences (decoherence-rate ≟ hubble-rate) or pairs the catalog');
35
- out(' deliberately keeps distinct (effective-mass ≠ mass). The genuinely motivated few —');
36
- out(' e.g. coarsening-length ≟ quantum-correlation-length (links the isolated Model-A');
37
- out(' coarsening bridge to the Kibble-Zurek criticality cluster) — are written up in');
38
- out(` ${publishedUrl('docs/research/Linkage-Candidate-Proposals.md')}`);
32
+ // A pair the adjudication ledger has ruled on carries that verdict on its row; the
33
+ // rest are unadjudicated. No pair is called motivated by this command: the ledger is
34
+ // the only record of what a physicist concluded, and its grounds are quoted from it.
35
+ let adjudicated = 0;
36
+ for (const c of ck) {
37
+ const record = api.candidateIdIfSlug(c.a, c.b) === undefined ? undefined : api.adjudicationFor(c.a, c.b);
38
+ if (record !== undefined)
39
+ adjudicated++;
40
+ const trailer = record === undefined ? '' : ` [adjudicated: ${record.verdict} — ${record.grounds}]`;
41
+ out(` ${(c.a + ' ≟ ' + c.b).padEnd(56)} [${c.sharedToken}]${trailer}`);
42
+ }
43
+ out(`\n adjudicated: ${adjudicated} of ${ck.length} carry a recorded verdict; the rest are unadjudicated.`);
44
+ out(' A shared dimension is a coincidence until a physicist records otherwise. The ledger\'s sources:');
45
+ for (const url of adjudicationSourceUrls())
46
+ out(` ${url}`);
39
47
  return 0;
40
48
  }
41
49
  export const command = {
@@ -1 +1 @@
1
- {"version":3,"file":"candidates.js","sourceRoot":"","sources":["../../../src/cli/commands/candidates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"candidates.js","sourceRoot":"","sources":["../../../src/cli/commands/candidates.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * `upt candidates` — propose candidate cross-cluster links (quantities of the\n * same dimension in different clusters) for physicist review. Transposed\n * verbatim from bin/upt.mjs's `candidatesCmd()` (lines 548-564), which\n * already resolved `--source`; adds `--json`.\n */\nimport type { FlagSpec } from '../args.js';\nimport { registerCommand, type Command, type CommandCtx } from '../command.js';\nimport { commandHelp, JSON_FLAG, sourceFlag } from '../flag-help.js';\nimport { resolveGraph, coreAnchor, coreLine } from '../graphs.js';\nimport { emitJson } from '../output.js';\nimport { adjudicationSourceUrls } from '../published-url.js';\n\nconst FLAGS: FlagSpec[] = [\n sourceFlag('catalog', 'Which graph to read: catalog, canonical, or both.'),\n JSON_FLAG,\n];\n\nconst HELP = `upt candidates [--source=catalog|canonical|both]\n Propose candidate cross-cluster links (quantities of the same\n dimension in different clusters) for PHYSICIST REVIEW — a\n coincidence-heavy surface, not discovered bridges.`;\n\nconst EPISTEMICS =\n '⚠ a coincidence-heavy REVIEW SURFACE, NOT discovered bridges. Same dimension is a\\n' +\n ' weak signal; each needs a physicist to accept or (far more often) reject.';\n\nasync function run(ctx: CommandCtx): Promise<number> {\n const { args, api, out } = ctx;\n const { graph, label, source } = resolveGraph(api, args.flags);\n const cands = api.proposeLinkCandidates(graph);\n\n if (args.flags.has('json')) {\n emitJson({ command: 'candidates', source, anchor: { core: coreAnchor(graph) }, epistemics: EPISTEMICS, result: cands }, ctx.write);\n return 0;\n }\n\n const core = cands.filter((c) => c.touchesCore);\n const ck = cands.filter((c) => c.touchesCore && c.sameKind);\n out(`\\nLink candidates — cross-cluster quantities sharing a dimension [source: ${label}]`);\n out(` ${coreLine(coreAnchor(graph))}`);\n out('⚠ a coincidence-heavy REVIEW SURFACE, NOT discovered bridges. Same dimension is a');\n out(' weak signal; each needs a physicist to accept or (far more often) reject.\\n');\n out(` funnel: ${cands.length} total → ${core.length} touch the anchored core → ${ck.length} also same-kind\\n`);\n out(' same-kind + core-touching (the least-implausible set):');\n // A pair the adjudication ledger has ruled on carries that verdict on its row; the\n // rest are unadjudicated. No pair is called motivated by this command: the ledger is\n // the only record of what a physicist concluded, and its grounds are quoted from it.\n let adjudicated = 0;\n for (const c of ck) {\n const record = api.candidateIdIfSlug(c.a, c.b) === undefined ? undefined : api.adjudicationFor(c.a, c.b);\n if (record !== undefined) adjudicated++;\n const trailer = record === undefined ? '' : ` [adjudicated: ${record.verdict} — ${record.grounds}]`;\n out(` ${(c.a + ' ≟ ' + c.b).padEnd(56)} [${c.sharedToken}]${trailer}`);\n }\n out(`\\n adjudicated: ${adjudicated} of ${ck.length} carry a recorded verdict; the rest are unadjudicated.`);\n out(' A shared dimension is a coincidence until a physicist records otherwise. The ledger\\'s sources:');\n for (const url of adjudicationSourceUrls()) out(` ${url}`);\n return 0;\n}\n\nexport const command: Command = {\n name: 'candidates',\n aliases: ['propose'],\n flags: FLAGS,\n help: commandHelp(HELP, FLAGS),\n summary: 'Propose same-dimension links between clusters for physicist review.',\n example: 'upt candidates',\n group: 'discovery',\n run,\n};\n\nregisterCommand(command);\n"]}