universal-physics-tensor 9.0.0 → 11.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 (1109) hide show
  1. package/README.md +21 -17
  2. package/bin/upt.mjs +13 -1
  3. package/data/atlas/atlas.json +79 -68
  4. package/data/atlas/atlas.jsonld +1 -1
  5. package/data/atlas/diffusion.json +24 -23
  6. package/data/atlas/oscillators.json +21 -16
  7. package/data/atlas/waves.json +36 -31
  8. package/data/atlas/witness-results.json +11 -11
  9. package/data/bridge-catalog.json +1192 -1636
  10. package/data/bridge-catalog.schema.json +390 -135
  11. package/data/quantities.json +53 -19
  12. package/data/schemas/atlas-record.v0.json +184 -46
  13. package/data/units.json +33 -4
  14. package/dist/atlas/applicability.d.ts.map +1 -1
  15. package/dist/atlas/applicability.js +35 -18
  16. package/dist/atlas/applicability.js.map +1 -1
  17. package/dist/atlas/association.js.map +1 -1
  18. package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -1
  19. package/dist/atlas/benchmark/backend-shapes.js +5 -1
  20. package/dist/atlas/benchmark/backend-shapes.js.map +1 -1
  21. package/dist/atlas/benchmark/baselines.d.ts.map +1 -1
  22. package/dist/atlas/benchmark/baselines.js +8 -0
  23. package/dist/atlas/benchmark/baselines.js.map +1 -1
  24. package/dist/atlas/benchmark/hybrid-retrieval.d.ts +12 -3
  25. package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
  26. package/dist/atlas/benchmark/hybrid-retrieval.js +30 -21
  27. package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
  28. package/dist/atlas/benchmark/leakage.js.map +1 -1
  29. package/dist/atlas/benchmark/loader.js +2 -2
  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 +3 -3
  35. package/dist/atlas/benchmark/stats.d.ts.map +1 -1
  36. package/dist/atlas/benchmark/stats.js +16 -8
  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.d.ts +26 -3
  45. package/dist/atlas/catalog-formal-ref.d.ts.map +1 -1
  46. package/dist/atlas/catalog-formal-ref.js +52 -5
  47. package/dist/atlas/catalog-formal-ref.js.map +1 -1
  48. package/dist/atlas/chain-pipeline.d.ts +0 -11
  49. package/dist/atlas/chain-pipeline.d.ts.map +1 -1
  50. package/dist/atlas/chain-pipeline.js +12 -24
  51. package/dist/atlas/chain-pipeline.js.map +1 -1
  52. package/dist/atlas/composition-table.js.map +1 -1
  53. package/dist/atlas/conventions.js.map +1 -1
  54. package/dist/atlas/coverage.d.ts +2 -2
  55. package/dist/atlas/coverage.js.map +1 -1
  56. package/dist/atlas/derivation.js.map +1 -1
  57. package/dist/atlas/derive-evidence.d.ts +6 -4
  58. package/dist/atlas/derive-evidence.d.ts.map +1 -1
  59. package/dist/atlas/derive-evidence.js +7 -2
  60. package/dist/atlas/derive-evidence.js.map +1 -1
  61. package/dist/atlas/diffusion/bridges-closure.d.ts +0 -4
  62. package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
  63. package/dist/atlas/diffusion/bridges-closure.js +8 -17
  64. package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
  65. package/dist/atlas/diffusion/bridges.d.ts.map +1 -1
  66. package/dist/atlas/diffusion/bridges.js +27 -42
  67. package/dist/atlas/diffusion/bridges.js.map +1 -1
  68. package/dist/atlas/diffusion/dimensions.d.ts +6 -14
  69. package/dist/atlas/diffusion/dimensions.d.ts.map +1 -1
  70. package/dist/atlas/diffusion/dimensions.js +8 -16
  71. package/dist/atlas/diffusion/dimensions.js.map +1 -1
  72. package/dist/atlas/diffusion/index.d.ts +1 -1
  73. package/dist/atlas/diffusion/index.d.ts.map +1 -1
  74. package/dist/atlas/diffusion/index.js.map +1 -1
  75. package/dist/atlas/diffusion/models.d.ts +3 -3
  76. package/dist/atlas/diffusion/models.d.ts.map +1 -1
  77. package/dist/atlas/diffusion/models.js +5 -10
  78. package/dist/atlas/diffusion/models.js.map +1 -1
  79. package/dist/atlas/diffusion/numerics.d.ts +16 -4
  80. package/dist/atlas/diffusion/numerics.d.ts.map +1 -1
  81. package/dist/atlas/diffusion/numerics.js +38 -24
  82. package/dist/atlas/diffusion/numerics.js.map +1 -1
  83. package/dist/atlas/error-algebra.d.ts +6 -0
  84. package/dist/atlas/error-algebra.d.ts.map +1 -1
  85. package/dist/atlas/error-algebra.js +26 -0
  86. package/dist/atlas/error-algebra.js.map +1 -1
  87. package/dist/atlas/export.d.ts +18 -2
  88. package/dist/atlas/export.d.ts.map +1 -1
  89. package/dist/atlas/export.js +9 -3
  90. package/dist/atlas/export.js.map +1 -1
  91. package/dist/atlas/families.d.ts +19 -2
  92. package/dist/atlas/families.d.ts.map +1 -1
  93. package/dist/atlas/families.js +26 -3
  94. package/dist/atlas/families.js.map +1 -1
  95. package/dist/atlas/family.d.ts +27 -0
  96. package/dist/atlas/family.d.ts.map +1 -0
  97. package/dist/atlas/family.js +12 -0
  98. package/dist/atlas/family.js.map +1 -0
  99. package/dist/atlas/index.d.ts +3 -2
  100. package/dist/atlas/index.d.ts.map +1 -1
  101. package/dist/atlas/index.js +2 -1
  102. package/dist/atlas/index.js.map +1 -1
  103. package/dist/atlas/link-prediction.d.ts +107 -4
  104. package/dist/atlas/link-prediction.d.ts.map +1 -1
  105. package/dist/atlas/link-prediction.js +212 -66
  106. package/dist/atlas/link-prediction.js.map +1 -1
  107. package/dist/atlas/model.js.map +1 -1
  108. package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -1
  109. package/dist/atlas/oscillators/bridges-coarse.js +7 -12
  110. package/dist/atlas/oscillators/bridges-coarse.js.map +1 -1
  111. package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
  112. package/dist/atlas/oscillators/bridges-exact.js +6 -10
  113. package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
  114. package/dist/atlas/oscillators/bridges-limits.d.ts +3 -16
  115. package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
  116. package/dist/atlas/oscillators/bridges-limits.js +23 -36
  117. package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
  118. package/dist/atlas/oscillators/dimensions.d.ts +9 -21
  119. package/dist/atlas/oscillators/dimensions.d.ts.map +1 -1
  120. package/dist/atlas/oscillators/dimensions.js +9 -21
  121. package/dist/atlas/oscillators/dimensions.js.map +1 -1
  122. package/dist/atlas/oscillators/index.d.ts +1 -16
  123. package/dist/atlas/oscillators/index.d.ts.map +1 -1
  124. package/dist/atlas/oscillators/index.js.map +1 -1
  125. package/dist/atlas/oscillators/limit-witnesses.d.ts +2 -2
  126. package/dist/atlas/oscillators/limit-witnesses.d.ts.map +1 -1
  127. package/dist/atlas/oscillators/limit-witnesses.js +17 -15
  128. package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
  129. package/dist/atlas/oscillators/models.d.ts.map +1 -1
  130. package/dist/atlas/oscillators/models.js +2 -6
  131. package/dist/atlas/oscillators/models.js.map +1 -1
  132. package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -1
  133. package/dist/atlas/oscillators/norm-transport.js.map +1 -1
  134. package/dist/atlas/oscillators/norms.js.map +1 -1
  135. package/dist/atlas/oscillators/pendulum-motion.d.ts +29 -6
  136. package/dist/atlas/oscillators/pendulum-motion.d.ts.map +1 -1
  137. package/dist/atlas/oscillators/pendulum-motion.js +60 -40
  138. package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
  139. package/dist/atlas/oscillators/phase-carriage.js.map +1 -1
  140. package/dist/atlas/oscillators/phase-translation.d.ts +0 -11
  141. package/dist/atlas/oscillators/phase-translation.d.ts.map +1 -1
  142. package/dist/atlas/oscillators/phase-translation.js +3 -4
  143. package/dist/atlas/oscillators/phase-translation.js.map +1 -1
  144. package/dist/atlas/oscillators/position-translation.d.ts +68 -7
  145. package/dist/atlas/oscillators/position-translation.d.ts.map +1 -1
  146. package/dist/atlas/oscillators/position-translation.js +123 -12
  147. package/dist/atlas/oscillators/position-translation.js.map +1 -1
  148. package/dist/atlas/oscillators/rejections.d.ts +0 -2
  149. package/dist/atlas/oscillators/rejections.d.ts.map +1 -1
  150. package/dist/atlas/oscillators/rejections.js +0 -7
  151. package/dist/atlas/oscillators/rejections.js.map +1 -1
  152. package/dist/atlas/path-bound.js.map +1 -1
  153. package/dist/atlas/physjs-entries.generated.d.ts +25 -24
  154. package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
  155. package/dist/atlas/physjs-entries.generated.js +25 -24
  156. package/dist/atlas/physjs-entries.generated.js.map +1 -1
  157. package/dist/atlas/physjs-ref.d.ts +107 -70
  158. package/dist/atlas/physjs-ref.d.ts.map +1 -1
  159. package/dist/atlas/physjs-ref.js +184 -101
  160. package/dist/atlas/physjs-ref.js.map +1 -1
  161. package/dist/atlas/physjs-reviewed.d.ts +31 -0
  162. package/dist/atlas/physjs-reviewed.d.ts.map +1 -0
  163. package/dist/atlas/physjs-reviewed.js +194 -0
  164. package/dist/atlas/physjs-reviewed.js.map +1 -0
  165. package/dist/atlas/poster/associations.js.map +1 -1
  166. package/dist/atlas/poster/derivations.js.map +1 -1
  167. package/dist/atlas/poster/statements.d.ts +0 -19
  168. package/dist/atlas/poster/statements.d.ts.map +1 -1
  169. package/dist/atlas/poster/statements.js +1 -1
  170. package/dist/atlas/poster/statements.js.map +1 -1
  171. package/dist/atlas/proof-target.d.ts +1 -1
  172. package/dist/atlas/proof-target.js +1 -1
  173. package/dist/atlas/proof-target.js.map +1 -1
  174. package/dist/atlas/public.d.ts +2 -1
  175. package/dist/atlas/public.d.ts.map +1 -1
  176. package/dist/atlas/public.js +2 -1
  177. package/dist/atlas/public.js.map +1 -1
  178. package/dist/atlas/regime.d.ts +1 -1
  179. package/dist/atlas/regime.d.ts.map +1 -1
  180. package/dist/atlas/regime.js +1 -1
  181. package/dist/atlas/regime.js.map +1 -1
  182. package/dist/atlas/serialize.d.ts +18 -12
  183. package/dist/atlas/serialize.d.ts.map +1 -1
  184. package/dist/atlas/serialize.js +28 -18
  185. package/dist/atlas/serialize.js.map +1 -1
  186. package/dist/atlas/statement.js.map +1 -1
  187. package/dist/atlas/text-overlap.d.ts +23 -0
  188. package/dist/atlas/text-overlap.d.ts.map +1 -0
  189. package/dist/atlas/text-overlap.js +41 -0
  190. package/dist/atlas/text-overlap.js.map +1 -0
  191. package/dist/atlas/translation-registry.js.map +1 -1
  192. package/dist/atlas/translation.js.map +1 -1
  193. package/dist/atlas/types.d.ts +9 -2
  194. package/dist/atlas/types.d.ts.map +1 -1
  195. package/dist/atlas/types.js +1 -1
  196. package/dist/atlas/types.js.map +1 -1
  197. package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
  198. package/dist/atlas/waves/bridges-closure.js +2 -9
  199. package/dist/atlas/waves/bridges-closure.js.map +1 -1
  200. package/dist/atlas/waves/bridges.d.ts.map +1 -1
  201. package/dist/atlas/waves/bridges.js +32 -52
  202. package/dist/atlas/waves/bridges.js.map +1 -1
  203. package/dist/atlas/waves/index.d.ts +1 -1
  204. package/dist/atlas/waves/index.d.ts.map +1 -1
  205. package/dist/atlas/waves/index.js.map +1 -1
  206. package/dist/atlas/waves/models.d.ts +5 -6
  207. package/dist/atlas/waves/models.d.ts.map +1 -1
  208. package/dist/atlas/waves/models.js +7 -13
  209. package/dist/atlas/waves/models.js.map +1 -1
  210. package/dist/atlas/waves/numerics.d.ts.map +1 -1
  211. package/dist/atlas/waves/numerics.js +10 -3
  212. package/dist/atlas/waves/numerics.js.map +1 -1
  213. package/dist/atlas/witness-artifact.js.map +1 -1
  214. package/dist/atlas/witness-dominance.d.ts +4 -3
  215. package/dist/atlas/witness-dominance.d.ts.map +1 -1
  216. package/dist/atlas/witness-dominance.js +15 -5
  217. package/dist/atlas/witness-dominance.js.map +1 -1
  218. package/dist/atlas/witness-numeric.d.ts +38 -4
  219. package/dist/atlas/witness-numeric.d.ts.map +1 -1
  220. package/dist/atlas/witness-numeric.js +80 -2
  221. package/dist/atlas/witness-numeric.js.map +1 -1
  222. package/dist/atlas/witness-result.d.ts +7 -1
  223. package/dist/atlas/witness-result.d.ts.map +1 -1
  224. package/dist/atlas/witness-result.js.map +1 -1
  225. package/dist/atlas/witness-specs.d.ts.map +1 -1
  226. package/dist/atlas/witness-specs.js +19 -0
  227. package/dist/atlas/witness-specs.js.map +1 -1
  228. package/dist/atlas/witness-symbolic.d.ts +75 -3
  229. package/dist/atlas/witness-symbolic.d.ts.map +1 -1
  230. package/dist/atlas/witness-symbolic.js +116 -10
  231. package/dist/atlas/witness-symbolic.js.map +1 -1
  232. package/dist/atlas/witnesses/quantum-support.js.map +1 -1
  233. package/dist/bridges/caller-table.d.ts +1 -1
  234. package/dist/bridges/caller-table.d.ts.map +1 -1
  235. package/dist/bridges/caller-table.js.map +1 -1
  236. package/dist/bridges/carrier-sign.d.ts.map +1 -1
  237. package/dist/bridges/carrier-sign.js +8 -3
  238. package/dist/bridges/carrier-sign.js.map +1 -1
  239. package/dist/bridges/catalog-adapter.d.ts +12 -3
  240. package/dist/bridges/catalog-adapter.d.ts.map +1 -1
  241. package/dist/bridges/catalog-adapter.js +17 -9
  242. package/dist/bridges/catalog-adapter.js.map +1 -1
  243. package/dist/bridges/catalog-load.d.ts +12 -2
  244. package/dist/bridges/catalog-load.d.ts.map +1 -1
  245. package/dist/bridges/catalog-load.js +181 -13
  246. package/dist/bridges/catalog-load.js.map +1 -1
  247. package/dist/bridges/catalog-types.d.ts +74 -26
  248. package/dist/bridges/catalog-types.d.ts.map +1 -1
  249. package/dist/bridges/catalog-types.js +11 -1
  250. package/dist/bridges/catalog-types.js.map +1 -1
  251. package/dist/bridges/coefficient-statement.js +1 -5
  252. package/dist/bridges/coefficient-statement.js.map +1 -1
  253. package/dist/bridges/confrontation-coverage.js.map +1 -1
  254. package/dist/bridges/confrontations.d.ts +1 -1
  255. package/dist/bridges/confrontations.d.ts.map +1 -1
  256. package/dist/bridges/confrontations.js +1 -1
  257. package/dist/bridges/confrontations.js.map +1 -1
  258. package/dist/bridges/evaluation-errors.d.ts +46 -3
  259. package/dist/bridges/evaluation-errors.d.ts.map +1 -1
  260. package/dist/bridges/evaluation-errors.js +40 -4
  261. package/dist/bridges/evaluation-errors.js.map +1 -1
  262. package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
  263. package/dist/bridges/evaluator-inputs.js +7 -5
  264. package/dist/bridges/evaluator-inputs.js.map +1 -1
  265. package/dist/bridges/evaluators.d.ts +17 -2
  266. package/dist/bridges/evaluators.d.ts.map +1 -1
  267. package/dist/bridges/evaluators.js +76 -28
  268. package/dist/bridges/evaluators.js.map +1 -1
  269. package/dist/bridges/expr-parse.d.ts +38 -4
  270. package/dist/bridges/expr-parse.d.ts.map +1 -1
  271. package/dist/bridges/expr-parse.js +101 -12
  272. package/dist/bridges/expr-parse.js.map +1 -1
  273. package/dist/bridges/holds.d.ts +40 -4
  274. package/dist/bridges/holds.d.ts.map +1 -1
  275. package/dist/bridges/holds.js +128 -19
  276. package/dist/bridges/holds.js.map +1 -1
  277. package/dist/bridges/index.d.ts +15 -14
  278. package/dist/bridges/index.d.ts.map +1 -1
  279. package/dist/bridges/index.js +14 -15
  280. package/dist/bridges/index.js.map +1 -1
  281. package/dist/bridges/input-contract.js.map +1 -1
  282. package/dist/bridges/membership.d.ts +5 -3
  283. package/dist/bridges/membership.d.ts.map +1 -1
  284. package/dist/bridges/membership.js +5 -6
  285. package/dist/bridges/membership.js.map +1 -1
  286. package/dist/bridges/notices.d.ts.map +1 -1
  287. package/dist/bridges/notices.js +5 -5
  288. package/dist/bridges/notices.js.map +1 -1
  289. package/dist/bridges/observations/types.js.map +1 -1
  290. package/dist/bridges/rejected.d.ts +11 -17
  291. package/dist/bridges/rejected.d.ts.map +1 -1
  292. package/dist/bridges/rejected.js +13 -68
  293. package/dist/bridges/rejected.js.map +1 -1
  294. package/dist/bridges/relation-eval.d.ts +6 -7
  295. package/dist/bridges/relation-eval.d.ts.map +1 -1
  296. package/dist/bridges/relation-eval.js +20 -50
  297. package/dist/bridges/relation-eval.js.map +1 -1
  298. package/dist/bridges/rhs-registry.js.map +1 -1
  299. package/dist/bridges/sensitivity.d.ts +11 -3
  300. package/dist/bridges/sensitivity.d.ts.map +1 -1
  301. package/dist/bridges/sensitivity.js +27 -13
  302. package/dist/bridges/sensitivity.js.map +1 -1
  303. package/dist/bridges/tensor-index.js.map +1 -1
  304. package/dist/bridges/types.d.ts +1 -7
  305. package/dist/bridges/types.d.ts.map +1 -1
  306. package/dist/bridges/types.js +1 -4
  307. package/dist/bridges/types.js.map +1 -1
  308. package/dist/bridges/validity.d.ts +33 -0
  309. package/dist/bridges/validity.d.ts.map +1 -0
  310. package/dist/bridges/validity.js +67 -0
  311. package/dist/bridges/validity.js.map +1 -0
  312. package/dist/canonical/canonical-equation.js.map +1 -1
  313. package/dist/canonical/dimensional-fields.js.map +1 -1
  314. package/dist/canonical/entries/_l1-build.js.map +1 -1
  315. package/dist/canonical/entries/atomic.js +1 -3
  316. package/dist/canonical/entries/atomic.js.map +1 -1
  317. package/dist/canonical/entries/condensed-matter.d.ts.map +1 -1
  318. package/dist/canonical/entries/condensed-matter.js +8 -9
  319. package/dist/canonical/entries/condensed-matter.js.map +1 -1
  320. package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
  321. package/dist/canonical/entries/dimensional-classics.js +5 -6
  322. package/dist/canonical/entries/dimensional-classics.js.map +1 -1
  323. package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
  324. package/dist/canonical/entries/electromagnetism.js +6 -12
  325. package/dist/canonical/entries/electromagnetism.js.map +1 -1
  326. package/dist/canonical/entries/fluids-waves.d.ts.map +1 -1
  327. package/dist/canonical/entries/fluids-waves.js +3 -7
  328. package/dist/canonical/entries/fluids-waves.js.map +1 -1
  329. package/dist/canonical/entries/mechanics.d.ts.map +1 -1
  330. package/dist/canonical/entries/mechanics.js +4 -6
  331. package/dist/canonical/entries/mechanics.js.map +1 -1
  332. package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
  333. package/dist/canonical/entries/nonmonomial.js +38 -39
  334. package/dist/canonical/entries/nonmonomial.js.map +1 -1
  335. package/dist/canonical/entries/relativity.d.ts.map +1 -1
  336. package/dist/canonical/entries/relativity.js +6 -6
  337. package/dist/canonical/entries/relativity.js.map +1 -1
  338. package/dist/canonical/entries/statistical-mechanics.js +5 -5
  339. package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
  340. package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
  341. package/dist/canonical/entries/thermo-nuclear-cosmo.js +6 -10
  342. package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
  343. package/dist/canonical/fixed-points.d.ts +94 -0
  344. package/dist/canonical/fixed-points.d.ts.map +1 -0
  345. package/dist/canonical/fixed-points.js +81 -0
  346. package/dist/canonical/fixed-points.js.map +1 -0
  347. package/dist/canonical/linkage.d.ts +29 -4
  348. package/dist/canonical/linkage.d.ts.map +1 -1
  349. package/dist/canonical/linkage.js +47 -64
  350. package/dist/canonical/linkage.js.map +1 -1
  351. package/dist/canonical/normal-form.d.ts +0 -8
  352. package/dist/canonical/normal-form.d.ts.map +1 -1
  353. package/dist/canonical/normal-form.js +22 -23
  354. package/dist/canonical/normal-form.js.map +1 -1
  355. package/dist/canonical/registry.js.map +1 -1
  356. package/dist/canonical/residual.js.map +1 -1
  357. package/dist/canonical/seed-l-layer.d.ts +7 -1
  358. package/dist/canonical/seed-l-layer.d.ts.map +1 -1
  359. package/dist/canonical/seed-l-layer.js +7 -1
  360. package/dist/canonical/seed-l-layer.js.map +1 -1
  361. package/dist/canonical/structural.d.ts +42 -21
  362. package/dist/canonical/structural.d.ts.map +1 -1
  363. package/dist/canonical/structural.js +64 -23
  364. package/dist/canonical/structural.js.map +1 -1
  365. package/dist/cases/brownian-sphere.d.ts +3 -3
  366. package/dist/cases/brownian-sphere.d.ts.map +1 -1
  367. package/dist/cases/brownian-sphere.js +10 -9
  368. package/dist/cases/brownian-sphere.js.map +1 -1
  369. package/dist/cases/damped-resonator.d.ts.map +1 -1
  370. package/dist/cases/damped-resonator.js +8 -11
  371. package/dist/cases/damped-resonator.js.map +1 -1
  372. package/dist/cases/index.js.map +1 -1
  373. package/dist/cases/kepler-rv.d.ts +1 -1
  374. package/dist/cases/kepler-rv.d.ts.map +1 -1
  375. package/dist/cases/kepler-rv.js +3 -2
  376. package/dist/cases/kepler-rv.js.map +1 -1
  377. package/dist/cases/lumped-cooling.d.ts +8 -3
  378. package/dist/cases/lumped-cooling.d.ts.map +1 -1
  379. package/dist/cases/lumped-cooling.js +22 -24
  380. package/dist/cases/lumped-cooling.js.map +1 -1
  381. package/dist/cases/quadrature.d.ts +7 -9
  382. package/dist/cases/quadrature.d.ts.map +1 -1
  383. package/dist/cases/quadrature.js +28 -32
  384. package/dist/cases/quadrature.js.map +1 -1
  385. package/dist/cases/resistor-noise.js +7 -7
  386. package/dist/cases/resistor-noise.js.map +1 -1
  387. package/dist/cases/skin-depth.d.ts +0 -4
  388. package/dist/cases/skin-depth.d.ts.map +1 -1
  389. package/dist/cases/skin-depth.js +3 -7
  390. package/dist/cases/skin-depth.js.map +1 -1
  391. package/dist/cases/types.js.map +1 -1
  392. package/dist/cli/args.d.ts +30 -3
  393. package/dist/cli/args.d.ts.map +1 -1
  394. package/dist/cli/args.js +47 -9
  395. package/dist/cli/args.js.map +1 -1
  396. package/dist/cli/bindings.d.ts +13 -0
  397. package/dist/cli/bindings.d.ts.map +1 -0
  398. package/dist/cli/bindings.js +33 -0
  399. package/dist/cli/bindings.js.map +1 -0
  400. package/dist/cli/closed-form-range.js.map +1 -1
  401. package/dist/cli/command.d.ts +8 -1
  402. package/dist/cli/command.d.ts.map +1 -1
  403. package/dist/cli/command.js.map +1 -1
  404. package/dist/cli/commands/_atlas-map.d.ts +2 -11
  405. package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
  406. package/dist/cli/commands/_atlas-map.js +50 -35
  407. package/dist/cli/commands/_atlas-map.js.map +1 -1
  408. package/dist/cli/commands/_atlas-route.d.ts.map +1 -1
  409. package/dist/cli/commands/_atlas-route.js +6 -2
  410. package/dist/cli/commands/_atlas-route.js.map +1 -1
  411. package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
  412. package/dist/cli/commands/_discovery-opts.js +48 -14
  413. package/dist/cli/commands/_discovery-opts.js.map +1 -1
  414. package/dist/cli/commands/atlas.d.ts.map +1 -1
  415. package/dist/cli/commands/atlas.js +9 -8
  416. package/dist/cli/commands/atlas.js.map +1 -1
  417. package/dist/cli/commands/audit.d.ts.map +1 -1
  418. package/dist/cli/commands/audit.js +20 -20
  419. package/dist/cli/commands/audit.js.map +1 -1
  420. package/dist/cli/commands/axes.d.ts.map +1 -1
  421. package/dist/cli/commands/axes.js +20 -1
  422. package/dist/cli/commands/axes.js.map +1 -1
  423. package/dist/cli/commands/candidates.d.ts.map +1 -1
  424. package/dist/cli/commands/candidates.js +16 -8
  425. package/dist/cli/commands/candidates.js.map +1 -1
  426. package/dist/cli/commands/canonical.js.map +1 -1
  427. package/dist/cli/commands/chain.js +1 -1
  428. package/dist/cli/commands/chain.js.map +1 -1
  429. package/dist/cli/commands/confront.d.ts.map +1 -1
  430. package/dist/cli/commands/confront.js +22 -20
  431. package/dist/cli/commands/confront.js.map +1 -1
  432. package/dist/cli/commands/connectors.js.map +1 -1
  433. package/dist/cli/commands/coverage.js.map +1 -1
  434. package/dist/cli/commands/derive.d.ts.map +1 -1
  435. package/dist/cli/commands/derive.js +60 -35
  436. package/dist/cli/commands/derive.js.map +1 -1
  437. package/dist/cli/commands/discover.d.ts.map +1 -1
  438. package/dist/cli/commands/discover.js +20 -10
  439. package/dist/cli/commands/discover.js.map +1 -1
  440. package/dist/cli/commands/eval.d.ts.map +1 -1
  441. package/dist/cli/commands/eval.js +14 -10
  442. package/dist/cli/commands/eval.js.map +1 -1
  443. package/dist/cli/commands/evaluate.d.ts.map +1 -1
  444. package/dist/cli/commands/evaluate.js +108 -58
  445. package/dist/cli/commands/evaluate.js.map +1 -1
  446. package/dist/cli/commands/explain.d.ts.map +1 -1
  447. package/dist/cli/commands/explain.js +16 -8
  448. package/dist/cli/commands/explain.js.map +1 -1
  449. package/dist/cli/commands/frontier.js.map +1 -1
  450. package/dist/cli/commands/ground.d.ts.map +1 -1
  451. package/dist/cli/commands/ground.js +41 -10
  452. package/dist/cli/commands/ground.js.map +1 -1
  453. package/dist/cli/commands/index.js.map +1 -1
  454. package/dist/cli/commands/map.d.ts.map +1 -1
  455. package/dist/cli/commands/map.js +155 -92
  456. package/dist/cli/commands/map.js.map +1 -1
  457. package/dist/cli/commands/metric.d.ts.map +1 -1
  458. package/dist/cli/commands/metric.js +58 -20
  459. package/dist/cli/commands/metric.js.map +1 -1
  460. package/dist/cli/commands/path.d.ts +10 -0
  461. package/dist/cli/commands/path.d.ts.map +1 -1
  462. package/dist/cli/commands/path.js +29 -7
  463. package/dist/cli/commands/path.js.map +1 -1
  464. package/dist/cli/commands/predict.js.map +1 -1
  465. package/dist/cli/commands/priority.js.map +1 -1
  466. package/dist/cli/commands/probe.d.ts.map +1 -1
  467. package/dist/cli/commands/probe.js +105 -38
  468. package/dist/cli/commands/probe.js.map +1 -1
  469. package/dist/cli/commands/recover.js +1 -1
  470. package/dist/cli/commands/recover.js.map +1 -1
  471. package/dist/cli/commands/regime.d.ts +5 -4
  472. package/dist/cli/commands/regime.d.ts.map +1 -1
  473. package/dist/cli/commands/regime.js +25 -26
  474. package/dist/cli/commands/regime.js.map +1 -1
  475. package/dist/cli/commands/retrieve.d.ts.map +1 -1
  476. package/dist/cli/commands/retrieve.js +23 -14
  477. package/dist/cli/commands/retrieve.js.map +1 -1
  478. package/dist/cli/commands/search.d.ts.map +1 -1
  479. package/dist/cli/commands/search.js +9 -4
  480. package/dist/cli/commands/search.js.map +1 -1
  481. package/dist/cli/commands/symbolic.js +31 -36
  482. package/dist/cli/commands/symbolic.js.map +1 -1
  483. package/dist/cli/commands/testplan.d.ts.map +1 -1
  484. package/dist/cli/commands/testplan.js +5 -3
  485. package/dist/cli/commands/testplan.js.map +1 -1
  486. package/dist/cli/conventions.js.map +1 -1
  487. package/dist/cli/determination.js.map +1 -1
  488. package/dist/cli/errors.js.map +1 -1
  489. package/dist/cli/euler-guard.js.map +1 -1
  490. package/dist/cli/eval-numbers.js.map +1 -1
  491. package/dist/cli/expr-print.d.ts +28 -3
  492. package/dist/cli/expr-print.d.ts.map +1 -1
  493. package/dist/cli/expr-print.js +42 -22
  494. package/dist/cli/expr-print.js.map +1 -1
  495. package/dist/cli/flag-help.js.map +1 -1
  496. package/dist/cli/graphs.js.map +1 -1
  497. package/dist/cli/library-defaults.d.ts +19 -0
  498. package/dist/cli/library-defaults.d.ts.map +1 -0
  499. package/dist/cli/library-defaults.js +22 -0
  500. package/dist/cli/library-defaults.js.map +1 -0
  501. package/dist/cli/main.d.ts +7 -0
  502. package/dist/cli/main.d.ts.map +1 -1
  503. package/dist/cli/main.js +25 -6
  504. package/dist/cli/main.js.map +1 -1
  505. package/dist/cli/map-evidence.js.map +1 -1
  506. package/dist/cli/numeric-flag.d.ts +12 -0
  507. package/dist/cli/numeric-flag.d.ts.map +1 -0
  508. package/dist/cli/numeric-flag.js +44 -0
  509. package/dist/cli/numeric-flag.js.map +1 -0
  510. package/dist/cli/output.d.ts +23 -6
  511. package/dist/cli/output.d.ts.map +1 -1
  512. package/dist/cli/output.js +15 -0
  513. package/dist/cli/output.js.map +1 -1
  514. package/dist/cli/published-url.js.map +1 -1
  515. package/dist/cli/record-reach.d.ts +6 -0
  516. package/dist/cli/record-reach.d.ts.map +1 -1
  517. package/dist/cli/record-reach.js +17 -11
  518. package/dist/cli/record-reach.js.map +1 -1
  519. package/dist/cli/record-tables.d.ts.map +1 -1
  520. package/dist/cli/record-tables.js +7 -6
  521. package/dist/cli/record-tables.js.map +1 -1
  522. package/dist/cli/record.d.ts +1 -5
  523. package/dist/cli/record.d.ts.map +1 -1
  524. package/dist/cli/record.js +40 -20
  525. package/dist/cli/record.js.map +1 -1
  526. package/dist/cli/search-index.d.ts +5 -0
  527. package/dist/cli/search-index.d.ts.map +1 -1
  528. package/dist/cli/search-index.js +19 -7
  529. package/dist/cli/search-index.js.map +1 -1
  530. package/dist/cli/statuses.d.ts +0 -2
  531. package/dist/cli/statuses.d.ts.map +1 -1
  532. package/dist/cli/statuses.js +0 -7
  533. package/dist/cli/statuses.js.map +1 -1
  534. package/dist/cli/stored-results.d.ts +7 -0
  535. package/dist/cli/stored-results.d.ts.map +1 -0
  536. package/dist/cli/stored-results.js +23 -0
  537. package/dist/cli/stored-results.js.map +1 -0
  538. package/dist/cli/top-level-help.js.map +1 -1
  539. package/dist/cli/version.d.ts.map +1 -1
  540. package/dist/cli/version.js +7 -5
  541. package/dist/cli/version.js.map +1 -1
  542. package/dist/cli-api.d.ts +49 -14
  543. package/dist/cli-api.d.ts.map +1 -1
  544. package/dist/cli-api.js +42 -17
  545. package/dist/cli-api.js.map +1 -1
  546. package/dist/composition/adjudication.js.map +1 -1
  547. package/dist/composition/algebraic-equivalence.d.ts +43 -0
  548. package/dist/composition/algebraic-equivalence.d.ts.map +1 -0
  549. package/dist/composition/algebraic-equivalence.js +115 -0
  550. package/dist/composition/algebraic-equivalence.js.map +1 -0
  551. package/dist/composition/aliases.js.map +1 -1
  552. package/dist/composition/audit-coverage.d.ts +2 -0
  553. package/dist/composition/audit-coverage.d.ts.map +1 -1
  554. package/dist/composition/audit-coverage.js.map +1 -1
  555. package/dist/composition/axes.d.ts +6 -0
  556. package/dist/composition/axes.d.ts.map +1 -1
  557. package/dist/composition/axes.js +18 -6
  558. package/dist/composition/axes.js.map +1 -1
  559. package/dist/composition/axis-audit.d.ts +47 -20
  560. package/dist/composition/axis-audit.d.ts.map +1 -1
  561. package/dist/composition/axis-audit.js +82 -9
  562. package/dist/composition/axis-audit.js.map +1 -1
  563. package/dist/composition/bridge-analysis.d.ts +14 -15
  564. package/dist/composition/bridge-analysis.d.ts.map +1 -1
  565. package/dist/composition/bridge-analysis.js +148 -91
  566. package/dist/composition/bridge-analysis.js.map +1 -1
  567. package/dist/composition/bridge-prediction.d.ts +5 -1
  568. package/dist/composition/bridge-prediction.d.ts.map +1 -1
  569. package/dist/composition/bridge-prediction.js +12 -16
  570. package/dist/composition/bridge-prediction.js.map +1 -1
  571. package/dist/composition/buckingham-filter.js.map +1 -1
  572. package/dist/composition/canonical-compare.d.ts +40 -0
  573. package/dist/composition/canonical-compare.d.ts.map +1 -1
  574. package/dist/composition/canonical-compare.js +134 -26
  575. package/dist/composition/canonical-compare.js.map +1 -1
  576. package/dist/composition/canonical-graph.d.ts +9 -10
  577. package/dist/composition/canonical-graph.d.ts.map +1 -1
  578. package/dist/composition/canonical-graph.js +33 -102
  579. package/dist/composition/canonical-graph.js.map +1 -1
  580. package/dist/composition/canonical-json.js +2 -2
  581. package/dist/composition/canonical-json.js.map +1 -1
  582. package/dist/composition/canonical-prefactors.js.map +1 -1
  583. package/dist/composition/catalog-graph.d.ts.map +1 -1
  584. package/dist/composition/catalog-graph.js +8 -25
  585. package/dist/composition/catalog-graph.js.map +1 -1
  586. package/dist/composition/chain-candidate.d.ts +10 -0
  587. package/dist/composition/chain-candidate.d.ts.map +1 -1
  588. package/dist/composition/chain-candidate.js +11 -2
  589. package/dist/composition/chain-candidate.js.map +1 -1
  590. package/dist/composition/chain-match.d.ts +6 -3
  591. package/dist/composition/chain-match.d.ts.map +1 -1
  592. package/dist/composition/chain-match.js +4 -1
  593. package/dist/composition/chain-match.js.map +1 -1
  594. package/dist/composition/chain-regime.js.map +1 -1
  595. package/dist/composition/chain-result.d.ts.map +1 -1
  596. package/dist/composition/chain-result.js +2 -14
  597. package/dist/composition/chain-result.js.map +1 -1
  598. package/dist/composition/compose-surface.js.map +1 -1
  599. package/dist/composition/compose-symbolic.d.ts.map +1 -1
  600. package/dist/composition/compose-symbolic.js +3 -2
  601. package/dist/composition/compose-symbolic.js.map +1 -1
  602. package/dist/composition/compose.d.ts.map +1 -1
  603. package/dist/composition/compose.js +166 -41
  604. package/dist/composition/compose.js.map +1 -1
  605. package/dist/composition/composition-recovery.d.ts.map +1 -1
  606. package/dist/composition/composition-recovery.js +4 -7
  607. package/dist/composition/composition-recovery.js.map +1 -1
  608. package/dist/composition/consequence.d.ts.map +1 -1
  609. package/dist/composition/consequence.js +15 -6
  610. package/dist/composition/consequence.js.map +1 -1
  611. package/dist/composition/consistency.js.map +1 -1
  612. package/dist/composition/descriptor.d.ts +1 -1
  613. package/dist/composition/descriptor.d.ts.map +1 -1
  614. package/dist/composition/descriptor.js.map +1 -1
  615. package/dist/composition/dimension-adjacency.js.map +1 -1
  616. package/dist/composition/discovery.d.ts +77 -11
  617. package/dist/composition/discovery.d.ts.map +1 -1
  618. package/dist/composition/discovery.js +194 -80
  619. package/dist/composition/discovery.js.map +1 -1
  620. package/dist/composition/edge.d.ts +40 -10
  621. package/dist/composition/edge.d.ts.map +1 -1
  622. package/dist/composition/edge.js +47 -12
  623. package/dist/composition/edge.js.map +1 -1
  624. package/dist/composition/enumerate.d.ts +2 -2
  625. package/dist/composition/enumerate.d.ts.map +1 -1
  626. package/dist/composition/enumerate.js +18 -3
  627. package/dist/composition/enumerate.js.map +1 -1
  628. package/dist/composition/evaluate-relation.d.ts +35 -11
  629. package/dist/composition/evaluate-relation.d.ts.map +1 -1
  630. package/dist/composition/evaluate-relation.js +60 -39
  631. package/dist/composition/evaluate-relation.js.map +1 -1
  632. package/dist/composition/explain.d.ts +5 -9
  633. package/dist/composition/explain.d.ts.map +1 -1
  634. package/dist/composition/explain.js +38 -18
  635. package/dist/composition/explain.js.map +1 -1
  636. package/dist/composition/expr-eval.d.ts.map +1 -1
  637. package/dist/composition/expr-eval.js +2 -11
  638. package/dist/composition/expr-eval.js.map +1 -1
  639. package/dist/composition/expr-simplify.d.ts +16 -0
  640. package/dist/composition/expr-simplify.d.ts.map +1 -1
  641. package/dist/composition/expr-simplify.js +24 -59
  642. package/dist/composition/expr-simplify.js.map +1 -1
  643. package/dist/composition/expr-subst.js.map +1 -1
  644. package/dist/composition/formula-shape.d.ts +28 -0
  645. package/dist/composition/formula-shape.d.ts.map +1 -1
  646. package/dist/composition/formula-shape.js +96 -2
  647. package/dist/composition/formula-shape.js.map +1 -1
  648. package/dist/composition/frontier-account.d.ts +3 -2
  649. package/dist/composition/frontier-account.d.ts.map +1 -1
  650. package/dist/composition/frontier-account.js +7 -3
  651. package/dist/composition/frontier-account.js.map +1 -1
  652. package/dist/composition/graph-structure.d.ts +98 -0
  653. package/dist/composition/graph-structure.d.ts.map +1 -0
  654. package/dist/composition/graph-structure.js +167 -0
  655. package/dist/composition/graph-structure.js.map +1 -0
  656. package/dist/composition/graph-viz-svg.d.ts.map +1 -1
  657. package/dist/composition/graph-viz-svg.js +1 -1
  658. package/dist/composition/graph-viz-svg.js.map +1 -1
  659. package/dist/composition/graph-viz.d.ts.map +1 -1
  660. package/dist/composition/graph-viz.js +8 -37
  661. package/dist/composition/graph-viz.js.map +1 -1
  662. package/dist/composition/grounding.js.map +1 -1
  663. package/dist/composition/identifiability.d.ts +91 -4
  664. package/dist/composition/identifiability.d.ts.map +1 -1
  665. package/dist/composition/identifiability.js +363 -6
  666. package/dist/composition/identifiability.js.map +1 -1
  667. package/dist/composition/index.d.ts +14 -8
  668. package/dist/composition/index.d.ts.map +1 -1
  669. package/dist/composition/index.js +7 -5
  670. package/dist/composition/index.js.map +1 -1
  671. package/dist/composition/mathts-quiet.d.ts +29 -0
  672. package/dist/composition/mathts-quiet.d.ts.map +1 -0
  673. package/dist/composition/mathts-quiet.js +57 -0
  674. package/dist/composition/mathts-quiet.js.map +1 -0
  675. package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -1
  676. package/dist/composition/mathts-scalar-symbols.js +20 -35
  677. package/dist/composition/mathts-scalar-symbols.js.map +1 -1
  678. package/dist/composition/not-composable-seeds.d.ts +3 -1
  679. package/dist/composition/not-composable-seeds.d.ts.map +1 -1
  680. package/dist/composition/not-composable-seeds.js +2 -0
  681. package/dist/composition/not-composable-seeds.js.map +1 -1
  682. package/dist/composition/probe/backend-protocol.js.map +1 -1
  683. package/dist/composition/probe/candidate-store.js.map +1 -1
  684. package/dist/composition/probe/corpus.d.ts +4 -2
  685. package/dist/composition/probe/corpus.d.ts.map +1 -1
  686. package/dist/composition/probe/corpus.js +20 -9
  687. package/dist/composition/probe/corpus.js.map +1 -1
  688. package/dist/composition/probe/dataset.d.ts +17 -0
  689. package/dist/composition/probe/dataset.d.ts.map +1 -1
  690. package/dist/composition/probe/dataset.js +95 -50
  691. package/dist/composition/probe/dataset.js.map +1 -1
  692. package/dist/composition/probe/experiment-design.d.ts +5 -1
  693. package/dist/composition/probe/experiment-design.d.ts.map +1 -1
  694. package/dist/composition/probe/experiment-design.js +44 -24
  695. package/dist/composition/probe/experiment-design.js.map +1 -1
  696. package/dist/composition/probe/expression-gaps.js.map +1 -1
  697. package/dist/composition/probe/falsify.d.ts +14 -3
  698. package/dist/composition/probe/falsify.d.ts.map +1 -1
  699. package/dist/composition/probe/falsify.js +16 -27
  700. package/dist/composition/probe/falsify.js.map +1 -1
  701. package/dist/composition/probe/fingerprint.js.map +1 -1
  702. package/dist/composition/probe/fit.d.ts +7 -1
  703. package/dist/composition/probe/fit.d.ts.map +1 -1
  704. package/dist/composition/probe/fit.js +48 -23
  705. package/dist/composition/probe/fit.js.map +1 -1
  706. package/dist/composition/probe/frontier.d.ts.map +1 -1
  707. package/dist/composition/probe/frontier.js +33 -15
  708. package/dist/composition/probe/frontier.js.map +1 -1
  709. package/dist/composition/probe/generator.d.ts +27 -1
  710. package/dist/composition/probe/generator.d.ts.map +1 -1
  711. package/dist/composition/probe/generator.js +53 -30
  712. package/dist/composition/probe/generator.js.map +1 -1
  713. package/dist/composition/probe/index.d.ts +18 -2
  714. package/dist/composition/probe/index.d.ts.map +1 -1
  715. package/dist/composition/probe/index.js +10 -2
  716. package/dist/composition/probe/index.js.map +1 -1
  717. package/dist/composition/probe/limits.d.ts +24 -1
  718. package/dist/composition/probe/limits.d.ts.map +1 -1
  719. package/dist/composition/probe/limits.js +53 -11
  720. package/dist/composition/probe/limits.js.map +1 -1
  721. package/dist/composition/probe/metadata.js.map +1 -1
  722. package/dist/composition/probe/pipeline.d.ts +5 -0
  723. package/dist/composition/probe/pipeline.d.ts.map +1 -1
  724. package/dist/composition/probe/pipeline.js +22 -9
  725. package/dist/composition/probe/pipeline.js.map +1 -1
  726. package/dist/composition/probe/power-law.d.ts +121 -0
  727. package/dist/composition/probe/power-law.d.ts.map +1 -0
  728. package/dist/composition/probe/power-law.js +255 -0
  729. package/dist/composition/probe/power-law.js.map +1 -0
  730. package/dist/composition/probe/problem.d.ts +12 -1
  731. package/dist/composition/probe/problem.d.ts.map +1 -1
  732. package/dist/composition/probe/problem.js +242 -48
  733. package/dist/composition/probe/problem.js.map +1 -1
  734. package/dist/composition/probe/report.js +1 -1
  735. package/dist/composition/probe/report.js.map +1 -1
  736. package/dist/composition/probe/residual.d.ts +6 -1
  737. package/dist/composition/probe/residual.d.ts.map +1 -1
  738. package/dist/composition/probe/residual.js +9 -7
  739. package/dist/composition/probe/residual.js.map +1 -1
  740. package/dist/composition/probe/run-manifest.js +2 -2
  741. package/dist/composition/probe/run-manifest.js.map +1 -1
  742. package/dist/composition/probe/scoring.d.ts +2 -1
  743. package/dist/composition/probe/scoring.d.ts.map +1 -1
  744. package/dist/composition/probe/scoring.js +21 -7
  745. package/dist/composition/probe/scoring.js.map +1 -1
  746. package/dist/composition/probe/search-budget.js.map +1 -1
  747. package/dist/composition/probe/serialize.js.map +1 -1
  748. package/dist/composition/probe/structure.d.ts +82 -17
  749. package/dist/composition/probe/structure.d.ts.map +1 -1
  750. package/dist/composition/probe/structure.js +129 -55
  751. package/dist/composition/probe/structure.js.map +1 -1
  752. package/dist/composition/probe/study.d.ts +35 -12
  753. package/dist/composition/probe/study.d.ts.map +1 -1
  754. package/dist/composition/probe/study.js +241 -184
  755. package/dist/composition/probe/study.js.map +1 -1
  756. package/dist/composition/probe/t-tail.d.ts +17 -0
  757. package/dist/composition/probe/t-tail.d.ts.map +1 -0
  758. package/dist/composition/probe/t-tail.js +32 -0
  759. package/dist/composition/probe/t-tail.js.map +1 -0
  760. package/dist/composition/probe/types.d.ts +6 -1
  761. package/dist/composition/probe/types.d.ts.map +1 -1
  762. package/dist/composition/probe/types.js +2 -0
  763. package/dist/composition/probe/types.js.map +1 -1
  764. package/dist/composition/proposed-bridges.d.ts +51 -13
  765. package/dist/composition/proposed-bridges.d.ts.map +1 -1
  766. package/dist/composition/proposed-bridges.js +110 -58
  767. package/dist/composition/proposed-bridges.js.map +1 -1
  768. package/dist/composition/quantities.d.ts +0 -4
  769. package/dist/composition/quantities.d.ts.map +1 -1
  770. package/dist/composition/quantities.js +5 -5
  771. package/dist/composition/quantities.js.map +1 -1
  772. package/dist/composition/quantity-clusters.d.ts +48 -0
  773. package/dist/composition/quantity-clusters.d.ts.map +1 -0
  774. package/dist/composition/quantity-clusters.js +98 -0
  775. package/dist/composition/quantity-clusters.js.map +1 -0
  776. package/dist/composition/quantity.d.ts +18 -2
  777. package/dist/composition/quantity.d.ts.map +1 -1
  778. package/dist/composition/quantity.js +35 -6
  779. package/dist/composition/quantity.js.map +1 -1
  780. package/dist/composition/rational-exponent.d.ts +40 -0
  781. package/dist/composition/rational-exponent.d.ts.map +1 -0
  782. package/dist/composition/rational-exponent.js +65 -0
  783. package/dist/composition/rational-exponent.js.map +1 -0
  784. package/dist/composition/representative-values.d.ts +22 -0
  785. package/dist/composition/representative-values.d.ts.map +1 -1
  786. package/dist/composition/representative-values.js +23 -0
  787. package/dist/composition/representative-values.js.map +1 -1
  788. package/dist/composition/retrodiction.d.ts +16 -6
  789. package/dist/composition/retrodiction.d.ts.map +1 -1
  790. package/dist/composition/retrodiction.js +36 -10
  791. package/dist/composition/retrodiction.js.map +1 -1
  792. package/dist/composition/uncertainty.js.map +1 -1
  793. package/dist/composition/user-equation.d.ts.map +1 -1
  794. package/dist/composition/user-equation.js +2 -2
  795. package/dist/composition/user-equation.js.map +1 -1
  796. package/dist/core/assignment.d.ts +19 -0
  797. package/dist/core/assignment.d.ts.map +1 -0
  798. package/dist/core/assignment.js +19 -0
  799. package/dist/core/assignment.js.map +1 -0
  800. package/dist/core/axes-registry.d.ts +8 -5
  801. package/dist/core/axes-registry.d.ts.map +1 -1
  802. package/dist/core/axes-registry.js.map +1 -1
  803. package/dist/core/cell.js.map +1 -1
  804. package/dist/core/compare.d.ts +32 -0
  805. package/dist/core/compare.d.ts.map +1 -0
  806. package/dist/core/compare.js +46 -0
  807. package/dist/core/compare.js.map +1 -0
  808. package/dist/core/constants.d.ts +35 -35
  809. package/dist/core/constants.d.ts.map +1 -1
  810. package/dist/core/constants.js +52 -37
  811. package/dist/core/constants.js.map +1 -1
  812. package/dist/core/data-file.d.ts +7 -0
  813. package/dist/core/data-file.d.ts.map +1 -1
  814. package/dist/core/data-file.js +17 -0
  815. package/dist/core/data-file.js.map +1 -1
  816. package/dist/core/flux-rules.js +1 -1
  817. package/dist/core/flux-rules.js.map +1 -1
  818. package/dist/core/format.d.ts +36 -0
  819. package/dist/core/format.d.ts.map +1 -0
  820. package/dist/core/format.js +39 -0
  821. package/dist/core/format.js.map +1 -0
  822. package/dist/core/hash.d.ts +14 -0
  823. package/dist/core/hash.d.ts.map +1 -0
  824. package/dist/core/hash.js +17 -0
  825. package/dist/core/hash.js.map +1 -0
  826. package/dist/core/json-schema.d.ts +3 -1
  827. package/dist/core/json-schema.d.ts.map +1 -1
  828. package/dist/core/json-schema.js +41 -16
  829. package/dist/core/json-schema.js.map +1 -1
  830. package/dist/core/labeled-tensor.d.ts +6 -1
  831. package/dist/core/labeled-tensor.d.ts.map +1 -1
  832. package/dist/core/labeled-tensor.js +18 -16
  833. package/dist/core/labeled-tensor.js.map +1 -1
  834. package/dist/core/mathts-read.d.ts +25 -0
  835. package/dist/core/mathts-read.d.ts.map +1 -0
  836. package/dist/core/mathts-read.js +51 -0
  837. package/dist/core/mathts-read.js.map +1 -0
  838. package/dist/core/regime-registry.d.ts +6 -2
  839. package/dist/core/regime-registry.d.ts.map +1 -1
  840. package/dist/core/regime-registry.js.map +1 -1
  841. package/dist/core/regime-rule-install.js.map +1 -1
  842. package/dist/core/regimes-builtins.js.map +1 -1
  843. package/dist/core/tensor.d.ts +7 -4
  844. package/dist/core/tensor.d.ts.map +1 -1
  845. package/dist/core/tensor.js +64 -8
  846. package/dist/core/tensor.js.map +1 -1
  847. package/dist/core/types.d.ts +5 -5
  848. package/dist/core/types.js.map +1 -1
  849. package/dist/core/universal-index.js.map +1 -1
  850. package/dist/diff/bridge-ast-gradient.d.ts +4 -5
  851. package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
  852. package/dist/diff/bridge-ast-gradient.js +10 -6
  853. package/dist/diff/bridge-ast-gradient.js.map +1 -1
  854. package/dist/diff/bridge-gradient.d.ts +43 -86
  855. package/dist/diff/bridge-gradient.d.ts.map +1 -1
  856. package/dist/diff/bridge-gradient.js +40 -109
  857. package/dist/diff/bridge-gradient.js.map +1 -1
  858. package/dist/diff/bridge-specs.d.ts +16 -5
  859. package/dist/diff/bridge-specs.d.ts.map +1 -1
  860. package/dist/diff/bridge-specs.js +19 -4
  861. package/dist/diff/bridge-specs.js.map +1 -1
  862. package/dist/dimensional/algebra.d.ts +18 -0
  863. package/dist/dimensional/algebra.d.ts.map +1 -1
  864. package/dist/dimensional/algebra.js +41 -1
  865. package/dist/dimensional/algebra.js.map +1 -1
  866. package/dist/dimensional/ast-builders.d.ts +12 -4
  867. package/dist/dimensional/ast-builders.d.ts.map +1 -1
  868. package/dist/dimensional/ast-builders.js +17 -5
  869. package/dist/dimensional/ast-builders.js.map +1 -1
  870. package/dist/dimensional/ast-leaves.d.ts +81 -0
  871. package/dist/dimensional/ast-leaves.d.ts.map +1 -0
  872. package/dist/dimensional/ast-leaves.js +146 -0
  873. package/dist/dimensional/ast-leaves.js.map +1 -0
  874. package/dist/dimensional/ast-types.js.map +1 -1
  875. package/dist/dimensional/bridge-check.js.map +1 -1
  876. package/dist/dimensional/buckingham.d.ts.map +1 -1
  877. package/dist/dimensional/buckingham.js +15 -27
  878. package/dist/dimensional/buckingham.js.map +1 -1
  879. package/dist/dimensional/connection-validators.d.ts +2 -1
  880. package/dist/dimensional/connection-validators.d.ts.map +1 -1
  881. package/dist/dimensional/connection-validators.js.map +1 -1
  882. package/dist/dimensional/connection.js.map +1 -1
  883. package/dist/dimensional/constant-rows.d.ts.map +1 -1
  884. package/dist/dimensional/constant-rows.js +17 -13
  885. package/dist/dimensional/constant-rows.js.map +1 -1
  886. package/dist/dimensional/constants.d.ts +5 -6
  887. package/dist/dimensional/constants.d.ts.map +1 -1
  888. package/dist/dimensional/constants.js +5 -6
  889. package/dist/dimensional/constants.js.map +1 -1
  890. package/dist/dimensional/curvature-composite.js.map +1 -1
  891. package/dist/dimensional/curvature-invariants.js.map +1 -1
  892. package/dist/dimensional/curvature.js.map +1 -1
  893. package/dist/dimensional/dimension-inference.d.ts.map +1 -1
  894. package/dist/dimensional/dimension-inference.js +1 -2
  895. package/dist/dimensional/dimension-inference.js.map +1 -1
  896. package/dist/dimensional/dimension-spec.d.ts +13 -7
  897. package/dist/dimensional/dimension-spec.d.ts.map +1 -1
  898. package/dist/dimensional/dimension-spec.js +49 -23
  899. package/dist/dimensional/dimension-spec.js.map +1 -1
  900. package/dist/dimensional/einstein-equation.js.map +1 -1
  901. package/dist/dimensional/errors.d.ts +4 -2
  902. package/dist/dimensional/errors.d.ts.map +1 -1
  903. package/dist/dimensional/errors.js +3 -17
  904. package/dist/dimensional/errors.js.map +1 -1
  905. package/dist/dimensional/exact-scale.d.ts +0 -17
  906. package/dist/dimensional/exact-scale.d.ts.map +1 -1
  907. package/dist/dimensional/exact-scale.js +8 -8
  908. package/dist/dimensional/exact-scale.js.map +1 -1
  909. package/dist/dimensional/field-equation-helpers.js.map +1 -1
  910. package/dist/dimensional/formula-names.js.map +1 -1
  911. package/dist/dimensional/fresh-label.js.map +1 -1
  912. package/dist/dimensional/friedmann-equation.d.ts +3 -3
  913. package/dist/dimensional/friedmann-equation.js +3 -3
  914. package/dist/dimensional/friedmann-equation.js.map +1 -1
  915. package/dist/dimensional/gauge-field.d.ts +2 -3
  916. package/dist/dimensional/gauge-field.d.ts.map +1 -1
  917. package/dist/dimensional/gauge-field.js +2 -3
  918. package/dist/dimensional/gauge-field.js.map +1 -1
  919. package/dist/dimensional/hyphen-names.d.ts +12 -2
  920. package/dist/dimensional/hyphen-names.d.ts.map +1 -1
  921. package/dist/dimensional/hyphen-names.js +45 -12
  922. package/dist/dimensional/hyphen-names.js.map +1 -1
  923. package/dist/dimensional/killing-validators.js.map +1 -1
  924. package/dist/dimensional/klein-gordon-equation.js.map +1 -1
  925. package/dist/dimensional/metric-validators.d.ts +2 -1
  926. package/dist/dimensional/metric-validators.d.ts.map +1 -1
  927. package/dist/dimensional/metric-validators.js.map +1 -1
  928. package/dist/dimensional/metric.d.ts.map +1 -1
  929. package/dist/dimensional/metric.js +0 -1
  930. package/dist/dimensional/metric.js.map +1 -1
  931. package/dist/dimensional/natural-units.js.map +1 -1
  932. package/dist/dimensional/quantity-registry.d.ts +13 -0
  933. package/dist/dimensional/quantity-registry.d.ts.map +1 -1
  934. package/dist/dimensional/quantity-registry.js +14 -6
  935. package/dist/dimensional/quantity-registry.js.map +1 -1
  936. package/dist/dimensional/rg-flow.js.map +1 -1
  937. package/dist/dimensional/stress-energy-validators.js.map +1 -1
  938. package/dist/dimensional/symbolic-constants.d.ts +9 -0
  939. package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
  940. package/dist/dimensional/symbolic-constants.js +20 -3
  941. package/dist/dimensional/symbolic-constants.js.map +1 -1
  942. package/dist/dimensional/tensor-trace.js.map +1 -1
  943. package/dist/dimensional/tensor.js.map +1 -1
  944. package/dist/dimensional/types.d.ts +36 -0
  945. package/dist/dimensional/types.d.ts.map +1 -1
  946. package/dist/dimensional/types.js +45 -7
  947. package/dist/dimensional/types.js.map +1 -1
  948. package/dist/dimensional/unit-convention.d.ts +0 -2
  949. package/dist/dimensional/unit-convention.d.ts.map +1 -1
  950. package/dist/dimensional/unit-convention.js +2 -2
  951. package/dist/dimensional/unit-convention.js.map +1 -1
  952. package/dist/dimensional/unit-data.d.ts.map +1 -1
  953. package/dist/dimensional/unit-data.js +11 -7
  954. package/dist/dimensional/unit-data.js.map +1 -1
  955. package/dist/dimensional/units.d.ts.map +1 -1
  956. package/dist/dimensional/units.js +38 -20
  957. package/dist/dimensional/units.js.map +1 -1
  958. package/dist/dimensional/validator-registry.js.map +1 -1
  959. package/dist/dimensional/validator.d.ts +0 -16
  960. package/dist/dimensional/validator.d.ts.map +1 -1
  961. package/dist/dimensional/validator.js +65 -29
  962. package/dist/dimensional/validator.js.map +1 -1
  963. package/dist/dimensional/weyl-validators.js.map +1 -1
  964. package/dist/index.d.ts +59 -8
  965. package/dist/index.d.ts.map +1 -1
  966. package/dist/index.js +22 -24
  967. package/dist/index.js.map +1 -1
  968. package/dist/numerical/bianchi-residual.js.map +1 -1
  969. package/dist/numerical/binding-value.d.ts +11 -6
  970. package/dist/numerical/binding-value.d.ts.map +1 -1
  971. package/dist/numerical/binding-value.js +126 -122
  972. package/dist/numerical/binding-value.js.map +1 -1
  973. package/dist/numerical/christoffel-flat.d.ts.map +1 -1
  974. package/dist/numerical/christoffel-flat.js +3 -2
  975. package/dist/numerical/christoffel-flat.js.map +1 -1
  976. package/dist/numerical/connection-lowering-helpers.js.map +1 -1
  977. package/dist/numerical/covariant-eikonal.d.ts.map +1 -1
  978. package/dist/numerical/covariant-eikonal.js +36 -13
  979. package/dist/numerical/covariant-eikonal.js.map +1 -1
  980. package/dist/numerical/curvature-lowering-helpers.d.ts +20 -0
  981. package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
  982. package/dist/numerical/curvature-lowering-helpers.js +9 -5
  983. package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
  984. package/dist/numerical/derivative-lowering.js.map +1 -1
  985. package/dist/numerical/einstein-equation.js.map +1 -1
  986. package/dist/numerical/engine-registry.js.map +1 -1
  987. package/dist/numerical/errors.d.ts +7 -3
  988. package/dist/numerical/errors.d.ts.map +1 -1
  989. package/dist/numerical/errors.js +5 -8
  990. package/dist/numerical/errors.js.map +1 -1
  991. package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -1
  992. package/dist/numerical/evaluator-uncertainty.js +19 -2
  993. package/dist/numerical/evaluator-uncertainty.js.map +1 -1
  994. package/dist/numerical/finite-difference.d.ts +22 -0
  995. package/dist/numerical/finite-difference.d.ts.map +1 -0
  996. package/dist/numerical/finite-difference.js +27 -0
  997. package/dist/numerical/finite-difference.js.map +1 -0
  998. package/dist/numerical/formula-contract.d.ts +63 -7
  999. package/dist/numerical/formula-contract.d.ts.map +1 -1
  1000. package/dist/numerical/formula-contract.js +61 -42
  1001. package/dist/numerical/formula-contract.js.map +1 -1
  1002. package/dist/numerical/formula-dimension.d.ts +8 -7
  1003. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  1004. package/dist/numerical/formula-dimension.js +58 -36
  1005. package/dist/numerical/formula-dimension.js.map +1 -1
  1006. package/dist/numerical/formula-mathts.d.ts.map +1 -1
  1007. package/dist/numerical/formula-mathts.js +5 -2
  1008. package/dist/numerical/formula-mathts.js.map +1 -1
  1009. package/dist/numerical/formula-registry.d.ts +13 -3
  1010. package/dist/numerical/formula-registry.d.ts.map +1 -1
  1011. package/dist/numerical/formula-registry.js +7 -2
  1012. package/dist/numerical/formula-registry.js.map +1 -1
  1013. package/dist/numerical/geodesic-integrator.d.ts.map +1 -1
  1014. package/dist/numerical/geodesic-integrator.js +22 -14
  1015. package/dist/numerical/geodesic-integrator.js.map +1 -1
  1016. package/dist/numerical/geometrized.d.ts.map +1 -1
  1017. package/dist/numerical/geometrized.js +0 -1
  1018. package/dist/numerical/geometrized.js.map +1 -1
  1019. package/dist/numerical/gl4-integrator.d.ts +28 -27
  1020. package/dist/numerical/gl4-integrator.d.ts.map +1 -1
  1021. package/dist/numerical/gl4-integrator.js +41 -42
  1022. package/dist/numerical/gl4-integrator.js.map +1 -1
  1023. package/dist/numerical/grid-field.js.map +1 -1
  1024. package/dist/numerical/index.js.map +1 -1
  1025. package/dist/numerical/input-validation.d.ts +3 -6
  1026. package/dist/numerical/input-validation.d.ts.map +1 -1
  1027. package/dist/numerical/input-validation.js +4 -8
  1028. package/dist/numerical/input-validation.js.map +1 -1
  1029. package/dist/numerical/killing.d.ts +8 -5
  1030. package/dist/numerical/killing.d.ts.map +1 -1
  1031. package/dist/numerical/killing.js.map +1 -1
  1032. package/dist/numerical/klein-gordon.js.map +1 -1
  1033. package/dist/numerical/kretschmann.js.map +1 -1
  1034. package/dist/numerical/lowering-utils.js.map +1 -1
  1035. package/dist/numerical/lowering.d.ts.map +1 -1
  1036. package/dist/numerical/lowering.js +7 -17
  1037. package/dist/numerical/lowering.js.map +1 -1
  1038. package/dist/numerical/mathts-engine.d.ts.map +1 -1
  1039. package/dist/numerical/mathts-engine.js +16 -25
  1040. package/dist/numerical/mathts-engine.js.map +1 -1
  1041. package/dist/numerical/metric-inverse.d.ts.map +1 -1
  1042. package/dist/numerical/metric-inverse.js +83 -46
  1043. package/dist/numerical/metric-inverse.js.map +1 -1
  1044. package/dist/numerical/null-ic.js.map +1 -1
  1045. package/dist/numerical/null-ray-integrator.d.ts +2 -1
  1046. package/dist/numerical/null-ray-integrator.d.ts.map +1 -1
  1047. package/dist/numerical/null-ray-integrator.js +12 -12
  1048. package/dist/numerical/null-ray-integrator.js.map +1 -1
  1049. package/dist/numerical/painleve-gullstrand-metric.js +2 -2
  1050. package/dist/numerical/painleve-gullstrand-metric.js.map +1 -1
  1051. package/dist/numerical/pderiv.d.ts.map +1 -1
  1052. package/dist/numerical/pderiv.js +9 -2
  1053. package/dist/numerical/pderiv.js.map +1 -1
  1054. package/dist/numerical/perihelion-finder.d.ts +0 -36
  1055. package/dist/numerical/perihelion-finder.d.ts.map +1 -1
  1056. package/dist/numerical/perihelion-finder.js +41 -87
  1057. package/dist/numerical/perihelion-finder.js.map +1 -1
  1058. package/dist/numerical/quadrature.d.ts +5 -2
  1059. package/dist/numerical/quadrature.d.ts.map +1 -1
  1060. package/dist/numerical/quadrature.js +19 -4
  1061. package/dist/numerical/quadrature.js.map +1 -1
  1062. package/dist/numerical/rk4-trajectory.d.ts +10 -0
  1063. package/dist/numerical/rk4-trajectory.d.ts.map +1 -0
  1064. package/dist/numerical/rk4-trajectory.js +37 -0
  1065. package/dist/numerical/rk4-trajectory.js.map +1 -0
  1066. package/dist/numerical/schwarzschild.d.ts +14 -0
  1067. package/dist/numerical/schwarzschild.d.ts.map +1 -0
  1068. package/dist/numerical/schwarzschild.js +17 -0
  1069. package/dist/numerical/schwarzschild.js.map +1 -0
  1070. package/dist/numerical/spacetime-metrics.d.ts +25 -19
  1071. package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
  1072. package/dist/numerical/spacetime-metrics.js +180 -286
  1073. package/dist/numerical/spacetime-metrics.js.map +1 -1
  1074. package/dist/numerical/statistics.d.ts +24 -0
  1075. package/dist/numerical/statistics.d.ts.map +1 -0
  1076. package/dist/numerical/statistics.js +52 -0
  1077. package/dist/numerical/statistics.js.map +1 -0
  1078. package/dist/numerical/strides.js.map +1 -1
  1079. package/dist/numerical/tensor-engine.d.ts +30 -5
  1080. package/dist/numerical/tensor-engine.d.ts.map +1 -1
  1081. package/dist/numerical/tensor-engine.js +12 -0
  1082. package/dist/numerical/tensor-engine.js.map +1 -1
  1083. package/dist/numerical/types.js.map +1 -1
  1084. package/dist/numerical/weyl-lowering.js.map +1 -1
  1085. package/dist/relations/category.js.map +1 -1
  1086. package/dist/relations/composition-table.d.ts +4 -4
  1087. package/dist/relations/composition-table.js +4 -4
  1088. package/dist/relations/composition-table.js.map +1 -1
  1089. package/dist/relations/conventions.js.map +1 -1
  1090. package/dist/relations/domain-regimes.js.map +1 -1
  1091. package/dist/relations/regime-registration.js.map +1 -1
  1092. package/dist/relations/regime-vocabularies.js.map +1 -1
  1093. package/dist/relations/regime.d.ts +28 -8
  1094. package/dist/relations/regime.d.ts.map +1 -1
  1095. package/dist/relations/regime.js +44 -15
  1096. package/dist/relations/regime.js.map +1 -1
  1097. package/dist/relations/types.d.ts +18 -5
  1098. package/dist/relations/types.d.ts.map +1 -1
  1099. package/dist/relations/types.js +5 -3
  1100. package/dist/relations/types.js.map +1 -1
  1101. package/package.json +16 -20
  1102. package/dist/bridges/registry.d.ts +0 -60
  1103. package/dist/bridges/registry.d.ts.map +0 -1
  1104. package/dist/bridges/registry.js +0 -87
  1105. package/dist/bridges/registry.js.map +0 -1
  1106. package/dist/cli/poster-source.d.ts +0 -154
  1107. package/dist/cli/poster-source.d.ts.map +0 -1
  1108. package/dist/cli/poster-source.js +0 -184
  1109. package/dist/cli/poster-source.js.map +0 -1
