universal-physics-tensor 0.45.2 → 0.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (548) hide show
  1. package/README.md +85 -66
  2. package/bin/upt.mjs +22 -22
  3. package/dist/atlas/applicability.d.ts +108 -0
  4. package/dist/atlas/applicability.d.ts.map +1 -0
  5. package/dist/atlas/applicability.js +301 -0
  6. package/dist/atlas/applicability.js.map +1 -0
  7. package/dist/atlas/association.d.ts +92 -0
  8. package/dist/atlas/association.d.ts.map +1 -0
  9. package/dist/atlas/association.js +112 -0
  10. package/dist/atlas/association.js.map +1 -0
  11. package/dist/atlas/benchmark/backend-shapes.d.ts +47 -0
  12. package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -0
  13. package/dist/atlas/benchmark/backend-shapes.js +58 -0
  14. package/dist/atlas/benchmark/backend-shapes.js.map +1 -0
  15. package/dist/atlas/benchmark/baselines.d.ts +64 -0
  16. package/dist/atlas/benchmark/baselines.d.ts.map +1 -0
  17. package/dist/atlas/benchmark/baselines.js +112 -0
  18. package/dist/atlas/benchmark/baselines.js.map +1 -0
  19. package/dist/atlas/benchmark/leakage.d.ts +56 -0
  20. package/dist/atlas/benchmark/leakage.d.ts.map +1 -0
  21. package/dist/atlas/benchmark/leakage.js +100 -0
  22. package/dist/atlas/benchmark/leakage.js.map +1 -0
  23. package/dist/atlas/benchmark/loader.d.ts +56 -0
  24. package/dist/atlas/benchmark/loader.d.ts.map +1 -0
  25. package/dist/atlas/benchmark/loader.js +104 -0
  26. package/dist/atlas/benchmark/loader.js.map +1 -0
  27. package/dist/atlas/benchmark/run-atlas.d.ts +72 -0
  28. package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -0
  29. package/dist/atlas/benchmark/run-atlas.js +210 -0
  30. package/dist/atlas/benchmark/run-atlas.js.map +1 -0
  31. package/dist/atlas/benchmark/stats.d.ts +90 -0
  32. package/dist/atlas/benchmark/stats.d.ts.map +1 -0
  33. package/dist/atlas/benchmark/stats.js +159 -0
  34. package/dist/atlas/benchmark/stats.js.map +1 -0
  35. package/dist/atlas/benchmark/study.d.ts +120 -0
  36. package/dist/atlas/benchmark/study.d.ts.map +1 -0
  37. package/dist/atlas/benchmark/study.js +192 -0
  38. package/dist/atlas/benchmark/study.js.map +1 -0
  39. package/dist/atlas/benchmark/types.d.ts +79 -0
  40. package/dist/atlas/benchmark/types.d.ts.map +1 -0
  41. package/dist/atlas/benchmark/types.js +46 -0
  42. package/dist/atlas/benchmark/types.js.map +1 -0
  43. package/dist/atlas/composition-table.d.ts +55 -0
  44. package/dist/atlas/composition-table.d.ts.map +1 -0
  45. package/dist/atlas/composition-table.js +133 -0
  46. package/dist/atlas/composition-table.js.map +1 -0
  47. package/dist/atlas/conventions.d.ts +63 -0
  48. package/dist/atlas/conventions.d.ts.map +1 -0
  49. package/dist/atlas/conventions.js +93 -0
  50. package/dist/atlas/conventions.js.map +1 -0
  51. package/dist/atlas/coverage.d.ts +93 -0
  52. package/dist/atlas/coverage.d.ts.map +1 -0
  53. package/dist/atlas/coverage.js +69 -0
  54. package/dist/atlas/coverage.js.map +1 -0
  55. package/dist/atlas/derivation.d.ts +137 -0
  56. package/dist/atlas/derivation.d.ts.map +1 -0
  57. package/dist/atlas/derivation.js +190 -0
  58. package/dist/atlas/derivation.js.map +1 -0
  59. package/dist/atlas/derive-evidence.d.ts +218 -0
  60. package/dist/atlas/derive-evidence.d.ts.map +1 -0
  61. package/dist/atlas/derive-evidence.js +225 -0
  62. package/dist/atlas/derive-evidence.js.map +1 -0
  63. package/dist/atlas/diffusion/bridges-closure.d.ts +63 -0
  64. package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -0
  65. package/dist/atlas/diffusion/bridges-closure.js +350 -0
  66. package/dist/atlas/diffusion/bridges-closure.js.map +1 -0
  67. package/dist/atlas/diffusion/bridges.d.ts +36 -0
  68. package/dist/atlas/diffusion/bridges.d.ts.map +1 -0
  69. package/dist/atlas/diffusion/bridges.js +226 -0
  70. package/dist/atlas/diffusion/bridges.js.map +1 -0
  71. package/dist/atlas/diffusion/dimensions.d.ts +21 -0
  72. package/dist/atlas/diffusion/dimensions.d.ts.map +1 -0
  73. package/dist/atlas/diffusion/dimensions.js +21 -0
  74. package/dist/atlas/diffusion/dimensions.js.map +1 -0
  75. package/dist/atlas/diffusion/index.d.ts +16 -0
  76. package/dist/atlas/diffusion/index.d.ts.map +1 -0
  77. package/dist/atlas/diffusion/index.js +23 -0
  78. package/dist/atlas/diffusion/index.js.map +1 -0
  79. package/dist/atlas/diffusion/models.d.ts +24 -0
  80. package/dist/atlas/diffusion/models.d.ts.map +1 -0
  81. package/dist/atlas/diffusion/models.js +139 -0
  82. package/dist/atlas/diffusion/models.js.map +1 -0
  83. package/dist/atlas/diffusion/numerics.d.ts +181 -0
  84. package/dist/atlas/diffusion/numerics.d.ts.map +1 -0
  85. package/dist/atlas/diffusion/numerics.js +251 -0
  86. package/dist/atlas/diffusion/numerics.js.map +1 -0
  87. package/dist/atlas/error-algebra.d.ts +52 -0
  88. package/dist/atlas/error-algebra.d.ts.map +1 -0
  89. package/dist/atlas/error-algebra.js +55 -0
  90. package/dist/atlas/error-algebra.js.map +1 -0
  91. package/dist/atlas/export.d.ts +48 -0
  92. package/dist/atlas/export.d.ts.map +1 -0
  93. package/dist/atlas/export.js +106 -0
  94. package/dist/atlas/export.js.map +1 -0
  95. package/dist/atlas/families.d.ts +14 -0
  96. package/dist/atlas/families.d.ts.map +1 -0
  97. package/dist/atlas/families.js +20 -0
  98. package/dist/atlas/families.js.map +1 -0
  99. package/dist/atlas/index.d.ts +90 -0
  100. package/dist/atlas/index.d.ts.map +1 -0
  101. package/dist/atlas/index.js +69 -0
  102. package/dist/atlas/index.js.map +1 -0
  103. package/dist/atlas/link-prediction.d.ts +71 -0
  104. package/dist/atlas/link-prediction.d.ts.map +1 -0
  105. package/dist/atlas/link-prediction.js +128 -0
  106. package/dist/atlas/link-prediction.js.map +1 -0
  107. package/dist/atlas/model.d.ts +70 -0
  108. package/dist/atlas/model.d.ts.map +1 -0
  109. package/dist/atlas/model.js +26 -0
  110. package/dist/atlas/model.js.map +1 -0
  111. package/dist/atlas/oscillators/bridges-coarse.d.ts +71 -0
  112. package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -0
  113. package/dist/atlas/oscillators/bridges-coarse.js +146 -0
  114. package/dist/atlas/oscillators/bridges-coarse.js.map +1 -0
  115. package/dist/atlas/oscillators/bridges-exact.d.ts +70 -0
  116. package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -0
  117. package/dist/atlas/oscillators/bridges-exact.js +230 -0
  118. package/dist/atlas/oscillators/bridges-exact.js.map +1 -0
  119. package/dist/atlas/oscillators/bridges-limits.d.ts +118 -0
  120. package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -0
  121. package/dist/atlas/oscillators/bridges-limits.js +345 -0
  122. package/dist/atlas/oscillators/bridges-limits.js.map +1 -0
  123. package/dist/atlas/oscillators/dimensions.d.ts +34 -0
  124. package/dist/atlas/oscillators/dimensions.d.ts.map +1 -0
  125. package/dist/atlas/oscillators/dimensions.js +34 -0
  126. package/dist/atlas/oscillators/dimensions.js.map +1 -0
  127. package/dist/atlas/oscillators/index.d.ts +38 -0
  128. package/dist/atlas/oscillators/index.d.ts.map +1 -0
  129. package/dist/atlas/oscillators/index.js +37 -0
  130. package/dist/atlas/oscillators/index.js.map +1 -0
  131. package/dist/atlas/oscillators/models.d.ts +25 -0
  132. package/dist/atlas/oscillators/models.d.ts.map +1 -0
  133. package/dist/atlas/oscillators/models.js +160 -0
  134. package/dist/atlas/oscillators/models.js.map +1 -0
  135. package/dist/atlas/oscillators/rejections.d.ts +21 -0
  136. package/dist/atlas/oscillators/rejections.d.ts.map +1 -0
  137. package/dist/atlas/oscillators/rejections.js +54 -0
  138. package/dist/atlas/oscillators/rejections.js.map +1 -0
  139. package/dist/atlas/path-bound.d.ts +143 -0
  140. package/dist/atlas/path-bound.d.ts.map +1 -0
  141. package/dist/atlas/path-bound.js +268 -0
  142. package/dist/atlas/path-bound.js.map +1 -0
  143. package/dist/atlas/poster/associations.d.ts +66 -0
  144. package/dist/atlas/poster/associations.d.ts.map +1 -0
  145. package/dist/atlas/poster/associations.js +90 -0
  146. package/dist/atlas/poster/associations.js.map +1 -0
  147. package/dist/atlas/poster/derivations.d.ts +156 -0
  148. package/dist/atlas/poster/derivations.d.ts.map +1 -0
  149. package/dist/atlas/poster/derivations.js +430 -0
  150. package/dist/atlas/poster/derivations.js.map +1 -0
  151. package/dist/atlas/poster/statements.d.ts +198 -0
  152. package/dist/atlas/poster/statements.d.ts.map +1 -0
  153. package/dist/atlas/poster/statements.js +365 -0
  154. package/dist/atlas/poster/statements.js.map +1 -0
  155. package/dist/atlas/public.d.ts +26 -0
  156. package/dist/atlas/public.d.ts.map +1 -0
  157. package/dist/atlas/public.js +21 -0
  158. package/dist/atlas/public.js.map +1 -0
  159. package/dist/atlas/regime.d.ts +171 -0
  160. package/dist/atlas/regime.d.ts.map +1 -0
  161. package/dist/atlas/regime.js +309 -0
  162. package/dist/atlas/regime.js.map +1 -0
  163. package/dist/atlas/serialize.d.ts +50 -0
  164. package/dist/atlas/serialize.d.ts.map +1 -0
  165. package/dist/atlas/serialize.js +180 -0
  166. package/dist/atlas/serialize.js.map +1 -0
  167. package/dist/atlas/statement.d.ts +165 -0
  168. package/dist/atlas/statement.d.ts.map +1 -0
  169. package/dist/atlas/statement.js +176 -0
  170. package/dist/atlas/statement.js.map +1 -0
  171. package/dist/atlas/types.d.ts +325 -0
  172. package/dist/atlas/types.d.ts.map +1 -0
  173. package/dist/atlas/types.js +61 -0
  174. package/dist/atlas/types.js.map +1 -0
  175. package/dist/atlas/waves/bridges-closure.d.ts +39 -0
  176. package/dist/atlas/waves/bridges-closure.d.ts.map +1 -0
  177. package/dist/atlas/waves/bridges-closure.js +226 -0
  178. package/dist/atlas/waves/bridges-closure.js.map +1 -0
  179. package/dist/atlas/waves/bridges.d.ts +49 -0
  180. package/dist/atlas/waves/bridges.d.ts.map +1 -0
  181. package/dist/atlas/waves/bridges.js +266 -0
  182. package/dist/atlas/waves/bridges.js.map +1 -0
  183. package/dist/atlas/waves/index.d.ts +16 -0
  184. package/dist/atlas/waves/index.d.ts.map +1 -0
  185. package/dist/atlas/waves/index.js +23 -0
  186. package/dist/atlas/waves/index.js.map +1 -0
  187. package/dist/atlas/waves/models.d.ts +29 -0
  188. package/dist/atlas/waves/models.d.ts.map +1 -0
  189. package/dist/atlas/waves/models.js +127 -0
  190. package/dist/atlas/waves/models.js.map +1 -0
  191. package/dist/atlas/waves/numerics.d.ts +149 -0
  192. package/dist/atlas/waves/numerics.d.ts.map +1 -0
  193. package/dist/atlas/waves/numerics.js +218 -0
  194. package/dist/atlas/waves/numerics.js.map +1 -0
  195. package/dist/atlas/witness-artifact.d.ts +65 -0
  196. package/dist/atlas/witness-artifact.d.ts.map +1 -0
  197. package/dist/atlas/witness-artifact.js +78 -0
  198. package/dist/atlas/witness-artifact.js.map +1 -0
  199. package/dist/atlas/witness-numeric.d.ts +81 -0
  200. package/dist/atlas/witness-numeric.d.ts.map +1 -0
  201. package/dist/atlas/witness-numeric.js +105 -0
  202. package/dist/atlas/witness-numeric.js.map +1 -0
  203. package/dist/atlas/witness-result.d.ts +77 -0
  204. package/dist/atlas/witness-result.d.ts.map +1 -0
  205. package/dist/atlas/witness-result.js +39 -0
  206. package/dist/atlas/witness-result.js.map +1 -0
  207. package/dist/atlas/witness-specs.d.ts +110 -0
  208. package/dist/atlas/witness-specs.d.ts.map +1 -0
  209. package/dist/atlas/witness-specs.js +372 -0
  210. package/dist/atlas/witness-specs.js.map +1 -0
  211. package/dist/atlas/witness-symbolic.d.ts +79 -0
  212. package/dist/atlas/witness-symbolic.d.ts.map +1 -0
  213. package/dist/atlas/witness-symbolic.js +140 -0
  214. package/dist/atlas/witness-symbolic.js.map +1 -0
  215. package/dist/atlas/witnesses/quantum-support.d.ts +50 -0
  216. package/dist/atlas/witnesses/quantum-support.d.ts.map +1 -0
  217. package/dist/atlas/witnesses/quantum-support.js +48 -0
  218. package/dist/atlas/witnesses/quantum-support.js.map +1 -0
  219. package/dist/bridges/be11-decoherence-confrontation.js.map +1 -1
  220. package/dist/bridges/be21-kss-confrontation.js.map +1 -1
  221. package/dist/bridges/be23-planckian-confrontation.js.map +1 -1
  222. package/dist/bridges/be35-bootstrap-confrontation.js.map +1 -1
  223. package/dist/bridges/be36-gw170817-confrontation.js.map +1 -1
  224. package/dist/bridges/be37-cassini-confrontation.js.map +1 -1
  225. package/dist/bridges/be48-collapse-confrontation.js.map +1 -1
  226. package/dist/bridges/be51-lensing-confrontation.d.ts.map +1 -1
  227. package/dist/bridges/be51-lensing-confrontation.js +5 -3
  228. package/dist/bridges/be51-lensing-confrontation.js.map +1 -1
  229. package/dist/bridges/be52-mercury-confrontation.d.ts.map +1 -1
  230. package/dist/bridges/be52-mercury-confrontation.js +4 -1
  231. package/dist/bridges/be52-mercury-confrontation.js.map +1 -1
  232. package/dist/bridges/be55-quantum-hall-confrontation.js.map +1 -1
  233. package/dist/bridges/be56-casimir-confrontation.js.map +1 -1
  234. package/dist/bridges/be58-johnson-nyquist-confrontation.js.map +1 -1
  235. package/dist/bridges/be59-ac-josephson-confrontation.js.map +1 -1
  236. package/dist/bridges/be60-fractional-qh-confrontation.js.map +1 -1
  237. package/dist/bridges/be61-wiedemann-franz-confrontation.js.map +1 -1
  238. package/dist/bridges/be62-bcs-gap-confrontation.js.map +1 -1
  239. package/dist/bridges/be63-chandrasekhar-mass-confrontation.js.map +1 -1
  240. package/dist/bridges/be64-eddington-luminosity-confrontation.js.map +1 -1
  241. package/dist/bridges/be65-jeans-mass-confrontation.js.map +1 -1
  242. package/dist/bridges/bridge-equations.d.ts +2 -2
  243. package/dist/bridges/bridge-equations.d.ts.map +1 -1
  244. package/dist/bridges/bridge-equations.js +2 -2
  245. package/dist/bridges/bridge-equations.js.map +1 -1
  246. package/dist/bridges/catalog-adapter.d.ts.map +1 -1
  247. package/dist/bridges/catalog-adapter.js.map +1 -1
  248. package/dist/bridges/confrontations.d.ts.map +1 -1
  249. package/dist/bridges/confrontations.js +7 -0
  250. package/dist/bridges/confrontations.js.map +1 -1
  251. package/dist/bridges/equations/_be-helpers.d.ts +2 -2
  252. package/dist/bridges/equations/_be-helpers.js +2 -2
  253. package/dist/bridges/equations/be-20-vacuum-energy.js.map +1 -1
  254. package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts +59 -72
  255. package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts.map +1 -1
  256. package/dist/bridges/equations/be-35-conformal-bootstrap.js +66 -98
  257. package/dist/bridges/equations/be-35-conformal-bootstrap.js.map +1 -1
  258. package/dist/bridges/equations/be-48-grw-localization.d.ts +9 -8
  259. package/dist/bridges/equations/be-48-grw-localization.d.ts.map +1 -1
  260. package/dist/bridges/equations/be-48-grw-localization.js +9 -8
  261. package/dist/bridges/equations/be-48-grw-localization.js.map +1 -1
  262. package/dist/bridges/gravitational-lensing.d.ts +10 -0
  263. package/dist/bridges/gravitational-lensing.d.ts.map +1 -1
  264. package/dist/bridges/gravitational-lensing.js.map +1 -1
  265. package/dist/bridges/index.d.ts +125 -7
  266. package/dist/bridges/index.d.ts.map +1 -1
  267. package/dist/bridges/index.js +483 -20
  268. package/dist/bridges/index.js.map +1 -1
  269. package/dist/bridges/observations/types.d.ts +14 -0
  270. package/dist/bridges/observations/types.d.ts.map +1 -1
  271. package/dist/bridges/observations/types.js.map +1 -1
  272. package/dist/bridges/perihelion-precession.d.ts +10 -0
  273. package/dist/bridges/perihelion-precession.d.ts.map +1 -1
  274. package/dist/bridges/perihelion-precession.js.map +1 -1
  275. package/dist/bridges/rhs-registry.js +2 -2
  276. package/dist/canonical/canonical-equation.d.ts +15 -0
  277. package/dist/canonical/canonical-equation.d.ts.map +1 -1
  278. package/dist/canonical/entries/_l1-build.d.ts +1 -1
  279. package/dist/canonical/entries/_l1-build.d.ts.map +1 -1
  280. package/dist/canonical/entries/atomic.d.ts.map +1 -1
  281. package/dist/canonical/entries/atomic.js +23 -0
  282. package/dist/canonical/entries/atomic.js.map +1 -1
  283. package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
  284. package/dist/canonical/entries/nonmonomial.js +93 -0
  285. package/dist/canonical/entries/nonmonomial.js.map +1 -1
  286. package/dist/canonical/normal-form.js.map +1 -1
  287. package/dist/canonical/residual.d.ts +28 -0
  288. package/dist/canonical/residual.d.ts.map +1 -0
  289. package/dist/canonical/residual.js +31 -0
  290. package/dist/canonical/residual.js.map +1 -0
  291. package/dist/cli/command.d.ts +8 -0
  292. package/dist/cli/command.d.ts.map +1 -1
  293. package/dist/cli/command.js +10 -0
  294. package/dist/cli/command.js.map +1 -1
  295. package/dist/cli/commands/atlas.d.ts +3 -0
  296. package/dist/cli/commands/atlas.d.ts.map +1 -0
  297. package/dist/cli/commands/atlas.js +158 -0
  298. package/dist/cli/commands/atlas.js.map +1 -0
  299. package/dist/cli/commands/audit.js +3 -3
  300. package/dist/cli/commands/candidates.js +3 -3
  301. package/dist/cli/commands/canonical.js +3 -3
  302. package/dist/cli/commands/confront.d.ts.map +1 -1
  303. package/dist/cli/commands/confront.js +8 -1
  304. package/dist/cli/commands/confront.js.map +1 -1
  305. package/dist/cli/commands/connectors.js +7 -7
  306. package/dist/cli/commands/coverage.js +3 -3
  307. package/dist/cli/commands/derive.d.ts.map +1 -1
  308. package/dist/cli/commands/derive.js +40 -9
  309. package/dist/cli/commands/derive.js.map +1 -1
  310. package/dist/cli/commands/discover.d.ts.map +1 -1
  311. package/dist/cli/commands/discover.js +46 -27
  312. package/dist/cli/commands/discover.js.map +1 -1
  313. package/dist/cli/commands/evaluate.d.ts.map +1 -1
  314. package/dist/cli/commands/evaluate.js +2 -1
  315. package/dist/cli/commands/evaluate.js.map +1 -1
  316. package/dist/cli/commands/explain.d.ts.map +1 -1
  317. package/dist/cli/commands/explain.js +19 -6
  318. package/dist/cli/commands/explain.js.map +1 -1
  319. package/dist/cli/commands/index.d.ts +3 -0
  320. package/dist/cli/commands/index.d.ts.map +1 -1
  321. package/dist/cli/commands/index.js +3 -0
  322. package/dist/cli/commands/index.js.map +1 -1
  323. package/dist/cli/commands/map.d.ts.map +1 -1
  324. package/dist/cli/commands/map.js +187 -36
  325. package/dist/cli/commands/map.js.map +1 -1
  326. package/dist/cli/commands/path.d.ts +3 -0
  327. package/dist/cli/commands/path.d.ts.map +1 -0
  328. package/dist/cli/commands/path.js +228 -0
  329. package/dist/cli/commands/path.js.map +1 -0
  330. package/dist/cli/commands/predict.js +4 -4
  331. package/dist/cli/commands/priority.js +2 -2
  332. package/dist/cli/commands/probe.d.ts.map +1 -1
  333. package/dist/cli/commands/probe.js +59 -2
  334. package/dist/cli/commands/probe.js.map +1 -1
  335. package/dist/cli/commands/recover.d.ts.map +1 -1
  336. package/dist/cli/commands/recover.js +25 -6
  337. package/dist/cli/commands/recover.js.map +1 -1
  338. package/dist/cli/commands/regime.d.ts +41 -0
  339. package/dist/cli/commands/regime.d.ts.map +1 -0
  340. package/dist/cli/commands/regime.js +243 -0
  341. package/dist/cli/commands/regime.js.map +1 -0
  342. package/dist/cli/commands/symbolic.js +5 -5
  343. package/dist/cli/errors.d.ts +13 -1
  344. package/dist/cli/errors.d.ts.map +1 -1
  345. package/dist/cli/errors.js +13 -1
  346. package/dist/cli/errors.js.map +1 -1
  347. package/dist/cli/graphs.d.ts.map +1 -1
  348. package/dist/cli/graphs.js +5 -1
  349. package/dist/cli/graphs.js.map +1 -1
  350. package/dist/cli/main.d.ts.map +1 -1
  351. package/dist/cli/main.js +29 -2
  352. package/dist/cli/main.js.map +1 -1
  353. package/dist/cli/output.d.ts +6 -1
  354. package/dist/cli/output.d.ts.map +1 -1
  355. package/dist/cli/output.js.map +1 -1
  356. package/dist/cli/version.js.map +1 -1
  357. package/dist/cli-api.d.ts +21 -1
  358. package/dist/cli-api.d.ts.map +1 -1
  359. package/dist/cli-api.js +23 -1
  360. package/dist/cli-api.js.map +1 -1
  361. package/dist/composition/axis-audit.js.map +1 -1
  362. package/dist/composition/bridge-prediction.d.ts.map +1 -1
  363. package/dist/composition/bridge-prediction.js +0 -0
  364. package/dist/composition/bridge-prediction.js.map +1 -1
  365. package/dist/composition/canonical-compare.d.ts +65 -0
  366. package/dist/composition/canonical-compare.d.ts.map +1 -0
  367. package/dist/composition/canonical-compare.js +237 -0
  368. package/dist/composition/canonical-compare.js.map +1 -0
  369. package/dist/composition/canonical-graph.d.ts +2 -2
  370. package/dist/composition/canonical-graph.js +2 -2
  371. package/dist/composition/canonical-graph.js.map +1 -1
  372. package/dist/composition/canonical-prefactors.d.ts +32 -0
  373. package/dist/composition/canonical-prefactors.d.ts.map +1 -0
  374. package/dist/composition/canonical-prefactors.js +80 -0
  375. package/dist/composition/canonical-prefactors.js.map +1 -0
  376. package/dist/composition/compose-symbolic.d.ts.map +1 -1
  377. package/dist/composition/compose-symbolic.js.map +1 -1
  378. package/dist/composition/compose.d.ts.map +1 -1
  379. package/dist/composition/compose.js +80 -1
  380. package/dist/composition/compose.js.map +1 -1
  381. package/dist/composition/consequence.js.map +1 -1
  382. package/dist/composition/discovery.d.ts +20 -3
  383. package/dist/composition/discovery.d.ts.map +1 -1
  384. package/dist/composition/discovery.js +30 -4
  385. package/dist/composition/discovery.js.map +1 -1
  386. package/dist/composition/edge.d.ts +64 -0
  387. package/dist/composition/edge.d.ts.map +1 -1
  388. package/dist/composition/edge.js +29 -0
  389. package/dist/composition/edge.js.map +1 -1
  390. package/dist/composition/edges/calibration.d.ts.map +1 -1
  391. package/dist/composition/edges/calibration.js +46 -0
  392. package/dist/composition/edges/calibration.js.map +1 -1
  393. package/dist/composition/edges/catalog-quantum.d.ts.map +1 -1
  394. package/dist/composition/edges/catalog-quantum.js +9 -0
  395. package/dist/composition/edges/catalog-quantum.js.map +1 -1
  396. package/dist/composition/edges/catalog-tranche.d.ts.map +1 -1
  397. package/dist/composition/edges/catalog-tranche.js +18 -0
  398. package/dist/composition/edges/catalog-tranche.js.map +1 -1
  399. package/dist/composition/enumerate.js.map +1 -1
  400. package/dist/composition/explain.d.ts +9 -1
  401. package/dist/composition/explain.d.ts.map +1 -1
  402. package/dist/composition/explain.js +34 -8
  403. package/dist/composition/explain.js.map +1 -1
  404. package/dist/composition/expr-eval.d.ts.map +1 -1
  405. package/dist/composition/expr-eval.js.map +1 -1
  406. package/dist/composition/expr-simplify.d.ts +13 -0
  407. package/dist/composition/expr-simplify.d.ts.map +1 -1
  408. package/dist/composition/expr-simplify.js +25 -0
  409. package/dist/composition/expr-simplify.js.map +1 -1
  410. package/dist/composition/expr-subst.js.map +1 -1
  411. package/dist/composition/graph-viz-svg.d.ts.map +1 -1
  412. package/dist/composition/graph-viz.d.ts +118 -1
  413. package/dist/composition/graph-viz.d.ts.map +1 -1
  414. package/dist/composition/graph-viz.js +189 -6
  415. package/dist/composition/graph-viz.js.map +1 -1
  416. package/dist/composition/grounding.d.ts.map +1 -1
  417. package/dist/composition/grounding.js +6 -1
  418. package/dist/composition/grounding.js.map +1 -1
  419. package/dist/composition/identifiability.js.map +1 -1
  420. package/dist/composition/index.d.ts +4 -2
  421. package/dist/composition/index.d.ts.map +1 -1
  422. package/dist/composition/index.js +2 -1
  423. package/dist/composition/index.js.map +1 -1
  424. package/dist/composition/poster-source.d.ts +153 -0
  425. package/dist/composition/poster-source.d.ts.map +1 -0
  426. package/dist/composition/poster-source.js +183 -0
  427. package/dist/composition/poster-source.js.map +1 -0
  428. package/dist/composition/probe/backend-protocol.d.ts +34 -1
  429. package/dist/composition/probe/backend-protocol.d.ts.map +1 -1
  430. package/dist/composition/probe/backend-protocol.js +9 -2
  431. package/dist/composition/probe/backend-protocol.js.map +1 -1
  432. package/dist/composition/probe/candidate-store.d.ts.map +1 -1
  433. package/dist/composition/probe/corpus.d.ts +12 -0
  434. package/dist/composition/probe/corpus.d.ts.map +1 -1
  435. package/dist/composition/probe/corpus.js +100 -0
  436. package/dist/composition/probe/corpus.js.map +1 -1
  437. package/dist/composition/probe/generator.d.ts +14 -0
  438. package/dist/composition/probe/generator.d.ts.map +1 -1
  439. package/dist/composition/probe/generator.js +24 -2
  440. package/dist/composition/probe/generator.js.map +1 -1
  441. package/dist/composition/probe/limits.js.map +1 -1
  442. package/dist/composition/probe/pipeline.d.ts +5 -0
  443. package/dist/composition/probe/pipeline.d.ts.map +1 -1
  444. package/dist/composition/probe/pipeline.js +20 -3
  445. package/dist/composition/probe/pipeline.js.map +1 -1
  446. package/dist/composition/probe/problem.js.map +1 -1
  447. package/dist/composition/probe/report.d.ts.map +1 -1
  448. package/dist/composition/probe/report.js +2 -0
  449. package/dist/composition/probe/report.js.map +1 -1
  450. package/dist/composition/probe/residual.d.ts.map +1 -1
  451. package/dist/composition/probe/residual.js.map +1 -1
  452. package/dist/composition/probe/search-budget.js.map +1 -1
  453. package/dist/composition/proposed-bridges.d.ts +2 -2
  454. package/dist/composition/proposed-bridges.d.ts.map +1 -1
  455. package/dist/composition/proposed-bridges.js +1 -1
  456. package/dist/composition/proposed-bridges.js.map +1 -1
  457. package/dist/composition/retrodiction.js.map +1 -1
  458. package/dist/composition/uncertainty.d.ts +52 -2
  459. package/dist/composition/uncertainty.d.ts.map +1 -1
  460. package/dist/composition/uncertainty.js +38 -2
  461. package/dist/composition/uncertainty.js.map +1 -1
  462. package/dist/composition/user-equation.d.ts.map +1 -1
  463. package/dist/core/constants.d.ts +13 -0
  464. package/dist/core/constants.d.ts.map +1 -1
  465. package/dist/core/constants.js +13 -0
  466. package/dist/core/constants.js.map +1 -1
  467. package/dist/core/flux-rules.d.ts.map +1 -1
  468. package/dist/core/flux-rules.js.map +1 -1
  469. package/dist/core/labeled-tensor.d.ts.map +1 -1
  470. package/dist/core/regime-registry.d.ts.map +1 -1
  471. package/dist/core/regime-rule-install.js.map +1 -1
  472. package/dist/core/tensor.d.ts.map +1 -1
  473. package/dist/core/tensor.js.map +1 -1
  474. package/dist/core/types.d.ts.map +1 -1
  475. package/dist/diff/bridge-ast-gradient.js.map +1 -1
  476. package/dist/diff/bridge-gradient.d.ts +1 -1
  477. package/dist/diff/bridge-gradient.js +1 -1
  478. package/dist/dimensional/ast-types.d.ts +31 -1
  479. package/dist/dimensional/ast-types.d.ts.map +1 -1
  480. package/dist/dimensional/bridge-check.d.ts +1 -1
  481. package/dist/dimensional/bridge-check.js +1 -1
  482. package/dist/dimensional/buckingham.d.ts.map +1 -1
  483. package/dist/dimensional/connection.d.ts +2 -0
  484. package/dist/dimensional/connection.d.ts.map +1 -1
  485. package/dist/dimensional/connection.js +2 -0
  486. package/dist/dimensional/connection.js.map +1 -1
  487. package/dist/dimensional/curvature-composite.d.ts +5 -3
  488. package/dist/dimensional/curvature-composite.d.ts.map +1 -1
  489. package/dist/dimensional/curvature-composite.js +1 -0
  490. package/dist/dimensional/curvature-composite.js.map +1 -1
  491. package/dist/dimensional/curvature-invariants.d.ts +2 -0
  492. package/dist/dimensional/curvature-invariants.d.ts.map +1 -1
  493. package/dist/dimensional/curvature-invariants.js +2 -0
  494. package/dist/dimensional/curvature-invariants.js.map +1 -1
  495. package/dist/dimensional/dimension-spec.d.ts.map +1 -1
  496. package/dist/dimensional/einstein-equation.d.ts +3 -3
  497. package/dist/dimensional/einstein-equation.js +3 -3
  498. package/dist/dimensional/errors.d.ts.map +1 -1
  499. package/dist/dimensional/metric.d.ts +5 -2
  500. package/dist/dimensional/metric.d.ts.map +1 -1
  501. package/dist/dimensional/metric.js +5 -2
  502. package/dist/dimensional/metric.js.map +1 -1
  503. package/dist/dimensional/tensor-trace.js.map +1 -1
  504. package/dist/dimensional/validator-registry.js.map +1 -1
  505. package/dist/dimensional/validator.d.ts +3 -2
  506. package/dist/dimensional/validator.d.ts.map +1 -1
  507. package/dist/dimensional/validator.js +23 -4
  508. package/dist/dimensional/validator.js.map +1 -1
  509. package/dist/index.d.ts +4 -3
  510. package/dist/index.d.ts.map +1 -1
  511. package/dist/index.js +4 -1
  512. package/dist/index.js.map +1 -1
  513. package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
  514. package/dist/numerical/curvature-lowering-helpers.js +104 -0
  515. package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
  516. package/dist/numerical/errors.d.ts.map +1 -1
  517. package/dist/numerical/errors.js.map +1 -1
  518. package/dist/numerical/float64-engine.d.ts.map +1 -1
  519. package/dist/numerical/float64-engine.js +51 -24
  520. package/dist/numerical/float64-engine.js.map +1 -1
  521. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  522. package/dist/numerical/formula-dimension.js.map +1 -1
  523. package/dist/numerical/formula.d.ts.map +1 -1
  524. package/dist/numerical/formula.js.map +1 -1
  525. package/dist/numerical/geometrized.d.ts.map +1 -1
  526. package/dist/numerical/gl4-integrator.d.ts +3 -3
  527. package/dist/numerical/gl4-integrator.js +3 -3
  528. package/dist/numerical/killing.d.ts +47 -5
  529. package/dist/numerical/killing.d.ts.map +1 -1
  530. package/dist/numerical/killing.js +41 -3
  531. package/dist/numerical/killing.js.map +1 -1
  532. package/dist/numerical/klein-gordon.d.ts +2 -2
  533. package/dist/numerical/klein-gordon.js +2 -2
  534. package/dist/numerical/lowering.d.ts +2 -2
  535. package/dist/numerical/lowering.d.ts.map +1 -1
  536. package/dist/numerical/lowering.js +5 -3
  537. package/dist/numerical/lowering.js.map +1 -1
  538. package/dist/numerical/mathts-engine.d.ts.map +1 -1
  539. package/dist/numerical/mathts-engine.js.map +1 -1
  540. package/dist/numerical/metric-inverse.js.map +1 -1
  541. package/dist/numerical/perihelion-finder.d.ts +15 -13
  542. package/dist/numerical/perihelion-finder.d.ts.map +1 -1
  543. package/dist/numerical/perihelion-finder.js +15 -13
  544. package/dist/numerical/perihelion-finder.js.map +1 -1
  545. package/dist/numerical/weyl-lowering.d.ts.map +1 -1
  546. package/dist/numerical/weyl-lowering.js +90 -40
  547. package/dist/numerical/weyl-lowering.js.map +1 -1
  548. package/package.json +163 -104
