universal-physics-tensor 8.0.0 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (916) hide show
  1. package/README.md +26 -21
  2. package/data/atlas/atlas.json +75 -64
  3. package/data/atlas/atlas.jsonld +1 -1
  4. package/data/atlas/diffusion.json +23 -22
  5. package/data/atlas/oscillators.json +21 -16
  6. package/data/atlas/waves.json +33 -28
  7. package/data/bridge-catalog.json +1356 -1791
  8. package/data/bridge-catalog.schema.json +789 -46
  9. package/data/quantities.json +280 -234
  10. package/data/quantities.schema.json +52 -0
  11. package/data/schemas/atlas-record.v0.json +184 -46
  12. package/data/units.json +1178 -0
  13. package/data/units.schema.json +124 -0
  14. package/dist/atlas/applicability.d.ts.map +1 -1
  15. package/dist/atlas/applicability.js +14 -3
  16. package/dist/atlas/applicability.js.map +1 -1
  17. package/dist/atlas/association.d.ts +1 -1
  18. package/dist/atlas/association.js.map +1 -1
  19. package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -1
  20. package/dist/atlas/benchmark/backend-shapes.js +5 -1
  21. package/dist/atlas/benchmark/backend-shapes.js.map +1 -1
  22. package/dist/atlas/benchmark/baselines.d.ts.map +1 -1
  23. package/dist/atlas/benchmark/baselines.js +8 -0
  24. package/dist/atlas/benchmark/baselines.js.map +1 -1
  25. package/dist/atlas/benchmark/hybrid-retrieval.d.ts +3 -2
  26. package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
  27. package/dist/atlas/benchmark/hybrid-retrieval.js +16 -12
  28. package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
  29. package/dist/atlas/benchmark/leakage.js.map +1 -1
  30. package/dist/atlas/benchmark/loader.js.map +1 -1
  31. package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -1
  32. package/dist/atlas/benchmark/run-atlas.js +14 -2
  33. package/dist/atlas/benchmark/run-atlas.js.map +1 -1
  34. package/dist/atlas/benchmark/stats.d.ts +1 -1
  35. package/dist/atlas/benchmark/stats.d.ts.map +1 -1
  36. package/dist/atlas/benchmark/stats.js +1 -1
  37. package/dist/atlas/benchmark/stats.js.map +1 -1
  38. package/dist/atlas/benchmark/study.js.map +1 -1
  39. package/dist/atlas/benchmark/types.js.map +1 -1
  40. package/dist/atlas/bridge-record.d.ts +4 -4
  41. package/dist/atlas/bridge-record.d.ts.map +1 -1
  42. package/dist/atlas/bridge-record.js +6 -6
  43. package/dist/atlas/bridge-record.js.map +1 -1
  44. package/dist/atlas/catalog-formal-ref.js.map +1 -1
  45. package/dist/atlas/chain-pipeline.d.ts +0 -11
  46. package/dist/atlas/chain-pipeline.d.ts.map +1 -1
  47. package/dist/atlas/chain-pipeline.js +5 -16
  48. package/dist/atlas/chain-pipeline.js.map +1 -1
  49. package/dist/atlas/composition-table.js.map +1 -1
  50. package/dist/atlas/conventions.js.map +1 -1
  51. package/dist/atlas/coverage.d.ts +2 -2
  52. package/dist/atlas/coverage.js.map +1 -1
  53. package/dist/atlas/derivation.js.map +1 -1
  54. package/dist/atlas/derive-evidence.d.ts +6 -4
  55. package/dist/atlas/derive-evidence.d.ts.map +1 -1
  56. package/dist/atlas/derive-evidence.js +7 -2
  57. package/dist/atlas/derive-evidence.js.map +1 -1
  58. package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
  59. package/dist/atlas/diffusion/bridges-closure.js +0 -5
  60. package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
  61. package/dist/atlas/diffusion/bridges.d.ts.map +1 -1
  62. package/dist/atlas/diffusion/bridges.js +0 -3
  63. package/dist/atlas/diffusion/bridges.js.map +1 -1
  64. package/dist/atlas/diffusion/dimensions.js.map +1 -1
  65. package/dist/atlas/diffusion/index.d.ts +1 -1
  66. package/dist/atlas/diffusion/index.d.ts.map +1 -1
  67. package/dist/atlas/diffusion/index.js.map +1 -1
  68. package/dist/atlas/diffusion/models.js.map +1 -1
  69. package/dist/atlas/diffusion/numerics.js.map +1 -1
  70. package/dist/atlas/error-algebra.d.ts +6 -0
  71. package/dist/atlas/error-algebra.d.ts.map +1 -1
  72. package/dist/atlas/error-algebra.js +26 -0
  73. package/dist/atlas/error-algebra.js.map +1 -1
  74. package/dist/atlas/export.d.ts +18 -2
  75. package/dist/atlas/export.d.ts.map +1 -1
  76. package/dist/atlas/export.js +9 -3
  77. package/dist/atlas/export.js.map +1 -1
  78. package/dist/atlas/families.d.ts +19 -2
  79. package/dist/atlas/families.d.ts.map +1 -1
  80. package/dist/atlas/families.js +26 -3
  81. package/dist/atlas/families.js.map +1 -1
  82. package/dist/atlas/family.d.ts +27 -0
  83. package/dist/atlas/family.d.ts.map +1 -0
  84. package/dist/atlas/family.js +12 -0
  85. package/dist/atlas/family.js.map +1 -0
  86. package/dist/atlas/index.d.ts +3 -2
  87. package/dist/atlas/index.d.ts.map +1 -1
  88. package/dist/atlas/index.js +2 -1
  89. package/dist/atlas/index.js.map +1 -1
  90. package/dist/atlas/link-prediction.d.ts +1 -1
  91. package/dist/atlas/link-prediction.d.ts.map +1 -1
  92. package/dist/atlas/link-prediction.js.map +1 -1
  93. package/dist/atlas/model.js.map +1 -1
  94. package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -1
  95. package/dist/atlas/oscillators/bridges-coarse.js +0 -1
  96. package/dist/atlas/oscillators/bridges-coarse.js.map +1 -1
  97. package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
  98. package/dist/atlas/oscillators/bridges-exact.js +0 -3
  99. package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
  100. package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
  101. package/dist/atlas/oscillators/bridges-limits.js +0 -2
  102. package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
  103. package/dist/atlas/oscillators/dimensions.js.map +1 -1
  104. package/dist/atlas/oscillators/index.d.ts +1 -16
  105. package/dist/atlas/oscillators/index.d.ts.map +1 -1
  106. package/dist/atlas/oscillators/index.js.map +1 -1
  107. package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
  108. package/dist/atlas/oscillators/models.js.map +1 -1
  109. package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -1
  110. package/dist/atlas/oscillators/norm-transport.js.map +1 -1
  111. package/dist/atlas/oscillators/norms.js.map +1 -1
  112. package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
  113. package/dist/atlas/oscillators/phase-carriage.js.map +1 -1
  114. package/dist/atlas/oscillators/phase-translation.js.map +1 -1
  115. package/dist/atlas/oscillators/position-translation.js.map +1 -1
  116. package/dist/atlas/oscillators/rejections.js.map +1 -1
  117. package/dist/atlas/path-bound.js.map +1 -1
  118. package/dist/atlas/physjs-entries.generated.d.ts +1601 -220
  119. package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
  120. package/dist/atlas/physjs-entries.generated.js +1854 -345
  121. package/dist/atlas/physjs-entries.generated.js.map +1 -1
  122. package/dist/atlas/physjs-ref.d.ts +151 -117
  123. package/dist/atlas/physjs-ref.d.ts.map +1 -1
  124. package/dist/atlas/physjs-ref.js +244 -211
  125. package/dist/atlas/physjs-ref.js.map +1 -1
  126. package/dist/atlas/physjs-reviewed.d.ts +31 -0
  127. package/dist/atlas/physjs-reviewed.d.ts.map +1 -0
  128. package/dist/atlas/physjs-reviewed.js +194 -0
  129. package/dist/atlas/physjs-reviewed.js.map +1 -0
  130. package/dist/atlas/poster/associations.js.map +1 -1
  131. package/dist/atlas/poster/derivations.js.map +1 -1
  132. package/dist/atlas/poster/statements.js.map +1 -1
  133. package/dist/atlas/proof-target.d.ts +16 -8
  134. package/dist/atlas/proof-target.d.ts.map +1 -1
  135. package/dist/atlas/proof-target.js +34 -31
  136. package/dist/atlas/proof-target.js.map +1 -1
  137. package/dist/atlas/public.d.ts +2 -1
  138. package/dist/atlas/public.d.ts.map +1 -1
  139. package/dist/atlas/public.js +2 -1
  140. package/dist/atlas/public.js.map +1 -1
  141. package/dist/atlas/regime.js.map +1 -1
  142. package/dist/atlas/serialize.d.ts +18 -12
  143. package/dist/atlas/serialize.d.ts.map +1 -1
  144. package/dist/atlas/serialize.js +28 -18
  145. package/dist/atlas/serialize.js.map +1 -1
  146. package/dist/atlas/statement.js.map +1 -1
  147. package/dist/atlas/translation-registry.js.map +1 -1
  148. package/dist/atlas/translation.js.map +1 -1
  149. package/dist/atlas/types.d.ts +9 -2
  150. package/dist/atlas/types.d.ts.map +1 -1
  151. package/dist/atlas/types.js +1 -1
  152. package/dist/atlas/types.js.map +1 -1
  153. package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
  154. package/dist/atlas/waves/bridges-closure.js +0 -3
  155. package/dist/atlas/waves/bridges-closure.js.map +1 -1
  156. package/dist/atlas/waves/bridges.d.ts.map +1 -1
  157. package/dist/atlas/waves/bridges.js +0 -4
  158. package/dist/atlas/waves/bridges.js.map +1 -1
  159. package/dist/atlas/waves/index.d.ts +1 -1
  160. package/dist/atlas/waves/index.d.ts.map +1 -1
  161. package/dist/atlas/waves/index.js.map +1 -1
  162. package/dist/atlas/waves/models.js.map +1 -1
  163. package/dist/atlas/waves/numerics.js.map +1 -1
  164. package/dist/atlas/witness-artifact.js.map +1 -1
  165. package/dist/atlas/witness-dominance.d.ts +4 -3
  166. package/dist/atlas/witness-dominance.d.ts.map +1 -1
  167. package/dist/atlas/witness-dominance.js +15 -5
  168. package/dist/atlas/witness-dominance.js.map +1 -1
  169. package/dist/atlas/witness-numeric.d.ts +8 -4
  170. package/dist/atlas/witness-numeric.d.ts.map +1 -1
  171. package/dist/atlas/witness-numeric.js +27 -2
  172. package/dist/atlas/witness-numeric.js.map +1 -1
  173. package/dist/atlas/witness-result.d.ts +7 -1
  174. package/dist/atlas/witness-result.d.ts.map +1 -1
  175. package/dist/atlas/witness-result.js.map +1 -1
  176. package/dist/atlas/witness-specs.js.map +1 -1
  177. package/dist/atlas/witness-symbolic.js.map +1 -1
  178. package/dist/atlas/witnesses/quantum-support.js.map +1 -1
  179. package/dist/bridges/caller-table.d.ts +1 -1
  180. package/dist/bridges/caller-table.d.ts.map +1 -1
  181. package/dist/bridges/caller-table.js.map +1 -1
  182. package/dist/bridges/carrier-sign.d.ts.map +1 -1
  183. package/dist/bridges/carrier-sign.js +8 -3
  184. package/dist/bridges/carrier-sign.js.map +1 -1
  185. package/dist/bridges/catalog-adapter.d.ts +12 -3
  186. package/dist/bridges/catalog-adapter.d.ts.map +1 -1
  187. package/dist/bridges/catalog-adapter.js +22 -14
  188. package/dist/bridges/catalog-adapter.js.map +1 -1
  189. package/dist/bridges/catalog-load.d.ts +19 -2
  190. package/dist/bridges/catalog-load.d.ts.map +1 -1
  191. package/dist/bridges/catalog-load.js +233 -14
  192. package/dist/bridges/catalog-load.js.map +1 -1
  193. package/dist/bridges/catalog-types.d.ts +96 -27
  194. package/dist/bridges/catalog-types.d.ts.map +1 -1
  195. package/dist/bridges/catalog-types.js.map +1 -1
  196. package/dist/bridges/coefficient-statement.js +1 -5
  197. package/dist/bridges/coefficient-statement.js.map +1 -1
  198. package/dist/bridges/confrontation-coverage.js.map +1 -1
  199. package/dist/bridges/confrontations.d.ts +1 -1
  200. package/dist/bridges/confrontations.d.ts.map +1 -1
  201. package/dist/bridges/confrontations.js +1 -1
  202. package/dist/bridges/confrontations.js.map +1 -1
  203. package/dist/bridges/evaluation-errors.d.ts +89 -0
  204. package/dist/bridges/evaluation-errors.d.ts.map +1 -0
  205. package/dist/bridges/evaluation-errors.js +136 -0
  206. package/dist/bridges/evaluation-errors.js.map +1 -0
  207. package/dist/bridges/evaluator-inputs.d.ts +5 -3
  208. package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
  209. package/dist/bridges/evaluator-inputs.js +24 -24
  210. package/dist/bridges/evaluator-inputs.js.map +1 -1
  211. package/dist/bridges/evaluators.d.ts +48 -8
  212. package/dist/bridges/evaluators.d.ts.map +1 -1
  213. package/dist/bridges/evaluators.js +173 -38
  214. package/dist/bridges/evaluators.js.map +1 -1
  215. package/dist/bridges/expr-parse.d.ts +38 -7
  216. package/dist/bridges/expr-parse.d.ts.map +1 -1
  217. package/dist/bridges/expr-parse.js +129 -156
  218. package/dist/bridges/expr-parse.js.map +1 -1
  219. package/dist/bridges/holds.d.ts +16 -8
  220. package/dist/bridges/holds.d.ts.map +1 -1
  221. package/dist/bridges/holds.js +130 -236
  222. package/dist/bridges/holds.js.map +1 -1
  223. package/dist/bridges/index.d.ts +15 -14
  224. package/dist/bridges/index.d.ts.map +1 -1
  225. package/dist/bridges/index.js +14 -15
  226. package/dist/bridges/index.js.map +1 -1
  227. package/dist/bridges/input-contract.d.ts +65 -0
  228. package/dist/bridges/input-contract.d.ts.map +1 -0
  229. package/dist/bridges/input-contract.js +97 -0
  230. package/dist/bridges/input-contract.js.map +1 -0
  231. package/dist/bridges/membership.d.ts +5 -3
  232. package/dist/bridges/membership.d.ts.map +1 -1
  233. package/dist/bridges/membership.js +5 -6
  234. package/dist/bridges/membership.js.map +1 -1
  235. package/dist/bridges/notices.d.ts +11 -0
  236. package/dist/bridges/notices.d.ts.map +1 -0
  237. package/dist/bridges/notices.js +22 -0
  238. package/dist/bridges/notices.js.map +1 -0
  239. package/dist/bridges/observations/types.js.map +1 -1
  240. package/dist/bridges/rejected.d.ts +11 -17
  241. package/dist/bridges/rejected.d.ts.map +1 -1
  242. package/dist/bridges/rejected.js +13 -68
  243. package/dist/bridges/rejected.js.map +1 -1
  244. package/dist/bridges/relation-eval.d.ts +5 -6
  245. package/dist/bridges/relation-eval.d.ts.map +1 -1
  246. package/dist/bridges/relation-eval.js +9 -38
  247. package/dist/bridges/relation-eval.js.map +1 -1
  248. package/dist/bridges/rhs-registry.js.map +1 -1
  249. package/dist/bridges/sensitivity.d.ts +11 -3
  250. package/dist/bridges/sensitivity.d.ts.map +1 -1
  251. package/dist/bridges/sensitivity.js +24 -10
  252. package/dist/bridges/sensitivity.js.map +1 -1
  253. package/dist/bridges/tensor-index.js.map +1 -1
  254. package/dist/bridges/types.d.ts +1 -7
  255. package/dist/bridges/types.d.ts.map +1 -1
  256. package/dist/bridges/types.js +1 -4
  257. package/dist/bridges/types.js.map +1 -1
  258. package/dist/canonical/canonical-equation.d.ts +31 -0
  259. package/dist/canonical/canonical-equation.d.ts.map +1 -1
  260. package/dist/canonical/canonical-equation.js.map +1 -1
  261. package/dist/canonical/dimensional-fields.js.map +1 -1
  262. package/dist/canonical/entries/_l1-build.js.map +1 -1
  263. package/dist/canonical/entries/atomic.d.ts.map +1 -1
  264. package/dist/canonical/entries/atomic.js +11 -1
  265. package/dist/canonical/entries/atomic.js.map +1 -1
  266. package/dist/canonical/entries/condensed-matter.d.ts.map +1 -1
  267. package/dist/canonical/entries/condensed-matter.js +7 -4
  268. package/dist/canonical/entries/condensed-matter.js.map +1 -1
  269. package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
  270. package/dist/canonical/entries/dimensional-classics.js +50 -2
  271. package/dist/canonical/entries/dimensional-classics.js.map +1 -1
  272. package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
  273. package/dist/canonical/entries/electromagnetism.js +32 -2
  274. package/dist/canonical/entries/electromagnetism.js.map +1 -1
  275. package/dist/canonical/entries/fluids-waves.d.ts.map +1 -1
  276. package/dist/canonical/entries/fluids-waves.js +34 -0
  277. package/dist/canonical/entries/fluids-waves.js.map +1 -1
  278. package/dist/canonical/entries/mechanics.d.ts.map +1 -1
  279. package/dist/canonical/entries/mechanics.js +24 -0
  280. package/dist/canonical/entries/mechanics.js.map +1 -1
  281. package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
  282. package/dist/canonical/entries/nonmonomial.js +42 -24
  283. package/dist/canonical/entries/nonmonomial.js.map +1 -1
  284. package/dist/canonical/entries/relativity.d.ts.map +1 -1
  285. package/dist/canonical/entries/relativity.js +6 -0
  286. package/dist/canonical/entries/relativity.js.map +1 -1
  287. package/dist/canonical/entries/statistical-mechanics.d.ts.map +1 -1
  288. package/dist/canonical/entries/statistical-mechanics.js +24 -5
  289. package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
  290. package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
  291. package/dist/canonical/entries/thermo-nuclear-cosmo.js +15 -0
  292. package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
  293. package/dist/canonical/linkage.d.ts +29 -4
  294. package/dist/canonical/linkage.d.ts.map +1 -1
  295. package/dist/canonical/linkage.js +31 -29
  296. package/dist/canonical/linkage.js.map +1 -1
  297. package/dist/canonical/normal-form.d.ts +0 -8
  298. package/dist/canonical/normal-form.d.ts.map +1 -1
  299. package/dist/canonical/normal-form.js +17 -12
  300. package/dist/canonical/normal-form.js.map +1 -1
  301. package/dist/canonical/registry.js.map +1 -1
  302. package/dist/canonical/residual.js.map +1 -1
  303. package/dist/canonical/seed-l-layer.d.ts +7 -1
  304. package/dist/canonical/seed-l-layer.d.ts.map +1 -1
  305. package/dist/canonical/seed-l-layer.js +7 -1
  306. package/dist/canonical/seed-l-layer.js.map +1 -1
  307. package/dist/canonical/structural.d.ts +21 -0
  308. package/dist/canonical/structural.d.ts.map +1 -1
  309. package/dist/canonical/structural.js +24 -4
  310. package/dist/canonical/structural.js.map +1 -1
  311. package/dist/cases/brownian-sphere.js +4 -4
  312. package/dist/cases/brownian-sphere.js.map +1 -1
  313. package/dist/cases/damped-resonator.js +2 -2
  314. package/dist/cases/damped-resonator.js.map +1 -1
  315. package/dist/cases/index.d.ts +9 -2
  316. package/dist/cases/index.d.ts.map +1 -1
  317. package/dist/cases/index.js +26 -7
  318. package/dist/cases/index.js.map +1 -1
  319. package/dist/cases/kepler-rv.js +6 -6
  320. package/dist/cases/kepler-rv.js.map +1 -1
  321. package/dist/cases/lumped-cooling.js +1 -1
  322. package/dist/cases/lumped-cooling.js.map +1 -1
  323. package/dist/cases/quadrature.js.map +1 -1
  324. package/dist/cases/resistor-noise.js +3 -3
  325. package/dist/cases/resistor-noise.js.map +1 -1
  326. package/dist/cases/skin-depth.js.map +1 -1
  327. package/dist/cases/types.js.map +1 -1
  328. package/dist/cli/args.d.ts +7 -2
  329. package/dist/cli/args.d.ts.map +1 -1
  330. package/dist/cli/args.js +18 -2
  331. package/dist/cli/args.js.map +1 -1
  332. package/dist/cli/bindings.d.ts +13 -0
  333. package/dist/cli/bindings.d.ts.map +1 -0
  334. package/dist/cli/bindings.js +32 -0
  335. package/dist/cli/bindings.js.map +1 -0
  336. package/dist/cli/closed-form-range.js.map +1 -1
  337. package/dist/cli/command.js.map +1 -1
  338. package/dist/cli/commands/_atlas-map.d.ts +3 -3
  339. package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
  340. package/dist/cli/commands/_atlas-map.js +43 -18
  341. package/dist/cli/commands/_atlas-map.js.map +1 -1
  342. package/dist/cli/commands/_atlas-route.js.map +1 -1
  343. package/dist/cli/commands/_discovery-opts.d.ts +2 -1
  344. package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
  345. package/dist/cli/commands/_discovery-opts.js +48 -18
  346. package/dist/cli/commands/_discovery-opts.js.map +1 -1
  347. package/dist/cli/commands/atlas.d.ts.map +1 -1
  348. package/dist/cli/commands/atlas.js +7 -12
  349. package/dist/cli/commands/atlas.js.map +1 -1
  350. package/dist/cli/commands/audit.d.ts.map +1 -1
  351. package/dist/cli/commands/audit.js +13 -21
  352. package/dist/cli/commands/audit.js.map +1 -1
  353. package/dist/cli/commands/axes.js.map +1 -1
  354. package/dist/cli/commands/candidates.d.ts.map +1 -1
  355. package/dist/cli/commands/candidates.js +16 -8
  356. package/dist/cli/commands/candidates.js.map +1 -1
  357. package/dist/cli/commands/canonical.js.map +1 -1
  358. package/dist/cli/commands/chain.js +1 -1
  359. package/dist/cli/commands/chain.js.map +1 -1
  360. package/dist/cli/commands/confront.d.ts.map +1 -1
  361. package/dist/cli/commands/confront.js +22 -14
  362. package/dist/cli/commands/confront.js.map +1 -1
  363. package/dist/cli/commands/connectors.d.ts.map +1 -1
  364. package/dist/cli/commands/connectors.js +8 -9
  365. package/dist/cli/commands/connectors.js.map +1 -1
  366. package/dist/cli/commands/coverage.js.map +1 -1
  367. package/dist/cli/commands/derive.d.ts.map +1 -1
  368. package/dist/cli/commands/derive.js +50 -26
  369. package/dist/cli/commands/derive.js.map +1 -1
  370. package/dist/cli/commands/discover.d.ts.map +1 -1
  371. package/dist/cli/commands/discover.js +18 -13
  372. package/dist/cli/commands/discover.js.map +1 -1
  373. package/dist/cli/commands/eval.d.ts.map +1 -1
  374. package/dist/cli/commands/eval.js +29 -26
  375. package/dist/cli/commands/eval.js.map +1 -1
  376. package/dist/cli/commands/evaluate.d.ts +1 -35
  377. package/dist/cli/commands/evaluate.d.ts.map +1 -1
  378. package/dist/cli/commands/evaluate.js +99 -208
  379. package/dist/cli/commands/evaluate.js.map +1 -1
  380. package/dist/cli/commands/explain.d.ts.map +1 -1
  381. package/dist/cli/commands/explain.js +57 -45
  382. package/dist/cli/commands/explain.js.map +1 -1
  383. package/dist/cli/commands/frontier.js.map +1 -1
  384. package/dist/cli/commands/ground.d.ts.map +1 -1
  385. package/dist/cli/commands/ground.js +41 -11
  386. package/dist/cli/commands/ground.js.map +1 -1
  387. package/dist/cli/commands/index.js.map +1 -1
  388. package/dist/cli/commands/map.d.ts.map +1 -1
  389. package/dist/cli/commands/map.js +84 -92
  390. package/dist/cli/commands/map.js.map +1 -1
  391. package/dist/cli/commands/metric.d.ts.map +1 -1
  392. package/dist/cli/commands/metric.js +53 -15
  393. package/dist/cli/commands/metric.js.map +1 -1
  394. package/dist/cli/commands/path.js +4 -4
  395. package/dist/cli/commands/path.js.map +1 -1
  396. package/dist/cli/commands/predict.js.map +1 -1
  397. package/dist/cli/commands/priority.js.map +1 -1
  398. package/dist/cli/commands/probe.d.ts.map +1 -1
  399. package/dist/cli/commands/probe.js +50 -26
  400. package/dist/cli/commands/probe.js.map +1 -1
  401. package/dist/cli/commands/recover.js +1 -1
  402. package/dist/cli/commands/recover.js.map +1 -1
  403. package/dist/cli/commands/regime.d.ts +5 -4
  404. package/dist/cli/commands/regime.d.ts.map +1 -1
  405. package/dist/cli/commands/regime.js +25 -27
  406. package/dist/cli/commands/regime.js.map +1 -1
  407. package/dist/cli/commands/retrieve.d.ts.map +1 -1
  408. package/dist/cli/commands/retrieve.js +22 -14
  409. package/dist/cli/commands/retrieve.js.map +1 -1
  410. package/dist/cli/commands/search.d.ts.map +1 -1
  411. package/dist/cli/commands/search.js +8 -4
  412. package/dist/cli/commands/search.js.map +1 -1
  413. package/dist/cli/commands/symbolic.d.ts.map +1 -1
  414. package/dist/cli/commands/symbolic.js +14 -7
  415. package/dist/cli/commands/symbolic.js.map +1 -1
  416. package/dist/cli/commands/testplan.js +4 -4
  417. package/dist/cli/commands/testplan.js.map +1 -1
  418. package/dist/cli/conventions.d.ts +6 -7
  419. package/dist/cli/conventions.d.ts.map +1 -1
  420. package/dist/cli/conventions.js +19 -28
  421. package/dist/cli/conventions.js.map +1 -1
  422. package/dist/cli/determination.js.map +1 -1
  423. package/dist/cli/errors.js.map +1 -1
  424. package/dist/cli/euler-guard.d.ts +13 -2
  425. package/dist/cli/euler-guard.d.ts.map +1 -1
  426. package/dist/cli/euler-guard.js +17 -3
  427. package/dist/cli/euler-guard.js.map +1 -1
  428. package/dist/cli/eval-numbers.d.ts +4 -9
  429. package/dist/cli/eval-numbers.d.ts.map +1 -1
  430. package/dist/cli/eval-numbers.js +11 -41
  431. package/dist/cli/eval-numbers.js.map +1 -1
  432. package/dist/cli/expr-print.d.ts +29 -2
  433. package/dist/cli/expr-print.d.ts.map +1 -1
  434. package/dist/cli/expr-print.js +46 -2
  435. package/dist/cli/expr-print.js.map +1 -1
  436. package/dist/cli/flag-help.js.map +1 -1
  437. package/dist/cli/graphs.js.map +1 -1
  438. package/dist/cli/library-defaults.d.ts +19 -0
  439. package/dist/cli/library-defaults.d.ts.map +1 -0
  440. package/dist/cli/library-defaults.js +22 -0
  441. package/dist/cli/library-defaults.js.map +1 -0
  442. package/dist/cli/main.js +7 -3
  443. package/dist/cli/main.js.map +1 -1
  444. package/dist/cli/map-evidence.js.map +1 -1
  445. package/dist/cli/output.d.ts +3 -6
  446. package/dist/cli/output.d.ts.map +1 -1
  447. package/dist/cli/output.js.map +1 -1
  448. package/dist/cli/published-url.d.ts +2 -0
  449. package/dist/cli/published-url.d.ts.map +1 -1
  450. package/dist/cli/published-url.js +5 -0
  451. package/dist/cli/published-url.js.map +1 -1
  452. package/dist/cli/record-reach.d.ts +6 -0
  453. package/dist/cli/record-reach.d.ts.map +1 -1
  454. package/dist/cli/record-reach.js +16 -10
  455. package/dist/cli/record-reach.js.map +1 -1
  456. package/dist/cli/record-tables.d.ts +2 -1
  457. package/dist/cli/record-tables.d.ts.map +1 -1
  458. package/dist/cli/record-tables.js +8 -3
  459. package/dist/cli/record-tables.js.map +1 -1
  460. package/dist/cli/record.d.ts.map +1 -1
  461. package/dist/cli/record.js +31 -12
  462. package/dist/cli/record.js.map +1 -1
  463. package/dist/cli/search-index.d.ts +5 -0
  464. package/dist/cli/search-index.d.ts.map +1 -1
  465. package/dist/cli/search-index.js +12 -1
  466. package/dist/cli/search-index.js.map +1 -1
  467. package/dist/cli/statuses.js.map +1 -1
  468. package/dist/cli/top-level-help.js.map +1 -1
  469. package/dist/cli/version.js.map +1 -1
  470. package/dist/cli-api.d.ts +57 -18
  471. package/dist/cli-api.d.ts.map +1 -1
  472. package/dist/cli-api.js +49 -21
  473. package/dist/cli-api.js.map +1 -1
  474. package/dist/composition/adjudication.d.ts +8 -30
  475. package/dist/composition/adjudication.d.ts.map +1 -1
  476. package/dist/composition/adjudication.js +15 -67
  477. package/dist/composition/adjudication.js.map +1 -1
  478. package/dist/composition/aliases.d.ts +1 -1
  479. package/dist/composition/aliases.d.ts.map +1 -1
  480. package/dist/composition/aliases.js +10 -20
  481. package/dist/composition/aliases.js.map +1 -1
  482. package/dist/composition/audit-coverage.d.ts +2 -0
  483. package/dist/composition/audit-coverage.d.ts.map +1 -1
  484. package/dist/composition/audit-coverage.js.map +1 -1
  485. package/dist/composition/axes.d.ts +12 -0
  486. package/dist/composition/axes.d.ts.map +1 -1
  487. package/dist/composition/axes.js +18 -6
  488. package/dist/composition/axes.js.map +1 -1
  489. package/dist/composition/axis-audit.js.map +1 -1
  490. package/dist/composition/bridge-analysis.d.ts +0 -14
  491. package/dist/composition/bridge-analysis.d.ts.map +1 -1
  492. package/dist/composition/bridge-analysis.js +66 -57
  493. package/dist/composition/bridge-analysis.js.map +1 -1
  494. package/dist/composition/bridge-prediction.d.ts +5 -1
  495. package/dist/composition/bridge-prediction.d.ts.map +1 -1
  496. package/dist/composition/bridge-prediction.js +12 -16
  497. package/dist/composition/bridge-prediction.js.map +1 -1
  498. package/dist/composition/buckingham-filter.js.map +1 -1
  499. package/dist/composition/canonical-compare.d.ts.map +1 -1
  500. package/dist/composition/canonical-compare.js +12 -2
  501. package/dist/composition/canonical-compare.js.map +1 -1
  502. package/dist/composition/canonical-graph.d.ts +15 -18
  503. package/dist/composition/canonical-graph.d.ts.map +1 -1
  504. package/dist/composition/canonical-graph.js +59 -85
  505. package/dist/composition/canonical-graph.js.map +1 -1
  506. package/dist/composition/canonical-json.js.map +1 -1
  507. package/dist/composition/canonical-prefactors.d.ts +10 -29
  508. package/dist/composition/canonical-prefactors.d.ts.map +1 -1
  509. package/dist/composition/canonical-prefactors.js +15 -202
  510. package/dist/composition/canonical-prefactors.js.map +1 -1
  511. package/dist/composition/catalog-graph.d.ts.map +1 -1
  512. package/dist/composition/catalog-graph.js +6 -20
  513. package/dist/composition/catalog-graph.js.map +1 -1
  514. package/dist/composition/chain-candidate.d.ts +2 -0
  515. package/dist/composition/chain-candidate.d.ts.map +1 -1
  516. package/dist/composition/chain-candidate.js +2 -0
  517. package/dist/composition/chain-candidate.js.map +1 -1
  518. package/dist/composition/chain-match.js.map +1 -1
  519. package/dist/composition/chain-regime.js.map +1 -1
  520. package/dist/composition/chain-result.js.map +1 -1
  521. package/dist/composition/compose-surface.js.map +1 -1
  522. package/dist/composition/compose-symbolic.js.map +1 -1
  523. package/dist/composition/compose.d.ts.map +1 -1
  524. package/dist/composition/compose.js +154 -36
  525. package/dist/composition/compose.js.map +1 -1
  526. package/dist/composition/composition-recovery.js.map +1 -1
  527. package/dist/composition/consequence.d.ts.map +1 -1
  528. package/dist/composition/consequence.js +15 -6
  529. package/dist/composition/consequence.js.map +1 -1
  530. package/dist/composition/consistency.js.map +1 -1
  531. package/dist/composition/descriptor.d.ts +1 -1
  532. package/dist/composition/descriptor.d.ts.map +1 -1
  533. package/dist/composition/descriptor.js.map +1 -1
  534. package/dist/composition/dimension-adjacency.js.map +1 -1
  535. package/dist/composition/discovery.d.ts +67 -7
  536. package/dist/composition/discovery.d.ts.map +1 -1
  537. package/dist/composition/discovery.js +83 -23
  538. package/dist/composition/discovery.js.map +1 -1
  539. package/dist/composition/edge.d.ts +19 -22
  540. package/dist/composition/edge.d.ts.map +1 -1
  541. package/dist/composition/edge.js +25 -28
  542. package/dist/composition/edge.js.map +1 -1
  543. package/dist/composition/enumerate.d.ts +2 -2
  544. package/dist/composition/enumerate.d.ts.map +1 -1
  545. package/dist/composition/enumerate.js.map +1 -1
  546. package/dist/composition/evaluate-relation.d.ts +29 -5
  547. package/dist/composition/evaluate-relation.d.ts.map +1 -1
  548. package/dist/composition/evaluate-relation.js +100 -72
  549. package/dist/composition/evaluate-relation.js.map +1 -1
  550. package/dist/composition/explain.d.ts +14 -4
  551. package/dist/composition/explain.d.ts.map +1 -1
  552. package/dist/composition/explain.js +53 -19
  553. package/dist/composition/explain.js.map +1 -1
  554. package/dist/composition/expr-eval.d.ts.map +1 -1
  555. package/dist/composition/expr-eval.js +2 -1
  556. package/dist/composition/expr-eval.js.map +1 -1
  557. package/dist/composition/expr-simplify.d.ts.map +1 -1
  558. package/dist/composition/expr-simplify.js +9 -39
  559. package/dist/composition/expr-simplify.js.map +1 -1
  560. package/dist/composition/expr-subst.js.map +1 -1
  561. package/dist/composition/formula-shape.d.ts +9 -0
  562. package/dist/composition/formula-shape.d.ts.map +1 -1
  563. package/dist/composition/formula-shape.js +54 -0
  564. package/dist/composition/formula-shape.js.map +1 -1
  565. package/dist/composition/frontier-account.d.ts +3 -2
  566. package/dist/composition/frontier-account.d.ts.map +1 -1
  567. package/dist/composition/frontier-account.js +7 -3
  568. package/dist/composition/frontier-account.js.map +1 -1
  569. package/dist/composition/graph-viz-svg.js.map +1 -1
  570. package/dist/composition/graph-viz.js.map +1 -1
  571. package/dist/composition/grounding.js.map +1 -1
  572. package/dist/composition/identifiability.js.map +1 -1
  573. package/dist/composition/index.d.ts +9 -5
  574. package/dist/composition/index.d.ts.map +1 -1
  575. package/dist/composition/index.js +7 -4
  576. package/dist/composition/index.js.map +1 -1
  577. package/dist/composition/mathts-quiet.d.ts +28 -0
  578. package/dist/composition/mathts-quiet.d.ts.map +1 -0
  579. package/dist/composition/mathts-quiet.js +56 -0
  580. package/dist/composition/mathts-quiet.js.map +1 -0
  581. package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -1
  582. package/dist/composition/mathts-scalar-symbols.js +18 -34
  583. package/dist/composition/mathts-scalar-symbols.js.map +1 -1
  584. package/dist/composition/not-composable-seeds.d.ts +3 -1
  585. package/dist/composition/not-composable-seeds.d.ts.map +1 -1
  586. package/dist/composition/not-composable-seeds.js +2 -0
  587. package/dist/composition/not-composable-seeds.js.map +1 -1
  588. package/dist/composition/probe/backend-protocol.js.map +1 -1
  589. package/dist/composition/probe/candidate-store.js.map +1 -1
  590. package/dist/composition/probe/corpus.js.map +1 -1
  591. package/dist/composition/probe/dataset.js.map +1 -1
  592. package/dist/composition/probe/experiment-design.js.map +1 -1
  593. package/dist/composition/probe/expression-gaps.js.map +1 -1
  594. package/dist/composition/probe/falsify.d.ts +14 -3
  595. package/dist/composition/probe/falsify.d.ts.map +1 -1
  596. package/dist/composition/probe/falsify.js +14 -27
  597. package/dist/composition/probe/falsify.js.map +1 -1
  598. package/dist/composition/probe/fingerprint.js.map +1 -1
  599. package/dist/composition/probe/fit.d.ts +1 -1
  600. package/dist/composition/probe/fit.d.ts.map +1 -1
  601. package/dist/composition/probe/fit.js +2 -1
  602. package/dist/composition/probe/fit.js.map +1 -1
  603. package/dist/composition/probe/frontier.js.map +1 -1
  604. package/dist/composition/probe/generator.js.map +1 -1
  605. package/dist/composition/probe/index.d.ts +4 -2
  606. package/dist/composition/probe/index.d.ts.map +1 -1
  607. package/dist/composition/probe/index.js +4 -2
  608. package/dist/composition/probe/index.js.map +1 -1
  609. package/dist/composition/probe/limits.js.map +1 -1
  610. package/dist/composition/probe/metadata.js.map +1 -1
  611. package/dist/composition/probe/pipeline.d.ts +5 -0
  612. package/dist/composition/probe/pipeline.d.ts.map +1 -1
  613. package/dist/composition/probe/pipeline.js +13 -6
  614. package/dist/composition/probe/pipeline.js.map +1 -1
  615. package/dist/composition/probe/problem.d.ts +8 -0
  616. package/dist/composition/probe/problem.d.ts.map +1 -1
  617. package/dist/composition/probe/problem.js +78 -12
  618. package/dist/composition/probe/problem.js.map +1 -1
  619. package/dist/composition/probe/report.js.map +1 -1
  620. package/dist/composition/probe/residual.js.map +1 -1
  621. package/dist/composition/probe/run-manifest.js +2 -2
  622. package/dist/composition/probe/run-manifest.js.map +1 -1
  623. package/dist/composition/probe/scoring.d.ts +2 -1
  624. package/dist/composition/probe/scoring.d.ts.map +1 -1
  625. package/dist/composition/probe/scoring.js +21 -7
  626. package/dist/composition/probe/scoring.js.map +1 -1
  627. package/dist/composition/probe/search-budget.js.map +1 -1
  628. package/dist/composition/probe/serialize.js.map +1 -1
  629. package/dist/composition/probe/structure.js.map +1 -1
  630. package/dist/composition/probe/study.d.ts +4 -3
  631. package/dist/composition/probe/study.d.ts.map +1 -1
  632. package/dist/composition/probe/study.js +5 -3
  633. package/dist/composition/probe/study.js.map +1 -1
  634. package/dist/composition/probe/types.d.ts +3 -1
  635. package/dist/composition/probe/types.d.ts.map +1 -1
  636. package/dist/composition/probe/types.js +2 -0
  637. package/dist/composition/probe/types.js.map +1 -1
  638. package/dist/composition/proposed-bridges.d.ts +11 -4
  639. package/dist/composition/proposed-bridges.d.ts.map +1 -1
  640. package/dist/composition/proposed-bridges.js +14 -6
  641. package/dist/composition/proposed-bridges.js.map +1 -1
  642. package/dist/composition/quantities.d.ts +0 -4
  643. package/dist/composition/quantities.d.ts.map +1 -1
  644. package/dist/composition/quantities.js +5 -5
  645. package/dist/composition/quantities.js.map +1 -1
  646. package/dist/composition/quantity.d.ts +18 -2
  647. package/dist/composition/quantity.d.ts.map +1 -1
  648. package/dist/composition/quantity.js +35 -6
  649. package/dist/composition/quantity.js.map +1 -1
  650. package/dist/composition/representative-values.js.map +1 -1
  651. package/dist/composition/retrodiction.d.ts +18 -0
  652. package/dist/composition/retrodiction.d.ts.map +1 -1
  653. package/dist/composition/retrodiction.js +37 -7
  654. package/dist/composition/retrodiction.js.map +1 -1
  655. package/dist/composition/uncertainty.js.map +1 -1
  656. package/dist/composition/user-equation.d.ts +11 -7
  657. package/dist/composition/user-equation.d.ts.map +1 -1
  658. package/dist/composition/user-equation.js +24 -26
  659. package/dist/composition/user-equation.js.map +1 -1
  660. package/dist/core/axes-registry.d.ts +8 -5
  661. package/dist/core/axes-registry.d.ts.map +1 -1
  662. package/dist/core/axes-registry.js.map +1 -1
  663. package/dist/core/cell.js.map +1 -1
  664. package/dist/core/constants.d.ts +35 -12
  665. package/dist/core/constants.d.ts.map +1 -1
  666. package/dist/core/constants.js +46 -15
  667. package/dist/core/constants.js.map +1 -1
  668. package/dist/core/data-file.d.ts +27 -0
  669. package/dist/core/data-file.d.ts.map +1 -0
  670. package/dist/core/data-file.js +48 -0
  671. package/dist/core/data-file.js.map +1 -0
  672. package/dist/core/flux-rules.js +1 -1
  673. package/dist/core/flux-rules.js.map +1 -1
  674. package/dist/core/json-schema.d.ts +27 -0
  675. package/dist/core/json-schema.d.ts.map +1 -0
  676. package/dist/core/json-schema.js +177 -0
  677. package/dist/core/json-schema.js.map +1 -0
  678. package/dist/core/labeled-tensor.d.ts +6 -1
  679. package/dist/core/labeled-tensor.d.ts.map +1 -1
  680. package/dist/core/labeled-tensor.js +18 -8
  681. package/dist/core/labeled-tensor.js.map +1 -1
  682. package/dist/core/regime-registry.d.ts +6 -2
  683. package/dist/core/regime-registry.d.ts.map +1 -1
  684. package/dist/core/regime-registry.js.map +1 -1
  685. package/dist/core/regime-rule-install.js.map +1 -1
  686. package/dist/core/regimes-builtins.js.map +1 -1
  687. package/dist/core/tensor.d.ts +7 -4
  688. package/dist/core/tensor.d.ts.map +1 -1
  689. package/dist/core/tensor.js +40 -8
  690. package/dist/core/tensor.js.map +1 -1
  691. package/dist/core/types.d.ts +3 -2
  692. package/dist/core/types.d.ts.map +1 -1
  693. package/dist/core/types.js +16 -14
  694. package/dist/core/types.js.map +1 -1
  695. package/dist/core/universal-index.js.map +1 -1
  696. package/dist/diff/bridge-ast-gradient.d.ts +4 -5
  697. package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
  698. package/dist/diff/bridge-ast-gradient.js +16 -23
  699. package/dist/diff/bridge-ast-gradient.js.map +1 -1
  700. package/dist/diff/bridge-gradient.d.ts +24 -80
  701. package/dist/diff/bridge-gradient.d.ts.map +1 -1
  702. package/dist/diff/bridge-gradient.js +21 -98
  703. package/dist/diff/bridge-gradient.js.map +1 -1
  704. package/dist/diff/bridge-specs.d.ts +18 -6
  705. package/dist/diff/bridge-specs.d.ts.map +1 -1
  706. package/dist/diff/bridge-specs.js +17 -5
  707. package/dist/diff/bridge-specs.js.map +1 -1
  708. package/dist/dimensional/algebra.js.map +1 -1
  709. package/dist/dimensional/ast-builders.d.ts +5 -4
  710. package/dist/dimensional/ast-builders.d.ts.map +1 -1
  711. package/dist/dimensional/ast-builders.js +6 -5
  712. package/dist/dimensional/ast-builders.js.map +1 -1
  713. package/dist/dimensional/ast-types.js.map +1 -1
  714. package/dist/dimensional/bridge-check.d.ts.map +1 -1
  715. package/dist/dimensional/bridge-check.js +3 -5
  716. package/dist/dimensional/bridge-check.js.map +1 -1
  717. package/dist/dimensional/buckingham.js.map +1 -1
  718. package/dist/dimensional/connection-validators.d.ts +2 -1
  719. package/dist/dimensional/connection-validators.d.ts.map +1 -1
  720. package/dist/dimensional/connection-validators.js.map +1 -1
  721. package/dist/dimensional/connection.js.map +1 -1
  722. package/dist/dimensional/constant-rows.d.ts +54 -0
  723. package/dist/dimensional/constant-rows.d.ts.map +1 -0
  724. package/dist/dimensional/constant-rows.js +115 -0
  725. package/dist/dimensional/constant-rows.js.map +1 -0
  726. package/dist/dimensional/constants.d.ts +7 -17
  727. package/dist/dimensional/constants.d.ts.map +1 -1
  728. package/dist/dimensional/constants.js +12 -21
  729. package/dist/dimensional/constants.js.map +1 -1
  730. package/dist/dimensional/curvature-composite.js.map +1 -1
  731. package/dist/dimensional/curvature-invariants.js.map +1 -1
  732. package/dist/dimensional/curvature.js.map +1 -1
  733. package/dist/dimensional/dimension-inference.js.map +1 -1
  734. package/dist/dimensional/dimension-spec.d.ts +21 -6
  735. package/dist/dimensional/dimension-spec.d.ts.map +1 -1
  736. package/dist/dimensional/dimension-spec.js +150 -160
  737. package/dist/dimensional/dimension-spec.js.map +1 -1
  738. package/dist/dimensional/einstein-equation.js.map +1 -1
  739. package/dist/dimensional/errors.d.ts +3 -1
  740. package/dist/dimensional/errors.d.ts.map +1 -1
  741. package/dist/dimensional/errors.js +2 -2
  742. package/dist/dimensional/errors.js.map +1 -1
  743. package/dist/dimensional/exact-scale.d.ts +79 -0
  744. package/dist/dimensional/exact-scale.d.ts.map +1 -0
  745. package/dist/dimensional/exact-scale.js +222 -0
  746. package/dist/dimensional/exact-scale.js.map +1 -0
  747. package/dist/dimensional/field-equation-helpers.js.map +1 -1
  748. package/dist/dimensional/formula-names.d.ts +13 -12
  749. package/dist/dimensional/formula-names.d.ts.map +1 -1
  750. package/dist/dimensional/formula-names.js +28 -51
  751. package/dist/dimensional/formula-names.js.map +1 -1
  752. package/dist/dimensional/fresh-label.js.map +1 -1
  753. package/dist/dimensional/friedmann-equation.d.ts +3 -3
  754. package/dist/dimensional/friedmann-equation.js +3 -3
  755. package/dist/dimensional/friedmann-equation.js.map +1 -1
  756. package/dist/dimensional/gauge-field.d.ts +2 -3
  757. package/dist/dimensional/gauge-field.d.ts.map +1 -1
  758. package/dist/dimensional/gauge-field.js +0 -1
  759. package/dist/dimensional/gauge-field.js.map +1 -1
  760. package/dist/dimensional/hyphen-names.d.ts.map +1 -1
  761. package/dist/dimensional/hyphen-names.js +8 -0
  762. package/dist/dimensional/hyphen-names.js.map +1 -1
  763. package/dist/dimensional/killing-validators.js.map +1 -1
  764. package/dist/dimensional/klein-gordon-equation.js.map +1 -1
  765. package/dist/dimensional/metric-validators.d.ts +2 -1
  766. package/dist/dimensional/metric-validators.d.ts.map +1 -1
  767. package/dist/dimensional/metric-validators.js.map +1 -1
  768. package/dist/dimensional/metric.js.map +1 -1
  769. package/dist/dimensional/natural-units.js.map +1 -1
  770. package/dist/dimensional/quantity-registry.d.ts +23 -1
  771. package/dist/dimensional/quantity-registry.d.ts.map +1 -1
  772. package/dist/dimensional/quantity-registry.js +55 -18
  773. package/dist/dimensional/quantity-registry.js.map +1 -1
  774. package/dist/dimensional/rg-flow.js.map +1 -1
  775. package/dist/dimensional/stress-energy-validators.js.map +1 -1
  776. package/dist/dimensional/symbolic-constants.d.ts +63 -19
  777. package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
  778. package/dist/dimensional/symbolic-constants.js +114 -92
  779. package/dist/dimensional/symbolic-constants.js.map +1 -1
  780. package/dist/dimensional/tensor-trace.js.map +1 -1
  781. package/dist/dimensional/tensor.js.map +1 -1
  782. package/dist/dimensional/types.js.map +1 -1
  783. package/dist/dimensional/unit-convention.d.ts +0 -2
  784. package/dist/dimensional/unit-convention.d.ts.map +1 -1
  785. package/dist/dimensional/unit-convention.js +2 -2
  786. package/dist/dimensional/unit-convention.js.map +1 -1
  787. package/dist/dimensional/unit-data.d.ts +70 -0
  788. package/dist/dimensional/unit-data.d.ts.map +1 -0
  789. package/dist/dimensional/unit-data.js +139 -0
  790. package/dist/dimensional/unit-data.js.map +1 -0
  791. package/dist/dimensional/units.d.ts +87 -24
  792. package/dist/dimensional/units.d.ts.map +1 -1
  793. package/dist/dimensional/units.js +290 -295
  794. package/dist/dimensional/units.js.map +1 -1
  795. package/dist/dimensional/validator-registry.js.map +1 -1
  796. package/dist/dimensional/validator.d.ts +0 -16
  797. package/dist/dimensional/validator.d.ts.map +1 -1
  798. package/dist/dimensional/validator.js +65 -29
  799. package/dist/dimensional/validator.js.map +1 -1
  800. package/dist/dimensional/weyl-validators.js.map +1 -1
  801. package/dist/index.d.ts +65 -18
  802. package/dist/index.d.ts.map +1 -1
  803. package/dist/index.js +19 -24
  804. package/dist/index.js.map +1 -1
  805. package/dist/numerical/bianchi-residual.js.map +1 -1
  806. package/dist/numerical/binding-value.d.ts +32 -7
  807. package/dist/numerical/binding-value.d.ts.map +1 -1
  808. package/dist/numerical/binding-value.js +218 -209
  809. package/dist/numerical/binding-value.js.map +1 -1
  810. package/dist/numerical/christoffel-flat.js.map +1 -1
  811. package/dist/numerical/connection-lowering-helpers.js.map +1 -1
  812. package/dist/numerical/covariant-eikonal.d.ts.map +1 -1
  813. package/dist/numerical/covariant-eikonal.js +2 -2
  814. package/dist/numerical/covariant-eikonal.js.map +1 -1
  815. package/dist/numerical/curvature-lowering-helpers.d.ts +20 -0
  816. package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
  817. package/dist/numerical/curvature-lowering-helpers.js +6 -3
  818. package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
  819. package/dist/numerical/derivative-lowering.js.map +1 -1
  820. package/dist/numerical/einstein-equation.js.map +1 -1
  821. package/dist/numerical/engine-registry.js.map +1 -1
  822. package/dist/numerical/errors.d.ts +7 -3
  823. package/dist/numerical/errors.d.ts.map +1 -1
  824. package/dist/numerical/errors.js +5 -5
  825. package/dist/numerical/errors.js.map +1 -1
  826. package/dist/numerical/evaluator-uncertainty.d.ts +34 -0
  827. package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -0
  828. package/dist/numerical/evaluator-uncertainty.js +134 -0
  829. package/dist/numerical/evaluator-uncertainty.js.map +1 -0
  830. package/dist/numerical/formula-contract.d.ts +67 -7
  831. package/dist/numerical/formula-contract.d.ts.map +1 -1
  832. package/dist/numerical/formula-contract.js +68 -42
  833. package/dist/numerical/formula-contract.js.map +1 -1
  834. package/dist/numerical/formula-dimension.d.ts +17 -7
  835. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  836. package/dist/numerical/formula-dimension.js +120 -44
  837. package/dist/numerical/formula-dimension.js.map +1 -1
  838. package/dist/numerical/formula-mathts.d.ts.map +1 -1
  839. package/dist/numerical/formula-mathts.js +10 -3
  840. package/dist/numerical/formula-mathts.js.map +1 -1
  841. package/dist/numerical/formula-registry.d.ts +13 -3
  842. package/dist/numerical/formula-registry.d.ts.map +1 -1
  843. package/dist/numerical/formula-registry.js +7 -2
  844. package/dist/numerical/formula-registry.js.map +1 -1
  845. package/dist/numerical/geodesic-integrator.js.map +1 -1
  846. package/dist/numerical/geometrized.js.map +1 -1
  847. package/dist/numerical/gl4-integrator.d.ts +28 -27
  848. package/dist/numerical/gl4-integrator.d.ts.map +1 -1
  849. package/dist/numerical/gl4-integrator.js +44 -45
  850. package/dist/numerical/gl4-integrator.js.map +1 -1
  851. package/dist/numerical/grid-field.js.map +1 -1
  852. package/dist/numerical/index.js.map +1 -1
  853. package/dist/numerical/input-validation.d.ts +3 -6
  854. package/dist/numerical/input-validation.d.ts.map +1 -1
  855. package/dist/numerical/input-validation.js +4 -8
  856. package/dist/numerical/input-validation.js.map +1 -1
  857. package/dist/numerical/killing.d.ts +8 -5
  858. package/dist/numerical/killing.d.ts.map +1 -1
  859. package/dist/numerical/killing.js.map +1 -1
  860. package/dist/numerical/klein-gordon.js.map +1 -1
  861. package/dist/numerical/kretschmann.js.map +1 -1
  862. package/dist/numerical/lowering-utils.js.map +1 -1
  863. package/dist/numerical/lowering.d.ts.map +1 -1
  864. package/dist/numerical/lowering.js +7 -17
  865. package/dist/numerical/lowering.js.map +1 -1
  866. package/dist/numerical/mathts-engine.d.ts.map +1 -1
  867. package/dist/numerical/mathts-engine.js +11 -6
  868. package/dist/numerical/mathts-engine.js.map +1 -1
  869. package/dist/numerical/metric-inverse.js.map +1 -1
  870. package/dist/numerical/null-ic.js.map +1 -1
  871. package/dist/numerical/null-ray-integrator.js +4 -4
  872. package/dist/numerical/null-ray-integrator.js.map +1 -1
  873. package/dist/numerical/painleve-gullstrand-metric.js.map +1 -1
  874. package/dist/numerical/pderiv.d.ts.map +1 -1
  875. package/dist/numerical/pderiv.js +9 -2
  876. package/dist/numerical/pderiv.js.map +1 -1
  877. package/dist/numerical/perihelion-finder.js.map +1 -1
  878. package/dist/numerical/quadrature.d.ts +5 -2
  879. package/dist/numerical/quadrature.d.ts.map +1 -1
  880. package/dist/numerical/quadrature.js +20 -3
  881. package/dist/numerical/quadrature.js.map +1 -1
  882. package/dist/numerical/spacetime-metrics.d.ts +17 -19
  883. package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
  884. package/dist/numerical/spacetime-metrics.js +158 -250
  885. package/dist/numerical/spacetime-metrics.js.map +1 -1
  886. package/dist/numerical/strides.js.map +1 -1
  887. package/dist/numerical/tensor-engine.d.ts +9 -5
  888. package/dist/numerical/tensor-engine.d.ts.map +1 -1
  889. package/dist/numerical/tensor-engine.js.map +1 -1
  890. package/dist/numerical/types.js.map +1 -1
  891. package/dist/numerical/weyl-lowering.js.map +1 -1
  892. package/dist/relations/category.js.map +1 -1
  893. package/dist/relations/composition-table.d.ts +4 -4
  894. package/dist/relations/composition-table.js +4 -4
  895. package/dist/relations/composition-table.js.map +1 -1
  896. package/dist/relations/conventions.js.map +1 -1
  897. package/dist/relations/domain-regimes.js.map +1 -1
  898. package/dist/relations/regime-registration.js.map +1 -1
  899. package/dist/relations/regime-vocabularies.js.map +1 -1
  900. package/dist/relations/regime.d.ts +18 -8
  901. package/dist/relations/regime.d.ts.map +1 -1
  902. package/dist/relations/regime.js +26 -14
  903. package/dist/relations/regime.js.map +1 -1
  904. package/dist/relations/types.d.ts +26 -6
  905. package/dist/relations/types.d.ts.map +1 -1
  906. package/dist/relations/types.js +15 -3
  907. package/dist/relations/types.js.map +1 -1
  908. package/package.json +10 -14
  909. package/dist/bridges/registry.d.ts +0 -60
  910. package/dist/bridges/registry.d.ts.map +0 -1
  911. package/dist/bridges/registry.js +0 -87
  912. package/dist/bridges/registry.js.map +0 -1
  913. package/dist/cli/poster-source.d.ts +0 -154
  914. package/dist/cli/poster-source.d.ts.map +0 -1
  915. package/dist/cli/poster-source.js +0 -184
  916. package/dist/cli/poster-source.js.map +0 -1