@@ -20,7 +20,7 @@ function hyphenSubtractionNote(check, formula) {
20
20
  return error;
21
21
  if (!/[A-Za-z0-9_]-[A-Za-z0-9_]/.test(formula))
22
22
  return error;
23
- return `${error} A hyphen between names is subtraction. A name from a dimension argument is one symbol.`;
23
+ return `${error}. A hyphen between names is subtraction. A name from a dimension argument is one symbol.`;
24
24
  }
25
25
  const FLAGS = [
26
26
  {
@@ -53,8 +53,6 @@ const fmtMono = (m) => Object.entries(m)
53
53
  .filter(([, e]) => Math.abs(e) > 1e-9)
54
54
  .map(([n, e]) => (e === 1 ? n : `${n}^${e}`))
55
55
  .join('·') || '(dimensionless)';
56
- const BASES = ['L', 'M', 'T', 'I', 'Theta', 'N', 'J'];
57
- const dimsEqualTol = (a, b) => BASES.every((k) => Math.abs((a[k] || 0) - (b[k] || 0)) < 1e-9);
58
56
  async function run(ctx) {
59
57
  const { args, api, out, err } = ctx;
60
58
  const isJson = args.flags.has('json');
@@ -80,17 +78,21 @@ async function run(ctx) {
80
78
  const target = specs[0];
81
79
  const governing = specs.slice(1);
82
80
  const det = api.dimensionallyDetermines(target, governing);
83
- // Text lines follow the OLD bin's exact interleaving (bin/upt.mjs lines
84
- // 340-385): the header/determination block — and the dimensional-check
85
- // line — hit stdout BEFORE the formula parse/evaluate error sites, so a
86
- // failing formula still leaves the partial report on stdout (the
87
- // error-conversion fidelity rule: output emitted before the old
88
- // `process.exit(2)` stays emitted before the throw). In --json mode text
89
- // is suppressed and errors emit no JSON, so nothing precedes a throw.
90
- const textOut = isJson ? () => { } : out;
81
+ // Text is buffered and written only when the command reaches a result, so an
82
+ // error (exit 1 or 2) leaves stdout empty, as every command's does; a result,
83
+ // exit 0 or 3, prints the whole report. In --json mode text is suppressed.
84
+ const lines = [];
85
+ const textOut = isJson ? () => { } : (line) => void lines.push(line);
86
+ const flush = () => {
87
+ for (const line of lines)
88
+ out(line);
89
+ };
91
90
  let full;
92
91
  let formulaCheck;
92
+ // The recovered prefactor, and whether the formula has the monomial's input-dependence.
93
+ // `mean` is kept only when it does: a prefactor of a formula that does not match is not a number.
93
94
  let mean;
95
+ let matchesMonomial;
94
96
  let canonicalComparisons;
95
97
  let catalogEdges;
96
98
  // The formula's checks: dimension, monomial, canonical comparison. Any failure exits 3.
@@ -102,7 +104,7 @@ async function run(ctx) {
102
104
  determination: det,
103
105
  ...(full !== undefined ? { buckingham: full } : {}),
104
106
  ...(formulaCheck !== undefined ? { formulaCheck } : {}),
105
- ...(mean !== undefined ? { prefactor: mean } : {}),
107
+ ...(matchesMonomial === undefined ? {} : { matchesMonomial, prefactor: matchesMonomial ? mean : null }),
106
108
  ...(canonicalComparisons !== undefined ? { canonicalComparisons } : {}),
107
109
  ...(catalogEdges !== undefined ? { catalogEdges } : {}),
108
110
  },
@@ -132,9 +134,19 @@ async function run(ctx) {
132
134
  if (!r.ok) {
133
135
  failed = true;
134
136
  textOut(` formula dimensional check: ✗ ${hyphenSubtractionNote(r, formula)}`);
137
+ // An undeclared symbol is a malformed invocation on either branch: the caller
138
+ // declares it as an argument. A registered constant is declared as itself (c:c).
139
+ if (r.undeclaredSymbol !== undefined) {
140
+ const sym = r.undeclaredSymbol;
141
+ const asConstant = api.CONSTANTS[sym] === undefined ? '' : ` ${sym}:${sym} for the registered constant, or`;
142
+ // The checker's own sentence first (with the hyphen note when one remains in the
143
+ // formula), then how to declare the symbol. The report above is not printed: an error
144
+ // leaves stdout empty.
145
+ throw new UsageError(`upt derive: ${hyphenSubtractionNote(r, formula)}. Declare it as an argument:${asConstant} ${sym}:<dimension>.`);
146
+ }
135
147
  }
136
148
  else {
137
- const matches = dimsEqualTol(r.dim, target.dim);
149
+ const matches = api.dimensionsEqual(r.dim, target.dim);
138
150
  if (!matches)
139
151
  failed = true;
140
152
  textOut(` formula dimension: ${api.format(r.dim)}`
@@ -145,7 +157,8 @@ async function run(ctx) {
145
157
  cf = parser.parse(formulaSymbols);
146
158
  }
147
159
  catch (e) {
148
- throw new FormulaUsageError(' formula parse error: ' + e.message, await api.getFormulaParserKind());
160
+ // The parser's message carries its own `parse error:` label.
161
+ throw new FormulaUsageError('upt derive: --formula: ' + e.message, await api.getFormulaParserKind());
149
162
  }
150
163
  // Dimensions cannot see a prefactor: compare with the canonical equation this
151
164
  // formula restates, when the registry holds one (persona finding L2). This
@@ -153,20 +166,27 @@ async function run(ctx) {
153
166
  // named after a registered constant is that constant, as in `upt map --equation`.
154
167
  const isConstant = (g) => {
155
168
  const c = api.CONSTANTS[g.name];
156
- return c !== undefined && dimsEqualTol(c.dim, g.dim);
169
+ return c !== undefined && api.dimensionsEqual(c.dim, g.dim);
157
170
  };
158
171
  const variables = governing.filter((g) => !isConstant(g));
159
172
  const compiled = cf;
160
173
  canonicalComparisons = api.compareWithCanonical(target.name, variables.map((g) => ({ name: g.name, dim: g.dim })), (values) => compiled.evaluate(Object.fromEntries(governing.map((g) => [
161
174
  formulaSymbol(g.name),
162
- isConstant(g) ? api.CONSTANTS[g.name].value : values[g.name.replace(/_/g, '-')],
175
+ isConstant(g) ? api.CONSTANTS[g.name].value : values[api.foldName(g.name)],
163
176
  ]))));
164
177
  const relationSources = variables.map((g) => ({ name: g.name, dim: g.dim }));
165
178
  catalogEdges = api.matchingCatalogEdges(target.name, relationSources);
166
179
  const printComparisons = () => {
167
- for (const line of api.describeKnownRelation(canonicalComparisons, target.name, relationSources)) {
180
+ // describeKnownRelation's first lines are one per comparison, in order (then the catalog
181
+ // edges), so line i belongs to comparison i when i is below the comparison count.
182
+ api.describeKnownRelation(canonicalComparisons, target.name, relationSources).forEach((line, i) => {
168
183
  textOut(` ${line}`);
169
- }
184
+ // A form mismatch names which exponent differs (the log-design fit), beneath its line.
185
+ const c = canonicalComparisons[i];
186
+ if (c?.kind === 'form' && c.exponentDifference !== undefined) {
187
+ textOut(` ${api.describeExponentDifference(c.exponentDifference)}`);
188
+ }
189
+ });
170
190
  for (const line of conventionLines(canonicalComparisons.map((c) => c.id)))
171
191
  textOut(` ${line}`);
172
192
  };
@@ -177,6 +197,8 @@ async function run(ctx) {
177
197
  printComparisons();
178
198
  if (isJson)
179
199
  emitEnvelope();
200
+ else
201
+ flush();
180
202
  return classifyDetermination({
181
203
  asked: true,
182
204
  agrees: canonicalComparisons.some((c) => c.kind === 'agrees'),
@@ -185,33 +207,35 @@ async function run(ctx) {
185
207
  unresolved: [],
186
208
  }).exit;
187
209
  }
188
- const ratios = [];
189
- for (let j = 0; j < 3; j++) {
190
- const scope = {};
191
- governing.forEach((g, i) => {
192
- scope[formulaSymbol(g.name)] = Math.pow(1.7 + i, 1 + 0.3 * j);
193
- });
194
- let cand = 1;
195
- for (const g of governing)
196
- cand *= Math.pow(scope[formulaSymbol(g.name)], det.monomial?.[g.name] || 0);
210
+ // Variable i takes (1.7 + i)^p at p = 1, 1.3, 1.6, and the ratio to the monomial is one
211
+ // constant when its coefficient of variation is under 1e-9: this command's own scheme,
212
+ // through the one fixed-point owner (canonical/fixed-points.ts).
213
+ const recovered = api.recoverMonomialPrefactor((point) => {
214
+ const scope = Object.fromEntries(governing.map((g) => [formulaSymbol(g.name), point[g.name]]));
197
215
  try {
198
- ratios.push(cf.evaluate(scope) / cand);
216
+ return cf.evaluate(scope);
199
217
  }
200
218
  catch (e) {
201
- throw new UsageError(' formula uses an undeclared variable: ' + e.message);
219
+ // Every symbol is declared (checked above). The scope is this command's own generic
220
+ // positive inputs, so a failure here is the formula itself (a literal division by zero,
221
+ // an unknown function), not a value the caller gave: a malformed formula, exit 2.
222
+ throw new UsageError('upt derive: the formula could not be evaluated at generic inputs: ' + e.message);
202
223
  }
203
- }
204
- mean = ratios.reduce((a, b) => a + b, 0) / ratios.length;
205
- const cv = Math.sqrt(ratios.reduce((a, b) => a + (b - mean) ** 2, 0) / ratios.length) / Math.abs(mean);
206
- if (!(cv < 1e-9))
224
+ }, det.monomial ?? {}, governing.map((g) => g.name), { base: 1.7, step: 1, exponents: [0, 1, 2].map((j) => 1 + 0.3 * j), tolerance: 1e-9, statistic: 'cv' });
225
+ matchesMonomial = recovered.matches;
226
+ if (matchesMonomial)
227
+ mean = recovered.prefactor;
228
+ else
207
229
  failed = true;
208
- textOut(cv < 1e-9
209
- ? ` formula MATCHES the dimensional form — recovered prefactor ≈ ${mean.toExponential(4)}`
230
+ textOut(matchesMonomial
231
+ ? ` formula MATCHES the dimensional form — recovered prefactor ≈ ${api.formatQuantity(mean)}`
210
232
  : ` formula does NOT match the dimensional monomial (different input-dependence — a decoy or different physics).`);
211
233
  printComparisons();
212
234
  }
213
235
  if (isJson)
214
236
  emitEnvelope();
237
+ else
238
+ flush();
215
239
  return classifyDetermination({
216
240
  asked: true,
217
241
  agrees: (canonicalComparisons ?? []).some((c) => c.kind === 'agrees'),
@@ -223,6 +247,7 @@ async function run(ctx) {
223
247
  export const command = {
224
248
  name: 'derive',
225
249
  aliases: ['dim'],
250
+ positionals: { max: Infinity },
226
251
  flags: FLAGS,
227
252
  help: commandHelp(HELP, FLAGS),
228
253
  summary: 'Derive the dimensional form of your own equation and, with --formula, the prefactor.',
@@ -1 +1 @@
1
- {"version":3,"file":"derive.js","sourceRoot":"","sources":["../../../src/cli/commands/derive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"derive.js","sourceRoot":"","sources":["../../../src/cli/commands/derive.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * `upt derive` — derive the caller's own equation's dimensional form, and\n * (with `--formula`) verify it and recover the dimensionless prefactor.\n * Transposed verbatim from bin/upt.mjs's `derive()` (lines 313-385, the\n * post-crash-fix body — `format(r.dim)`/`format(target.dim)` on the\n * dimension-check line), plus `--json`. `fmtMono` moves here with it; the\n * dimension equality is the library's `equals` (through `api.dimensionsEqual`).\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 { UsageError } from '../errors.js';\nimport { classifyDetermination } from '../determination.js';\nimport { formulaParserLabel } from '../version.js';\nimport { FormulaUsageError } from '../euler-guard.js';\nimport { canonicalCheckFailed, conventionLines } from '../conventions.js';\nimport type { Dimension } from '../../dimensional/types.js';\n\n/** The parser's symbol for a declared name. A hyphen is subtraction, so a\n * declared `reduced-planck-constant` is the symbol `reduced_planck_constant`. */\nconst formulaSymbol = (name: string): string => name.replace(/-/g, '_');\n\n/**\n * A hyphen that remains after declared names are rewritten is subtraction.\n * The undeclared-symbol error otherwise names only the first piece. The\n * checker says the symbol was undeclared on its own field, not in its text.\n */\nfunction hyphenSubtractionNote(check: { readonly error?: string; readonly undeclaredSymbol?: string }, formula: string): string {\n const error = check.error ?? '';\n if (check.undeclaredSymbol === undefined) return error;\n if (!/[A-Za-z0-9_]-[A-Za-z0-9_]/.test(formula)) return error;\n return `${error}. A hyphen between names is subtraction. A name from a dimension argument is one symbol.`;\n}\n\nconst FLAGS: FlagSpec[] = [\n {\n name: '--formula',\n valueStyle: 'next',\n description: 'Check EXPR against the declared dimensions and recover the dimensionless prefactor.',\n },\n { name: '--debug', valueStyle: 'none', description: 'Print the formula parser name and version on stderr.' },\n JSON_FLAG,\n];\n\nconst HELP = `upt derive <target:dim> <var:dim> ... [--formula \"<expr>\"] [--debug]\n Derive YOUR OWN equation's dimensional form. <dim> is a named\n dimension (length, time, mass, velocity, ...), a constant (hbar, c,\n G, k_B, e — e here is the elementary charge's dimension), a named\n product/quotient (power/area, length*temperature),\n or explicit (L^3.M^-1.T^-2). Parentheses group a factor\n (power/(area*temperature^4)); pressure, density, volume, viscosity,\n resistance, magnetic_field and permeability are names; mass/length^3 and M/L^3 work.\n In --formula, a bare e is the elementary charge and E is energy.\n A name from a dimension argument is one symbol, hyphens included.\n A hyphen between other names is subtraction.\n Euler's number is exp(x), for example exp(1). The name euler is refused.\n With --formula, also verify it and\n recover the dimensionless prefactor. A target that is not a unique\n monomial of the variables exits 3. --debug prints the formula parser\n and its version to stderr.\n e.g. upt derive period:time length:length gravity:acceleration \\\\\n --formula \"2*pi*sqrt(length/gravity)\"`;\n\nconst fmtMono = (m: Readonly<Record<string, number>>): string =>\n Object.entries(m)\n .filter(([, e]) => Math.abs(e) > 1e-9)\n .map(([n, e]) => (e === 1 ? n : `${n}^${e}`))\n .join('·') || '(dimensionless)';\n\nasync function run(ctx: CommandCtx): Promise<number> {\n const { args, api, out, err } = ctx;\n const isJson = args.flags.has('json');\n const debug = args.flags.has('debug');\n const formulaFlag = args.flags.get('formula');\n const formula = formulaFlag ? formulaFlag[formulaFlag.length - 1] : undefined;\n\n const rest = args.positionals;\n if (rest.length < 1) {\n throw new UsageError(\n 'upt derive needs a target spec, e.g. upt derive period:time length:length gravity:acceleration'\n );\n }\n\n let specs: { name: string; dim: Dimension }[];\n try {\n specs = rest.map((a) => {\n const c = a.indexOf(':');\n if (c < 1) throw new Error(`'${a}' must be name:dimension (e.g. period:time)`);\n return { name: a.slice(0, c), dim: api.parseDimensionSpec(a.slice(c + 1)) };\n });\n } catch (e) {\n throw new UsageError(' ' + (e as Error).message);\n }\n\n const target = specs[0];\n const governing = specs.slice(1);\n const det = api.dimensionallyDetermines(target, governing);\n\n // Text is buffered and written only when the command reaches a result, so an\n // error (exit 1 or 2) leaves stdout empty, as every command's does; a result,\n // exit 0 or 3, prints the whole report. In --json mode text is suppressed.\n const lines: string[] = [];\n const textOut = isJson ? () => {} : (line: string) => void lines.push(line);\n const flush = (): void => {\n for (const line of lines) out(line);\n };\n\n let full: ReturnType<typeof api.buckinghamPi> | undefined;\n let formulaCheck: ReturnType<Awaited<ReturnType<typeof api.getFormulaDimensionChecker>>['check']> | undefined;\n // The recovered prefactor, and whether the formula has the monomial's input-dependence.\n // `mean` is kept only when it does: a prefactor of a formula that does not match is not a number.\n let mean: number | undefined;\n let matchesMonomial: boolean | undefined;\n let canonicalComparisons: ReturnType<typeof api.compareWithCanonical> | undefined;\n let catalogEdges: ReturnType<typeof api.matchingCatalogEdges> | undefined;\n // The formula's checks: dimension, monomial, canonical comparison. Any failure exits 3.\n let failed = false;\n\n const emitEnvelope = (): void => {\n emitJson(\n {\n command: 'derive',\n result: {\n determination: det,\n ...(full !== undefined ? { buckingham: full } : {}),\n ...(formulaCheck !== undefined ? { formulaCheck } : {}),\n ...(matchesMonomial === undefined ? {} : { matchesMonomial, prefactor: matchesMonomial ? mean! : null }),\n ...(canonicalComparisons !== undefined ? { canonicalComparisons } : {}),\n ...(catalogEdges !== undefined ? { catalogEdges } : {}),\n },\n },\n ctx.write\n );\n };\n\n textOut(`\\n● ${target.name} from {${governing.map((g) => g.name).join(', ')}}`);\n if (det.determined) {\n textOut(` dimensionally determined up to a constant: ${target.name} ∝ ${fmtMono(det.monomial!)}`);\n } else {\n full = api.buckinghamPi([target, ...governing]);\n textOut(` NOT a unique monomial — ${full.piGroupCount} free dimensionless group(s) (${full.verdict}):`);\n for (const g of full.piGroups) textOut(` ${g.formula}`);\n textOut(` (${det.reason})`);\n }\n\n if (formula) {\n const parser = await api.getFormulaParser();\n if (debug) err(` [parser: ${formulaParserLabel(await api.getFormulaParserKind())}]`);\n\n const checker = await api.getFormulaDimensionChecker();\n const declared = new Set(governing.map((g) => g.name));\n const formulaSymbols = api.rewriteCatalogHyphens(formula, declared);\n const dims = Object.fromEntries(governing.map((g) => [formulaSymbol(g.name), g.dim]));\n const r = checker.check(formulaSymbols, dims);\n formulaCheck = r;\n if (!r.ok) {\n failed = true;\n textOut(` formula dimensional check: ✗ ${hyphenSubtractionNote(r, formula)}`);\n // An undeclared symbol is a malformed invocation on either branch: the caller\n // declares it as an argument. A registered constant is declared as itself (c:c).\n if (r.undeclaredSymbol !== undefined) {\n const sym = r.undeclaredSymbol;\n const asConstant = api.CONSTANTS[sym] === undefined ? '' : ` ${sym}:${sym} for the registered constant, or`;\n // The checker's own sentence first (with the hyphen note when one remains in the\n // formula), then how to declare the symbol. The report above is not printed: an error\n // leaves stdout empty.\n throw new UsageError(`upt derive: ${hyphenSubtractionNote(r, formula)}. Declare it as an argument:${asConstant} ${sym}:<dimension>.`);\n }\n } else {\n const matches = api.dimensionsEqual(r.dim!, target.dim);\n if (!matches) failed = true;\n textOut(\n ` formula dimension: ${api.format(r.dim!)}`\n + (matches ? ` ✓ homogeneous, matches target` : ` ⚠ homogeneous but ≠ target ${api.format(target.dim)}`)\n );\n }\n\n let cf;\n try {\n cf = parser.parse(formulaSymbols);\n } catch (e) {\n // The parser's message carries its own `parse error:` label.\n throw new FormulaUsageError('upt derive: --formula: ' + (e as Error).message, await api.getFormulaParserKind());\n }\n // Dimensions cannot see a prefactor: compare with the canonical equation this\n // formula restates, when the registry holds one (persona finding L2). This\n // needs no unique monomial, so it runs on both branches below. A variable\n // named after a registered constant is that constant, as in `upt map --equation`.\n const isConstant = (g: { name: string; dim: Dimension }): boolean => {\n const c = api.CONSTANTS[g.name];\n return c !== undefined && api.dimensionsEqual(c.dim, g.dim);\n };\n const variables = governing.filter((g) => !isConstant(g));\n const compiled = cf;\n canonicalComparisons = api.compareWithCanonical(\n target.name,\n variables.map((g) => ({ name: g.name, dim: g.dim })),\n (values) =>\n compiled.evaluate(\n Object.fromEntries(\n governing.map((g) => [\n formulaSymbol(g.name),\n isConstant(g) ? api.CONSTANTS[g.name]!.value : values[api.foldName(g.name)]!,\n ]),\n ),\n ),\n );\n const relationSources = variables.map((g) => ({ name: g.name, dim: g.dim }));\n catalogEdges = api.matchingCatalogEdges(target.name, relationSources);\n const printComparisons = (): void => {\n // describeKnownRelation's first lines are one per comparison, in order (then the catalog\n // edges), so line i belongs to comparison i when i is below the comparison count.\n api.describeKnownRelation(canonicalComparisons!, target.name, relationSources).forEach((line, i) => {\n textOut(` ${line}`);\n // A form mismatch names which exponent differs (the log-design fit), beneath its line.\n const c = canonicalComparisons![i];\n if (c?.kind === 'form' && c.exponentDifference !== undefined) {\n textOut(` ${api.describeExponentDifference(c.exponentDifference)}`);\n }\n });\n for (const line of conventionLines(canonicalComparisons!.map((c) => c.id))) textOut(` ${line}`);\n };\n if (canonicalCheckFailed(canonicalComparisons)) failed = true;\n\n if (!det.determined) {\n textOut(' formula given, but with no unique monomial there is no single prefactor to recover.');\n printComparisons();\n if (isJson) emitEnvelope();\n else flush();\n return classifyDetermination({\n asked: true,\n agrees: canonicalComparisons.some((c) => c.kind === 'agrees'),\n checkFailed: failed,\n notUnique: true,\n unresolved: [],\n }).exit;\n }\n\n // Variable i takes (1.7 + i)^p at p = 1, 1.3, 1.6, and the ratio to the monomial is one\n // constant when its coefficient of variation is under 1e-9: this command's own scheme,\n // through the one fixed-point owner (canonical/fixed-points.ts).\n const recovered = api.recoverMonomialPrefactor(\n (point) => {\n const scope = Object.fromEntries(governing.map((g) => [formulaSymbol(g.name), point[g.name]!]));\n try {\n return cf.evaluate(scope);\n } catch (e) {\n // Every symbol is declared (checked above). The scope is this command's own generic\n // positive inputs, so a failure here is the formula itself (a literal division by zero,\n // an unknown function), not a value the caller gave: a malformed formula, exit 2.\n throw new UsageError('upt derive: the formula could not be evaluated at generic inputs: ' + (e as Error).message);\n }\n },\n det.monomial ?? {},\n governing.map((g) => g.name),\n { base: 1.7, step: 1, exponents: [0, 1, 2].map((j) => 1 + 0.3 * j), tolerance: 1e-9, statistic: 'cv' },\n );\n matchesMonomial = recovered.matches;\n if (matchesMonomial) mean = recovered.prefactor;\n else failed = true;\n textOut(\n matchesMonomial\n ? ` formula MATCHES the dimensional form — recovered prefactor ≈ ${api.formatQuantity(mean!)}`\n : ` formula does NOT match the dimensional monomial (different input-dependence — a decoy or different physics).`\n );\n printComparisons();\n }\n\n if (isJson) emitEnvelope();\n else flush();\n return classifyDetermination({\n asked: true,\n agrees: (canonicalComparisons ?? []).some((c) => c.kind === 'agrees'),\n checkFailed: failed,\n notUnique: !det.determined,\n unresolved: [],\n }).exit;\n}\n\nexport const command: Command = {\n name: 'derive',\n aliases: ['dim'],\n positionals: { max: Infinity },\n flags: FLAGS,\n help: commandHelp(HELP, FLAGS),\n summary: 'Derive the dimensional form of your own equation and, with --formula, the prefactor.',\n example: 'upt derive period:time length:length gravity:acceleration --formula \"2*pi*sqrt(length/gravity)\"',\n group: 'evaluate',\n run,\n};\n\nregisterCommand(command);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/discover.ts"],"names":[],"mappings":"AAQA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAub/E,eAAO,MAAM,OAAO,EAAE,OASrB,CAAC"}
1
+ {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/discover.ts"],"names":[],"mappings":"AAQA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAmc/E,eAAO,MAAM,OAAO,EAAE,OASrB,CAAC"}
@@ -3,6 +3,7 @@ import { commandHelp, JSON_FLAG, sourceFlag } from '../flag-help.js';
3
3
  import { resolveGraph, groundTruthAnchor, groundTruthLine } from '../graphs.js';
4
4
  import { emitJson } from '../output.js';
5
5
  import { parseDiscoveryOpts } from './_discovery-opts.js';
6
+ import { DISCOVER_MAX_ORDERS_DEFAULT } from '../library-defaults.js';
6
7
  import { adjudicationSourceUrls } from '../published-url.js';
7
8
  const FLAGS = [
8
9
  sourceFlag('catalog', 'Which graph to read: catalog, canonical, or both. canonical excludes bridges.'),
@@ -10,7 +11,7 @@ const FLAGS = [
10
11
  name: '--max-orders',
11
12
  valueStyle: 'attached',
12
13
  description: 'Magnitude-clash threshold. A larger value keeps more pairs promising.',
13
- defaultValue: '3',
14
+ defaultValue: DISCOVER_MAX_ORDERS_DEFAULT,
14
15
  },
15
16
  {
16
17
  name: '--anchor',
@@ -48,7 +49,7 @@ const HELP = `upt discover [--source=catalog|canonical|both]
48
49
  --derive emits, for each 'promising' identification, the ONE algebraic
49
50
  relation it implies (monomial elimination) as an UNADJUDICATED, math-only
50
51
  proposal — NOT a bridge (Part-VI §XXVII-B). Pairs with --source=canonical.
51
- --max-orders=N tunes the magnitude-clash threshold (default 3); looser N
52
+ --max-orders=N tunes the magnitude-clash threshold (default ${DISCOVER_MAX_ORDERS_DEFAULT}); looser N
52
53
  keeps more candidates 'promising', tighter N falsifies more as clashes.
53
54
  --anchor=k=v[,k2=v2] overrides the numeric anchor (default mass=M_sun)
54
55
  for the consistency/closure check. Both reshape the candidate pool that
@@ -106,10 +107,14 @@ function deriveReport(api, ranked, label, anchorLine, out) {
106
107
  const at = governing
107
108
  .map((g) => `${g.name}=${sampleOf(g.name).value} [${sampleOf(g.name).source}]`)
108
109
  .join(', ');
109
- approx = ` ≈ ${p.evaluate(vals).toExponential(2)}${at ? ` (${at})` : ''}`;
110
+ approx = ` ≈ ${api.formatQuantity(p.evaluate(vals))}${at ? ` (${at})` : ''}`;
110
111
  }
111
- catch {
112
- approx = '';
112
+ catch (e) {
113
+ // A proposal that cannot be evaluated at its samples says so and why; it is not shown as
114
+ // though it had no sample. Only an `Error` is a refusal of the formula: anything else is a defect.
115
+ if (!(e instanceof Error))
116
+ throw e;
117
+ approx = ` (not evaluated at the sample values: ${e.message})`;
113
118
  }
114
119
  }
115
120
  out(` ${p.id}`);
@@ -172,7 +177,6 @@ function adjudicationSummaryLine(promising, promisingCount) {
172
177
  const foldNote = folded === total ? '— folded' : folded === 0 ? '— shown below' : `— ${folded} folded`;
173
178
  return ` adjudicated: ${total} of the ${promisingCount} promising ${verb} ${noun} (${parts.join(', ')}) ${foldNote}; --show-adjudicated to list`;
174
179
  }
175
- /** How far the `promising` set is from evidence, counted from candidate fields. */
176
180
  /** Encoded bridges that already carry a falsifier. Not discovery rows. */
177
181
  function encodedFalsifiers(api) {
178
182
  const lines = [];
@@ -194,6 +198,7 @@ function encodedFalsifiers(api) {
194
198
  }
195
199
  return lines;
196
200
  }
201
+ /** How far the `promising` set is from evidence, counted from candidate fields. */
197
202
  function readinessOf(api, candidates) {
198
203
  const p = candidates.filter((c) => c.verdict === 'promising');
199
204
  const g = p.map((c) => api.describeGrounding(c, c.consequence?.signal));
@@ -236,7 +241,7 @@ async function run(ctx) {
236
241
  command: 'discover',
237
242
  source,
238
243
  anchor: { groundTruth: anchor },
239
- options: opts,
244
+ options: { ...opts },
240
245
  epistemics: isDerive ? DERIVE_EPISTEMICS : EPISTEMICS,
241
246
  result,
242
247
  ...(requireFalsifier && !isDerive ? { encodedFalsifiers: encodedFalsifiers(api) } : {}),
@@ -342,13 +347,18 @@ async function run(ctx) {
342
347
  }
343
348
  }
344
349
  else {
345
- out(' no candidate is `promising` from the default {mass} anchor.');
350
+ out(' no candidate is `promising` from the anchor above.');
346
351
  }
347
352
  if (clash.length) {
348
- out(`\n MAGNITUDE-CLASH (representative values differ by > N orders — a falsifier):`);
353
+ out(`\n MAGNITUDE-CLASH (representative values differ by > N orders — a falsifier; p is the falsifier's strength ` +
354
+ `at the values' stated σ, 2Φ(−orders/√(σa²+σb²)), not a credibility score):`);
349
355
  for (const r of clash) {
350
356
  const basis = r.magnitudeUsedAnchor ? ' (anchor-derived)' : '';
351
- out(` ${(r.a + ' ≟ ' + r.b).padEnd(52)} ~${r.ordersApart.toFixed(1)} orders apart${basis}`);
357
+ // A p that underflows a double is not zero: it is below the smallest normal double.
358
+ const p = r.magnitudeP;
359
+ const strength = p === undefined || p === null ? '' : p === 0 ? ', p < 1e-300' : `, p = ${api.formatQuantity(p, 3)}`;
360
+ // A magnitude estimate is a statistic: three digits, marked approximate.
361
+ out(` ${(r.a + ' ≟ ' + r.b).padEnd(52)} ~${api.formatQuantity(r.ordersApart, 3)} orders apart${strength}${basis}`);
352
362
  }
353
363
  }
354
364
  const subsumed = inert.filter((r) => r.subsuming);
@@ -1 +1 @@
1
- {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/cli/commands/discover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/cli/commands/discover.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * `upt discover` — vet the link candidates through the inference suite, and\n * (with `--derive`) emit the algebraic identity-consequence proposals.\n * Transposed verbatim from bin/upt.mjs's `parseDiscoveryOpts()`/`discoverCmd()`/\n * `deriveCmd()` (lines 592-713), plus `--json`. `parseDiscoveryOpts` itself\n * moved to `_discovery-opts.ts` so `map`'s `--proposed` overlay can share it.\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, groundTruthAnchor, groundTruthLine } from '../graphs.js';\nimport { emitJson } from '../output.js';\nimport { parseDiscoveryOpts } from './_discovery-opts.js';\nimport type { VettedCandidate } from '../../composition/discovery.js';\nimport type { AnnotatedCandidate } from '../../composition/adjudication.js';\nimport type { AdjudicationVerdict } from '../../bridges/catalog-types.js';\nimport { DISCOVER_MAX_ORDERS_DEFAULT } from '../library-defaults.js';\nimport { adjudicationSourceUrls } from '../published-url.js';\nimport type { ConsequenceSignal, ConsequenceEvidence } from '../../composition/consequence.js';\n\n/** `annotated` (adjudication layer) composed with the consequence layer —\n * both are `VettedCandidate & {...}` intersections, so a candidate carries\n * both `adjudication?` and `consequence?` after composition. */\ntype FullyAnnotatedCandidate = AnnotatedCandidate & {\n readonly consequence?: {\n readonly signal: ConsequenceSignal;\n readonly evidence: readonly ConsequenceEvidence[];\n };\n};\n\nconst FLAGS: FlagSpec[] = [\n sourceFlag('catalog', 'Which graph to read: catalog, canonical, or both. canonical excludes bridges.'),\n {\n name: '--max-orders',\n valueStyle: 'attached',\n description: 'Magnitude-clash threshold. A larger value keeps more pairs promising.',\n defaultValue: DISCOVER_MAX_ORDERS_DEFAULT,\n },\n {\n name: '--anchor',\n valueStyle: 'attached',\n repeatable: true,\n description: 'Override a numeric anchor as k=v or k=v,k2=v2.',\n defaultValue: 'mass=M_sun',\n },\n {\n name: '--derive',\n valueStyle: 'none',\n description: 'For each promising identification, print the one algebraic relation it implies. That relation is not a bridge.',\n },\n {\n name: '--show-adjudicated',\n valueStyle: 'none',\n description: 'List candidates a physicist has already adjudicated, with the recorded verdict.',\n },\n {\n name: '--require-falsifier',\n valueStyle: 'none',\n description: 'Hide promising rows that no independent falsifier ran on and survived.',\n },\n JSON_FLAG,\n];\n\nconst ADJUDICATION_URLS = adjudicationSourceUrls().join('\\n ');\n\nconst HELP = `upt discover [--source=catalog|canonical|both]\n VET the link candidates through the inference suite: hypothesise\n each identification a≡b and test whether it merges disconnected\n physics, unlocks quantities, and stays numerically consistent.\n Ranks promising / inert / contradictory.\n --source=canonical runs the funnel on the standard-physics L-layer\n ALONE (bridges excluded) — new candidates from established physics,\n and a self-consistency check (expect 0 contradictory).\n --derive emits, for each 'promising' identification, the ONE algebraic\n relation it implies (monomial elimination) as an UNADJUDICATED, math-only\n proposal — NOT a bridge (Part-VI §XXVII-B). Pairs with --source=canonical.\n --max-orders=N tunes the magnitude-clash threshold (default ${DISCOVER_MAX_ORDERS_DEFAULT}); looser N\n keeps more candidates 'promising', tighter N falsifies more as clashes.\n --anchor=k=v[,k2=v2] overrides the numeric anchor (default mass=M_sun)\n for the consistency/closure check. Both reshape the candidate pool that\n --derive consumes. T, temperature, temp, and T_K on an anchor are\n kelvin: an energy is k_B T, and any other dimension is an error.\n Candidates a physicist has already adjudicated\n (${ADJUDICATION_URLS})\n fold out of the PROMISING list by default (decoy/entailed verdicts only —\n review memory, not a re-litigation prompt); --show-adjudicated lists them\n again with their recorded verdict.\n Each PROMISING row states its readiness dimension by dimension —\n structure, kind, which independent falsifiers (magnitude, axis,\n consequence) ran and survived or abstained — and what would make it\n testable: the identity premise, the missing magnitudes and regimes,\n and the observation that would test it. An abstention is a missing\n test, never a pass. --require-falsifier hides promising rows that no\n independent falsifier ran on and survived, counts them, and lists the\n encoded bridges that already carry a falsifier (a confrontation, a\n counterexample, or a regime inequality).`;\n\nconst EPISTEMICS =\n '⚠ a REVIEW SURFACE: `promising` means \"worth a physicist\\'s minute\", not \"true\".\\n' +\n ' Each candidate hypothesises an identification a≡b and tests its consequences.';\n\nconst DERIVE_EPISTEMICS =\n '⚠ Each is the ALGEBRAIC CONSEQUENCE of an unadjudicated identification — NOT a new\\n' +\n ' relation and NOT a bridge. No mechanism asserted. Promotion to the catalog needs\\n' +\n ' adversarial + literature review (Part-VI §XXVII-B). The enumerator proposes; humans dispose.';\n\n// ── discover --derive (identity-consequence proposals) ────────────────────\n\n/**\n * Sample values for GENERIC quantities, which the representative-value table\n * leaves out on purpose. A proposal is evaluated only when every free input\n * has a sourced sample: this command once put 300 into every input, a Hubble\n * rate of 300 s⁻¹ among them (persona finding D5).\n */\nconst GENERIC_SAMPLES: Readonly<Record<string, { value: number; source: string }>> = {\n temperature: { value: 300, source: 'room temperature, 300 K' },\n};\nfunction deriveReport(\n api: CommandCtx['api'],\n ranked: readonly VettedCandidate[],\n label: string,\n anchorLine: string,\n out: (line?: string) => void\n): void {\n const proposals = api.deriveProposedBridges(ranked);\n out(`\\nDerived identity-consequence PROPOSALS — UNADJUDICATED, math-only [source: ${label}]`);\n out(` ${anchorLine}`);\n out(DERIVE_EPISTEMICS + '\\n');\n if (!proposals.length) {\n out(' no admissible proposal (need two fully-quantitative, monomial canonical targets).');\n return;\n }\n for (const p of proposals) {\n let approx = '';\n const governing = p.governing || [];\n const sampleOf = (name: string) => api.REPRESENTATIVE_VALUES[name] ?? GENERIC_SAMPLES[name];\n const missing = governing.filter((g) => sampleOf(g.name) === undefined).map((g) => g.name);\n if (missing.length > 0) {\n approx = ` (no sourced sample value for ${missing.join(', ')}; not evaluated)`;\n } else {\n try {\n const vals = Object.fromEntries(governing.map((g) => [g.name, sampleOf(g.name)!.value]));\n const at = governing\n .map((g) => `${g.name}=${sampleOf(g.name)!.value} [${sampleOf(g.name)!.source}]`)\n .join(', ');\n approx = ` ≈ ${api.formatQuantity(p.evaluate(vals))}${at ? ` (${at})` : ''}`;\n } catch (e) {\n // A proposal that cannot be evaluated at its samples says so and why; it is not shown as\n // though it had no sample. Only an `Error` is a refusal of the formula: anything else is a defect.\n if (!(e instanceof Error)) throw e;\n approx = ` (not evaluated at the sample values: ${e.message})`;\n }\n }\n out(` ${p.id}`);\n out(` ${p.formulaLatex} ${p.dimensionalSignature}${approx}`);\n out(\n ` from: ${p.derivedFrom.identification.a} ≟ ${p.derivedFrom.identification.b}` +\n ` (${p.derivedFrom.sourceEquationIds[0]} = ${p.derivedFrom.sourceEquationIds[1]}); solved for ${p.derivedFrom.solvedFor}`\n );\n if (p.alsoDerivableFrom && p.alsoDerivableFrom.length) {\n out(` also derivable from: ${p.alsoDerivableFrom.join('; ')}`);\n }\n const c = api.describeDerivedClaim(p);\n out(\n c.relation === 'known-law'\n ? ` status: known law — re-derives ${c.canonicalMatch.id}; the identification ${c.premise} is still unadjudicated`\n : ` status: conditional identity — holds only if ${c.premise} (unadjudicated); untested`,\n );\n out(` meaning: ${c.symbol.meaning}`);\n out(\n ` assumptions carried: ${c.assumptions.map((a) => `${a.equation}: ${a.assumptions.join(', ') || 'none stated'}`).join('; ')}`,\n );\n const governingSet = `{${p.governing.map((g) => g.name).join(', ')}}`;\n out(\n ` canonical match: ${c.canonicalMatch.id ?? 'none'} — ${c.canonicalMatch.sameTarget} registry equation(s) target ` +\n `${p.target.name}, ${c.canonicalMatch.sameTargetAndGoverning} with governing ${governingSet}; ` +\n 'scope: this registry only, not physics at large',\n );\n }\n out('');\n}\n\n/** Verdicts that fold a candidate out of the printed PROMISING list by\n * default — review memory, not news. `deferred`/`genuine` stay listed\n * (see the module-level docstring on `AdjudicationVerdict`). */\nfunction foldsOut(verdict: AdjudicationVerdict): boolean {\n return verdict === 'decoy' || verdict === 'entailed';\n}\n\n/** Tally an annotated candidate set's recorded verdicts, for `--json`'s\n * `adjudicationSummary` (over ALL candidates, every funnel bucket). */\nfunction summarizeAdjudications(\n candidates: readonly AnnotatedCandidate[]\n): { total: number; genuine: number; decoy: number; entailed: number; deferred: number } {\n const summary = { total: 0, genuine: 0, decoy: 0, entailed: 0, deferred: 0 };\n for (const c of candidates) {\n if (!c.adjudication) continue;\n summary.total++;\n summary[c.adjudication.verdict]++;\n }\n return summary;\n}\n\n/** The reconciling line printed under PROMISING when some of it carries a\n * recorded verdict — so the folded/shorter list never looks inconsistent\n * against the funnel line's raw promising count. */\nfunction adjudicationSummaryLine(promising: readonly AnnotatedCandidate[], promisingCount: number): string {\n const adjudicated = promising.filter((r) => r.adjudication);\n const counts = { genuine: 0, decoy: 0, entailed: 0, deferred: 0 };\n let folded = 0;\n for (const r of adjudicated) {\n const v = r.adjudication!.verdict;\n counts[v]++;\n if (foldsOut(v)) folded++;\n }\n const parts = (['decoy', 'entailed', 'deferred', 'genuine'] as const)\n .filter((v) => counts[v] > 0)\n .map((v) => `${counts[v]} ${v}`);\n const total = adjudicated.length;\n const verb = total === 1 ? 'carries' : 'carry';\n const noun = total === 1 ? 'a recorded verdict' : 'recorded verdicts';\n const foldNote = folded === total ? '— folded' : folded === 0 ? '— shown below' : `— ${folded} folded`;\n return ` adjudicated: ${total} of the ${promisingCount} promising ${verb} ${noun} (${parts.join(', ')}) ${foldNote}; --show-adjudicated to list`;\n}\n\ninterface Readiness {\n promising: number;\n mechanismTested: number;\n dataTested: number;\n withoutMagnitudeEvidence: number;\n axisUnresolved: number;\n entailedConsequence: number;\n}\n\n/** Encoded bridges that already carry a falsifier. Not discovery rows. */\nfunction encodedFalsifiers(api: CommandCtx['api']): readonly string[] {\n const lines: string[] = [];\n for (const id of [...api.CONFRONTATIONS.keys()].sort((a, b) => a - b)) {\n lines.push(`be-${id} (confrontation)`);\n }\n for (const f of api.ATLAS_FAMILIES) {\n for (const b of f.bridges) {\n const cx = b.counterexamples.length;\n const ineq = b.regime.inequalities.length;\n if (cx === 0 && ineq === 0) continue;\n const bits = [\n cx > 0 ? `${cx} counterexample${cx === 1 ? '' : 's'}` : '',\n ineq > 0 ? `${ineq} regime inequalit${ineq === 1 ? 'y' : 'ies'}` : '',\n ].filter((s) => s !== '');\n lines.push(`${b.id} (${bits.join(', ')})`);\n }\n }\n return lines;\n}\n\n/** How far the `promising` set is from evidence, counted from candidate fields. */\nfunction readinessOf(api: CommandCtx['api'], candidates: readonly FullyAnnotatedCandidate[]): Readiness {\n const p = candidates.filter((c) => c.verdict === 'promising');\n const g = p.map((c) => api.describeGrounding(c, c.consequence?.signal));\n return {\n promising: p.length,\n mechanismTested: g.filter((x) => x.mechanismTested).length,\n dataTested: g.filter((x) => x.dataTested).length,\n withoutMagnitudeEvidence: p.filter((c) => !c.magnitudeChecked || c.magnitudeAnchorInvariant === true).length,\n axisUnresolved: p.filter((c) => !c.axisChecked).length,\n entailedConsequence: p.filter((c) => c.consequence?.signal === 'entailed').length,\n };\n}\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 opts = parseDiscoveryOpts(api, args.flags);\n const anchor = groundTruthAnchor(api, opts);\n const ranked = api.rankDiscoveries(graph, opts);\n const isDerive = args.flags.has('derive');\n const annotated = isDerive ? ([] as AnnotatedCandidate[]) : api.annotateAdjudications(ranked);\n const withConsequence: readonly FullyAnnotatedCandidate[] = isDerive\n ? []\n : api.annotateConsequences(annotated);\n const showAdjudicated = args.flags.has('show-adjudicated');\n\n if (args.flags.has('json')) {\n const requireFalsifier = args.flags.has('require-falsifier');\n const mapped = isDerive\n ? api.deriveProposedBridges(ranked).map((p) => ({ ...p, claim: api.describeDerivedClaim(p) }))\n : withConsequence.map((c) => ({\n ...c,\n grounding: api.describeGrounding(c, c.consequence?.signal),\n readiness: api.describeReadiness(c, c.consequence?.signal),\n }));\n const result =\n requireFalsifier && !isDerive\n ? mapped.filter(\n (c) =>\n !('readiness' in c) ||\n c.verdict !== 'promising' ||\n c.readiness.falsifiers.survived.length > 0,\n )\n : mapped;\n const envelope = {\n command: 'discover',\n source,\n anchor: { groundTruth: anchor },\n options: { ...opts },\n epistemics: isDerive ? DERIVE_EPISTEMICS : EPISTEMICS,\n result,\n ...(requireFalsifier && !isDerive ? { encodedFalsifiers: encodedFalsifiers(api) } : {}),\n ...(isDerive\n ? {}\n : {\n readiness: readinessOf(api, withConsequence),\n adjudicationSummary: summarizeAdjudications(withConsequence),\n }),\n };\n emitJson(envelope, ctx.write);\n return 0;\n }\n\n if (Object.keys(opts).length) {\n const bits: string[] = [];\n if (opts.maxOrdersOfMagnitude !== undefined) bits.push(`max-orders=${opts.maxOrdersOfMagnitude}`);\n if (opts.groundTruth) {\n bits.push(`anchor={${Object.entries(opts.groundTruth).map(([k, v]) => `${k}=${v}`).join(', ')}}`);\n }\n out(` [discovery options: ${bits.join('; ')}]`);\n }\n\n if (isDerive) {\n deriveReport(api, ranked, label, groundTruthLine(anchor), out);\n return 0;\n }\n\n const by = (v: string) => withConsequence.filter((r) => r.verdict === v);\n // Q1: within PROMISING, spend the physicist's first minute on consequence-\n // bearing / magnitude-backed rows before inconclusive + no-magnitude coincidences.\n const consRank = (s: ConsequenceSignal | undefined): number =>\n s === 'entailed' ? 0 : s === 'novel-consequence' ? 1 : 2;\n const promising = [...by('promising')].sort((a, b) => {\n const ca = consRank(a.consequence?.signal);\n const cb = consRank(b.consequence?.signal);\n if (ca !== cb) return ca - cb;\n const magA = a.magnitudeChecked && a.magnitudeAnchorInvariant !== true ? 0 : 1;\n const magB = b.magnitudeChecked && b.magnitudeAnchorInvariant !== true ? 0 : 1;\n if (magA !== magB) return magA - magB;\n return b.score - a.score || a.a.localeCompare(b.a) || a.b.localeCompare(b.b);\n });\n const inert = by('inert');\n const contra = by('contradictory');\n const clash = by('magnitude-clash');\n const axisClash = by('axis-clash');\n out(`\\nDiscovery — link candidates VETTED through the inference suite [source: ${label}]`);\n out(` ${groundTruthLine(anchor)}`);\n out('⚠ a REVIEW SURFACE: `promising` means \"worth a physicist\\'s minute\", not \"true\".');\n out(' Each candidate hypothesises an identification a≡b and tests its consequences.\\n');\n out(\n ` funnel: ${withConsequence.length} candidates → ${promising.length} promising ` +\n `· ${inert.length} inert · ${clash.length} magnitude-clash ` +\n `· ${contra.length} contradictory (numerically falsified) · ${axisClash.length} axis-clash`\n );\n const rd = readinessOf(api, withConsequence);\n out(\n ` readiness of the ${rd.promising} promising: ${rd.mechanismTested} mechanism-tested · ` +\n `${rd.dataTested} data-tested · ${rd.withoutMagnitudeEvidence} without magnitude evidence · ` +\n `${rd.axisUnresolved} with axis unresolved · ${rd.entailedConsequence} with an entailed consequence`,\n );\n out(' promising ≠ evidence: promotion to a bridge needs a mechanism and a falsifiable prediction.\\n');\n const requireFalsifier = args.flags.has('require-falsifier');\n const untested = (r: FullyAnnotatedCandidate) =>\n api.describeReadiness(r, r.consequence?.signal).falsifiers.survived.length === 0;\n if (requireFalsifier) {\n out(\n ` --require-falsifier: ${promising.filter(untested).length} of the ${promising.length} promising hidden — ` +\n 'no independent falsifier ran and survived (connectivity alone is not evidence)\\n',\n );\n const encoded = encodedFalsifiers(api);\n out(` encoded falsifiers already on the records (${encoded.length}; these are not discovery rows):`);\n for (const line of encoded) out(` ${line}`);\n out('');\n }\n if (promising.length) {\n out(' PROMISING (merges disconnected physics, unlocks quantities, stays consistent):');\n for (const r of promising) {\n if (r.adjudication && foldsOut(r.adjudication.verdict) && !showAdjudicated) continue;\n if (requireFalsifier && untested(r)) continue;\n out(` ${(r.a + ' ≟ ' + r.b).padEnd(52)} [${r.dim}] score ${r.score}`);\n out(` unlocks: ${r.unlocksFromAnchor.join(', ') || '—'}`);\n if (r.consequence) {\n out(` [consequence: ${r.consequence.signal}]`);\n }\n const g = api.describeGrounding(r, r.consequence?.signal);\n out(\n ` [grounding — passed: ${g.passed.join(', ') || '—'}` +\n ` · gaps: ${g.gaps.join(', ') || '—'} · ceiling: no mechanism/data test]`,\n );\n const rd = api.describeReadiness(r, r.consequence?.signal);\n const f = rd.falsifiers;\n out(\n ` [readiness — structure: ${rd.structure.mergesComponents ? 'merges components' : 'no merge'}, ` +\n `unlocks ${rd.structure.unlocks} · kind: ${rd.kind} · independent falsifiers survived: ` +\n `${f.survived.join(', ') || 'none'}${f.abstained.length ? ` (abstained: ${f.abstained.join(', ')})` : ''}` +\n ' · mechanism: none · data: none]',\n );\n const needs = [\n ...(rd.needs.magnitudeFor.length ? [`needs a representative magnitude for: ${rd.needs.magnitudeFor.join(', ')}`] : []),\n ...rd.needs.regimeFor.map((u) => `needs a stated ${u.axis} regime for: ${u.endpoints.join(', ')}`),\n ...(rd.needs.derivableConsequence ? ['needs a consequence that re-derives a known law'] : []),\n ];\n out(` [to make it testable — premise: ${rd.needs.premise}${needs.map((n) => ` · ${n}`).join('')}]`);\n out(` [observation: ${rd.observation}]`);\n if (r.adjudication) {\n out(` [adjudicated: ${r.adjudication.verdict} — ${r.adjudication.grounds}]`);\n }\n }\n if (promising.some((r) => r.adjudication)) {\n out(adjudicationSummaryLine(promising, promising.length));\n }\n } else {\n out(' no candidate is `promising` from the anchor above.');\n }\n if (clash.length) {\n out(\n `\\n MAGNITUDE-CLASH (representative values differ by > N orders — a falsifier; p is the falsifier's strength ` +\n `at the values' stated σ, 2Φ(−orders/√(σa²+σb²)), not a credibility score):`,\n );\n for (const r of clash) {\n const basis = r.magnitudeUsedAnchor ? ' (anchor-derived)' : '';\n // A p that underflows a double is not zero: it is below the smallest normal double.\n const p = r.magnitudeP;\n const strength =\n p === undefined || p === null ? '' : p === 0 ? ', p < 1e-300' : `, p = ${api.formatQuantity(p, 3)}`;\n // A magnitude estimate is a statistic: three digits, marked approximate.\n out(` ${(r.a + ' ≟ ' + r.b).padEnd(52)} ~${api.formatQuantity(r.ordersApart!, 3)} orders apart${strength}${basis}`);\n }\n }\n const subsumed = inert.filter((r) => r.subsuming);\n if (subsumed.length) {\n out(`\\n SUBSUMING (generic ≟ specialization — tautological, barred from promising):`);\n for (const r of subsumed) {\n out(` ${(r.a + ' ≟ ' + r.b).padEnd(52)} [${r.dim}]`);\n }\n }\n if (contra.length) {\n out(`\\n CONTRADICTORY (the identification falsifies itself numerically):`);\n for (const r of contra) {\n out(` ${(r.a + ' ≟ ' + r.b).padEnd(52)} disagreeing node(s): ${r.inconsistentNodes.join(', ')}`);\n }\n }\n if (axisClash.length) {\n out(`\\n AXIS-CLASH (stated scale/force labels differ: a regime-label prior, not a physical test):`);\n for (const r of axisClash) {\n out(` ${(r.a + ' ≟ ' + r.b).padEnd(52)} ${r.axisClashes.join('; ')}`);\n }\n }\n out('\\n (magnitude gate abstains where a representative value is unknown; weak priors on dimension.)');\n out(` (inspect one candidate: upt ground --source=${source} <a> <b>, with the same --anchor/--max-orders)`);\n return 0;\n}\n\nexport const command: Command = {\n name: 'discover',\n aliases: ['discovery'],\n flags: FLAGS,\n help: commandHelp(HELP, FLAGS),\n summary: 'Vet quantity identifications and rank them promising, inert, or contradictory.',\n example: 'upt discover --source=canonical',\n group: 'discovery',\n run,\n};\n\nregisterCommand(command);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/eval.ts"],"names":[],"mappings":"AASA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAiL/E,eAAO,MAAM,OAAO,EAAE,OASrB,CAAC"}
1
+ {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/eval.ts"],"names":[],"mappings":"AASA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAmL/E,eAAO,MAAM,OAAO,EAAE,OAUrB,CAAC"}
@@ -5,6 +5,7 @@ import { CliError, UsageError } from '../errors.js';
5
5
  import { formulaParserLabel } from '../version.js';
6
6
  import { FormulaUsageError } from '../euler-guard.js';
7
7
  import { codataScope } from '../eval-numbers.js';
8
+ import { splitAssignments } from '../bindings.js';
8
9
  const FLAGS = [
9
10
  { name: '--debug', valueStyle: 'none', description: 'Print the formula parser name and version on stderr.' },
10
11
  JSON_FLAG,
@@ -17,7 +18,8 @@ const FLAGS = [
17
18
  { name: '--geometrized', valueStyle: 'none', description: 'Set ħ = c = G = 1 when reading values.' },
18
19
  ];
19
20
  /**
20
- * Read `name=value` bindings. A missing `=` is a usage error (exit 2).
21
+ * Read `name=value` bindings. A missing `=` is a usage error (exit 2) and a
22
+ * name given twice is refused (exit 1), by the one splitter every command uses.
21
23
  * A value that is not a finite number or a known unit is a bad value
22
24
  * (exit 1), the same code `upt evaluate` uses. A value is a number, a
23
25
  * unit (`1Msun`), or an expression of constants and units (`0.6*c`, `pi/2`).
@@ -27,14 +29,7 @@ const FLAGS = [
27
29
  function parseScope(api, args, mode) {
28
30
  const scope = {};
29
31
  const notes = [];
30
- const assignments = [];
31
- for (const a of args) {
32
- const eq = a.indexOf('=');
33
- if (eq < 0) {
34
- throw new UsageError(`upt eval: '${a}' must be name=value. See \`upt help\`.`);
35
- }
36
- assignments.push({ name: a.slice(0, eq), raw: a.slice(eq + 1), assignment: a });
37
- }
32
+ const assignments = splitAssignments('eval', args).map((a) => ({ name: a.name, raw: a.raw, assignment: a.token }));
38
33
  const siblings = assignments.map((a) => ({ name: a.name, raw: a.raw }));
39
34
  for (const a of assignments) {
40
35
  try {
@@ -117,7 +112,11 @@ async function run(ctx) {
117
112
  cf = parser.parse(expr);
118
113
  }
119
114
  catch (e) {
120
- throw new FormulaUsageError('parse error: ' + e.message, kind);
115
+ // The parser's message carries its own `parse error:` label.
116
+ throw new FormulaUsageError(e.message, kind);
117
+ }
118
+ if (args.flags.has('geometrized') && args.flags.has('natural')) {
119
+ throw new UsageError('upt eval: pick one unit mode: --natural (ħ = c = 1) or --geometrized (ħ = c = G = 1)');
121
120
  }
122
121
  const mode = args.flags.has('geometrized') ? 'geometrized' : args.flags.has('natural') ? 'natural' : 'si';
123
122
  const parsed = parseScope(api, positionals.slice(1), mode);
@@ -144,11 +143,15 @@ async function run(ctx) {
144
143
  notes.push(`note: ${note}`);
145
144
  for (const note of notes)
146
145
  err(note);
146
+ // A non-finite result (`ln(-1)`, `1/0`) is a bad value at the point: exit 1, by class.
147
+ // An unknown function or symbol is a malformed formula: exit 2.
147
148
  let value;
148
149
  try {
149
150
  value = cf.evaluate(scope);
150
151
  }
151
152
  catch (e) {
153
+ if (e instanceof api.FormulaValueError)
154
+ throw new CliError(`upt eval: ${e.message}`);
152
155
  throw new FormulaUsageError(e.message, kind);
153
156
  }
154
157
  if (isJson) {
@@ -164,6 +167,7 @@ async function run(ctx) {
164
167
  export const command = {
165
168
  name: 'eval',
166
169
  aliases: ['calc'],
170
+ positionals: { max: Infinity },
167
171
  flags: FLAGS,
168
172
  help: commandHelp(HELP, FLAGS),
169
173
  summary: 'Evaluate a scalar formula. A bare e is the elementary charge; Euler\'s number is exp(x).',