@@ -16,7 +16,7 @@ import { writeFileSync } from 'node:fs';
16
16
  import { registerCommand } from '../command.js';
17
17
  import { resolveGraph } from '../graphs.js';
18
18
  import { emitJson } from '../output.js';
19
- import { UsageError, CliError } from '../errors.js';
19
+ import { UsageError, CliError, EXIT_CHECK_FAILED } from '../errors.js';
20
20
  import { parseDiscoveryOpts } from './_discovery-opts.js';
21
21
  const FLAGS = [
22
22
  { name: '--source', valueStyle: 'attached' },
@@ -25,32 +25,88 @@ const FLAGS = [
25
25
  { name: '--max-orders', valueStyle: 'attached' },
26
26
  { name: '--anchor', valueStyle: 'attached', repeatable: true },
27
27
  { name: '--proposed', valueStyle: 'none' },
28
+ { name: '--relation', valueStyle: 'attached' },
29
+ { name: '--evidence', valueStyle: 'attached' },
28
30
  // optionalValue: a bare trailing --equation stores '' so the empty-check in
29
31
  // run() owns the diagnostic (old-CLI fidelity: bin/upt.mjs did `a[i+1] ?? ''`
30
32
  // and let mapCmd emit `upt: --equation requires "TARGET = EXPR"`, exit 2).
31
33
  { name: '--equation', valueStyle: 'either', optionalValue: true },
32
34
  { name: '--json', valueStyle: 'none' },
33
35
  ];
34
- const HELP = `upt map [--source=catalog|canonical|both] [--format=text|mermaid|dot|svg]
35
- [--proposed] [--out=PATH] [--equation "TARGET = EXPR"]
36
- Map how the equations LINK: connected components (clusters) of the
37
- graph by shared quantities, the anchored core, the link hubs, and
38
- the isolated tail.
39
- --source defaults to 'both' (catalog + canonical) — a pure
40
- connectivity question gets the honest, all-known-physics answer by
41
- default; --source=catalog shows the bridge-catalog view alone.
42
- --format=mermaid|dot|svg emits the VISUAL map (quantities = nodes,
43
- equations = junctions colored by status, one subgraph per component).
44
- text (default) is the unchanged linkage printout. svg renders the dot
45
- layout via the optional @viz-js/viz peer (npm i @viz-js/viz; or pipe
46
- dot through "dot -Tsvg"). --proposed overlays the unadjudicated
47
- identity-consequence relations (gray dashed). --out writes to a file
48
- (default stdout).
49
- --equation "TARGET = EXPR" injects YOUR OWN equation as a violet 'user'
50
- node and reports where it lands (which cluster / shared quantities), with
51
- a "did you mean?" hint for names that miss the catalog vocabulary. Use
52
- underscores for multi-word quantities (photon_energy -> photon-energy).
53
- e.g. upt map --equation "period = 2*pi*sqrt(length/gravity)"`;
36
+ const HELP = `upt map [--source=catalog|canonical|both|poster] [--format=text|mermaid|dot|svg]
37
+ [--proposed] [--out=PATH] [--equation "TARGET = EXPR"]
38
+ Map how the equations LINK: connected components (clusters) of the
39
+ graph by shared quantities, the anchored core, the link hubs, and
40
+ the isolated tail.
41
+ --source defaults to 'both' (catalog + canonical) — a pure
42
+ connectivity question gets the honest, all-known-physics answer by
43
+ default; --source=catalog shows the bridge-catalog view alone.
44
+ --source=poster draws the ATLAS PHASE 3 POSTER INDEX instead of the
45
+ bridge graph: nodes are STATEMENTS (including the hidden supporting
46
+ nodes — action principle, Noether, the full Maxwell system, the
47
+ Lorentz group, the central limit theorem) and boxes are DERIVATIONS
48
+ (premises in, conclusion out). Associations are drawn DASHED because
49
+ they assert no relation at all. It also reports any premise naming a
50
+ statement the registry does not define, and says so out loud when the
51
+ index is not registered in this build rather than printing an empty
52
+ map as an answer.
53
+ --format=mermaid|dot|svg emits the VISUAL map (quantities = nodes,
54
+ equations = junctions colored by status, one subgraph per component).
55
+ text (default) is the unchanged linkage printout. svg renders the dot
56
+ layout via the optional @viz-js/viz peer (npm i @viz-js/viz; or pipe
57
+ dot through "dot -Tsvg"). --proposed overlays the unadjudicated
58
+ identity-consequence relations (gray dashed). --out writes to a file
59
+ (default stdout).
60
+ --equation "TARGET = EXPR" injects YOUR OWN equation as a violet 'user'
61
+ node and reports where it lands (which cluster / shared quantities), with
62
+ a "did you mean?" hint for names that miss the catalog vocabulary. Use
63
+ underscores for multi-word quantities (photon_energy -> photon-energy).
64
+ --relation=TYPE keeps only edges whose recorded Atlas relation is that
65
+ type; --evidence=TAG keeps only edges whose evidence set, DERIVED from
66
+ the catalog row at read time, contains that tag.
67
+ ⚠ Filtering changes what a missing overlay means: unfiltered, an edge
68
+ with no overlay is KEPT; filtered, it is DROPPED, because nothing shows
69
+ it satisfies the filter. Those drops are counted and printed separately
70
+ from the edges that simply did not match — an unaudited graph must not
71
+ render as a complete answer.
72
+ e.g. upt map --relation=derivation --source=both`;
73
+ const RELATION_TYPES = [
74
+ 'derivation',
75
+ 'exact-equivalence',
76
+ 'restriction',
77
+ 'approximation',
78
+ 'coarse-graining',
79
+ 'analytic-continuation',
80
+ 'structural-analogy',
81
+ 'deformation-quantization',
82
+ ];
83
+ const EVIDENCE_TAGS = [
84
+ 'proposed',
85
+ 'reviewed',
86
+ 'dimension-checked',
87
+ 'convention-checked',
88
+ 'symbolically-checked',
89
+ 'numerically-supported',
90
+ 'formally-proved',
91
+ 'empirically-supported',
92
+ 'contradicted',
93
+ 'unresolved',
94
+ ];
95
+ /** Last value of an `attached` flag, or undefined when the flag is absent. */
96
+ function lastValue(flags, name) {
97
+ const v = flags.get(name);
98
+ return v && v.length > 0 ? v[v.length - 1] : undefined;
99
+ }
100
+ /** Validate one filter value against its vocabulary. A bad value is a CliError
101
+ * (exit 1); an unknown FLAG is the parser's UsageError (exit 2). */
102
+ function parseFilter(raw, allowed, flag) {
103
+ if (raw === undefined)
104
+ return undefined;
105
+ if (!allowed.includes(raw)) {
106
+ throw new CliError(`upt: unknown ${flag}='${raw}' (expected: ${allowed.join(' | ')})`);
107
+ }
108
+ return raw;
109
+ }
54
110
  // Convert the derived identity-consequence proposals into viz junctions
55
111
  // (gray-dashed, status 'proposed'). The library never imports proposed-bridges;
56
112
  // the CLI does the conversion, keeping the epistemic firewall intact.
@@ -75,11 +131,15 @@ async function analyzeEquation(api, equation, graph) {
75
131
  for (const q of [...e.sources, e.target])
76
132
  catalogDims.set(q.name, q.dim);
77
133
  }
78
- return api.analyzeUserEquation(equation, catalogDims);
134
+ const user = await api.analyzeUserEquation(equation, catalogDims);
135
+ // Dimensions cannot see a prefactor: compare with the canonical equation the
136
+ // user's one restates, when the registry holds one (persona finding L2).
137
+ const comparisons = user.parseError ? [] : await api.compareUserEquation(equation, catalogDims);
138
+ return { user, comparisons };
79
139
  }