@@ -2,15 +2,9 @@ import { registerCommand } from '../command.js';
2
2
  import { commandHelp, JSON_FLAG, sourceFlag } from '../flag-help.js';
3
3
  import { resolveGraph } from '../graphs.js';
4
4
  import { emitJson } from '../output.js';
5
- import { CarrierSignError } from '../../bridges/carrier-sign.js';
5
+ import { splitAssignments } from '../bindings.js';
6
6
  import { UsageError, CliError } from '../errors.js';
7
7
  import { searchNameWords } from '../search-index.js';
8
- import { readNamedBinding } from '../../numerical/binding-value.js';
9
- import { UnitError } from '../../dimensional/units.js';
10
- import { aliasesForTarget, nearQuantityNames, shareSynonyms, } from '../../composition/aliases.js';
11
- import { assertSynonymAgreement, resolveQuantityName, SynonymDisagreementError, } from '../../dimensional/formula-names.js';
12
- import { CANONICAL_GROUP_PREFACTORS } from '../../composition/canonical-prefactors.js';
13
- import { formatQuantity } from '../../composition/explain.js';
14
8
  /** How many `upt search` hits a NOT COVERED answer lists before "… and N more". */
15
9
  const SEARCH_HITS_SHOWN = 5;
16
10
  const FLAGS = [
@@ -49,7 +43,7 @@ const HELP = `upt explain <quantity> [name=value | name] ...
49
43
  * `mass=1e500`→∞, and a bare name alongside a valued one were all silent
50
44
  * wrong-physics footguns.
51
45
  */
52
- function parseKnown(args) {
46
+ function parseKnown(api, args) {
53
47
  const valued = args.filter((a) => a.includes('='));
54
48
  if (valued.length === 0)
55
49
  return { known: [...args], notes: [] }; // names mode
@@ -58,38 +52,33 @@ function parseKnown(args) {
58
52
  throw new UsageError(`upt: cannot mix bare names (${bare}) with name=value inputs. `
59
53
  + 'Use all names (structural) or all name=value (with recovery). See `upt help`.');
60
54
  }
61
- const assignments = [];
62
- for (const a of args) {
63
- const eq = a.indexOf('=');
64
- assignments.push({ name: a.slice(0, eq), raw: a.slice(eq + 1), assignment: a });
65
- }
55
+ const assignments = splitAssignments('explain', args).map((a) => ({ name: a.name, raw: a.raw, assignment: a.token }));
66
56
  const siblings = assignments.map((a) => ({ name: a.name, raw: a.raw }));
67
57
  const values = {};
68
58
  const notes = [];
69
59
  for (const a of assignments) {
70
60
  let read;
71
61
  try {
72
- read = readNamedBinding(a.name, a.raw, { siblings });
62
+ read = api.readNamedBinding(a.name, a.raw, { siblings });
73
63
  }
74
64
  catch (e) {
75
- if (e instanceof SynonymDisagreementError)
65
+ if (e instanceof api.SynonymDisagreementError)
76
66
  throw new CliError(`upt explain: ${e.message}`);
77
- if (e instanceof UnitError && /is a temperature/.test(e.message)) {
67
+ if (e instanceof api.TemperatureBindingError) {
78
68
  throw new CliError(`upt explain: '${a.assignment}' is not a temperature. ${e.message}`);
79
69
  }
80
- throw new UsageError(`upt: '${a.assignment}' is not a finite number. Expected ${a.name}=<number>. See \`upt help\`.`);
70
+ // A bad value is exit 1, as on eval and evaluate; a missing `=` was refused as usage above.
71
+ throw new CliError(`upt explain: '${a.assignment}' is not a finite number or a known unit. ${e.message}`);
81
72
  }
