universal-physics-tensor 0.45.2 → 0.46.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 (473) hide show
  1. package/README.md +28 -27
  2. package/dist/atlas/applicability.d.ts +108 -0
  3. package/dist/atlas/applicability.d.ts.map +1 -0
  4. package/dist/atlas/applicability.js +301 -0
  5. package/dist/atlas/applicability.js.map +1 -0
  6. package/dist/atlas/association.d.ts +92 -0
  7. package/dist/atlas/association.d.ts.map +1 -0
  8. package/dist/atlas/association.js +112 -0
  9. package/dist/atlas/association.js.map +1 -0
  10. package/dist/atlas/benchmark/backend-shapes.d.ts +47 -0
  11. package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -0
  12. package/dist/atlas/benchmark/backend-shapes.js +58 -0
  13. package/dist/atlas/benchmark/backend-shapes.js.map +1 -0
  14. package/dist/atlas/benchmark/baselines.d.ts +64 -0
  15. package/dist/atlas/benchmark/baselines.d.ts.map +1 -0
  16. package/dist/atlas/benchmark/baselines.js +112 -0
  17. package/dist/atlas/benchmark/baselines.js.map +1 -0
  18. package/dist/atlas/benchmark/leakage.d.ts +56 -0
  19. package/dist/atlas/benchmark/leakage.d.ts.map +1 -0
  20. package/dist/atlas/benchmark/leakage.js +100 -0
  21. package/dist/atlas/benchmark/leakage.js.map +1 -0
  22. package/dist/atlas/benchmark/loader.d.ts +56 -0
  23. package/dist/atlas/benchmark/loader.d.ts.map +1 -0
  24. package/dist/atlas/benchmark/loader.js +104 -0
  25. package/dist/atlas/benchmark/loader.js.map +1 -0
  26. package/dist/atlas/benchmark/run-atlas.d.ts +72 -0
  27. package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -0
  28. package/dist/atlas/benchmark/run-atlas.js +210 -0
  29. package/dist/atlas/benchmark/run-atlas.js.map +1 -0
  30. package/dist/atlas/benchmark/stats.d.ts +90 -0
  31. package/dist/atlas/benchmark/stats.d.ts.map +1 -0
  32. package/dist/atlas/benchmark/stats.js +159 -0
  33. package/dist/atlas/benchmark/stats.js.map +1 -0
  34. package/dist/atlas/benchmark/study.d.ts +120 -0
  35. package/dist/atlas/benchmark/study.d.ts.map +1 -0
  36. package/dist/atlas/benchmark/study.js +192 -0
  37. package/dist/atlas/benchmark/study.js.map +1 -0
  38. package/dist/atlas/benchmark/types.d.ts +79 -0
  39. package/dist/atlas/benchmark/types.d.ts.map +1 -0
  40. package/dist/atlas/benchmark/types.js +46 -0
  41. package/dist/atlas/benchmark/types.js.map +1 -0
  42. package/dist/atlas/composition-table.d.ts +55 -0
  43. package/dist/atlas/composition-table.d.ts.map +1 -0
  44. package/dist/atlas/composition-table.js +133 -0
  45. package/dist/atlas/composition-table.js.map +1 -0
  46. package/dist/atlas/conventions.d.ts +63 -0
  47. package/dist/atlas/conventions.d.ts.map +1 -0
  48. package/dist/atlas/conventions.js +93 -0
  49. package/dist/atlas/conventions.js.map +1 -0
  50. package/dist/atlas/coverage.d.ts +93 -0
  51. package/dist/atlas/coverage.d.ts.map +1 -0
  52. package/dist/atlas/coverage.js +69 -0
  53. package/dist/atlas/coverage.js.map +1 -0
  54. package/dist/atlas/derivation.d.ts +137 -0
  55. package/dist/atlas/derivation.d.ts.map +1 -0
  56. package/dist/atlas/derivation.js +190 -0
  57. package/dist/atlas/derivation.js.map +1 -0
  58. package/dist/atlas/derive-evidence.d.ts +218 -0
  59. package/dist/atlas/derive-evidence.d.ts.map +1 -0
  60. package/dist/atlas/derive-evidence.js +225 -0
  61. package/dist/atlas/derive-evidence.js.map +1 -0
  62. package/dist/atlas/diffusion/bridges-closure.d.ts +63 -0
  63. package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -0
  64. package/dist/atlas/diffusion/bridges-closure.js +324 -0
  65. package/dist/atlas/diffusion/bridges-closure.js.map +1 -0
  66. package/dist/atlas/diffusion/bridges.d.ts +36 -0
  67. package/dist/atlas/diffusion/bridges.d.ts.map +1 -0
  68. package/dist/atlas/diffusion/bridges.js +226 -0
  69. package/dist/atlas/diffusion/bridges.js.map +1 -0
  70. package/dist/atlas/diffusion/dimensions.d.ts +21 -0
  71. package/dist/atlas/diffusion/dimensions.d.ts.map +1 -0
  72. package/dist/atlas/diffusion/dimensions.js +21 -0
  73. package/dist/atlas/diffusion/dimensions.js.map +1 -0
  74. package/dist/atlas/diffusion/index.d.ts +16 -0
  75. package/dist/atlas/diffusion/index.d.ts.map +1 -0
  76. package/dist/atlas/diffusion/index.js +23 -0
  77. package/dist/atlas/diffusion/index.js.map +1 -0
  78. package/dist/atlas/diffusion/models.d.ts +24 -0
  79. package/dist/atlas/diffusion/models.d.ts.map +1 -0
  80. package/dist/atlas/diffusion/models.js +139 -0
  81. package/dist/atlas/diffusion/models.js.map +1 -0
  82. package/dist/atlas/diffusion/numerics.d.ts +181 -0
  83. package/dist/atlas/diffusion/numerics.d.ts.map +1 -0
  84. package/dist/atlas/diffusion/numerics.js +251 -0
  85. package/dist/atlas/diffusion/numerics.js.map +1 -0
  86. package/dist/atlas/error-algebra.d.ts +52 -0
  87. package/dist/atlas/error-algebra.d.ts.map +1 -0
  88. package/dist/atlas/error-algebra.js +55 -0
  89. package/dist/atlas/error-algebra.js.map +1 -0
  90. package/dist/atlas/export.d.ts +48 -0
  91. package/dist/atlas/export.d.ts.map +1 -0
  92. package/dist/atlas/export.js +106 -0
  93. package/dist/atlas/export.js.map +1 -0
  94. package/dist/atlas/families.d.ts +14 -0
  95. package/dist/atlas/families.d.ts.map +1 -0
  96. package/dist/atlas/families.js +20 -0
  97. package/dist/atlas/families.js.map +1 -0
  98. package/dist/atlas/index.d.ts +90 -0
  99. package/dist/atlas/index.d.ts.map +1 -0
  100. package/dist/atlas/index.js +69 -0
  101. package/dist/atlas/index.js.map +1 -0
  102. package/dist/atlas/link-prediction.d.ts +71 -0
  103. package/dist/atlas/link-prediction.d.ts.map +1 -0
  104. package/dist/atlas/link-prediction.js +128 -0
  105. package/dist/atlas/link-prediction.js.map +1 -0
  106. package/dist/atlas/model.d.ts +70 -0
  107. package/dist/atlas/model.d.ts.map +1 -0
  108. package/dist/atlas/model.js +26 -0
  109. package/dist/atlas/model.js.map +1 -0
  110. package/dist/atlas/oscillators/bridges-coarse.d.ts +71 -0
  111. package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -0
  112. package/dist/atlas/oscillators/bridges-coarse.js +146 -0
  113. package/dist/atlas/oscillators/bridges-coarse.js.map +1 -0
  114. package/dist/atlas/oscillators/bridges-exact.d.ts +70 -0
  115. package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -0
  116. package/dist/atlas/oscillators/bridges-exact.js +227 -0
  117. package/dist/atlas/oscillators/bridges-exact.js.map +1 -0
  118. package/dist/atlas/oscillators/bridges-limits.d.ts +118 -0
  119. package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -0
  120. package/dist/atlas/oscillators/bridges-limits.js +342 -0
  121. package/dist/atlas/oscillators/bridges-limits.js.map +1 -0
  122. package/dist/atlas/oscillators/dimensions.d.ts +34 -0
  123. package/dist/atlas/oscillators/dimensions.d.ts.map +1 -0
  124. package/dist/atlas/oscillators/dimensions.js +34 -0
  125. package/dist/atlas/oscillators/dimensions.js.map +1 -0
  126. package/dist/atlas/oscillators/index.d.ts +38 -0
  127. package/dist/atlas/oscillators/index.d.ts.map +1 -0
  128. package/dist/atlas/oscillators/index.js +37 -0
  129. package/dist/atlas/oscillators/index.js.map +1 -0
  130. package/dist/atlas/oscillators/models.d.ts +25 -0
  131. package/dist/atlas/oscillators/models.d.ts.map +1 -0
  132. package/dist/atlas/oscillators/models.js +160 -0
  133. package/dist/atlas/oscillators/models.js.map +1 -0
  134. package/dist/atlas/oscillators/rejections.d.ts +21 -0
  135. package/dist/atlas/oscillators/rejections.d.ts.map +1 -0
  136. package/dist/atlas/oscillators/rejections.js +54 -0
  137. package/dist/atlas/oscillators/rejections.js.map +1 -0
  138. package/dist/atlas/path-bound.d.ts +143 -0
  139. package/dist/atlas/path-bound.d.ts.map +1 -0
  140. package/dist/atlas/path-bound.js +268 -0
  141. package/dist/atlas/path-bound.js.map +1 -0
  142. package/dist/atlas/poster/associations.d.ts +66 -0
  143. package/dist/atlas/poster/associations.d.ts.map +1 -0
  144. package/dist/atlas/poster/associations.js +90 -0
  145. package/dist/atlas/poster/associations.js.map +1 -0
  146. package/dist/atlas/poster/derivations.d.ts +156 -0
  147. package/dist/atlas/poster/derivations.d.ts.map +1 -0
  148. package/dist/atlas/poster/derivations.js +430 -0
  149. package/dist/atlas/poster/derivations.js.map +1 -0
  150. package/dist/atlas/poster/statements.d.ts +198 -0
  151. package/dist/atlas/poster/statements.d.ts.map +1 -0
  152. package/dist/atlas/poster/statements.js +365 -0
  153. package/dist/atlas/poster/statements.js.map +1 -0
  154. package/dist/atlas/public.d.ts +26 -0
  155. package/dist/atlas/public.d.ts.map +1 -0
  156. package/dist/atlas/public.js +21 -0
  157. package/dist/atlas/public.js.map +1 -0
  158. package/dist/atlas/regime.d.ts +171 -0
  159. package/dist/atlas/regime.d.ts.map +1 -0
  160. package/dist/atlas/regime.js +309 -0
  161. package/dist/atlas/regime.js.map +1 -0
  162. package/dist/atlas/serialize.d.ts +50 -0
  163. package/dist/atlas/serialize.d.ts.map +1 -0
  164. package/dist/atlas/serialize.js +180 -0
  165. package/dist/atlas/serialize.js.map +1 -0
  166. package/dist/atlas/statement.d.ts +165 -0
  167. package/dist/atlas/statement.d.ts.map +1 -0
  168. package/dist/atlas/statement.js +176 -0
  169. package/dist/atlas/statement.js.map +1 -0
  170. package/dist/atlas/types.d.ts +308 -0
  171. package/dist/atlas/types.d.ts.map +1 -0
  172. package/dist/atlas/types.js +61 -0
  173. package/dist/atlas/types.js.map +1 -0
  174. package/dist/atlas/waves/bridges-closure.d.ts +39 -0
  175. package/dist/atlas/waves/bridges-closure.d.ts.map +1 -0
  176. package/dist/atlas/waves/bridges-closure.js +223 -0
  177. package/dist/atlas/waves/bridges-closure.js.map +1 -0
  178. package/dist/atlas/waves/bridges.d.ts +49 -0
  179. package/dist/atlas/waves/bridges.d.ts.map +1 -0
  180. package/dist/atlas/waves/bridges.js +265 -0
  181. package/dist/atlas/waves/bridges.js.map +1 -0
  182. package/dist/atlas/waves/index.d.ts +16 -0
  183. package/dist/atlas/waves/index.d.ts.map +1 -0
  184. package/dist/atlas/waves/index.js +23 -0
  185. package/dist/atlas/waves/index.js.map +1 -0
  186. package/dist/atlas/waves/models.d.ts +29 -0
  187. package/dist/atlas/waves/models.d.ts.map +1 -0
  188. package/dist/atlas/waves/models.js +127 -0
  189. package/dist/atlas/waves/models.js.map +1 -0
  190. package/dist/atlas/waves/numerics.d.ts +149 -0
  191. package/dist/atlas/waves/numerics.d.ts.map +1 -0
  192. package/dist/atlas/waves/numerics.js +218 -0
  193. package/dist/atlas/waves/numerics.js.map +1 -0
  194. package/dist/atlas/witness-artifact.d.ts +65 -0
  195. package/dist/atlas/witness-artifact.d.ts.map +1 -0
  196. package/dist/atlas/witness-artifact.js +78 -0
  197. package/dist/atlas/witness-artifact.js.map +1 -0
  198. package/dist/atlas/witness-numeric.d.ts +81 -0
  199. package/dist/atlas/witness-numeric.d.ts.map +1 -0
  200. package/dist/atlas/witness-numeric.js +105 -0
  201. package/dist/atlas/witness-numeric.js.map +1 -0
  202. package/dist/atlas/witness-result.d.ts +77 -0
  203. package/dist/atlas/witness-result.d.ts.map +1 -0
  204. package/dist/atlas/witness-result.js +39 -0
  205. package/dist/atlas/witness-result.js.map +1 -0
  206. package/dist/atlas/witness-specs.d.ts +110 -0
  207. package/dist/atlas/witness-specs.d.ts.map +1 -0
  208. package/dist/atlas/witness-specs.js +372 -0
  209. package/dist/atlas/witness-specs.js.map +1 -0
  210. package/dist/atlas/witness-symbolic.d.ts +79 -0
  211. package/dist/atlas/witness-symbolic.d.ts.map +1 -0
  212. package/dist/atlas/witness-symbolic.js +140 -0
  213. package/dist/atlas/witness-symbolic.js.map +1 -0
  214. package/dist/atlas/witnesses/quantum-support.d.ts +50 -0
  215. package/dist/atlas/witnesses/quantum-support.d.ts.map +1 -0
  216. package/dist/atlas/witnesses/quantum-support.js +48 -0
  217. package/dist/atlas/witnesses/quantum-support.js.map +1 -0
  218. package/dist/bridges/be11-decoherence-confrontation.js.map +1 -1
  219. package/dist/bridges/be21-kss-confrontation.js.map +1 -1
  220. package/dist/bridges/be23-planckian-confrontation.js.map +1 -1
  221. package/dist/bridges/be35-bootstrap-confrontation.js.map +1 -1
  222. package/dist/bridges/be36-gw170817-confrontation.js.map +1 -1
  223. package/dist/bridges/be37-cassini-confrontation.js.map +1 -1
  224. package/dist/bridges/be48-collapse-confrontation.js.map +1 -1
  225. package/dist/bridges/be51-lensing-confrontation.js.map +1 -1
  226. package/dist/bridges/be52-mercury-confrontation.js.map +1 -1
  227. package/dist/bridges/be55-quantum-hall-confrontation.js.map +1 -1
  228. package/dist/bridges/be56-casimir-confrontation.js.map +1 -1
  229. package/dist/bridges/be58-johnson-nyquist-confrontation.js.map +1 -1
  230. package/dist/bridges/be59-ac-josephson-confrontation.js.map +1 -1
  231. package/dist/bridges/be60-fractional-qh-confrontation.js.map +1 -1
  232. package/dist/bridges/be61-wiedemann-franz-confrontation.js.map +1 -1
  233. package/dist/bridges/be62-bcs-gap-confrontation.js.map +1 -1
  234. package/dist/bridges/be63-chandrasekhar-mass-confrontation.js.map +1 -1
  235. package/dist/bridges/be64-eddington-luminosity-confrontation.js.map +1 -1
  236. package/dist/bridges/be65-jeans-mass-confrontation.js.map +1 -1
  237. package/dist/bridges/bridge-equations.d.ts +2 -1
  238. package/dist/bridges/bridge-equations.d.ts.map +1 -1
  239. package/dist/bridges/bridge-equations.js +3 -2
  240. package/dist/bridges/bridge-equations.js.map +1 -1
  241. package/dist/bridges/catalog-adapter.d.ts.map +1 -1
  242. package/dist/bridges/catalog-adapter.js.map +1 -1
  243. package/dist/bridges/equations/_be-helpers.d.ts +2 -2
  244. package/dist/bridges/equations/_be-helpers.js +2 -2
  245. package/dist/bridges/equations/be-20-vacuum-energy.js.map +1 -1
  246. package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts +88 -58
  247. package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts.map +1 -1
  248. package/dist/bridges/equations/be-35-conformal-bootstrap.js +102 -62
  249. package/dist/bridges/equations/be-35-conformal-bootstrap.js.map +1 -1
  250. package/dist/bridges/equations/be-48-grw-localization.d.ts +9 -8
  251. package/dist/bridges/equations/be-48-grw-localization.d.ts.map +1 -1
  252. package/dist/bridges/equations/be-48-grw-localization.js +9 -8
  253. package/dist/bridges/equations/be-48-grw-localization.js.map +1 -1
  254. package/dist/bridges/gravitational-lensing.d.ts +10 -0
  255. package/dist/bridges/gravitational-lensing.d.ts.map +1 -1
  256. package/dist/bridges/gravitational-lensing.js.map +1 -1
  257. package/dist/bridges/index.d.ts +125 -7
  258. package/dist/bridges/index.d.ts.map +1 -1
  259. package/dist/bridges/index.js +483 -20
  260. package/dist/bridges/index.js.map +1 -1
  261. package/dist/bridges/perihelion-precession.d.ts +10 -0
  262. package/dist/bridges/perihelion-precession.d.ts.map +1 -1
  263. package/dist/bridges/perihelion-precession.js.map +1 -1
  264. package/dist/bridges/rhs-registry.js +2 -2
  265. package/dist/canonical/canonical-equation.d.ts +15 -0
  266. package/dist/canonical/canonical-equation.d.ts.map +1 -1
  267. package/dist/canonical/entries/_l1-build.d.ts +1 -1
  268. package/dist/canonical/entries/_l1-build.d.ts.map +1 -1
  269. package/dist/canonical/entries/atomic.d.ts.map +1 -1
  270. package/dist/canonical/entries/atomic.js +23 -0
  271. package/dist/canonical/entries/atomic.js.map +1 -1
  272. package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
  273. package/dist/canonical/entries/nonmonomial.js +93 -0
  274. package/dist/canonical/entries/nonmonomial.js.map +1 -1
  275. package/dist/canonical/normal-form.js.map +1 -1
  276. package/dist/canonical/residual.d.ts +28 -0
  277. package/dist/canonical/residual.d.ts.map +1 -0
  278. package/dist/canonical/residual.js +31 -0
  279. package/dist/canonical/residual.js.map +1 -0
  280. package/dist/cli/command.d.ts +8 -0
  281. package/dist/cli/command.d.ts.map +1 -1
  282. package/dist/cli/command.js +10 -0
  283. package/dist/cli/command.js.map +1 -1
  284. package/dist/cli/commands/atlas.d.ts +3 -0
  285. package/dist/cli/commands/atlas.d.ts.map +1 -0
  286. package/dist/cli/commands/atlas.js +158 -0
  287. package/dist/cli/commands/atlas.js.map +1 -0
  288. package/dist/cli/commands/confront.js.map +1 -1
  289. package/dist/cli/commands/coverage.js +3 -3
  290. package/dist/cli/commands/index.d.ts +3 -0
  291. package/dist/cli/commands/index.d.ts.map +1 -1
  292. package/dist/cli/commands/index.js +3 -0
  293. package/dist/cli/commands/index.js.map +1 -1
  294. package/dist/cli/commands/map.d.ts.map +1 -1
  295. package/dist/cli/commands/map.js +161 -27
  296. package/dist/cli/commands/map.js.map +1 -1
  297. package/dist/cli/commands/path.d.ts +3 -0
  298. package/dist/cli/commands/path.d.ts.map +1 -0
  299. package/dist/cli/commands/path.js +145 -0
  300. package/dist/cli/commands/path.js.map +1 -0
  301. package/dist/cli/commands/recover.d.ts.map +1 -1
  302. package/dist/cli/commands/recover.js +25 -6
  303. package/dist/cli/commands/recover.js.map +1 -1
  304. package/dist/cli/commands/regime.d.ts +14 -0
  305. package/dist/cli/commands/regime.d.ts.map +1 -0
  306. package/dist/cli/commands/regime.js +189 -0
  307. package/dist/cli/commands/regime.js.map +1 -0
  308. package/dist/cli/errors.d.ts.map +1 -1
  309. package/dist/cli/graphs.d.ts.map +1 -1
  310. package/dist/cli/graphs.js +5 -1
  311. package/dist/cli/graphs.js.map +1 -1
  312. package/dist/cli/main.d.ts.map +1 -1
  313. package/dist/cli/main.js +22 -0
  314. package/dist/cli/main.js.map +1 -1
  315. package/dist/cli/output.d.ts +6 -1
  316. package/dist/cli/output.d.ts.map +1 -1
  317. package/dist/cli/output.js.map +1 -1
  318. package/dist/cli/version.js.map +1 -1
  319. package/dist/cli-api.d.ts +16 -0
  320. package/dist/cli-api.d.ts.map +1 -1
  321. package/dist/cli-api.js +18 -0
  322. package/dist/cli-api.js.map +1 -1
  323. package/dist/composition/axis-audit.js.map +1 -1
  324. package/dist/composition/bridge-prediction.d.ts.map +1 -1
  325. package/dist/composition/bridge-prediction.js +0 -0
  326. package/dist/composition/bridge-prediction.js.map +1 -1
  327. package/dist/composition/canonical-graph.d.ts +2 -2
  328. package/dist/composition/canonical-graph.js +2 -2
  329. package/dist/composition/canonical-graph.js.map +1 -1
  330. package/dist/composition/compose-symbolic.d.ts.map +1 -1
  331. package/dist/composition/compose-symbolic.js.map +1 -1
  332. package/dist/composition/compose.d.ts.map +1 -1
  333. package/dist/composition/compose.js +80 -1
  334. package/dist/composition/compose.js.map +1 -1
  335. package/dist/composition/consequence.js.map +1 -1
  336. package/dist/composition/discovery.js.map +1 -1
  337. package/dist/composition/edge.d.ts +64 -0
  338. package/dist/composition/edge.d.ts.map +1 -1
  339. package/dist/composition/edge.js +29 -0
  340. package/dist/composition/edge.js.map +1 -1
  341. package/dist/composition/edges/calibration.d.ts.map +1 -1
  342. package/dist/composition/edges/calibration.js +46 -0
  343. package/dist/composition/edges/calibration.js.map +1 -1
  344. package/dist/composition/edges/catalog-quantum.d.ts.map +1 -1
  345. package/dist/composition/edges/catalog-quantum.js +9 -0
  346. package/dist/composition/edges/catalog-quantum.js.map +1 -1
  347. package/dist/composition/edges/catalog-tranche.d.ts.map +1 -1
  348. package/dist/composition/edges/catalog-tranche.js +18 -0
  349. package/dist/composition/edges/catalog-tranche.js.map +1 -1
  350. package/dist/composition/enumerate.js.map +1 -1
  351. package/dist/composition/explain.js.map +1 -1
  352. package/dist/composition/expr-eval.d.ts.map +1 -1
  353. package/dist/composition/expr-eval.js.map +1 -1
  354. package/dist/composition/expr-simplify.d.ts +13 -0
  355. package/dist/composition/expr-simplify.d.ts.map +1 -1
  356. package/dist/composition/expr-simplify.js +25 -0
  357. package/dist/composition/expr-simplify.js.map +1 -1
  358. package/dist/composition/expr-subst.js.map +1 -1
  359. package/dist/composition/graph-viz-svg.d.ts.map +1 -1
  360. package/dist/composition/graph-viz.d.ts +118 -1
  361. package/dist/composition/graph-viz.d.ts.map +1 -1
  362. package/dist/composition/graph-viz.js +189 -6
  363. package/dist/composition/graph-viz.js.map +1 -1
  364. package/dist/composition/identifiability.js.map +1 -1
  365. package/dist/composition/index.d.ts +4 -2
  366. package/dist/composition/index.d.ts.map +1 -1
  367. package/dist/composition/index.js +2 -1
  368. package/dist/composition/index.js.map +1 -1
  369. package/dist/composition/poster-source.d.ts +153 -0
  370. package/dist/composition/poster-source.d.ts.map +1 -0
  371. package/dist/composition/poster-source.js +183 -0
  372. package/dist/composition/poster-source.js.map +1 -0
  373. package/dist/composition/probe/backend-protocol.d.ts +34 -1
  374. package/dist/composition/probe/backend-protocol.d.ts.map +1 -1
  375. package/dist/composition/probe/backend-protocol.js +9 -2
  376. package/dist/composition/probe/backend-protocol.js.map +1 -1
  377. package/dist/composition/probe/candidate-store.d.ts.map +1 -1
  378. package/dist/composition/probe/limits.js.map +1 -1
  379. package/dist/composition/probe/pipeline.js.map +1 -1
  380. package/dist/composition/probe/problem.js.map +1 -1
  381. package/dist/composition/probe/residual.d.ts.map +1 -1
  382. package/dist/composition/probe/residual.js.map +1 -1
  383. package/dist/composition/probe/search-budget.js.map +1 -1
  384. package/dist/composition/proposed-bridges.d.ts +2 -2
  385. package/dist/composition/proposed-bridges.d.ts.map +1 -1
  386. package/dist/composition/proposed-bridges.js +1 -1
  387. package/dist/composition/proposed-bridges.js.map +1 -1
  388. package/dist/composition/retrodiction.js.map +1 -1
  389. package/dist/composition/uncertainty.d.ts +52 -2
  390. package/dist/composition/uncertainty.d.ts.map +1 -1
  391. package/dist/composition/uncertainty.js +38 -2
  392. package/dist/composition/uncertainty.js.map +1 -1
  393. package/dist/composition/user-equation.d.ts.map +1 -1
  394. package/dist/core/flux-rules.d.ts.map +1 -1
  395. package/dist/core/flux-rules.js.map +1 -1
  396. package/dist/core/labeled-tensor.d.ts.map +1 -1
  397. package/dist/core/regime-registry.d.ts.map +1 -1
  398. package/dist/core/regime-rule-install.js.map +1 -1
  399. package/dist/core/tensor.d.ts.map +1 -1
  400. package/dist/core/tensor.js.map +1 -1
  401. package/dist/core/types.d.ts.map +1 -1
  402. package/dist/diff/bridge-ast-gradient.js.map +1 -1
  403. package/dist/dimensional/ast-types.d.ts +31 -1
  404. package/dist/dimensional/ast-types.d.ts.map +1 -1
  405. package/dist/dimensional/bridge-check.d.ts +1 -1
  406. package/dist/dimensional/bridge-check.js +1 -1
  407. package/dist/dimensional/buckingham.d.ts.map +1 -1
  408. package/dist/dimensional/connection.d.ts +2 -0
  409. package/dist/dimensional/connection.d.ts.map +1 -1
  410. package/dist/dimensional/connection.js +2 -0
  411. package/dist/dimensional/connection.js.map +1 -1
  412. package/dist/dimensional/curvature-composite.d.ts +5 -3
  413. package/dist/dimensional/curvature-composite.d.ts.map +1 -1
  414. package/dist/dimensional/curvature-composite.js +1 -0
  415. package/dist/dimensional/curvature-composite.js.map +1 -1
  416. package/dist/dimensional/curvature-invariants.d.ts +2 -0
  417. package/dist/dimensional/curvature-invariants.d.ts.map +1 -1
  418. package/dist/dimensional/curvature-invariants.js +2 -0
  419. package/dist/dimensional/curvature-invariants.js.map +1 -1
  420. package/dist/dimensional/dimension-spec.d.ts.map +1 -1
  421. package/dist/dimensional/einstein-equation.d.ts +3 -3
  422. package/dist/dimensional/einstein-equation.js +3 -3
  423. package/dist/dimensional/errors.d.ts.map +1 -1
  424. package/dist/dimensional/metric.d.ts +5 -2
  425. package/dist/dimensional/metric.d.ts.map +1 -1
  426. package/dist/dimensional/metric.js +5 -2
  427. package/dist/dimensional/metric.js.map +1 -1
  428. package/dist/dimensional/tensor-trace.js.map +1 -1
  429. package/dist/dimensional/validator-registry.js.map +1 -1
  430. package/dist/dimensional/validator.d.ts +3 -2
  431. package/dist/dimensional/validator.d.ts.map +1 -1
  432. package/dist/dimensional/validator.js +23 -4
  433. package/dist/dimensional/validator.js.map +1 -1
  434. package/dist/index.d.ts +4 -3
  435. package/dist/index.d.ts.map +1 -1
  436. package/dist/index.js +4 -1
  437. package/dist/index.js.map +1 -1
  438. package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
  439. package/dist/numerical/curvature-lowering-helpers.js +104 -0
  440. package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
  441. package/dist/numerical/errors.d.ts.map +1 -1
  442. package/dist/numerical/errors.js.map +1 -1
  443. package/dist/numerical/float64-engine.d.ts.map +1 -1
  444. package/dist/numerical/float64-engine.js +51 -24
  445. package/dist/numerical/float64-engine.js.map +1 -1
  446. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  447. package/dist/numerical/formula-dimension.js.map +1 -1
  448. package/dist/numerical/formula.d.ts.map +1 -1
  449. package/dist/numerical/formula.js.map +1 -1
  450. package/dist/numerical/geometrized.d.ts.map +1 -1
  451. package/dist/numerical/gl4-integrator.d.ts +3 -3
  452. package/dist/numerical/gl4-integrator.js +3 -3
  453. package/dist/numerical/killing.d.ts +47 -5
  454. package/dist/numerical/killing.d.ts.map +1 -1
  455. package/dist/numerical/killing.js +41 -3
  456. package/dist/numerical/killing.js.map +1 -1
  457. package/dist/numerical/klein-gordon.d.ts +2 -2
  458. package/dist/numerical/klein-gordon.js +2 -2
  459. package/dist/numerical/lowering.d.ts +2 -2
  460. package/dist/numerical/lowering.d.ts.map +1 -1
  461. package/dist/numerical/lowering.js +5 -3
  462. package/dist/numerical/lowering.js.map +1 -1
  463. package/dist/numerical/mathts-engine.d.ts.map +1 -1
  464. package/dist/numerical/mathts-engine.js.map +1 -1
  465. package/dist/numerical/metric-inverse.js.map +1 -1
  466. package/dist/numerical/perihelion-finder.d.ts +15 -13
  467. package/dist/numerical/perihelion-finder.d.ts.map +1 -1
  468. package/dist/numerical/perihelion-finder.js +15 -13
  469. package/dist/numerical/perihelion-finder.js.map +1 -1
  470. package/dist/numerical/weyl-lowering.d.ts.map +1 -1
  471. package/dist/numerical/weyl-lowering.js +90 -40
  472. package/dist/numerical/weyl-lowering.js.map +1 -1
  473. package/package.json +121 -104
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Residual form of a canonical equation: `target − scalarAst`.
3
+ *
4
+ * A canonical entry stores the RIGHT-HAND SIDE of one target (`scalarAst`), for example `m·a` for
5
+ * the target force. A claim, as a user or the benchmark writes it, is a RELATION: `F − m·a`. The
6
+ * structural key of a residual and of a right-hand side can never be equal, so a structural search
7
+ * that compares a claim with `scalarAst` never matches. The criterion 3 study measured this: 0 of
8
+ * 11,125 query × record pairs (pre-registration Amendment 8). Putting the canonical entry in residual
9
+ * form makes both sides the same kind of object.
10
+ *
11
+ * Symbol names are not unified here. The structural key renames every dimensioned symbol to its
12
+ * dimension, so `F` and `force` compare equal there. Symbol overlap still sees the two naming
13
+ * conventions (`k_B` against `boltzmann-constant`), and no alias map bridges them.
14
+ *
15
+ * @module canonical/residual
16
+ * @internal
17
+ */
18
+ /**
19
+ * The residual `target − scalarAst` of a canonical entry, or `undefined` when the entry has no
20
+ * `scalarAst`. The target becomes a symbol with its name and dimension; the right-hand side is the
21
+ * entry's own `scalarAst`, not a copy.
22
+ *
23
+ * @internal
24
+ */
25
+ export function canonicalResidual(e) {
26
+ if (e.scalarAst === undefined)
27
+ return undefined;
28
+ const target = { kind: 'symbol', name: e.dimensional.target.name, dim: e.dimensional.target.dim };
29
+ return { kind: 'op', op: '-', args: [target, e.scalarAst] };
30
+ }
31
+ //# sourceMappingURL=residual.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"residual.js","sourceRoot":"","sources":["../../src/canonical/residual.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAAoB;IACpD,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,MAAM,GAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IAC5G,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;AAC9D,CAAC"}
@@ -31,6 +31,14 @@ export interface Command {
31
31
  export declare function registerCommand(command: Command): void;
32
32
  /** Look up a command by its primary name or any alias. */
33
33
  export declare function resolveCommand(nameOrAlias: string): Command | undefined;
34
+ /**
35
+ * The PRIMARY names of every registered command, sorted (aliases excluded).
36
+ *
37
+ * The authority on what the CLI can run. `upt --help` is a static text in
38
+ * `main.ts`, so a command registered without a help entry would be runnable and
39
+ * invisible; `tests/cli/help-covers-registry.test.ts` compares the two.
40
+ */
41
+ export declare function listCommandNames(): string[];
34
42
  /** Test-only registration hook. Same behavior as `registerCommand` — kept as
35
43
  * a distinct, deliberately-unexciting name so it reads as test scaffolding
36
44
  * (not part of the CLI's own porting surface) at call sites in
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/cli/command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,OAAO,MAAM,CAAC;IACnB,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvC;AAID;;uDAEuD;AACvD,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAGtD;AAED,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEvE;AAED;;;6EAG6E;AAC7E,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEtD;AAED;;yEAEyE;AACzE,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/cli/command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,OAAO,MAAM,CAAC;IACnB,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvC;AAID;;uDAEuD;AACvD,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAGtD;AAED,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEvE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAED;;;6EAG6E;AAC7E,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEtD;AAED;;yEAEyE;AACzE,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
@@ -22,6 +22,16 @@ export function registerCommand(command) {
22
22
  export function resolveCommand(nameOrAlias) {
23
23
  return registry.get(nameOrAlias);
24
24
  }
25
+ /**
26
+ * The PRIMARY names of every registered command, sorted (aliases excluded).
27
+ *
28
+ * The authority on what the CLI can run. `upt --help` is a static text in
29
+ * `main.ts`, so a command registered without a help entry would be runnable and
30
+ * invisible; `tests/cli/help-covers-registry.test.ts` compares the two.
31
+ */
32
+ export function listCommandNames() {
33
+ return [...new Set([...registry.values()].map((c) => c.name))].sort();
34
+ }
25
35
  /** Test-only registration hook. Same behavior as `registerCommand` — kept as
26
36
  * a distinct, deliberately-unexciting name so it reads as test scaffolding
27
37
  * (not part of the CLI's own porting surface) at call sites in
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/cli/command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAqBH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;AAE5C;;uDAEuD;AACvD,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO;QAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,OAAO,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACnC,CAAC;AAED;;;6EAG6E;AAC7E,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,eAAe,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED;;yEAEyE;AACzE,MAAM,UAAU,oBAAoB;IAClC,QAAQ,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/cli/command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAqBH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;AAE5C;;uDAEuD;AACvD,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO;QAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,OAAO,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACxE,CAAC;AAED;;;6EAG6E;AAC7E,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,eAAe,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED;;yEAEyE;AACzE,MAAM,UAAU,oBAAoB;IAClC,QAAQ,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Command } from '../command.js';
2
+ export declare const command: Command;
3
+ //# sourceMappingURL=atlas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atlas.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/atlas.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAiK/E,eAAO,MAAM,OAAO,EAAE,OAAuE,CAAC"}
@@ -0,0 +1,158 @@
1
+ import { registerCommand } from '../command.js';
2
+ import { CliError } from '../errors.js';
3
+ import { emitJson } from '../output.js';
4
+ const FLAGS = [{ name: '--json', valueStyle: 'none' }];
5
+ /** `null` and `[]` are both not yet analysed, and neither is omitted. */
6
+ function formatUniformity(uniformity) {
7
+ if (uniformity === null || uniformity.length === 0)
8
+ return 'not yet analysed';
9
+ return uniformity.join('; ');
10
+ }
11
+ const HELP = `upt atlas [<bridge-id>] [--json]
12
+ One atlas bridge with every qualification visible: relation, premises
13
+ and conclusion, transformation and inverse, side conditions, regime
14
+ inequalities, bound with its horizon and uniformity, what it preserves and loses,
15
+ witnesses, counterexamples, formal reference and review status. Empty
16
+ sections print as "none stated", never disappear. With no id, lists
17
+ every bridge of every family.
18
+ e.g. upt atlas ab-pendulum-linear`;
19
+ async function run(ctx) {
20
+ const { args, api, out } = ctx;
21
+ const wantJson = args.flags.has('json');
22
+ const [id, extra] = args.positionals;
23
+ if (extra !== undefined)
24
+ throw new CliError(`upt atlas: unexpected argument '${extra}' (one bridge at a time)`);
25
+ const families = api.ATLAS_FAMILIES;
26
+ const rows = families.flatMap((f) => f.bridges.map((b) => ({ family: f.family, bridge: b })));
27
+ const models = new Map(families.flatMap((f) => f.models.map((m) => [m.id, m])));
28
+ if (id === undefined) {
29
+ const listing = rows.map((r) => ({ id: r.bridge.id, family: r.family, relation: r.bridge.relation }));
30
+ if (wantJson) {
31
+ emitJson({ command: 'atlas', result: { bridges: listing } }, ctx.write);
32
+ return 0;
33
+ }
34
+ out(`\n${listing.length} atlas bridges across ${families.length} families:`);
35
+ for (const l of listing)
36
+ out(` ${l.id.padEnd(28)} ${l.relation.padEnd(22)} [${l.family}]`);
37
+ out('\nRun `upt atlas <bridge-id>` for one bridge with every qualification.');
38
+ return 0;
39
+ }
40
+ const row = rows.find((r) => r.bridge.id === id);
41
+ if (row === undefined) {
42
+ throw new CliError(`upt atlas: unknown bridge '${id}' (run \`upt atlas\` to list them)`);
43
+ }
44
+ const b = row.bridge;
45
+ const derived = api.deriveEvidence(b, api.NO_PASSING_WITNESSES);
46
+ const symbolic = b.witnesses.filter((w) => w.kind === 'symbolic').map((w) => w.id);
47
+ const familyOf = (modelId) => models.get(modelId)?.family ?? 'UNKNOWN';
48
+ const report = {
49
+ id: b.id,
50
+ family: row.family,
51
+ relation: b.relation,
52
+ premises: b.premises.map((p) => ({ id: p, family: familyOf(p) })),
53
+ conclusion: { id: b.conclusion, family: familyOf(b.conclusion) },
54
+ transformation: b.transformation,
55
+ inverse: b.inverse ?? null,
56
+ sideConditions: [...b.sideConditions],
57
+ regime: {
58
+ inequalities: b.regime.inequalities.map((i) => ({ group: i.group, op: i.op, bound: i.bound, alias: i.alias ?? null })),
59
+ vacuous: b.regime.inequalities.length === 0,
60
+ },
61
+ bound: b.bound === undefined
62
+ ? null
63
+ : {
64
+ K: b.bound.K,
65
+ delta: b.bound.delta,
66
+ norm: b.bound.norm,
67
+ domain: b.bound.domain,
68
+ horizon: b.bound.horizon,
69
+ limitCharacter: b.bound.limitCharacter,
70
+ uniformity: b.bound.uniformity === null ? null : [...b.bound.uniformity],
71
+ },
72
+ preserves: [...b.preserves],
73
+ doesNotPreserve: [...b.doesNotPreserve],
74
+ storedEvidence: [...b.evidence].sort(),
75
+ formallyProved: derived.has('formally-proved'),
76
+ symbolicWitnesses: symbolic,
77
+ witnesses: b.witnesses.map((w) => ({ id: w.id, kind: w.kind, test: w.test, tolerance: w.tolerance ?? null })),
78
+ counterexamples: b.counterexamples.map((c) => ({ description: c.description, witness: c.witness })),
79
+ formalRef: b.formalRef ?? null,
80
+ formalRefCovers: b.formalRef === undefined ? null : 'the statement only — not the bound, regime or side conditions unless it says so',
81
+ citations: [...b.citations],
82
+ reviewStatus: b.reviewStatus,
83
+ };
84
+ if (wantJson) {
85
+ emitJson({
86
+ command: 'atlas',
87
+ epistemics: 'Every qualification is included; empty lists mean "none stated", not "none needed". ' +
88
+ 'symbolically-checked is decided by data/atlas/witness-results.json, which is not shipped in ' +
89
+ 'the package; symbolicWitnesses names the witnesses it is decided over.',
90
+ options: { id },
91
+ result: report,
92
+ }, ctx.write);
93
+ return 0;
94
+ }
95
+ const list = (label, items) => {
96
+ out(`${label}:`);
97
+ if (items.length === 0)
98
+ out(' none stated');
99
+ for (const i of items)
100
+ out(` - ${i}`);
101
+ };
102
+ out(`\n${b.id} — ${b.relation} [${row.family}]`);
103
+ out(` ${report.premises.map((p) => `${p.id} (${p.family})`).join(' + ')} → ${b.conclusion} (${report.conclusion.family})`);
104
+ out(`transformation: ${b.transformation}`);
105
+ out(`inverse: ${b.inverse ?? 'none stated'}`);
106
+ list('side conditions', b.sideConditions);
107
+ out('regime:');
108
+ if (report.regime.vacuous)
109
+ out(' VACUOUS — states no inequality; the bridge claims no restricted domain');
110
+ for (const i of b.regime.inequalities)
111
+ out(` - ${i.group} ${i.op} ${i.bound}${i.alias === undefined ? '' : ` (${i.alias})`}`);
112
+ out('bound:');
113
+ if (b.bound === undefined)
114
+ out(' none stated');
115
+ else {
116
+ out(` K = ${b.bound.K}, delta = ${b.bound.delta} (${b.bound.norm})`);
117
+ out(` domain: ${b.bound.domain}`);
118
+ out(` horizon: ${b.bound.horizon}`);
119
+ out(` limit: ${b.bound.limitCharacter}`);
120
+ out(` uniformity: ${formatUniformity(b.bound.uniformity)}`);
121
+ }
122
+ list('preserves', b.preserves);
123
+ list('does NOT preserve', b.doesNotPreserve);
124
+ out(`stored evidence: ${report.storedEvidence.join(', ') || 'none'}`);
125
+ out(`formally-proved (derived from formalRef): ${report.formallyProved ? 'YES' : 'no'}`);
126
+ out(symbolic.length === 0
127
+ ? 'symbolically-checked: no symbolic witness'
128
+ : `symbolically-checked: decided by data/atlas/witness-results.json over ${symbolic.join(', ')} ` +
129
+ '(repository artifact, not shipped in the package)');
130
+ out('witnesses:');
131
+ if (b.witnesses.length === 0)
132
+ out(' none stated');
133
+ for (const w of b.witnesses) {
134
+ out(` - ${w.id} [${w.kind}] ${w.test}${w.tolerance === undefined ? '' : ` — ${w.tolerance}`}`);
135
+ }
136
+ out('counterexamples:');
137
+ if (b.counterexamples.length === 0)
138
+ out(' none stated');
139
+ for (const c of b.counterexamples)
140
+ out(` - ${c.description} (witness ${c.witness})`);
141
+ out('formal reference:');
142
+ if (b.formalRef === undefined)
143
+ out(' none — no checked counterpart is recorded');
144
+ else {
145
+ out(` ${b.formalRef.system}: ${b.formalRef.statement}`);
146
+ out(` version ${b.formalRef.version}; axioms ${b.formalRef.axioms.join(', ') || 'none'}`);
147
+ out(` fidelity: ${b.formalRef.fidelity}`);
148
+ // The tag above must not read wider than the statement: a reference that
149
+ // certifies a transformation does not certify the bound beside it.
150
+ out(' covers: the statement above ONLY — not the bound, regime or side conditions unless it says so');
151
+ }
152
+ list('citations', b.citations);
153
+ out(`review status: ${b.reviewStatus}`);
154
+ return 0;
155
+ }
156
+ export const command = { name: 'atlas', aliases: [], flags: FLAGS, help: HELP, run };
157
+ registerCommand(command);
158
+ //# sourceMappingURL=atlas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atlas.js","sourceRoot":"","sources":["../../../src/cli/commands/atlas.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"confront.js","sourceRoot":"","sources":["../../../src/cli/commands/confront.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confront.js","sourceRoot":"","sources":["../../../src/cli/commands/confront.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { registerCommand } from '../command.js';
2
2
  import { emitJson } from '../output.js';
3
3
  const FLAGS = [{ name: '--json', valueStyle: 'none' }];
4
- const HELP = `upt coverage
5
- Audit the catalog's empirical grounding — which bridges are
6
- data-confronted vs graph-computable vs encoded-only vs thin — to
4
+ const HELP = `upt coverage
5
+ Audit the catalog's empirical grounding — which bridges are
6
+ data-confronted vs graph-computable vs encoded-only vs thin — to
7
7
  target the physicist review. Fabricates nothing.`;
8
8
  const EPISTEMICS = '(reads the catalog/graph/confrontation modules; fabricates nothing)';
9
9
  async function run(ctx) {
@@ -23,4 +23,7 @@ import './axes.js';
23
23
  import './evaluate.js';
24
24
  import './ground.js';
25
25
  import './probe.js';
26
+ import './regime.js';
27
+ import './path.js';
28
+ import './atlas.js';
26
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","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,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"}
1
+ {"version":3,"file":"index.d.ts","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,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"}
@@ -23,4 +23,7 @@ import './axes.js';
23
23
  import './evaluate.js';
24
24
  import './ground.js';
25
25
  import './probe.js';
26
+ import './regime.js';
27
+ import './path.js';
28
+ import './atlas.js';
26
29
  //# sourceMappingURL=index.js.map
@@ -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,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"}
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,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"}
@@ -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;AAgQ/E,eAAO,MAAM,OAAO,EAAE,OAMrB,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;AA+Y/E,eAAO,MAAM,OAAO,EAAE,OAMrB,CAAC"}
@@ -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.
@@ -116,8 +172,40 @@ async function run(ctx) {
116
172
  // map asks a pure connectivity question, so it defaults to --source=both
117
173
  // (catalog + canonical) rather than graphs.ts's catalog fallback used by
118
174
  // the other --source commands (e.g. discover, which keeps catalog).
175
+ //
176
+ // `--source=poster` is a MAP-ONLY source and is resolved HERE, not in
177
+ // `resolveGraph`. That helper is shared by `discover`, `candidates` and the
178
+ // rest, and the poster index is not a `BridgeEdge` graph they could analyse;
179
+ // teaching it a value only one command can use would hand every other command
180
+ // a source that silently means nothing.
181
+ const posterMode = lastValue(args.flags, 'source') === 'poster';
119
182
  const sourceFlags = args.flags.has('source') ? args.flags : new Map(args.flags).set('source', ['both']);
120
- const { graph, label, source } = resolveGraph(api, sourceFlags);
183
+ const resolved = posterMode
184
+ ? { graph: [], label: 'poster (Atlas Phase 3 index)', source: 'poster' }
185
+ : resolveGraph(api, sourceFlags);
186
+ const { graph: fullGraph, label, source } = resolved;
187
+ // The poster's own report line: what it contributed, or why it contributed
188
+ // nothing (design note §6). Computed once; printed by every output form.
189
+ const posterValidation = posterMode ? api.validatePoster(api.POSTER_GRAPH) : null;
190
+ const posterNote = posterMode
191
+ ? api.describePosterSource(api.POSTER_GRAPH, posterValidation)
192
+ : null;
193
+ // The two overlay filters. Parsed BEFORE anything else is computed so a bad
194
+ // value costs nothing and always exits 1.
195
+ const relation = parseFilter(lastValue(args.flags, 'relation'), RELATION_TYPES, '--relation');
196
+ const evidence = parseFilter(lastValue(args.flags, 'evidence'), EVIDENCE_TAGS, '--evidence');
197
+ const filterOpts = {
198
+ ...(relation !== undefined ? { relation } : {}),
199
+ ...(evidence !== undefined ? { evidence } : {}),
200
+ };
201
+ // The TEXT and JSON paths filter the edge list here, because `linkageMap`
202
+ // consumes edges. The VISUAL path hands `buildVizModel` the FULL graph with
203
+ // the same options, so the model also judges the --proposed / --equation
204
+ // overlay junctions, which are not edges and which `filterEdges` cannot see.
205
+ // One predicate, two callers: they cannot disagree about what a filter
206
+ // selects, only about how much they were asked to count.
207
+ const { kept: graph, stats: edgeStats } = api.filterEdges(fullGraph, filterOpts);
208
+ const edgeLegend = api.formatFilterLegend(edgeStats);
121
209
  const fmtValues = args.flags.get('format');
122
210
  const fmt = fmtValues && fmtValues.length > 0 ? fmtValues[fmtValues.length - 1] : 'text';
123
211
  const isJson = args.flags.has('json');
@@ -143,7 +231,14 @@ async function run(ctx) {
143
231
  }
144
232
  }
145
233
  const overlay = (extra) => [
146
- ...(args.flags.has('proposed') ? proposedJunctions(api, graph, args.flags) : []),
234
+ // Ranked from the UNFILTERED graph: the proposal set is a property of the
235
+ // whole catalog, and the model then judges each overlay junction under the
236
+ // same filter as every other junction.
237
+ ...(args.flags.has('proposed') ? proposedJunctions(api, fullGraph, args.flags) : []),
238
+ // The poster enters as an overlay for exactly the reason the design note
239
+ // gives: an overlay is FILTERED, clustered and legended like every other
240
+ // junction, so a poster source cannot quietly bypass --relation/--evidence.
241
+ ...(posterMode ? api.posterJunctions(api.POSTER_GRAPH) : []),
147
242
  ...extra,
148
243
  ];
149
244
  if (isJson) {
@@ -151,9 +246,10 @@ async function run(ctx) {
151
246
  let landing;
152
247
  let userEquation;
153
248
  if (user) {
154
- const model = api.buildVizModel(graph, {
249
+ const model = api.buildVizModel(fullGraph, {
155
250
  title: `UPT physics map — ${label}`,
156
251
  extraJunctions: overlay([user.junction]),
252
+ ...filterOpts,
157
253
  });
158
254
  landing = api.equationLanding(model, 'user-equation');
159
255
  userEquation = {
@@ -167,15 +263,21 @@ async function run(ctx) {
167
263
  emitJson({
168
264
  command: 'map',
169
265
  source,
170
- result: { linkage, ...(user ? { landing, userEquation } : {}) },
266
+ result: {
267
+ linkage,
268
+ ...(posterMode ? { poster: { note: posterNote, ...posterValidation } } : {}),
269
+ ...(edgeLegend !== null ? { filter: edgeStats } : {}),
270
+ ...(user ? { landing, userEquation } : {}),
271
+ },
171
272
  }, write);
172
273
  return 0;
173
274
  }
174
275
  if (fmt === 'mermaid' || fmt === 'dot' || fmt === 'svg') {
175
276
  const extraJunctions = overlay(user ? [user.junction] : []);
176
- const model = api.buildVizModel(graph, {
277
+ const model = api.buildVizModel(fullGraph, {
177
278
  title: `UPT physics map — ${label}`,
178
279
  extraJunctions,
280
+ ...filterOpts,
179
281
  });
180
282
  // svg is the dot layout rendered by the optional @viz-js/viz peer.
181
283
  let src;
@@ -207,7 +309,12 @@ async function run(ctx) {
207
309
  else {
208
310
  write(src);
209
311
  }
210
- // Landing report goes to stderr so stdout/--out stays pure diagram source.
312
+ // Legend and landing report go to stderr so stdout/--out stays pure diagram
313
+ // source. The diagram itself also carries the legend (see `buildVizModel`).
314
+ if (posterNote !== null)
315
+ err(`upt: ${posterNote}`);
316
+ if (model.filterLegend !== null)
317
+ err(`upt: ${model.filterLegend}`);
211
318
  if (user)
212
319
  printEquationReport(api, model, user, err);
213
320
  return 0;
@@ -215,12 +322,38 @@ async function run(ctx) {
215
322
  if (fmt !== 'text') {
216
323
  throw new CliError(`upt: unknown --format='${fmt}' (expected: text | mermaid | dot | svg)`);
217
324
  }
325
+ if (posterMode) {
326
+ const model = api.buildVizModel(fullGraph, {
327
+ title: `UPT physics map — ${label}`,
328
+ extraJunctions: overlay(user ? [user.junction] : []),
329
+ ...filterOpts,
330
+ });
331
+ out(`
332
+ Poster index — statements and the derivations between them [source: ${label}]`);
333
+ out(` ${posterNote}`);
334
+ out(` (${model.junctions.length} junctions over ${model.clusters.length} clusters; ` +
335
+ `${api.POSTER_GRAPH.derivations.length} derivations, ` +
336
+ `${api.POSTER_GRAPH.associations.length} associations)`);
337
+ if (model.filterLegend !== null)
338
+ out(` ${model.filterLegend}`);
339
+ for (const d of posterValidation.dangling) {
340
+ out(` ⚠ '${d.derivation}' names '${d.missing}' as a ${d.role}, and nothing defines it.`);
341
+ }
342
+ if (user) {
343
+ out(`
344
+ Your equation: ${user.junction.label}`);
345
+ printEquationReport(api, model, user, out);
346
+ }
347
+ return 0;
348
+ }
218
349
  const m = api.linkageMap(graph);
219
350
  const mix = (s) => Object.entries(s)
220
351
  .map(([k, v]) => `${v} ${k}`)
221
352
  .join(', ');
222
353
  out(`\nLinkage map — how the equations connect via shared quantities [source: ${label}]`);
223
354
  out(`(${m.componentCount} components over ${graph.length} edges; ${m.compositions} compose into chains)\n`);
355
+ if (edgeLegend !== null)
356
+ out(` ${edgeLegend}`);
224
357
  for (const c of m.clusters.filter((x) => x.size > 1)) {
225
358
  out(` ● cluster of ${c.size}${c.anchored ? ' [ANCHORED to known physics]' : ''}`);
226
359
  out(` edges: ${c.edges.join(', ')}`);
@@ -232,9 +365,10 @@ async function run(ctx) {
232
365
  out('\n (a structural map — shared-quantity connectivity, NOT a credibility signal)');
233
366
  // --equation: where does the user's equation land in this graph?
234
367
  if (user) {
235
- const model = api.buildVizModel(graph, {
368
+ const model = api.buildVizModel(fullGraph, {
236
369
  title: `UPT physics map — ${label}`,
237
370
  extraJunctions: overlay([user.junction]),
371
+ ...filterOpts,
238
372
  });
239
373
  out(`\nYour equation: ${user.junction.label}`);
240
374
  printEquationReport(api, model, user, out);