80
140
  // Print the dimensional verdict, where the equation landed, and any hints.
81
141
  // `out` is ctx.out (text mode → stdout) or ctx.err (visual → stderr).
82
- function printEquationReport(api, model, user, out) {
142
+ function printEquationReport(api, model, user, out, comparisons = []) {
83
143
  out('');
84
144
  if (user.consistent === true) {
85
145
  out(` ✓ dimensionally consistent: ${api.format(user.rhsDimension)}`);
@@ -90,6 +150,8 @@ function printEquationReport(api, model, user, out) {
90
150
  else if (user.rhsDimension) {
91
151
  out(` · RHS dimension: ${api.format(user.rhsDimension)} (target not in the catalog, so no comparison)`);
92
152
  }
153
+ for (const line of api.describeComparisons(comparisons))
154
+ out(` ${line}`);
93
155
  const L = api.equationLanding(model, 'user-equation');
94
156
  if (L.isolated) {
95
157
  out(' ⚠ your equation is ISOLATED — it shares no quantity with this graph.');
@@ -116,8 +178,40 @@ async function run(ctx) {
116
178
  // map asks a pure connectivity question, so it defaults to --source=both
117
179
  // (catalog + canonical) rather than graphs.ts's catalog fallback used by
118
180
  // the other --source commands (e.g. discover, which keeps catalog).
181
+ //
182
+ // `--source=poster` is a MAP-ONLY source and is resolved HERE, not in
183
+ // `resolveGraph`. That helper is shared by `discover`, `candidates` and the
184
+ // rest, and the poster index is not a `BridgeEdge` graph they could analyse;
185
+ // teaching it a value only one command can use would hand every other command
186
+ // a source that silently means nothing.
187
+ const posterMode = lastValue(args.flags, 'source') === 'poster';
119
188
  const sourceFlags = args.flags.has('source') ? args.flags : new Map(args.flags).set('source', ['both']);
120
- const { graph, label, source } = resolveGraph(api, sourceFlags);
189
+ const resolved = posterMode
190
+ ? { graph: [], label: 'poster (Atlas Phase 3 index)', source: 'poster' }
191
+ : resolveGraph(api, sourceFlags);
192
+ const { graph: fullGraph, label, source } = resolved;
193
+ // The poster's own report line: what it contributed, or why it contributed
194
+ // nothing (design note §6). Computed once; printed by every output form.
195
+ const posterValidation = posterMode ? api.validatePoster(api.POSTER_GRAPH) : null;
196
+ const posterNote = posterMode
197
+ ? api.describePosterSource(api.POSTER_GRAPH, posterValidation)
198
+ : null;
199
+ // The two overlay filters. Parsed BEFORE anything else is computed so a bad
200
+ // value costs nothing and always exits 1.
201
+ const relation = parseFilter(lastValue(args.flags, 'relation'), RELATION_TYPES, '--relation');
202
+ const evidence = parseFilter(lastValue(args.flags, 'evidence'), EVIDENCE_TAGS, '--evidence');
203
+ const filterOpts = {
204
+ ...(relation !== undefined ? { relation } : {}),
205
+ ...(evidence !== undefined ? { evidence } : {}),
206
+ };
207
+ // The TEXT and JSON paths filter the edge list here, because `linkageMap`
208
+ // consumes edges. The VISUAL path hands `buildVizModel` the FULL graph with
209
+ // the same options, so the model also judges the --proposed / --equation
210
+ // overlay junctions, which are not edges and which `filterEdges` cannot see.
211
+ // One predicate, two callers: they cannot disagree about what a filter
212
+ // selects, only about how much they were asked to count.
213
+ const { kept: graph, stats: edgeStats } = api.filterEdges(fullGraph, filterOpts);
214
+ const edgeLegend = api.formatFilterLegend(edgeStats);
121
215
  const fmtValues = args.flags.get('format');
122
216
  const fmt = fmtValues && fmtValues.length > 0 ? fmtValues[fmtValues.length - 1] : 'text';
123
217
  const isJson = args.flags.has('json');
@@ -126,6 +220,7 @@ async function run(ctx) {
126
220
  }
127
221
  // --equation injects a user-supplied "TARGET = EXPR" as a 'user' junction.
128
222
  let user = null;
223
+ let comparisons = [];
129
224
  const equationValues = args.flags.get('equation');
130
225
  const equation = equationValues && equationValues.length > 0 ? equationValues[equationValues.length - 1] : null;
131
226
  if (equation != null) {
@@ -133,7 +228,7 @@ async function run(ctx) {
133
228
  throw new UsageError('upt: --equation requires "TARGET = EXPR"');
134
229
  }
135
230
  try {
136
- user = await analyzeEquation(api, equation, graph); // throws UserEquationError on malformed structure
231
+ ({ user, comparisons } = await analyzeEquation(api, equation, graph)); // throws UserEquationError on malformed structure
137
232
  }
138
233
  catch (e) {
139
234
  throw new UsageError('upt: ' + (e && e.message ? e.message : String(e)));
@@ -142,8 +237,24 @@ async function run(ctx) {
142
237
  throw new UsageError('upt: ' + user.parseError); // dimensionally malformed RHS
143
238
  }
144
239
  }
240
+ // A user equation whose dimension mismatches, or that differs from its
241
+ // canonical equation, is a failed check: exit 3 (persona finding F2). A
242
+ // mismatch counts only when every name resolved: an unknown name is checked
243
+ // as a dimensionless placeholder, so its "mismatch" is not a real check.
244
+ const exitCode = user !== null &&
245
+ ((user.consistent === false && (user.hints ?? []).length === 0) ||
246
+ comparisons.some((c) => c.kind === 'factor' || c.kind === 'form'))
247
+ ? EXIT_CHECK_FAILED
248
+ : 0;
145
249
  const overlay = (extra) => [
146
- ...(args.flags.has('proposed') ? proposedJunctions(api, graph, args.flags) : []),
250
+ // Ranked from the UNFILTERED graph: the proposal set is a property of the
251
+ // whole catalog, and the model then judges each overlay junction under the
252
+ // same filter as every other junction.
253
+ ...(args.flags.has('proposed') ? proposedJunctions(api, fullGraph, args.flags) : []),
254
+ // The poster enters as an overlay for exactly the reason the design note
255
+ // gives: an overlay is FILTERED, clustered and legended like every other
256
+ // junction, so a poster source cannot quietly bypass --relation/--evidence.
257
+ ...(posterMode ? api.posterJunctions(api.POSTER_GRAPH) : []),
147
258
  ...extra,
148
259
  ];
149
260
  if (isJson) {
@@ -151,9 +262,10 @@ async function run(ctx) {
151
262
  let landing;
152
263
  let userEquation;
153
264
  if (user) {
154
- const model = api.buildVizModel(graph, {
265
+ const model = api.buildVizModel(fullGraph, {
155
266
  title: `UPT physics map — ${label}`,
156
267
  extraJunctions: overlay([user.junction]),
268
+ ...filterOpts,
157
269
  });
158
270
  landing = api.equationLanding(model, 'user-equation');
159
271
  userEquation = {
@@ -162,20 +274,27 @@ async function run(ctx) {
162
274
  rhsDimension: user.rhsDimension,
163
275
  targetDimension: user.targetDimension,
164
276
  hints: user.hints,
277
+ canonicalComparisons: comparisons,
165
278
  };
166
279
  }
167
280
  emitJson({
168
281
  command: 'map',
169
282
  source,
170
- result: { linkage, ...(user ? { landing, userEquation } : {}) },
283
+ result: {
284
+ linkage,
285
+ ...(posterMode ? { poster: { note: posterNote, ...posterValidation } } : {}),
286
+ ...(edgeLegend !== null ? { filter: edgeStats } : {}),
287
+ ...(user ? { landing, userEquation } : {}),
288
+ },
171
289
  }, write);
172
- return 0;
290
+ return exitCode;
173
291
  }
174
292
  if (fmt === 'mermaid' || fmt === 'dot' || fmt === 'svg') {
175
293
  const extraJunctions = overlay(user ? [user.junction] : []);
176
- const model = api.buildVizModel(graph, {
294
+ const model = api.buildVizModel(fullGraph, {
177
295
  title: `UPT physics map — ${label}`,
178
296
  extraJunctions,
297
+ ...filterOpts,
179
298
  });
180
299
  // svg is the dot layout rendered by the optional @viz-js/viz peer.
181
300
  let src;
@@ -207,20 +326,51 @@ async function run(ctx) {
207
326
  else {
208
327
  write(src);
209
328
  }
210
- // Landing report goes to stderr so stdout/--out stays pure diagram source.
329
+ // Legend and landing report go to stderr so stdout/--out stays pure diagram
330
+ // source. The diagram itself also carries the legend (see `buildVizModel`).
331
+ if (posterNote !== null)
332
+ err(`upt: ${posterNote}`);
333
+ if (model.filterLegend !== null)
334
+ err(`upt: ${model.filterLegend}`);
211
335
  if (user)
212
- printEquationReport(api, model, user, err);
213
- return 0;
336
+ printEquationReport(api, model, user, err, comparisons);
337
+ return exitCode;
214
338
  }
215
339
  if (fmt !== 'text') {
216
340
  throw new CliError(`upt: unknown --format='${fmt}' (expected: text | mermaid | dot | svg)`);
217
341
  }
342
+ if (posterMode) {
343
+ const model = api.buildVizModel(fullGraph, {
344
+ title: `UPT physics map — ${label}`,
345
+ extraJunctions: overlay(user ? [user.junction] : []),
346
+ ...filterOpts,
347
+ });
348
+ out(`
349
+ Poster index — statements and the derivations between them [source: ${label}]`);
350
+ out(` ${posterNote}`);
351
+ out(` (${model.junctions.length} junctions over ${model.clusters.length} clusters; ` +
352
+ `${api.POSTER_GRAPH.derivations.length} derivations, ` +
353
+ `${api.POSTER_GRAPH.associations.length} associations)`);
354
+ if (model.filterLegend !== null)
355
+ out(` ${model.filterLegend}`);
356
+ for (const d of posterValidation.dangling) {
357
+ out(` ⚠ '${d.derivation}' names '${d.missing}' as a ${d.role}, and nothing defines it.`);
358
+ }
359
+ if (user) {
360
+ out(`
361
+ Your equation: ${user.junction.label}`);
362
+ printEquationReport(api, model, user, out, comparisons);
363
+ }
364
+ return exitCode;
365
+ }
218
366
  const m = api.linkageMap(graph);
219
367
  const mix = (s) => Object.entries(s)
220
368
  .map(([k, v]) => `${v} ${k}`)
221
369
  .join(', ');
222
370
  out(`\nLinkage map — how the equations connect via shared quantities [source: ${label}]`);
223
371
  out(`(${m.componentCount} components over ${graph.length} edges; ${m.compositions} compose into chains)\n`);
372
+ if (edgeLegend !== null)
373
+ out(` ${edgeLegend}`);
224
374
  for (const c of m.clusters.filter((x) => x.size > 1)) {
225
375
  out(` ● cluster of ${c.size}${c.anchored ? ' [ANCHORED to known physics]' : ''}`);
226
376
  out(` edges: ${c.edges.join(', ')}`);
@@ -232,14 +382,15 @@ async function run(ctx) {
232
382
  out('\n (a structural map — shared-quantity connectivity, NOT a credibility signal)');
233
383
  // --equation: where does the user's equation land in this graph?
234
384
  if (user) {
235
- const model = api.buildVizModel(graph, {
385
+ const model = api.buildVizModel(fullGraph, {
236
386
  title: `UPT physics map — ${label}`,
237
387
  extraJunctions: overlay([user.junction]),
388
+ ...filterOpts,
238
389
  });
239
390
  out(`\nYour equation: ${user.junction.label}`);
240
- printEquationReport(api, model, user, out);
391
+ printEquationReport(api, model, user, out, comparisons);
241
392
  }
242
- return 0;
393
+ return exitCode;
243
394
  }
244
395
  export const command = {
245
396
  name: 'map',
@@ -1 +1 @@
1
- {"version":3,"file":"map.js","sourceRoot":"","sources":["../../../src/cli/commands/map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../../../src/cli/commands/map.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type Command } from '../command.js';
2
+ export declare const command: Command;
3
+ //# sourceMappingURL=path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/path.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAiQ/E,eAAO,MAAM,OAAO,EAAE,OAAsE,CAAC"}
@@ -0,0 +1,228 @@
1
+ import { registerCommand } from '../command.js';
2
+ import { CliError, EXIT_CHECK_FAILED } from '../errors.js';
3
+ import { emitJson } from '../output.js';
4
+ import { parseAt, resolveAtPoint, showInequality } from './regime.js';
5
+ const FLAGS = [
6
+ { name: '--at', valueStyle: 'either', repeatable: true },
7
+ { name: '--json', valueStyle: 'none' },
8
+ ];
9
+ const HELP = `upt path <from> <to> [--at group=value ...] [--json]
10
+ The chain of bridges from one model to another, the relation the chain
11
+ composes to, the composed (K, delta) with the norm it holds in,
12
+ whether every bridge's REGIME holds at --at (the bound is claimed only
13
+ inside it), and whether every horizon still holds (pass t=<time> plus
14
+ the parameters, e.g. --at theta0=0.2 T0=1 t=10).
15
+ When the composition table declines to compose the relations, the path
16
+ carries NO bound: the command prints 'no composite claim' and exits 0.
17
+ That refusal is the answer, and no number is invented in its place.
18
+ e.g. upt path model-pendulum model-spring --at theta0=0.2 T0=1 t=10`;
19
+ const EPISTEMICS = 'a path EXISTING is not a warrant: the bound is the warrant. A no-claim carries no number, ' +
20
+ 'and none is synthesized for it.';
21
+ /** The literal phrase the no-composite-claim case must print. */
22
+ const NO_COMPOSITE_PHRASE = 'no composite claim';
23
+ async function run(ctx) {
24
+ const { args, api, out } = ctx;
25
+ const wantJson = args.flags.has('json');
26
+ const endpoints = args.positionals.filter((p) => !p.includes('='));
27
+ const assignments = [...(args.flags.get('at') ?? []), ...args.positionals.filter((p) => p.includes('='))];
28
+ if (endpoints.length !== 2) {
29
+ throw new CliError(`upt path: exactly two model ids are required (got ${endpoints.length}); e.g. ` +
30
+ '`upt path model-pendulum model-spring`');
31
+ }
32
+ const [from, to] = endpoints;
33
+ const point = parseAt(assignments, 'path');
34
+ const t = point['t'];
35
+ // The family is read off the endpoints — this used to be the oscillator
36
+ // family, hard-coded, so no path in the diffusion or wave families could be
37
+ // asked for. A route stays inside ONE family (findPath's scope); two
38
+ // endpoints in different families are reported as exactly that.
39
+ const familyOf = (id) => api.ATLAS_FAMILIES.find((f) => f.models.some((m) => m.id === id))?.family;
40
+ const fromFamily = familyOf(from);
41
+ const toFamily = familyOf(to);
42
+ if (fromFamily !== undefined && toFamily !== undefined && fromFamily !== toFamily) {
43
+ throw new CliError(`upt path: '${from}' is in family '${fromFamily}' and '${to}' in '${toFamily}'; ` +
44
+ 'routes are searched within one family, and cross-family routes are not supported');
45
+ }
46
+ const family = fromFamily ?? toFamily ?? api.ATLAS_FAMILIES[0].family;
47
+ let bridges;
48
+ try {
49
+ bridges = api.findPath(family, from, to);
50
+ }
51
+ catch (e) {
52
+ // RangeError: an unknown endpoint. Reported as a CliError (exit 1) rather
53
+ // than surfaced as a crash — and NOT as `null`, which would be
54
+ // indistinguishable from a genuinely disconnected pair.
55
+ throw new CliError(`upt path: ${e instanceof Error ? e.message : String(e)}`);
56
+ }
57
+ if (bridges === null) {
58
+ if (wantJson) {
59
+ emitJson({ command: 'path', epistemics: EPISTEMICS, options: { from, to, at: point }, result: { path: null } }, ctx.write);
60
+ return 0;
61
+ }
62
+ out(`\nupt path ${from} → ${to}`);
63
+ out(' no chain of bridges connects these models; there is nothing to compose.');
64
+ return 0;
65
+ }
66
+ if (bridges.length === 0) {
67
+ if (wantJson) {
68
+ emitJson({ command: 'path', epistemics: EPISTEMICS, options: { from, to, at: point }, result: { path: [] } }, ctx.write);
69
+ return 0;
70
+ }
71
+ out(`\nupt path ${from} → ${to}`);
72
+ out(' the endpoints are the same model: the path is empty and composes nothing.');
73
+ return 0;
74
+ }
75
+ const result = api.boundPath(bridges);
76
+ const horizons = bridges
77
+ .filter((b) => b.bound !== undefined)
78
+ .map((b) => ({
79
+ bridgeId: b.id,
80
+ horizon: b.bound.horizon,
81
+ holds: t === undefined ? null : b.bound.horizonHolds(t, point),
82
+ }));
83
+ const allHold = horizons.every((h) => h.holds === true);
84
+ // The same --at resolution as `upt regime`: group spellings, and groups derived
85
+ // from their parameters. Unknown keys are not reported here, because horizon
86
+ // parameters such as T0 and t are legitimate --at keys on a path.
87
+ const { values: resolved } = resolveAtPoint(point, bridges.map((b) => b.regime));
88
+ const regimes = bridges.map((b) => {
89
+ const check = api.regimeHolds(b.regime, resolved);
90
+ return {
91
+ bridgeId: b.id,
92
+ ok: check.ok,
93
+ violated: check.violated.map(showInequality),
94
+ unchecked: check.unchecked.map(showInequality),
95
+ };
96
+ });
97
+ const allRegimesHold = regimes.some((r) => r.ok === false)
98
+ ? false
99
+ : regimes.some((r) => r.ok === 'unknown')
100
+ ? 'unknown'
101
+ : true;
102
+ // The bound AT the --at point (persona finding L9). Printed only when it is
103
+ // PROVEN: every regime holds, every step has a closed-form deltaAt (the exact
104
+ // error), and every value is finite. It is composed by the same rule as the
105
+ // domain supremum, by substituting each step's point value for its delta.
106
+ let pointBound = null;
107
+ let pointBoundReason = null;
108
+ if (result.kind === 'bound' && Object.keys(point).length > 0) {
109
+ const steps = bridges.filter((b) => b.bound !== undefined);
110
+ const numerical = steps.find((b) => b.bound.deltaAtBasis !== 'closed-form');
111
+ if (allRegimesHold !== true) {
112
+ pointBoundReason = 'a regime on the path is violated or unchecked';
113
+ }
114
+ else if (steps.length === 0) {
115
+ pointBoundReason = 'no step carries a bound';
116
+ }
117
+ else if (numerical !== undefined) {
118
+ pointBoundReason =
119
+ numerical.bound.deltaAt === undefined
120
+ ? `${numerical.id} states no point bound`
121
+ : `${numerical.id}'s point bound is numerically supported, not proven`;
122
+ }
123
+ else {
124
+ const atPoint = bridges.map((b) => b.bound === undefined ? b : { ...b, bound: { ...b.bound, delta: b.bound.deltaAt(point) } });
125
+ const composed = atPoint.every((b) => b.bound === undefined || Number.isFinite(b.bound.delta))
126
+ ? api.boundPath(atPoint)
127
+ : null;
128
+ if (composed !== null && composed.kind === 'bound')
129
+ pointBound = composed.bound;
130
+ else
131
+ pointBoundReason = 'a parameter the point bound needs was not supplied';
132
+ }
133
+ }
134
+ // A violated regime or horizon is a failed check: exit 3 (persona finding F2).
135
+ // UNKNOWN, where a coordinate or t was not supplied, is not a failure.
136
+ const exitCode = allRegimesHold === false || (t !== undefined && !allHold) ? EXIT_CHECK_FAILED : 0;
137
+ if (wantJson) {
138
+ emitJson({
139
+ command: 'path',
140
+ epistemics: EPISTEMICS,
141
+ options: { from, to, at: point },
142
+ result: {
143
+ path: bridges.map((b) => ({ id: b.id, relation: b.relation, from: b.premises[0], to: b.conclusion })),
144
+ // A no-claim has no `bound` key at all — the type refuses it, and so
145
+ // does this envelope.
146
+ ...(result.kind === 'bound'
147
+ ? {
148
+ kind: 'bound',
149
+ relation: result.relation,
150
+ bound: result.bound,
151
+ norm: result.norm,
152
+ terminal: result.terminal,
153
+ }
154
+ : { kind: 'no-claim', reason: result.reason, detail: result.detail, phrase: NO_COMPOSITE_PHRASE }),
155
+ regimes,
156
+ allRegimesHold,
157
+ pointBound,
158
+ ...(pointBoundReason !== null ? { pointBoundReason } : {}),
159
+ horizons,
160
+ horizonsEvaluated: t !== undefined,
161
+ allHorizonsHold: t === undefined ? null : allHold,
162
+ },
163
+ }, ctx.write);
164
+ return exitCode;
165
+ }
166
+ out(`\nupt path ${from} → ${to}`);
167
+ out(` ${bridges.length} bridge(s):`);
168
+ for (const b of bridges)
169
+ out(` ${b.premises[0]} --[${b.relation}]--> ${b.conclusion} (${b.id})`);
170
+ out('');
171
+ if (result.kind === 'bound') {
172
+ out(` composite relation: ${result.relation}`);
173
+ out(` composed bound: K = ${result.bound.K} · delta = ${result.bound.delta}`);
174
+ out(` norm: ${result.norm ?? '(none stated — the claim is the vacuous identity)'}`);
175
+ if (result.terminal)
176
+ out(' terminal: the last step states no Lipschitz constant; the claim ends there');
177
+ if (pointBound !== null) {
178
+ out(` bound at this point: K = ${pointBound.K} · delta = ${pointBound.delta} (closed-form: the exact error; ` +
179
+ "the composed bound above is the supremum over the bridge's domain)");
180
+ }
181
+ else if (pointBoundReason !== null) {
182
+ out(` bound at this point: none — ${pointBoundReason}`);
183
+ }
184
+ }
185
+ else {
186
+ out(` composite relation: ${NO_COMPOSITE_PHRASE}`);
187
+ out(` bound: ${NO_COMPOSITE_PHRASE} — reason '${result.reason}'`);
188
+ out(` ${result.detail}`);
189
+ }
190
+ out('');
191
+ if (allRegimesHold === false) {
192
+ out(' regimes at --at: VIOLATED — no bound on this path is claimed at this point');
193
+ }
194
+ else if (allRegimesHold === 'unknown') {
195
+ out(' regimes at --at: UNKNOWN (a coordinate was not supplied); an unchecked regime is not a passing one');
196
+ }
197
+ else if (bridges.every((b) => b.regime.inequalities.length === 0)) {
198
+ out(' regimes: VACUOUS — no bridge on this path states an inequality; nothing was checked');
199
+ }
200
+ else {
201
+ out(' regimes at --at: all hold');
202
+ }
203
+ for (const r of regimes) {
204
+ if (r.ok === false)
205
+ out(` ${r.bridgeId}: VIOLATED — ${r.violated.join('; ')}`);
206
+ else if (r.ok === 'unknown')
207
+ out(` ${r.bridgeId}: unknown — unchecked: ${r.unchecked.join('; ')}`);
208
+ }
209
+ if (horizons.length === 0) {
210
+ out(' horizons: none on this path (no step carries a bound)');
211
+ }
212
+ else if (t === undefined) {
213
+ out(' horizons: NOT EVALUATED (no t= supplied via --at); an unevaluated horizon is not a passing one');
214
+ for (const h of horizons)
215
+ out(` ${h.bridgeId}: ${h.horizon}`);
216
+ }
217
+ else {
218
+ out(` horizons at t=${t}: ${allHold ? 'all hold' : 'NOT all hold'}`);
219
+ for (const h of horizons) {
220
+ out(` ${h.bridgeId}: ${h.holds ? 'holds' : 'VIOLATED'} — ${h.horizon}`);
221
+ }
222
+ }
223
+ out(` (${EPISTEMICS})`);
224
+ return exitCode;
225
+ }
226
+ export const command = { name: 'path', aliases: [], flags: FLAGS, help: HELP, run };
227
+ registerCommand(command);
228
+ //# sourceMappingURL=path.js.map