82
73
  if (a.raw === '' || !Number.isFinite(read.value)) {
83
- throw new UsageError(`upt: '${a.assignment}' is not a finite number. Expected ${a.name}=<number>. See \`upt help\`.`);
74
+ throw new CliError(`upt explain: '${a.assignment}' is not a finite number. Expected ${a.name}=<number or unit>.`);
84
75
  }
85
76
  values[a.name] = read.value;
86
77
  // Unit-convention notes were already on the binding and explain did not
87
- // print them. The temperature reading adds a note; that one is new.
88
- for (const note of read.notes) {
89
- if (!note.includes('k_B T') || notes.includes(note))
90
- continue;
91
- notes.push(note);
92
- }
78
+ // print them. The temperature reading adds a note; the reader returns that
79
+ // one on its own field.
80
+ if (read.temperatureNote !== undefined && !notes.includes(read.temperatureNote))
81
+ notes.push(read.temperatureNote);
93
82
  }
94
83
  return { known: values, notes };
95
84
  }
@@ -102,10 +91,9 @@ function parseKnown(args) {
102
91
  * to the normal graph explain).
103
92
  */
104
93
  function bridgeRedirect(api, target) {
105
- const m = /^be-(\d+)$/i.exec(target);
106
- if (!m)
94
+ const id = api.catalogIdNumber(target);
95
+ if (id === undefined)
107
96
  return null;
108
- const id = Number(m[1]);
109
97
  const b = api.auditCoverage().bridges.find((x) => x.id === id);
110
98
  if (!b)
111
99
  return null;
@@ -148,13 +136,13 @@ function restatementPartner(api, target) {
148
136
  }
149
137
  return null;
150
138
  }
151
- function printExplanation(out, target, label, x) {
139
+ function printExplanation(api, out, target, label, x) {
152
140
  out(`\n● ${target} [source: ${label}]`);
153
141
  out(` ${x.summary}`);
154
142
  if (x.derivations.length) {
155
143
  out(' derivations:');
156
144
  for (const d of x.derivations) {
157
- const val = d.value !== undefined ? ` = ${formatQuantity(d.value)}` : '';
145
+ const val = d.value !== undefined ? ` = ${api.formatQuantity(d.value)}` : '';
158
146
  const chain = d.leafInputs.join(',') !== d.sources.join(',') ? ` [from leaves: ${d.leafInputs.join(', ')}]` : '';
159
147
  out(` - ${d.edge} (${d.label})${val}${chain}`);
160
148
  if (d.dimensionalForm)
@@ -174,9 +162,9 @@ function valuesAgree(a, b) {
174
162
  return a === b;
175
163
  return Math.abs(a - b) / scale <= 1e-6;
176
164
  }
177
- function rebind(known, aliases, graphNames) {
165
+ function rebind(api, known, aliases, graphNames) {
178
166
  const rewrite = (key) => {
179
- const hit = resolveQuantityName(key, graphNames, aliases);
167
+ const hit = api.resolveQuantityName(key, graphNames, aliases);
180
168
  if (hit === null) {
181
169
  throw new CliError(`upt explain: '${key}' did not resolve to a quantity. ` +
182
170
  'A failed lookup is not a derivation, and this command does not exit 0.');
@@ -187,6 +175,21 @@ function rebind(known, aliases, graphNames) {
187
175
  return known.map(rewrite);
188
176
  const out = {};
189
177
  for (const [key, value] of Object.entries(known)) {
178
+ if (api.resolveQuantityName(key, graphNames, aliases) === null) {
179
+ // A constant is not a graph quantity: the equation already uses the
180
+ // registered value, so a stated value is checked, never bound.
181
+ let constant;
182
+ try {
183
+ constant = api.constantAgreement(key, value);
184
+ }
185
+ catch (e) {
186
+ if (e instanceof api.ConstantDisagreementError)
187
+ throw new CliError(`upt explain: ${e.message}`);
188
+ throw e;
189
+ }
190
+ if (constant !== null)
191
+ continue;
192
+ }
190
193
  const name = rewrite(key);
191
194
  if (Object.hasOwn(out, name) && out[name] !== value) {
192
195
  throw new CliError(`upt explain: '${name}' is given twice.`);
@@ -222,13 +225,13 @@ async function run(ctx) {
222
225
  // optional input, not a graph node. It resolves as a binding and not as a target.
223
226
  const inputNames = new Set(names);
224
227
  const edgeIds = new Set(graph.map((e) => e.id));
225
- for (const group of CANONICAL_GROUP_PREFACTORS) {
228
+ for (const group of api.CANONICAL_GROUP_PREFACTORS) {
226
229
  if (edgeIds.has(group.id))
227
230
  inputNames.add(group.group);
228
231
  }
229
- let resolvedTarget = resolveQuantityName(target, names);
232
+ let resolvedTarget = api.resolveQuantityName(target, names);
230
233
  if (resolvedTarget === null) {
231
- const near = nearQuantityNames(target, names);
234
+ const near = api.nearQuantityNames(target, names);
232
235
  // A single token one edit from exactly one quantity is that quantity.
233
236
  // A hyphenated miss stays a suggestion: `hawkng-temperature` exits 1.
234
237
  if (!/[-_\s]/.test(target) && near.length === 1) {
@@ -236,7 +239,7 @@ async function run(ctx) {
236
239
  }
237
240
  }
238
241
  if (resolvedTarget === null) {
239
- const near = nearQuantityNames(target, names);
242
+ const near = api.nearQuantityNames(target, names);
240
243
  // Audit I5: a law or model name (`schrodinger-equation`) is not a quantity; name what
241
244
  // `upt search` finds for its words. A shared token is not a near name.
242
245
  const found = searchNameWords(api, target);
@@ -252,32 +255,41 @@ async function run(ctx) {
252
255
  : ' `upt canonical` and `upt map` list the vocabulary.') +
253
256
  searchLine);
254
257
  }
255
- const aliases = aliasesForTarget(graph, resolvedTarget);
256
- const parsed = parseKnown(rest);
258
+ const aliases = api.aliasesForTarget(graph, resolvedTarget);
259
+ const parsed = parseKnown(api, rest);
257
260
  for (const note of parsed.notes)
258
261
  ctx.err(note);
259
262
  if (!Array.isArray(parsed.known)) {
260
263
  try {
261
- assertSynonymAgreement(parsed.known);
264
+ api.assertSynonymAgreement(parsed.known);
262
265
  }
263
266
  catch (e) {
264
- if (e instanceof SynonymDisagreementError)
267
+ if (e instanceof api.SynonymDisagreementError)
265
268
  throw new CliError(`upt explain: ${e.message}`);
266
269
  throw e;
267
270
  }
268
271
  }
269
- const rebound = rebind(parsed.known, aliases, inputNames);
270
- const known = shareSynonyms(rebound, names);
272
+ const rebound = rebind(api, parsed.known, aliases, inputNames);
273
+ const known = api.shareSynonyms(rebound, names);
271
274
  let x;
272
275
  try {
273
276
  x = api.explainQuantity(graph, resolvedTarget, known);
274
277
  }
275
278
  catch (e) {
276
- if (e instanceof CarrierSignError || e instanceof SynonymDisagreementError) {
279
+ if (e instanceof api.CarrierSignError || e instanceof api.SynonymDisagreementError) {
277
280
  throw new CliError(`upt explain: ${e.message}`);
278
281
  }
279
282
  throw e;
280
283
  }
284
+ // Every route refused the point (a validity domain, opposite carrier signs, a formula with
285
+ // no finite value there) and no value recovered: the inputs are a bad value, exit 1, the
286
+ // code `upt evaluate` gives the same failure. A refusal beside a recovered value from
287
+ // another route stays in the report, and an unset coefficient is not a bad value: it is
288
+ // the edge's own state, reported as "no recovered number" (exit 0).
289
+ const refusals = x.refusals ?? [];
290
+ if (x.recoveredValue === undefined && refusals.length > 0 && refusals.every((r) => r.kind !== 'coefficient-unset')) {
291
+ throw new CliError(`upt explain: ${refusals.map((r) => r.reason).join('; ')}`);
292
+ }
281
293
  const partner = source === 'both' ? restatementPartner(api, resolvedTarget) : null;
282
294
  const partnerKnown = partner !== null && names.has(partner.name);
283
295
  const partnerExplanation = partnerKnown ? api.explainQuantity(graph, partner.name, known) : undefined;
@@ -301,9 +313,9 @@ async function run(ctx) {
301
313
  }, ctx.write);
302
314
  return 0;
303
315
  }
304
- printExplanation(out, target, label, x);
316
+ printExplanation(api, out, target, label, x);
305
317
  if (partner !== null && partnerExplanation !== undefined) {
306
- printExplanation(out, partner.name, label, partnerExplanation);
318
+ printExplanation(api, out, partner.name, label, partnerExplanation);
307
319
  const who = `${partner.canonicalId} restates be-${partner.bridgeId}`;
308
320
  if (agree === true) {
309
321
  out(` ${resolvedTarget} and ${partner.name} are one restatement (${who}). Values agree.`);
@@ -311,7 +323,7 @@ async function run(ctx) {
311
323
  else if (agree === false) {
312
324
  const ratio = x.recoveredValue / partnerExplanation.recoveredValue;
313
325
  out(` ${resolvedTarget} and ${partner.name} are one restatement (${who}). ` +
314
- `Values DISAGREE: ${resolvedTarget} / ${partner.name} = ${formatQuantity(ratio)}.`);
326
+ `Values DISAGREE: ${resolvedTarget} / ${partner.name} = ${api.formatQuantity(ratio)}.`);
315
327
  }
316
328
  else {
317
329
  out(` ${resolvedTarget} and ${partner.name} are one restatement (${who}).`);
@@ -1 +1 @@
1
- {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../src/cli/commands/explain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../src/cli/commands/explain.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * `upt explain` — explain how the graph determines a quantity: the\n * identifiability verdict, recovered value, derivation chains, and whether\n * the inputs are dimensionally sufficient. Transposed verbatim from\n * bin/upt.mjs's `explain()` + `parseKnown()` (lines 183-235), plus\n * `--source` (the old CLI's module-level `GRAPH` was always the catalog\n * graph) and `--json`.\n *\n * `parseKnown`'s two-mode positional contract (bare names XOR name=value,\n * never mixed) and its malformed-input rejections are pinned by\n * `tests/cli/upt-explain-inputs.test.ts` against the old bin — ported here\n * unchanged, with `process.exit(2)` sites converted to `UsageError` (same\n * message text; `main.ts`'s catch maps it to exit 2).\n */\nimport type { FlagSpec } from '../args.js';\nimport { registerCommand, type Command, type CommandCtx } from '../command.js';\nimport { commandHelp, JSON_FLAG, sourceFlag } from '../flag-help.js';\nimport { resolveGraph } from '../graphs.js';\nimport { emitJson } from '../output.js';\nimport { splitAssignments } from '../bindings.js';\nimport { UsageError, CliError } from '../errors.js';\nimport { searchNameWords } from '../search-index.js';\n\n/** How many `upt search` hits a NOT COVERED answer lists before \"… and N more\". */\nconst SEARCH_HITS_SHOWN = 5;\n\nconst FLAGS: FlagSpec[] = [\n sourceFlag('catalog', 'Which graph to read: catalog, canonical, or both.'),\n JSON_FLAG,\n];\n\nconst HELP = `upt explain <quantity> [name=value | name] ...\n [--source=catalog|canonical|both] [--json]\n Explain how the graph determines a quantity: the identifiability\n verdict, recovered value, derivation chains, and whether the inputs\n are dimensionally sufficient. A name that is not a quantity of the\n graph is reported NOT COVERED, with a one-edit name and what \\`upt search\\`\n finds for its words, and exits 1. A shared token such as \\`length\\` is\n not a near name. An evaluate key (\\`I_W_per_m2\\`, \\`B_T\\`, \\`T_K\\`, \\`g_00\\`)\n is the graph quantity that edge records. A name that does not resolve\n exits 1. --source picks the graph (default\n catalog); the result names the source it used.\n --source=both also prints the other quantity name when a canonical\n equation restates a catalog bridge under a different name, and says\n whether the two recovered values agree.\n A value is a number, a unit (mass=1Msun) or a constant expression\n (mass=1*M_sun). A bare number is already in the quantity's unit.\n T, temperature, temp, and T_K are kelvin: an energy on that name is\n k_B T, using boltzmann-constant, k_B, or kB when one of those is\n bound, and any other dimension is an error.\n A tagged quantity converts into that unit (GeV, bit, nat, J/K).\n magnetic-field and magnetic-flux-density are one vacuum B: a value\n given under either name is available under the other. The same\n number under both spellings is one input. Two different numbers\n are an error, and no frequency is recovered.\n e.g. upt explain hawking-temperature mass=1.989e30`;\n\n/**\n * Two modes, never mixed: bare names (structural analysis) OR name=value\n * (adds value recovery). Malformed inputs are rejected with a `UsageError`\n * rather than silently coerced — `mass=abc`→dropped, `mass=`→0,\n * `mass=1e500`→∞, and a bare name alongside a valued one were all silent\n * wrong-physics footguns.\n */\nfunction parseKnown(api: CommandCtx['api'], args: readonly string[]): { known: string[] | Record<string, number>; notes: string[] } {\n const valued = args.filter((a) => a.includes('='));\n if (valued.length === 0) return { known: [...args], notes: [] }; // names mode\n\n if (valued.length !== args.length) {\n const bare = args.filter((a) => !a.includes('=')).join(', ');\n throw new UsageError(\n `upt: cannot mix bare names (${bare}) with name=value inputs. `\n + 'Use all names (structural) or all name=value (with recovery). See `upt help`.'\n );\n }\n\n const assignments = splitAssignments('explain', args).map((a) => ({ name: a.name, raw: a.raw, assignment: a.token }));\n const siblings = assignments.map((a) => ({ name: a.name, raw: a.raw }));\n const values: Record<string, number> = {};\n const notes: string[] = [];\n for (const a of assignments) {\n let read: ReturnType<CommandCtx['api']['readNamedBinding']>;\n try {\n read = api.readNamedBinding(a.name, a.raw, { siblings });\n } catch (e) {\n if (e instanceof api.SynonymDisagreementError) throw new CliError(`upt explain: ${e.message}`);\n if (e instanceof api.TemperatureBindingError) {\n throw new CliError(`upt explain: '${a.assignment}' is not a temperature. ${e.message}`);\n }\n // A bad value is exit 1, as on eval and evaluate; a missing `=` was refused as usage above.\n throw new CliError(`upt explain: '${a.assignment}' is not a finite number or a known unit. ${(e as Error).message}`);\n }\n if (a.raw === '' || !Number.isFinite(read.value)) {\n throw new CliError(`upt explain: '${a.assignment}' is not a finite number. Expected ${a.name}=<number or unit>.`);\n }\n values[a.name] = read.value;\n // Unit-convention notes were already on the binding and explain did not\n // print them. The temperature reading adds a note; the reader returns that\n // one on its own field.\n if (read.temperatureNote !== undefined && !notes.includes(read.temperatureNote)) notes.push(read.temperatureNote);\n }\n return { known: values, notes };\n}\n\n/**\n * A bridge id (`be-NN`) is a graph EDGE, not a quantity NODE — `explain`\n * derives quantities, so it can never resolve a bridge id and would emit a bare\n * \"no derivation path\". Recognise a catalog bridge id and redirect helpfully,\n * tailored by grounding tier (closed-form evaluator vs graph-computable,\n * data-confronted or not). Returns `null` for non-bridge targets (fall through\n * to the normal graph explain).\n */\nfunction bridgeRedirect(\n api: CommandCtx['api'],\n target: string,\n): { id: number; tier: string; hasGraphEdge: boolean; hasDataConfrontation: boolean; hint: string } | null {\n const id = api.catalogIdNumber(target);\n if (id === undefined) return null;\n const b = api.auditCoverage().bridges.find((x) => x.id === id);\n if (!b) return null;\n\n let hint = `${target} is a bridge equation (a relation between quantities), not a graph quantity — \\`explain\\` derives quantities from the composition graph.`;\n hint += b.hasGraphEdge\n ? ` Its quantities appear in \\`upt map\\`; explain one of them to see its derivations.`\n : ` It is a closed-form evaluator bridge (no composition-graph edge), evaluated directly rather than through the graph.`;\n hint += b.hasDataConfrontation\n ? ` See \\`upt confront ${target}\\` for its real-data confrontation.`\n : ` It has no committed data confrontation (see \\`upt coverage\\`).`;\n return {\n id,\n tier: b.tier,\n hasGraphEdge: b.hasGraphEdge,\n hasDataConfrontation: b.hasDataConfrontation,\n hint,\n };\n}\n\n/** A canonical equation and the catalog bridge it restates, when those two target names differ. */\nfunction restatementPartner(\n api: CommandCtx['api'],\n target: string,\n): { name: string; canonicalId: string; bridgeId: number } | null {\n const norm = (s: string): string => s.replaceAll('_', '-').toLowerCase();\n const want = norm(target);\n for (const eq of api.CANONICAL_EQUATIONS) {\n if (eq.restatesBridge === undefined) continue;\n const bridgeId = Number(eq.restatesBridge);\n if (!Number.isInteger(bridgeId)) continue;\n const catalog = api.CATALOG_GRAPH.find((e) => e.beId === bridgeId);\n if (catalog === undefined) continue;\n const canonName = eq.dimensional.target.name;\n const catName = catalog.target.name;\n if (norm(canonName) === norm(catName)) continue;\n if (norm(canonName) === want) return { name: catName, canonicalId: eq.id, bridgeId };\n if (norm(catName) === want) return { name: canonName, canonicalId: eq.id, bridgeId };\n }\n return null;\n}\n\nfunction printExplanation(\n api: CommandCtx['api'],\n out: CommandCtx['out'],\n target: string,\n label: string,\n x: ReturnType<CommandCtx['api']['explainQuantity']>,\n): void {\n out(`\\n● ${target} [source: ${label}]`);\n out(` ${x.summary}`);\n if (x.derivations.length) {\n out(' derivations:');\n for (const d of x.derivations) {\n const val = d.value !== undefined ? ` = ${api.formatQuantity(d.value)}` : '';\n const chain =\n d.leafInputs.join(',') !== d.sources.join(',') ? ` [from leaves: ${d.leafInputs.join(', ')}]` : '';\n out(` - ${d.edge} (${d.label})${val}${chain}`);\n if (d.dimensionalForm) out(` ${d.dimensionalForm.formula}`);\n }\n }\n if (x.blockingFrontier.length) {\n out(` to determine it, also supply: ${x.blockingFrontier.join(', ')}`);\n }\n}\n\n/** Relative agreement of two recovered values. Absent when either value is missing. */\nfunction valuesAgree(a: number | undefined, b: number | undefined): boolean | undefined {\n if (a === undefined || b === undefined || !Number.isFinite(a) || !Number.isFinite(b)) return undefined;\n const scale = Math.max(Math.abs(a), Math.abs(b));\n if (scale === 0) return a === b;\n return Math.abs(a - b) / scale <= 1e-6;\n}\n\nfunction rebind(\n api: CommandCtx['api'],\n known: string[] | Record<string, number>,\n aliases: ReadonlyMap<string, string>,\n graphNames: ReadonlySet<string>,\n): string[] | Record<string, number> {\n const rewrite = (key: string): string => {\n const hit = api.resolveQuantityName(key, graphNames, aliases);\n if (hit === null) {\n throw new CliError(\n `upt explain: '${key}' did not resolve to a quantity. ` +\n 'A failed lookup is not a derivation, and this command does not exit 0.',\n );\n }\n return hit;\n };\n if (Array.isArray(known)) return known.map(rewrite);\n const out: Record<string, number> = {};\n for (const [key, value] of Object.entries(known)) {\n if (api.resolveQuantityName(key, graphNames, aliases) === null) {\n // A constant is not a graph quantity: the equation already uses the\n // registered value, so a stated value is checked, never bound.\n let constant: string | null;\n try {\n constant = api.constantAgreement(key, value);\n } catch (e) {\n if (e instanceof api.ConstantDisagreementError) throw new CliError(`upt explain: ${e.message}`);\n throw e;\n }\n if (constant !== null) continue;\n }\n const name = rewrite(key);\n if (Object.hasOwn(out, name) && out[name] !== value) {\n throw new CliError(`upt explain: '${name}' is given twice.`);\n }\n out[name] = value;\n }\n return out;\n}\n\nasync function run(ctx: CommandCtx): Promise<number> {\n const { args, api, out } = ctx;\n\n const [target, ...rest] = args.positionals;\n if (!target) {\n throw new UsageError('upt explain needs a quantity name. See `upt help`.');\n }\n\n // A bridge id is an edge, not a quantity — redirect before touching the graph.\n const redirect = bridgeRedirect(api, target);\n if (redirect) {\n // A bridge id names a CATALOG bridge whatever --source says; say so rather than print a source it did not use.\n if (args.flags.has('json')) {\n emitJson({ command: 'explain', source: 'catalog', result: { kind: 'bridge-redirect', ...redirect } }, ctx.write);\n return 0;\n }\n out(`\\n● ${target} [source: catalog bridge registry; a bridge id names a catalog bridge whatever --source says]`);\n out(` ${redirect.hint}`);\n return 0;\n }\n\n const { graph, label, source } = resolveGraph(api, args.flags);\n // A name that is not a quantity of this graph is NOT COVERED (persona finding\n // C4). It used to get the same \"no derivation path\" answer as a real quantity\n // the inputs cannot reach, and exit 0. Underscores resolve like hyphens.\n const names = new Set(graph.flatMap((e) => [e.target.name, ...e.sources.map((s) => s.name)]));\n // A dimensionless group the equation multiplies (sound-speed's gamma) is an\n // optional input, not a graph node. It resolves as a binding and not as a target.\n const inputNames = new Set(names);\n const edgeIds = new Set(graph.map((e) => e.id));\n for (const group of api.CANONICAL_GROUP_PREFACTORS) {\n if (edgeIds.has(group.id)) inputNames.add(group.group);\n }\n let resolvedTarget = api.resolveQuantityName(target, names);\n if (resolvedTarget === null) {\n const near = api.nearQuantityNames(target, names);\n // A single token one edit from exactly one quantity is that quantity.\n // A hyphenated miss stays a suggestion: `hawkng-temperature` exits 1.\n if (!/[-_\\s]/.test(target) && near.length === 1) {\n resolvedTarget = near[0]!;\n }\n }\n if (resolvedTarget === null) {\n const near = api.nearQuantityNames(target, names);\n // Audit I5: a law or model name (`schrodinger-equation`) is not a quantity; name what\n // `upt search` finds for its words. A shared token is not a near name.\n const found = searchNameWords(api, target);\n const shown = found?.matches.slice(0, SEARCH_HITS_SHOWN) ?? [];\n const searchLine =\n found === null\n ? ''\n : `\\n \\`upt search ${found.words.join(' ')}\\` finds ${found.matches.length}:` +\n shown.map((m) => `\\n ${m.entry.id} (${m.entry.kind.replace('-', ' ')}) — ${m.entry.command}`).join('') +\n (found.matches.length > shown.length ? `\\n … and ${found.matches.length - shown.length} more` : '');\n throw new CliError(\n `upt explain: '${target}' is not a quantity in the ${source} graph: NOT COVERED.` +\n (near.length > 0\n ? ` did you mean: ${near.join(', ')}?`\n : ' `upt canonical` and `upt map` list the vocabulary.') +\n searchLine,\n );\n }\n const aliases = api.aliasesForTarget(graph, resolvedTarget);\n const parsed = parseKnown(api, rest);\n for (const note of parsed.notes) ctx.err(note);\n if (!Array.isArray(parsed.known)) {\n try {\n api.assertSynonymAgreement(parsed.known);\n } catch (e) {\n if (e instanceof api.SynonymDisagreementError) throw new CliError(`upt explain: ${e.message}`);\n throw e;\n }\n }\n const rebound = rebind(api, parsed.known, aliases, inputNames);\n const known = api.shareSynonyms(rebound, names);\n let x;\n try {\n x = api.explainQuantity(graph, resolvedTarget, known);\n } catch (e) {\n if (e instanceof api.CarrierSignError || e instanceof api.SynonymDisagreementError) {\n throw new CliError(`upt explain: ${e.message}`);\n }\n throw e;\n }\n // Every route refused the point (a validity domain, opposite carrier signs, a formula with\n // no finite value there) and no value recovered: the inputs are a bad value, exit 1, the\n // code `upt evaluate` gives the same failure. A refusal beside a recovered value from\n // another route stays in the report, and an unset coefficient is not a bad value: it is\n // the edge's own state, reported as \"no recovered number\" (exit 0).\n const refusals = x.refusals ?? [];\n if (x.recoveredValue === undefined && refusals.length > 0 && refusals.every((r) => r.kind !== 'coefficient-unset')) {\n throw new CliError(`upt explain: ${refusals.map((r) => r.reason).join('; ')}`);\n }\n const partner = source === 'both' ? restatementPartner(api, resolvedTarget) : null;\n const partnerKnown = partner !== null && names.has(partner.name);\n const partnerExplanation = partnerKnown ? api.explainQuantity(graph, partner!.name, known) : undefined;\n const agree = valuesAgree(x.recoveredValue, partnerExplanation?.recoveredValue);\n\n if (args.flags.has('json')) {\n emitJson(\n {\n command: 'explain',\n source,\n result:\n partner !== null && partnerExplanation !== undefined\n ? {\n ...x,\n restatement: {\n canonicalId: partner.canonicalId,\n bridgeId: partner.bridgeId,\n otherName: partner.name,\n valuesAgree: agree,\n explanation: partnerExplanation,\n },\n }\n : x,\n },\n ctx.write,\n );\n return 0;\n }\n\n printExplanation(api, out, target, label, x);\n if (partner !== null && partnerExplanation !== undefined) {\n printExplanation(api, out, partner.name, label, partnerExplanation);\n const who = `${partner.canonicalId} restates be-${partner.bridgeId}`;\n if (agree === true) {\n out(` ${resolvedTarget} and ${partner.name} are one restatement (${who}). Values agree.`);\n } else if (agree === false) {\n const ratio = x.recoveredValue! / partnerExplanation.recoveredValue!;\n out(\n ` ${resolvedTarget} and ${partner.name} are one restatement (${who}). ` +\n `Values DISAGREE: ${resolvedTarget} / ${partner.name} = ${api.formatQuantity(ratio)}.`,\n );\n } else {\n out(` ${resolvedTarget} and ${partner.name} are one restatement (${who}).`);\n }\n }\n return 0;\n}\n\nexport const command: Command = {\n name: 'explain',\n aliases: [],\n flags: FLAGS,\n help: commandHelp(HELP, FLAGS),\n summary: 'Show how the graph determines a quantity, or say that it does not cover that name.',\n example: 'upt explain hawking-temperature mass=1Msun',\n group: 'explore',\n run,\n};\n\nregisterCommand(command);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"frontier.js","sourceRoot":"","sources":["../../../src/cli/commands/frontier.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,KAAK,GAAe,CAAC,SAAS,CAAC,CAAC;AAEtC,MAAM,IAAI,GAAG;;;;;;;2EAO8D,CAAC;AAE5E,MAAM,UAAU,GACd,0JAA0J,CAAC;AAE7J,KAAK,UAAU,GAAG,CAAC,GAAe;IAChC,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC;IACjD,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,QAAQ,CACN;YACE,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;SACzE,EACD,GAAG,CAAC,KAAK,CACV,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAY;IAC9B,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;IAC9B,OAAO,EAAE,mFAAmF;IAC5F,OAAO,EAAE,cAAc;IACvB,KAAK,EAAE,WAAW;IAClB,GAAG;CACJ,CAAC;AACF,eAAe,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"frontier.js","sourceRoot":"","sources":["../../../src/cli/commands/frontier.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,KAAK,GAAe,CAAC,SAAS,CAAC,CAAC;AAEtC,MAAM,IAAI,GAAG;;;;;;;2EAO8D,CAAC;AAE5E,MAAM,UAAU,GACd,0JAA0J,CAAC;AAE7J,KAAK,UAAU,GAAG,CAAC,GAAe;IAChC,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC;IACjD,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,QAAQ,CACN;YACE,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;SACzE,EACD,GAAG,CAAC,KAAK,CACV,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAY;IAC9B,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;IAC9B,OAAO,EAAE,mFAAmF;IAC5F,OAAO,EAAE,cAAc;IACvB,KAAK,EAAE,WAAW;IAClB,GAAG;CACJ,CAAC;AACF,eAAe,CAAC,OAAO,CAAC,CAAC","sourcesContent":["/**\n * `upt frontier` — the two lists from the frontier and null-result design.\n * Neither list is a verdict and neither list changes a score.\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';\n\nconst FLAGS: FlagSpec[] = [JSON_FLAG];\n\nconst HELP = `upt frontier [--json]\n Two lists, printed apart. Null results: records already examined\n that did not become an accepted connection, each with the reason\n the program already states. Frontier: connections the catalog does\n not contain, each with a reason the graph already computes and,\n when one is registered, the observation that would test it.\n An empty list is printed as empty. Neither list is a verdict and\n neither list changes a score. A missing observation stays missing.`;\n\nconst EPISTEMICS =\n 'Two lists, not one score. A null result was examined and rejected. A frontier row is a connection the catalog does not contain. Neither changes a score.';\n\nasync function run(ctx: CommandCtx): Promise<number> {\n const account = ctx.api.catalogFrontierAccount();\n if (ctx.args.flags.has('json')) {\n emitJson(\n {\n command: 'frontier',\n epistemics: EPISTEMICS,\n result: { nullResults: account.nullResults, frontier: account.frontier },\n },\n ctx.write,\n );\n return 0;\n }\n ctx.out(ctx.api.formatFrontierAccount(account));\n return 0;\n}\n\nexport const command: Command = {\n name: 'frontier',\n aliases: [],\n flags: FLAGS,\n help: commandHelp(HELP, FLAGS),\n summary: 'Print null results and missing connections as two lists, neither of them a score.',\n example: 'upt frontier',\n group: 'discovery',\n run,\n};\nregisterCommand(command);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ground.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ground.ts"],"names":[],"mappings":"AAaA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AA6F/E,eAAO,MAAM,OAAO,EAAE,OASrB,CAAC"}
1
+ {"version":3,"file":"ground.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ground.ts"],"names":[],"mappings":"AAaA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AA6H/E,eAAO,MAAM,OAAO,EAAE,OASrB,CAAC"}
@@ -4,6 +4,7 @@ import { resolveGraph, groundTruthAnchor, groundTruthLine } from '../graphs.js';
4
4
  import { emitJson } from '../output.js';
5
5
  import { UsageError, CliError } from '../errors.js';
6
6
  import { parseDiscoveryOpts } from './_discovery-opts.js';
7
+ import { DISCOVER_MAX_ORDERS_DEFAULT } from '../library-defaults.js';
7
8
  const FLAGS = [
8
9
  sourceFlag('catalog', 'Which graph to read: catalog, canonical, or both. Use the same value as the discover run.'),
9
10
  {
@@ -17,7 +18,7 @@ const FLAGS = [
17
18
  name: '--max-orders',
18
19
  valueStyle: 'attached',
19
20
  description: 'Magnitude-clash threshold. A larger value keeps more pairs promising.',
20
- defaultValue: '3',
21
+ defaultValue: DISCOVER_MAX_ORDERS_DEFAULT,
21
22
  },
22
23
  JSON_FLAG,
23
24
  ];
@@ -34,25 +35,54 @@ const ALL_SOURCES = ['catalog', 'canonical', 'both'];
34
35
  async function run(ctx) {
35
36
  const { args, api, out } = ctx;
36
37
  const { graph, label, source } = resolveGraph(api, args.flags);
37
- const opts = parseDiscoveryOpts(args.flags);
38
+ const opts = parseDiscoveryOpts(api, args.flags);
38
39
  const [a, b] = args.positionals;
39
40
  if (!a || !b) {
40
41
  throw new UsageError('upt ground needs two quantity names (a b). See `upt help`.');
41
42
  }
42
43
  const pairs = (c) => (c.a === a && c.b === b) || (c.a === b && c.b === a);
43
- const cand = api.rankDiscoveries(graph, opts).find(pairs);
44
+ // A graph's funnel runs only when both names are quantities of that graph: a
45
+ // name no graph carries is answered without running three funnels.
46
+ const quantities = (edges) => new Set(edges.flatMap((e) => [e.target.name, ...e.sources.map((q) => q.name)]));
47
+ const bothNamed = (edges) => {
48
+ const names = quantities(edges);
49
+ return names.has(a) && names.has(b);
50
+ };
51
+ // A name no graph holds is a bad argument (exit 1). A pair every graph holds and no
52
+ // funnel pairs is a computed absence: exit 0 with its envelope, the rule `search` with no
53
+ // match and `confront` with a refusal follow (Tom's review of #502).
54
+ const graphs = ALL_SOURCES.map((s) => (s === source ? graph : resolveGraph(api, new Map([['source', [s]]])).graph));
55
+ const held = new Set(graphs.flatMap((g) => [...quantities(g)]));
56
+ for (const name of [a, b]) {
57
+ if (!held.has(name))
58
+ throw new CliError(`upt ground: '${name}' is not a quantity of any graph (${ALL_SOURCES.join(', ')})`);
59
+ }
60
+ const cand = bothNamed(graph) ? api.rankDiscoveries(graph, opts).find(pairs) : undefined;
44
61
  if (!cand) {
45
62
  const elsewhere = ALL_SOURCES.filter((s) => s !== source).filter((s) => {
46
- const other = resolveGraph(api, new Map([['source', [s]]]));
47
- return api.rankDiscoveries(other.graph, opts).some(pairs);
63
+ const other = graphs[ALL_SOURCES.indexOf(s)];
64
+ return bothNamed(other) && api.rankDiscoveries(other, opts).some(pairs);
48
65
  });
49
66
  const anchorFlags = (args.flags.get('anchor') ?? []).map((v) => ` --anchor=${v}`).join('');
50
67
  const ordersFlag = args.flags.has('max-orders') ? ` --max-orders=${args.flags.get('max-orders').at(-1)}` : '';
51
- throw new CliError(elsewhere.length > 0
52
- ? `upt ground: '${a}' ≟ '${b}' is not a candidate in the ${source} graph, but it is in ` +
68
+ const sentence = elsewhere.length > 0
69
+ ? `'${a}' ≟ '${b}' is not a candidate in the ${source} graph, but it is in ` +
53
70
  `${elsewhere.join(' and ')}: upt ground --source=${elsewhere[0]}${anchorFlags}${ordersFlag} ${a} ${b}`
54
- : `upt ground: no discovery candidate pairs '${a}' with '${b}' in any of ${ALL_SOURCES.join(', ')} — ` +
55
- 'they may not share a dimension, or are already connected (not a cross-cluster coincidence).');
71
+ : `no discovery candidate pairs '${a}' with '${b}' in any of ${ALL_SOURCES.join(', ')} — ` +
72
+ 'they may not share a dimension, or are already connected (not a cross-cluster coincidence).';
73
+ if (args.flags.has('json')) {
74
+ emitJson({
75
+ command: 'ground',
76
+ source,
77
+ anchor: { groundTruth: groundTruthAnchor(api, opts) },
78
+ options: { ...opts },
79
+ result: { a, b, candidate: null, searched: [...ALL_SOURCES], elsewhere, note: sentence },
80
+ }, ctx.write);
81
+ return 0;
82
+ }
83
+ out(`\n● ${a} ≟ ${b} [no candidate] [source: ${label}]`);
84
+ out(` ${sentence}`);
85
+ return 0;
56
86
  }
57
87
  const g = api.describeGrounding(cand);
58
88
  if (args.flags.has('json')) {
@@ -60,7 +90,7 @@ async function run(ctx) {
60
90
  command: 'ground',
61
91
  source,
62
92
  anchor: { groundTruth: groundTruthAnchor(api, opts) },
63
- options: opts,
93
+ options: { ...opts },
64
94
  result: { a: cand.a, b: cand.b, verdict: cand.verdict, grounding: g },
65
95
  }, ctx.write);
66
96
  return 0;
@@ -80,7 +110,7 @@ export const command = {
80
110
  flags: FLAGS,
81
111
  help: commandHelp(HELP, FLAGS),
82
112
  summary: 'Show which falsifiers ran on one discovery candidate, and which abstained.',
83
- example: 'upt ground temperature mass',
113
+ example: 'upt ground landauer-erasure-energy gap-energy',
84
114
  group: 'discovery',
85
115
  run,
86
116
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ground.js","sourceRoot":"","sources":["../../../src/cli/commands/ground.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ground.js","sourceRoot":"","sources":["../../../src/cli/commands/ground.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * `upt ground <quantityA> <quantityB>` — the epistemic-grounding ledger for a\n * single discovery candidate a≡b: which falsifiers passed, which abstained (gaps),\n * and the honest permanent ceiling (no mechanism test, no data test). Lets you\n * interrogate one candidate directly instead of scanning all of `upt discover`.\n *\n * It runs the same funnel as `upt discover` over the same `--source` graph and\n * `--anchor`/`--max-orders` options, so a pair `discover` printed can be\n * grounded by repeating those flags. A pair missing from the selected graph is\n * looked up in the others, and a hit is named: a candidate of another scope\n * must not be reported as though it never existed.\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, type SourceName } from '../graphs.js';\nimport { emitJson } from '../output.js';\nimport { UsageError, CliError } from '../errors.js';\nimport { parseDiscoveryOpts } from './_discovery-opts.js';\nimport { DISCOVER_MAX_ORDERS_DEFAULT } from '../library-defaults.js';\n\nconst FLAGS: FlagSpec[] = [\n sourceFlag('catalog', 'Which graph to read: catalog, canonical, or both. Use the same value as the discover run.'),\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: '--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 JSON_FLAG,\n];\n\nconst HELP = `upt ground <quantityA> <quantityB> [--source=catalog|canonical|both]\n [--anchor=k=v,...] [--max-orders=N] [--json]\n The epistemic-grounding ledger for one discovery candidate a≡b: which\n falsifiers PASSED, which ABSTAINED (gaps), and the honest ceiling — no\n mechanism test, no data test (permanent for a dimensional candidate;\n real mechanism/data live in \\`upt confront\\`).\n Pass the same --source (default catalog), --anchor and --max-orders\n as the \\`upt discover\\` run that listed the pair.`;\n\nconst EPISTEMICS =\n '(candidate grounding is a review surface; mechanism/data live in `upt confront`, not candidate space)';\n\nconst ALL_SOURCES: readonly SourceName[] = ['catalog', 'canonical', 'both'];\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 [a, b] = args.positionals;\n if (!a || !b) {\n throw new UsageError('upt ground needs two quantity names (a b). See `upt help`.');\n }\n\n const pairs = (c: { a: string; b: string }) => (c.a === a && c.b === b) || (c.a === b && c.b === a);\n // A graph's funnel runs only when both names are quantities of that graph: a\n // name no graph carries is answered without running three funnels.\n const quantities = (edges: readonly { target: { name: string }; sources: readonly { name: string }[] }[]): Set<string> =>\n new Set(edges.flatMap((e) => [e.target.name, ...e.sources.map((q) => q.name)]));\n const bothNamed = (edges: Parameters<typeof quantities>[0]): boolean => {\n const names = quantities(edges);\n return names.has(a) && names.has(b);\n };\n // A name no graph holds is a bad argument (exit 1). A pair every graph holds and no\n // funnel pairs is a computed absence: exit 0 with its envelope, the rule `search` with no\n // match and `confront` with a refusal follow (Tom's review of #502).\n const graphs = ALL_SOURCES.map((s) => (s === source ? graph : resolveGraph(api, new Map([['source', [s]]])).graph));\n const held = new Set(graphs.flatMap((g) => [...quantities(g)]));\n for (const name of [a, b]) {\n if (!held.has(name)) throw new CliError(`upt ground: '${name}' is not a quantity of any graph (${ALL_SOURCES.join(', ')})`);\n }\n const cand = bothNamed(graph) ? api.rankDiscoveries(graph, opts).find(pairs) : undefined;\n if (!cand) {\n const elsewhere = ALL_SOURCES.filter((s) => s !== source).filter((s) => {\n const other = graphs[ALL_SOURCES.indexOf(s)]!;\n return bothNamed(other) && api.rankDiscoveries(other, opts).some(pairs);\n });\n const anchorFlags = (args.flags.get('anchor') ?? []).map((v) => ` --anchor=${v}`).join('');\n const ordersFlag = args.flags.has('max-orders') ? ` --max-orders=${args.flags.get('max-orders')!.at(-1)}` : '';\n const sentence =\n elsewhere.length > 0\n ? `'${a}' ≟ '${b}' is not a candidate in the ${source} graph, but it is in ` +\n `${elsewhere.join(' and ')}: upt ground --source=${elsewhere[0]}${anchorFlags}${ordersFlag} ${a} ${b}`\n : `no discovery candidate pairs '${a}' with '${b}' in any of ${ALL_SOURCES.join(', ')} — ` +\n 'they may not share a dimension, or are already connected (not a cross-cluster coincidence).';\n if (args.flags.has('json')) {\n emitJson(\n {\n command: 'ground',\n source,\n anchor: { groundTruth: groundTruthAnchor(api, opts) },\n options: { ...opts },\n result: { a, b, candidate: null, searched: [...ALL_SOURCES], elsewhere, note: sentence },\n },\n ctx.write,\n );\n return 0;\n }\n out(`\\n● ${a} ≟ ${b} [no candidate] [source: ${label}]`);\n out(` ${sentence}`);\n return 0;\n }\n\n const g = api.describeGrounding(cand);\n if (args.flags.has('json')) {\n emitJson(\n {\n command: 'ground',\n source,\n anchor: { groundTruth: groundTruthAnchor(api, opts) },\n options: { ...opts },\n result: { a: cand.a, b: cand.b, verdict: cand.verdict, grounding: g },\n },\n ctx.write,\n );\n return 0;\n }\n\n out(`\\n● ${cand.a} ≟ ${cand.b} [${cand.verdict}] [source: ${label}]`);\n out(` ${groundTruthLine(groundTruthAnchor(api, opts))}`);\n out(EPISTEMICS + '\\n');\n out(` passed: ${g.passed.join(', ') || '—'}`);\n out(` gaps: ${g.gaps.join(', ') || '—'}`);\n out(\n ` ceiling: mechanism-tested ${g.mechanismTested} · data-tested ${g.dataTested} ` +\n '(permanent for a dimensional candidate — see `upt confront`)',\n );\n return 0;\n}\n\nexport const command: Command = {\n name: 'ground',\n aliases: [],\n flags: FLAGS,\n help: commandHelp(HELP, FLAGS),\n summary: 'Show which falsifiers ran on one discovery candidate, and which abstained.',\n example: 'upt ground landauer-erasure-energy gap-energy',\n group: 'discovery',\n run,\n};\n\nregisterCommand(command);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,eAAe,CAAC;AACvB,OAAO,YAAY,CAAC;AACpB,OAAO,eAAe,CAAC;AACvB,OAAO,gBAAgB,CAAC;AACxB,OAAO,cAAc,CAAC;AACtB,OAAO,iBAAiB,CAAC;AACzB,OAAO,cAAc,CAAC;AACtB,OAAO,iBAAiB,CAAC;AACzB,OAAO,eAAe,CAAC;AACvB,OAAO,cAAc,CAAC;AACtB,OAAO,eAAe,CAAC;AACvB,OAAO,WAAW,CAAC;AACnB,OAAO,aAAa,CAAC;AACrB,OAAO,UAAU,CAAC;AAClB,OAAO,eAAe,CAAC;AACvB,OAAO,eAAe,CAAC;AACvB,OAAO,WAAW,CAAC;AACnB,OAAO,eAAe,CAAC;AACvB,OAAO,aAAa,CAAC;AACrB,OAAO,YAAY,CAAC;AACpB,OAAO,aAAa,CAAC;AACrB,OAAO,WAAW,CAAC;AACnB,OAAO,YAAY,CAAC;AACpB,OAAO,YAAY,CAAC;AACpB,OAAO,aAAa,CAAC;AACrB,OAAO,eAAe,CAAC;AACvB,OAAO,aAAa,CAAC;AACrB,OAAO,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,eAAe,CAAC;AACvB,OAAO,YAAY,CAAC;AACpB,OAAO,eAAe,CAAC;AACvB,OAAO,gBAAgB,CAAC;AACxB,OAAO,cAAc,CAAC;AACtB,OAAO,iBAAiB,CAAC;AACzB,OAAO,cAAc,CAAC;AACtB,OAAO,iBAAiB,CAAC;AACzB,OAAO,eAAe,CAAC;AACvB,OAAO,cAAc,CAAC;AACtB,OAAO,eAAe,CAAC;AACvB,OAAO,WAAW,CAAC;AACnB,OAAO,aAAa,CAAC;AACrB,OAAO,UAAU,CAAC;AAClB,OAAO,eAAe,CAAC;AACvB,OAAO,eAAe,CAAC;AACvB,OAAO,WAAW,CAAC;AACnB,OAAO,eAAe,CAAC;AACvB,OAAO,aAAa,CAAC;AACrB,OAAO,YAAY,CAAC;AACpB,OAAO,aAAa,CAAC;AACrB,OAAO,WAAW,CAAC;AACnB,OAAO,YAAY,CAAC;AACpB,OAAO,YAAY,CAAC;AACpB,OAAO,aAAa,CAAC;AACrB,OAAO,eAAe,CAAC;AACvB,OAAO,aAAa,CAAC;AACrB,OAAO,eAAe,CAAC","sourcesContent":["/**\n * Side-effect barrel: importing this module registers every ported CLI\n * command (each command module calls `registerCommand` at load time).\n * `main.ts` imports this once so `runCli`'s dispatch body never needs to\n * change as commands are added.\n */\nimport './priority.js';\nimport './audit.js';\nimport './coverage.js';\nimport './canonical.js';\nimport './recover.js';\nimport './connectors.js';\nimport './predict.js';\nimport './candidates.js';\nimport './frontier.js';\nimport './explain.js';\nimport './symbolic.js';\nimport './eval.js';\nimport './derive.js';\nimport './map.js';\nimport './discover.js';\nimport './confront.js';\nimport './axes.js';\nimport './evaluate.js';\nimport './ground.js';\nimport './probe.js';\nimport './regime.js';\nimport './path.js';\nimport './atlas.js';\nimport './chain.js';\nimport './search.js';\nimport './retrieve.js';\nimport './metric.js';\nimport './testplan.js';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/map.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAS/E,OAAO,KAAK,EACV,UAAU,EAOX,MAAM,kBAAkB,CAAC;AAsI1B;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAazG;AA0mBD,eAAO,MAAM,OAAO,EAAE,OASrB,CAAC"}
1
+ {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/map.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAS/E,OAAO,KAAK,EACV,UAAU,EAOX,MAAM,kBAAkB,CAAC;AAmI1B;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CAazG;AAkmBD,eAAO,MAAM,OAAO,EAAE,OASrB,CAAC"}