universal-physics-tensor 9.0.0 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (824) hide show
  1. package/README.md +19 -16
  2. package/data/atlas/atlas.json +55 -44
  3. package/data/atlas/atlas.jsonld +1 -1
  4. package/data/atlas/diffusion.json +19 -18
  5. package/data/atlas/oscillators.json +15 -10
  6. package/data/atlas/waves.json +23 -18
  7. package/data/bridge-catalog.json +886 -1473
  8. package/data/bridge-catalog.schema.json +349 -132
  9. package/data/quantities.json +53 -19
  10. package/data/schemas/atlas-record.v0.json +184 -46
  11. package/data/units.json +33 -4
  12. package/dist/atlas/applicability.d.ts.map +1 -1
  13. package/dist/atlas/applicability.js +14 -3
  14. package/dist/atlas/applicability.js.map +1 -1
  15. package/dist/atlas/association.js.map +1 -1
  16. package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -1
  17. package/dist/atlas/benchmark/backend-shapes.js +5 -1
  18. package/dist/atlas/benchmark/backend-shapes.js.map +1 -1
  19. package/dist/atlas/benchmark/baselines.d.ts.map +1 -1
  20. package/dist/atlas/benchmark/baselines.js +8 -0
  21. package/dist/atlas/benchmark/baselines.js.map +1 -1
  22. package/dist/atlas/benchmark/hybrid-retrieval.d.ts +3 -2
  23. package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
  24. package/dist/atlas/benchmark/hybrid-retrieval.js +15 -8
  25. package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
  26. package/dist/atlas/benchmark/leakage.js.map +1 -1
  27. package/dist/atlas/benchmark/loader.js.map +1 -1
  28. package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -1
  29. package/dist/atlas/benchmark/run-atlas.js +14 -2
  30. package/dist/atlas/benchmark/run-atlas.js.map +1 -1
  31. package/dist/atlas/benchmark/stats.d.ts +1 -1
  32. package/dist/atlas/benchmark/stats.d.ts.map +1 -1
  33. package/dist/atlas/benchmark/stats.js +1 -1
  34. package/dist/atlas/benchmark/stats.js.map +1 -1
  35. package/dist/atlas/benchmark/study.js.map +1 -1
  36. package/dist/atlas/benchmark/types.js.map +1 -1
  37. package/dist/atlas/bridge-record.d.ts +4 -4
  38. package/dist/atlas/bridge-record.d.ts.map +1 -1
  39. package/dist/atlas/bridge-record.js +6 -6
  40. package/dist/atlas/bridge-record.js.map +1 -1
  41. package/dist/atlas/catalog-formal-ref.js.map +1 -1
  42. package/dist/atlas/chain-pipeline.d.ts +0 -11
  43. package/dist/atlas/chain-pipeline.d.ts.map +1 -1
  44. package/dist/atlas/chain-pipeline.js +5 -16
  45. package/dist/atlas/chain-pipeline.js.map +1 -1
  46. package/dist/atlas/composition-table.js.map +1 -1
  47. package/dist/atlas/conventions.js.map +1 -1
  48. package/dist/atlas/coverage.d.ts +2 -2
  49. package/dist/atlas/coverage.js.map +1 -1
  50. package/dist/atlas/derivation.js.map +1 -1
  51. package/dist/atlas/derive-evidence.d.ts +6 -4
  52. package/dist/atlas/derive-evidence.d.ts.map +1 -1
  53. package/dist/atlas/derive-evidence.js +7 -2
  54. package/dist/atlas/derive-evidence.js.map +1 -1
  55. package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
  56. package/dist/atlas/diffusion/bridges-closure.js +0 -5
  57. package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
  58. package/dist/atlas/diffusion/bridges.d.ts.map +1 -1
  59. package/dist/atlas/diffusion/bridges.js +0 -3
  60. package/dist/atlas/diffusion/bridges.js.map +1 -1
  61. package/dist/atlas/diffusion/dimensions.js.map +1 -1
  62. package/dist/atlas/diffusion/index.d.ts +1 -1
  63. package/dist/atlas/diffusion/index.d.ts.map +1 -1
  64. package/dist/atlas/diffusion/index.js.map +1 -1
  65. package/dist/atlas/diffusion/models.js.map +1 -1
  66. package/dist/atlas/diffusion/numerics.js.map +1 -1
  67. package/dist/atlas/error-algebra.d.ts +6 -0
  68. package/dist/atlas/error-algebra.d.ts.map +1 -1
  69. package/dist/atlas/error-algebra.js +26 -0
  70. package/dist/atlas/error-algebra.js.map +1 -1
  71. package/dist/atlas/export.d.ts +18 -2
  72. package/dist/atlas/export.d.ts.map +1 -1
  73. package/dist/atlas/export.js +9 -3
  74. package/dist/atlas/export.js.map +1 -1
  75. package/dist/atlas/families.d.ts +19 -2
  76. package/dist/atlas/families.d.ts.map +1 -1
  77. package/dist/atlas/families.js +26 -3
  78. package/dist/atlas/families.js.map +1 -1
  79. package/dist/atlas/family.d.ts +27 -0
  80. package/dist/atlas/family.d.ts.map +1 -0
  81. package/dist/atlas/family.js +12 -0
  82. package/dist/atlas/family.js.map +1 -0
  83. package/dist/atlas/index.d.ts +3 -2
  84. package/dist/atlas/index.d.ts.map +1 -1
  85. package/dist/atlas/index.js +2 -1
  86. package/dist/atlas/index.js.map +1 -1
  87. package/dist/atlas/link-prediction.d.ts +1 -1
  88. package/dist/atlas/link-prediction.d.ts.map +1 -1
  89. package/dist/atlas/link-prediction.js.map +1 -1
  90. package/dist/atlas/model.js.map +1 -1
  91. package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -1
  92. package/dist/atlas/oscillators/bridges-coarse.js +0 -1
  93. package/dist/atlas/oscillators/bridges-coarse.js.map +1 -1
  94. package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
  95. package/dist/atlas/oscillators/bridges-exact.js +0 -3
  96. package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
  97. package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
  98. package/dist/atlas/oscillators/bridges-limits.js +0 -2
  99. package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
  100. package/dist/atlas/oscillators/dimensions.js.map +1 -1
  101. package/dist/atlas/oscillators/index.d.ts +1 -16
  102. package/dist/atlas/oscillators/index.d.ts.map +1 -1
  103. package/dist/atlas/oscillators/index.js.map +1 -1
  104. package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
  105. package/dist/atlas/oscillators/models.js.map +1 -1
  106. package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -1
  107. package/dist/atlas/oscillators/norm-transport.js.map +1 -1
  108. package/dist/atlas/oscillators/norms.js.map +1 -1
  109. package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
  110. package/dist/atlas/oscillators/phase-carriage.js.map +1 -1
  111. package/dist/atlas/oscillators/phase-translation.js.map +1 -1
  112. package/dist/atlas/oscillators/position-translation.js.map +1 -1
  113. package/dist/atlas/oscillators/rejections.js.map +1 -1
  114. package/dist/atlas/path-bound.js.map +1 -1
  115. package/dist/atlas/physjs-entries.generated.js.map +1 -1
  116. package/dist/atlas/physjs-ref.d.ts +79 -45
  117. package/dist/atlas/physjs-ref.d.ts.map +1 -1
  118. package/dist/atlas/physjs-ref.js +143 -62
  119. package/dist/atlas/physjs-ref.js.map +1 -1
  120. package/dist/atlas/physjs-reviewed.d.ts +31 -0
  121. package/dist/atlas/physjs-reviewed.d.ts.map +1 -0
  122. package/dist/atlas/physjs-reviewed.js +194 -0
  123. package/dist/atlas/physjs-reviewed.js.map +1 -0
  124. package/dist/atlas/poster/associations.js.map +1 -1
  125. package/dist/atlas/poster/derivations.js.map +1 -1
  126. package/dist/atlas/poster/statements.js.map +1 -1
  127. package/dist/atlas/proof-target.js.map +1 -1
  128. package/dist/atlas/public.d.ts +2 -1
  129. package/dist/atlas/public.d.ts.map +1 -1
  130. package/dist/atlas/public.js +2 -1
  131. package/dist/atlas/public.js.map +1 -1
  132. package/dist/atlas/regime.js.map +1 -1
  133. package/dist/atlas/serialize.d.ts +18 -12
  134. package/dist/atlas/serialize.d.ts.map +1 -1
  135. package/dist/atlas/serialize.js +28 -18
  136. package/dist/atlas/serialize.js.map +1 -1
  137. package/dist/atlas/statement.js.map +1 -1
  138. package/dist/atlas/translation-registry.js.map +1 -1
  139. package/dist/atlas/translation.js.map +1 -1
  140. package/dist/atlas/types.d.ts +9 -2
  141. package/dist/atlas/types.d.ts.map +1 -1
  142. package/dist/atlas/types.js +1 -1
  143. package/dist/atlas/types.js.map +1 -1
  144. package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
  145. package/dist/atlas/waves/bridges-closure.js +0 -3
  146. package/dist/atlas/waves/bridges-closure.js.map +1 -1
  147. package/dist/atlas/waves/bridges.d.ts.map +1 -1
  148. package/dist/atlas/waves/bridges.js +0 -4
  149. package/dist/atlas/waves/bridges.js.map +1 -1
  150. package/dist/atlas/waves/index.d.ts +1 -1
  151. package/dist/atlas/waves/index.d.ts.map +1 -1
  152. package/dist/atlas/waves/index.js.map +1 -1
  153. package/dist/atlas/waves/models.js.map +1 -1
  154. package/dist/atlas/waves/numerics.js.map +1 -1
  155. package/dist/atlas/witness-artifact.js.map +1 -1
  156. package/dist/atlas/witness-dominance.d.ts +4 -3
  157. package/dist/atlas/witness-dominance.d.ts.map +1 -1
  158. package/dist/atlas/witness-dominance.js +15 -5
  159. package/dist/atlas/witness-dominance.js.map +1 -1
  160. package/dist/atlas/witness-numeric.d.ts +8 -4
  161. package/dist/atlas/witness-numeric.d.ts.map +1 -1
  162. package/dist/atlas/witness-numeric.js +27 -2
  163. package/dist/atlas/witness-numeric.js.map +1 -1
  164. package/dist/atlas/witness-result.d.ts +7 -1
  165. package/dist/atlas/witness-result.d.ts.map +1 -1
  166. package/dist/atlas/witness-result.js.map +1 -1
  167. package/dist/atlas/witness-specs.js.map +1 -1
  168. package/dist/atlas/witness-symbolic.js.map +1 -1
  169. package/dist/atlas/witnesses/quantum-support.js.map +1 -1
  170. package/dist/bridges/caller-table.d.ts +1 -1
  171. package/dist/bridges/caller-table.d.ts.map +1 -1
  172. package/dist/bridges/caller-table.js.map +1 -1
  173. package/dist/bridges/carrier-sign.d.ts.map +1 -1
  174. package/dist/bridges/carrier-sign.js +8 -3
  175. package/dist/bridges/carrier-sign.js.map +1 -1
  176. package/dist/bridges/catalog-adapter.d.ts +12 -3
  177. package/dist/bridges/catalog-adapter.d.ts.map +1 -1
  178. package/dist/bridges/catalog-adapter.js +17 -9
  179. package/dist/bridges/catalog-adapter.js.map +1 -1
  180. package/dist/bridges/catalog-load.d.ts +12 -2
  181. package/dist/bridges/catalog-load.d.ts.map +1 -1
  182. package/dist/bridges/catalog-load.js +171 -8
  183. package/dist/bridges/catalog-load.js.map +1 -1
  184. package/dist/bridges/catalog-types.d.ts +48 -24
  185. package/dist/bridges/catalog-types.d.ts.map +1 -1
  186. package/dist/bridges/catalog-types.js.map +1 -1
  187. package/dist/bridges/coefficient-statement.js +1 -5
  188. package/dist/bridges/coefficient-statement.js.map +1 -1
  189. package/dist/bridges/confrontation-coverage.js.map +1 -1
  190. package/dist/bridges/confrontations.d.ts +1 -1
  191. package/dist/bridges/confrontations.d.ts.map +1 -1
  192. package/dist/bridges/confrontations.js +1 -1
  193. package/dist/bridges/confrontations.js.map +1 -1
  194. package/dist/bridges/evaluation-errors.d.ts +15 -2
  195. package/dist/bridges/evaluation-errors.d.ts.map +1 -1
  196. package/dist/bridges/evaluation-errors.js +20 -2
  197. package/dist/bridges/evaluation-errors.js.map +1 -1
  198. package/dist/bridges/evaluator-inputs.js.map +1 -1
  199. package/dist/bridges/evaluators.d.ts +17 -2
  200. package/dist/bridges/evaluators.d.ts.map +1 -1
  201. package/dist/bridges/evaluators.js +49 -16
  202. package/dist/bridges/evaluators.js.map +1 -1
  203. package/dist/bridges/expr-parse.d.ts +27 -4
  204. package/dist/bridges/expr-parse.d.ts.map +1 -1
  205. package/dist/bridges/expr-parse.js +90 -10
  206. package/dist/bridges/expr-parse.js.map +1 -1
  207. package/dist/bridges/holds.d.ts +5 -1
  208. package/dist/bridges/holds.d.ts.map +1 -1
  209. package/dist/bridges/holds.js +18 -3
  210. package/dist/bridges/holds.js.map +1 -1
  211. package/dist/bridges/index.d.ts +15 -14
  212. package/dist/bridges/index.d.ts.map +1 -1
  213. package/dist/bridges/index.js +14 -15
  214. package/dist/bridges/index.js.map +1 -1
  215. package/dist/bridges/input-contract.js.map +1 -1
  216. package/dist/bridges/membership.d.ts +5 -3
  217. package/dist/bridges/membership.d.ts.map +1 -1
  218. package/dist/bridges/membership.js +5 -6
  219. package/dist/bridges/membership.js.map +1 -1
  220. package/dist/bridges/notices.js.map +1 -1
  221. package/dist/bridges/observations/types.js.map +1 -1
  222. package/dist/bridges/rejected.d.ts +11 -17
  223. package/dist/bridges/rejected.d.ts.map +1 -1
  224. package/dist/bridges/rejected.js +13 -68
  225. package/dist/bridges/rejected.js.map +1 -1
  226. package/dist/bridges/relation-eval.d.ts +5 -6
  227. package/dist/bridges/relation-eval.d.ts.map +1 -1
  228. package/dist/bridges/relation-eval.js +9 -38
  229. package/dist/bridges/relation-eval.js.map +1 -1
  230. package/dist/bridges/rhs-registry.js.map +1 -1
  231. package/dist/bridges/sensitivity.d.ts +11 -3
  232. package/dist/bridges/sensitivity.d.ts.map +1 -1
  233. package/dist/bridges/sensitivity.js +24 -10
  234. package/dist/bridges/sensitivity.js.map +1 -1
  235. package/dist/bridges/tensor-index.js.map +1 -1
  236. package/dist/bridges/types.d.ts +1 -7
  237. package/dist/bridges/types.d.ts.map +1 -1
  238. package/dist/bridges/types.js +1 -4
  239. package/dist/bridges/types.js.map +1 -1
  240. package/dist/canonical/canonical-equation.js.map +1 -1
  241. package/dist/canonical/dimensional-fields.js.map +1 -1
  242. package/dist/canonical/entries/_l1-build.js.map +1 -1
  243. package/dist/canonical/entries/atomic.js.map +1 -1
  244. package/dist/canonical/entries/condensed-matter.js +4 -4
  245. package/dist/canonical/entries/condensed-matter.js.map +1 -1
  246. package/dist/canonical/entries/dimensional-classics.js +2 -2
  247. package/dist/canonical/entries/dimensional-classics.js.map +1 -1
  248. package/dist/canonical/entries/electromagnetism.js +2 -2
  249. package/dist/canonical/entries/electromagnetism.js.map +1 -1
  250. package/dist/canonical/entries/fluids-waves.js.map +1 -1
  251. package/dist/canonical/entries/mechanics.js.map +1 -1
  252. package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
  253. package/dist/canonical/entries/nonmonomial.js +29 -22
  254. package/dist/canonical/entries/nonmonomial.js.map +1 -1
  255. package/dist/canonical/entries/relativity.js.map +1 -1
  256. package/dist/canonical/entries/statistical-mechanics.js +5 -5
  257. package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
  258. package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
  259. package/dist/canonical/linkage.d.ts +29 -4
  260. package/dist/canonical/linkage.d.ts.map +1 -1
  261. package/dist/canonical/linkage.js +31 -29
  262. package/dist/canonical/linkage.js.map +1 -1
  263. package/dist/canonical/normal-form.d.ts +0 -8
  264. package/dist/canonical/normal-form.d.ts.map +1 -1
  265. package/dist/canonical/normal-form.js +17 -12
  266. package/dist/canonical/normal-form.js.map +1 -1
  267. package/dist/canonical/registry.js.map +1 -1
  268. package/dist/canonical/residual.js.map +1 -1
  269. package/dist/canonical/seed-l-layer.d.ts +7 -1
  270. package/dist/canonical/seed-l-layer.d.ts.map +1 -1
  271. package/dist/canonical/seed-l-layer.js +7 -1
  272. package/dist/canonical/seed-l-layer.js.map +1 -1
  273. package/dist/canonical/structural.d.ts +21 -0
  274. package/dist/canonical/structural.d.ts.map +1 -1
  275. package/dist/canonical/structural.js +24 -4
  276. package/dist/canonical/structural.js.map +1 -1
  277. package/dist/cases/brownian-sphere.js +4 -4
  278. package/dist/cases/brownian-sphere.js.map +1 -1
  279. package/dist/cases/damped-resonator.js +2 -2
  280. package/dist/cases/damped-resonator.js.map +1 -1
  281. package/dist/cases/index.js.map +1 -1
  282. package/dist/cases/kepler-rv.js.map +1 -1
  283. package/dist/cases/lumped-cooling.js +1 -1
  284. package/dist/cases/lumped-cooling.js.map +1 -1
  285. package/dist/cases/quadrature.js.map +1 -1
  286. package/dist/cases/resistor-noise.js +3 -3
  287. package/dist/cases/resistor-noise.js.map +1 -1
  288. package/dist/cases/skin-depth.js.map +1 -1
  289. package/dist/cases/types.js.map +1 -1
  290. package/dist/cli/args.d.ts +7 -2
  291. package/dist/cli/args.d.ts.map +1 -1
  292. package/dist/cli/args.js +18 -2
  293. package/dist/cli/args.js.map +1 -1
  294. package/dist/cli/bindings.d.ts +13 -0
  295. package/dist/cli/bindings.d.ts.map +1 -0
  296. package/dist/cli/bindings.js +32 -0
  297. package/dist/cli/bindings.js.map +1 -0
  298. package/dist/cli/closed-form-range.js.map +1 -1
  299. package/dist/cli/command.js.map +1 -1
  300. package/dist/cli/commands/_atlas-map.d.ts +3 -3
  301. package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
  302. package/dist/cli/commands/_atlas-map.js +43 -18
  303. package/dist/cli/commands/_atlas-map.js.map +1 -1
  304. package/dist/cli/commands/_atlas-route.js.map +1 -1
  305. package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
  306. package/dist/cli/commands/_discovery-opts.js +42 -7
  307. package/dist/cli/commands/_discovery-opts.js.map +1 -1
  308. package/dist/cli/commands/atlas.d.ts.map +1 -1
  309. package/dist/cli/commands/atlas.js +1 -3
  310. package/dist/cli/commands/atlas.js.map +1 -1
  311. package/dist/cli/commands/audit.d.ts.map +1 -1
  312. package/dist/cli/commands/audit.js +13 -20
  313. package/dist/cli/commands/audit.js.map +1 -1
  314. package/dist/cli/commands/axes.js.map +1 -1
  315. package/dist/cli/commands/candidates.d.ts.map +1 -1
  316. package/dist/cli/commands/candidates.js +16 -8
  317. package/dist/cli/commands/candidates.js.map +1 -1
  318. package/dist/cli/commands/canonical.js.map +1 -1
  319. package/dist/cli/commands/chain.js +1 -1
  320. package/dist/cli/commands/chain.js.map +1 -1
  321. package/dist/cli/commands/confront.d.ts.map +1 -1
  322. package/dist/cli/commands/confront.js +22 -14
  323. package/dist/cli/commands/confront.js.map +1 -1
  324. package/dist/cli/commands/connectors.js.map +1 -1
  325. package/dist/cli/commands/coverage.js.map +1 -1
  326. package/dist/cli/commands/derive.d.ts.map +1 -1
  327. package/dist/cli/commands/derive.js +42 -17
  328. package/dist/cli/commands/derive.js.map +1 -1
  329. package/dist/cli/commands/discover.d.ts.map +1 -1
  330. package/dist/cli/commands/discover.js +15 -9
  331. package/dist/cli/commands/discover.js.map +1 -1
  332. package/dist/cli/commands/eval.d.ts.map +1 -1
  333. package/dist/cli/commands/eval.js +13 -10
  334. package/dist/cli/commands/eval.js.map +1 -1
  335. package/dist/cli/commands/evaluate.d.ts.map +1 -1
  336. package/dist/cli/commands/evaluate.js +53 -31
  337. package/dist/cli/commands/evaluate.js.map +1 -1
  338. package/dist/cli/commands/explain.d.ts.map +1 -1
  339. package/dist/cli/commands/explain.js +14 -7
  340. package/dist/cli/commands/explain.js.map +1 -1
  341. package/dist/cli/commands/frontier.js.map +1 -1
  342. package/dist/cli/commands/ground.d.ts.map +1 -1
  343. package/dist/cli/commands/ground.js +40 -10
  344. package/dist/cli/commands/ground.js.map +1 -1
  345. package/dist/cli/commands/index.js.map +1 -1
  346. package/dist/cli/commands/map.d.ts.map +1 -1
  347. package/dist/cli/commands/map.js +82 -89
  348. package/dist/cli/commands/map.js.map +1 -1
  349. package/dist/cli/commands/metric.d.ts.map +1 -1
  350. package/dist/cli/commands/metric.js +53 -18
  351. package/dist/cli/commands/metric.js.map +1 -1
  352. package/dist/cli/commands/path.js +4 -4
  353. package/dist/cli/commands/path.js.map +1 -1
  354. package/dist/cli/commands/predict.js.map +1 -1
  355. package/dist/cli/commands/priority.js.map +1 -1
  356. package/dist/cli/commands/probe.d.ts.map +1 -1
  357. package/dist/cli/commands/probe.js +50 -26
  358. package/dist/cli/commands/probe.js.map +1 -1
  359. package/dist/cli/commands/recover.js +1 -1
  360. package/dist/cli/commands/recover.js.map +1 -1
  361. package/dist/cli/commands/regime.d.ts +5 -4
  362. package/dist/cli/commands/regime.d.ts.map +1 -1
  363. package/dist/cli/commands/regime.js +24 -26
  364. package/dist/cli/commands/regime.js.map +1 -1
  365. package/dist/cli/commands/retrieve.d.ts.map +1 -1
  366. package/dist/cli/commands/retrieve.js +22 -14
  367. package/dist/cli/commands/retrieve.js.map +1 -1
  368. package/dist/cli/commands/search.d.ts.map +1 -1
  369. package/dist/cli/commands/search.js +8 -4
  370. package/dist/cli/commands/search.js.map +1 -1
  371. package/dist/cli/commands/symbolic.d.ts.map +1 -1
  372. package/dist/cli/commands/symbolic.js +13 -9
  373. package/dist/cli/commands/symbolic.js.map +1 -1
  374. package/dist/cli/commands/testplan.js +1 -1
  375. package/dist/cli/commands/testplan.js.map +1 -1
  376. package/dist/cli/conventions.js.map +1 -1
  377. package/dist/cli/determination.js.map +1 -1
  378. package/dist/cli/errors.js.map +1 -1
  379. package/dist/cli/euler-guard.js.map +1 -1
  380. package/dist/cli/eval-numbers.js.map +1 -1
  381. package/dist/cli/expr-print.d.ts +29 -2
  382. package/dist/cli/expr-print.d.ts.map +1 -1
  383. package/dist/cli/expr-print.js +46 -2
  384. package/dist/cli/expr-print.js.map +1 -1
  385. package/dist/cli/flag-help.js.map +1 -1
  386. package/dist/cli/graphs.js.map +1 -1
  387. package/dist/cli/library-defaults.d.ts +19 -0
  388. package/dist/cli/library-defaults.d.ts.map +1 -0
  389. package/dist/cli/library-defaults.js +22 -0
  390. package/dist/cli/library-defaults.js.map +1 -0
  391. package/dist/cli/main.js +7 -3
  392. package/dist/cli/main.js.map +1 -1
  393. package/dist/cli/map-evidence.js.map +1 -1
  394. package/dist/cli/output.d.ts +3 -6
  395. package/dist/cli/output.d.ts.map +1 -1
  396. package/dist/cli/output.js.map +1 -1
  397. package/dist/cli/published-url.js.map +1 -1
  398. package/dist/cli/record-reach.d.ts +6 -0
  399. package/dist/cli/record-reach.d.ts.map +1 -1
  400. package/dist/cli/record-reach.js +16 -10
  401. package/dist/cli/record-reach.js.map +1 -1
  402. package/dist/cli/record-tables.js +1 -1
  403. package/dist/cli/record-tables.js.map +1 -1
  404. package/dist/cli/record.d.ts.map +1 -1
  405. package/dist/cli/record.js +31 -12
  406. package/dist/cli/record.js.map +1 -1
  407. package/dist/cli/search-index.d.ts +5 -0
  408. package/dist/cli/search-index.d.ts.map +1 -1
  409. package/dist/cli/search-index.js +12 -1
  410. package/dist/cli/search-index.js.map +1 -1
  411. package/dist/cli/statuses.js.map +1 -1
  412. package/dist/cli/top-level-help.js.map +1 -1
  413. package/dist/cli/version.js.map +1 -1
  414. package/dist/cli-api.d.ts +15 -9
  415. package/dist/cli-api.d.ts.map +1 -1
  416. package/dist/cli-api.js +14 -13
  417. package/dist/cli-api.js.map +1 -1
  418. package/dist/composition/adjudication.js.map +1 -1
  419. package/dist/composition/aliases.js.map +1 -1
  420. package/dist/composition/audit-coverage.d.ts +2 -0
  421. package/dist/composition/audit-coverage.d.ts.map +1 -1
  422. package/dist/composition/audit-coverage.js.map +1 -1
  423. package/dist/composition/axes.d.ts +12 -0
  424. package/dist/composition/axes.d.ts.map +1 -1
  425. package/dist/composition/axes.js +18 -6
  426. package/dist/composition/axes.js.map +1 -1
  427. package/dist/composition/axis-audit.js.map +1 -1
  428. package/dist/composition/bridge-analysis.d.ts +0 -18
  429. package/dist/composition/bridge-analysis.d.ts.map +1 -1
  430. package/dist/composition/bridge-analysis.js +57 -47
  431. package/dist/composition/bridge-analysis.js.map +1 -1
  432. package/dist/composition/bridge-prediction.d.ts +5 -1
  433. package/dist/composition/bridge-prediction.d.ts.map +1 -1
  434. package/dist/composition/bridge-prediction.js +12 -16
  435. package/dist/composition/bridge-prediction.js.map +1 -1
  436. package/dist/composition/buckingham-filter.js.map +1 -1
  437. package/dist/composition/canonical-compare.d.ts.map +1 -1
  438. package/dist/composition/canonical-compare.js +12 -2
  439. package/dist/composition/canonical-compare.js.map +1 -1
  440. package/dist/composition/canonical-graph.d.ts +8 -9
  441. package/dist/composition/canonical-graph.d.ts.map +1 -1
  442. package/dist/composition/canonical-graph.js +25 -67
  443. package/dist/composition/canonical-graph.js.map +1 -1
  444. package/dist/composition/canonical-json.js.map +1 -1
  445. package/dist/composition/canonical-prefactors.js.map +1 -1
  446. package/dist/composition/catalog-graph.d.ts.map +1 -1
  447. package/dist/composition/catalog-graph.js +6 -20
  448. package/dist/composition/catalog-graph.js.map +1 -1
  449. package/dist/composition/chain-candidate.d.ts +2 -0
  450. package/dist/composition/chain-candidate.d.ts.map +1 -1
  451. package/dist/composition/chain-candidate.js +2 -0
  452. package/dist/composition/chain-candidate.js.map +1 -1
  453. package/dist/composition/chain-match.js.map +1 -1
  454. package/dist/composition/chain-regime.js.map +1 -1
  455. package/dist/composition/chain-result.js.map +1 -1
  456. package/dist/composition/compose-surface.js.map +1 -1
  457. package/dist/composition/compose-symbolic.js.map +1 -1
  458. package/dist/composition/compose.d.ts.map +1 -1
  459. package/dist/composition/compose.js +153 -36
  460. package/dist/composition/compose.js.map +1 -1
  461. package/dist/composition/composition-recovery.js.map +1 -1
  462. package/dist/composition/consequence.d.ts.map +1 -1
  463. package/dist/composition/consequence.js +15 -6
  464. package/dist/composition/consequence.js.map +1 -1
  465. package/dist/composition/consistency.js.map +1 -1
  466. package/dist/composition/descriptor.d.ts +1 -1
  467. package/dist/composition/descriptor.d.ts.map +1 -1
  468. package/dist/composition/descriptor.js.map +1 -1
  469. package/dist/composition/dimension-adjacency.js.map +1 -1
  470. package/dist/composition/discovery.d.ts +21 -11
  471. package/dist/composition/discovery.d.ts.map +1 -1
  472. package/dist/composition/discovery.js +81 -21
  473. package/dist/composition/discovery.js.map +1 -1
  474. package/dist/composition/edge.d.ts +19 -8
  475. package/dist/composition/edge.d.ts.map +1 -1
  476. package/dist/composition/edge.js +24 -11
  477. package/dist/composition/edge.js.map +1 -1
  478. package/dist/composition/enumerate.d.ts +2 -2
  479. package/dist/composition/enumerate.d.ts.map +1 -1
  480. package/dist/composition/enumerate.js.map +1 -1
  481. package/dist/composition/evaluate-relation.js.map +1 -1
  482. package/dist/composition/explain.d.ts +14 -9
  483. package/dist/composition/explain.d.ts.map +1 -1
  484. package/dist/composition/explain.js +46 -13
  485. package/dist/composition/explain.js.map +1 -1
  486. package/dist/composition/expr-eval.js.map +1 -1
  487. package/dist/composition/expr-simplify.d.ts.map +1 -1
  488. package/dist/composition/expr-simplify.js +9 -39
  489. package/dist/composition/expr-simplify.js.map +1 -1
  490. package/dist/composition/expr-subst.js.map +1 -1
  491. package/dist/composition/formula-shape.d.ts +9 -0
  492. package/dist/composition/formula-shape.d.ts.map +1 -1
  493. package/dist/composition/formula-shape.js +54 -0
  494. package/dist/composition/formula-shape.js.map +1 -1
  495. package/dist/composition/frontier-account.d.ts +3 -2
  496. package/dist/composition/frontier-account.d.ts.map +1 -1
  497. package/dist/composition/frontier-account.js +7 -3
  498. package/dist/composition/frontier-account.js.map +1 -1
  499. package/dist/composition/graph-viz-svg.js.map +1 -1
  500. package/dist/composition/graph-viz.js.map +1 -1
  501. package/dist/composition/grounding.js.map +1 -1
  502. package/dist/composition/identifiability.js.map +1 -1
  503. package/dist/composition/index.d.ts +6 -4
  504. package/dist/composition/index.d.ts.map +1 -1
  505. package/dist/composition/index.js +4 -3
  506. package/dist/composition/index.js.map +1 -1
  507. package/dist/composition/mathts-quiet.d.ts +28 -0
  508. package/dist/composition/mathts-quiet.d.ts.map +1 -0
  509. package/dist/composition/mathts-quiet.js +56 -0
  510. package/dist/composition/mathts-quiet.js.map +1 -0
  511. package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -1
  512. package/dist/composition/mathts-scalar-symbols.js +18 -34
  513. package/dist/composition/mathts-scalar-symbols.js.map +1 -1
  514. package/dist/composition/not-composable-seeds.d.ts +3 -1
  515. package/dist/composition/not-composable-seeds.d.ts.map +1 -1
  516. package/dist/composition/not-composable-seeds.js +2 -0
  517. package/dist/composition/not-composable-seeds.js.map +1 -1
  518. package/dist/composition/probe/backend-protocol.js.map +1 -1
  519. package/dist/composition/probe/candidate-store.js.map +1 -1
  520. package/dist/composition/probe/corpus.js.map +1 -1
  521. package/dist/composition/probe/dataset.js.map +1 -1
  522. package/dist/composition/probe/experiment-design.js.map +1 -1
  523. package/dist/composition/probe/expression-gaps.js.map +1 -1
  524. package/dist/composition/probe/falsify.d.ts +14 -3
  525. package/dist/composition/probe/falsify.d.ts.map +1 -1
  526. package/dist/composition/probe/falsify.js +14 -27
  527. package/dist/composition/probe/falsify.js.map +1 -1
  528. package/dist/composition/probe/fingerprint.js.map +1 -1
  529. package/dist/composition/probe/fit.d.ts +1 -1
  530. package/dist/composition/probe/fit.d.ts.map +1 -1
  531. package/dist/composition/probe/fit.js +2 -1
  532. package/dist/composition/probe/fit.js.map +1 -1
  533. package/dist/composition/probe/frontier.js.map +1 -1
  534. package/dist/composition/probe/generator.js.map +1 -1
  535. package/dist/composition/probe/index.d.ts +4 -2
  536. package/dist/composition/probe/index.d.ts.map +1 -1
  537. package/dist/composition/probe/index.js +4 -2
  538. package/dist/composition/probe/index.js.map +1 -1
  539. package/dist/composition/probe/limits.js.map +1 -1
  540. package/dist/composition/probe/metadata.js.map +1 -1
  541. package/dist/composition/probe/pipeline.d.ts +5 -0
  542. package/dist/composition/probe/pipeline.d.ts.map +1 -1
  543. package/dist/composition/probe/pipeline.js +13 -6
  544. package/dist/composition/probe/pipeline.js.map +1 -1
  545. package/dist/composition/probe/problem.d.ts +8 -0
  546. package/dist/composition/probe/problem.d.ts.map +1 -1
  547. package/dist/composition/probe/problem.js +78 -12
  548. package/dist/composition/probe/problem.js.map +1 -1
  549. package/dist/composition/probe/report.js.map +1 -1
  550. package/dist/composition/probe/residual.js.map +1 -1
  551. package/dist/composition/probe/run-manifest.js +2 -2
  552. package/dist/composition/probe/run-manifest.js.map +1 -1
  553. package/dist/composition/probe/scoring.d.ts +2 -1
  554. package/dist/composition/probe/scoring.d.ts.map +1 -1
  555. package/dist/composition/probe/scoring.js +21 -7
  556. package/dist/composition/probe/scoring.js.map +1 -1
  557. package/dist/composition/probe/search-budget.js.map +1 -1
  558. package/dist/composition/probe/serialize.js.map +1 -1
  559. package/dist/composition/probe/structure.js.map +1 -1
  560. package/dist/composition/probe/study.d.ts +4 -3
  561. package/dist/composition/probe/study.d.ts.map +1 -1
  562. package/dist/composition/probe/study.js +5 -3
  563. package/dist/composition/probe/study.js.map +1 -1
  564. package/dist/composition/probe/types.d.ts +3 -1
  565. package/dist/composition/probe/types.d.ts.map +1 -1
  566. package/dist/composition/probe/types.js +2 -0
  567. package/dist/composition/probe/types.js.map +1 -1
  568. package/dist/composition/proposed-bridges.d.ts +11 -4
  569. package/dist/composition/proposed-bridges.d.ts.map +1 -1
  570. package/dist/composition/proposed-bridges.js +11 -4
  571. package/dist/composition/proposed-bridges.js.map +1 -1
  572. package/dist/composition/quantities.d.ts +0 -4
  573. package/dist/composition/quantities.d.ts.map +1 -1
  574. package/dist/composition/quantities.js +5 -5
  575. package/dist/composition/quantities.js.map +1 -1
  576. package/dist/composition/quantity.d.ts +18 -2
  577. package/dist/composition/quantity.d.ts.map +1 -1
  578. package/dist/composition/quantity.js +35 -6
  579. package/dist/composition/quantity.js.map +1 -1
  580. package/dist/composition/representative-values.js.map +1 -1
  581. package/dist/composition/retrodiction.d.ts +16 -6
  582. package/dist/composition/retrodiction.d.ts.map +1 -1
  583. package/dist/composition/retrodiction.js +34 -9
  584. package/dist/composition/retrodiction.js.map +1 -1
  585. package/dist/composition/uncertainty.js.map +1 -1
  586. package/dist/composition/user-equation.js.map +1 -1
  587. package/dist/core/axes-registry.d.ts +8 -5
  588. package/dist/core/axes-registry.d.ts.map +1 -1
  589. package/dist/core/axes-registry.js.map +1 -1
  590. package/dist/core/cell.js.map +1 -1
  591. package/dist/core/constants.d.ts +8 -8
  592. package/dist/core/constants.d.ts.map +1 -1
  593. package/dist/core/constants.js +8 -10
  594. package/dist/core/constants.js.map +1 -1
  595. package/dist/core/data-file.js.map +1 -1
  596. package/dist/core/flux-rules.js +1 -1
  597. package/dist/core/flux-rules.js.map +1 -1
  598. package/dist/core/json-schema.d.ts +1 -1
  599. package/dist/core/json-schema.d.ts.map +1 -1
  600. package/dist/core/json-schema.js +31 -7
  601. package/dist/core/json-schema.js.map +1 -1
  602. package/dist/core/labeled-tensor.d.ts +6 -1
  603. package/dist/core/labeled-tensor.d.ts.map +1 -1
  604. package/dist/core/labeled-tensor.js +18 -8
  605. package/dist/core/labeled-tensor.js.map +1 -1
  606. package/dist/core/regime-registry.d.ts +6 -2
  607. package/dist/core/regime-registry.d.ts.map +1 -1
  608. package/dist/core/regime-registry.js.map +1 -1
  609. package/dist/core/regime-rule-install.js.map +1 -1
  610. package/dist/core/regimes-builtins.js.map +1 -1
  611. package/dist/core/tensor.d.ts +7 -4
  612. package/dist/core/tensor.d.ts.map +1 -1
  613. package/dist/core/tensor.js +40 -8
  614. package/dist/core/tensor.js.map +1 -1
  615. package/dist/core/types.js.map +1 -1
  616. package/dist/core/universal-index.js.map +1 -1
  617. package/dist/diff/bridge-ast-gradient.d.ts +4 -5
  618. package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
  619. package/dist/diff/bridge-ast-gradient.js +10 -6
  620. package/dist/diff/bridge-ast-gradient.js.map +1 -1
  621. package/dist/diff/bridge-gradient.d.ts +24 -80
  622. package/dist/diff/bridge-gradient.d.ts.map +1 -1
  623. package/dist/diff/bridge-gradient.js +21 -98
  624. package/dist/diff/bridge-gradient.js.map +1 -1
  625. package/dist/diff/bridge-specs.d.ts +16 -5
  626. package/dist/diff/bridge-specs.d.ts.map +1 -1
  627. package/dist/diff/bridge-specs.js +16 -4
  628. package/dist/diff/bridge-specs.js.map +1 -1
  629. package/dist/dimensional/algebra.js.map +1 -1
  630. package/dist/dimensional/ast-builders.d.ts +5 -4
  631. package/dist/dimensional/ast-builders.d.ts.map +1 -1
  632. package/dist/dimensional/ast-builders.js +6 -5
  633. package/dist/dimensional/ast-builders.js.map +1 -1
  634. package/dist/dimensional/ast-types.js.map +1 -1
  635. package/dist/dimensional/bridge-check.js.map +1 -1
  636. package/dist/dimensional/buckingham.js.map +1 -1
  637. package/dist/dimensional/connection-validators.d.ts +2 -1
  638. package/dist/dimensional/connection-validators.d.ts.map +1 -1
  639. package/dist/dimensional/connection-validators.js.map +1 -1
  640. package/dist/dimensional/connection.js.map +1 -1
  641. package/dist/dimensional/constant-rows.d.ts.map +1 -1
  642. package/dist/dimensional/constant-rows.js +9 -5
  643. package/dist/dimensional/constant-rows.js.map +1 -1
  644. package/dist/dimensional/constants.d.ts +5 -6
  645. package/dist/dimensional/constants.d.ts.map +1 -1
  646. package/dist/dimensional/constants.js +5 -6
  647. package/dist/dimensional/constants.js.map +1 -1
  648. package/dist/dimensional/curvature-composite.js.map +1 -1
  649. package/dist/dimensional/curvature-invariants.js.map +1 -1
  650. package/dist/dimensional/curvature.js.map +1 -1
  651. package/dist/dimensional/dimension-inference.js.map +1 -1
  652. package/dist/dimensional/dimension-spec.d.ts +13 -7
  653. package/dist/dimensional/dimension-spec.d.ts.map +1 -1
  654. package/dist/dimensional/dimension-spec.js +49 -23
  655. package/dist/dimensional/dimension-spec.js.map +1 -1
  656. package/dist/dimensional/einstein-equation.js.map +1 -1
  657. package/dist/dimensional/errors.d.ts +3 -1
  658. package/dist/dimensional/errors.d.ts.map +1 -1
  659. package/dist/dimensional/errors.js +2 -2
  660. package/dist/dimensional/errors.js.map +1 -1
  661. package/dist/dimensional/exact-scale.js.map +1 -1
  662. package/dist/dimensional/field-equation-helpers.js.map +1 -1
  663. package/dist/dimensional/formula-names.js.map +1 -1
  664. package/dist/dimensional/fresh-label.js.map +1 -1
  665. package/dist/dimensional/friedmann-equation.d.ts +3 -3
  666. package/dist/dimensional/friedmann-equation.js +3 -3
  667. package/dist/dimensional/friedmann-equation.js.map +1 -1
  668. package/dist/dimensional/gauge-field.d.ts +2 -3
  669. package/dist/dimensional/gauge-field.d.ts.map +1 -1
  670. package/dist/dimensional/gauge-field.js +0 -1
  671. package/dist/dimensional/gauge-field.js.map +1 -1
  672. package/dist/dimensional/hyphen-names.d.ts.map +1 -1
  673. package/dist/dimensional/hyphen-names.js +8 -0
  674. package/dist/dimensional/hyphen-names.js.map +1 -1
  675. package/dist/dimensional/killing-validators.js.map +1 -1
  676. package/dist/dimensional/klein-gordon-equation.js.map +1 -1
  677. package/dist/dimensional/metric-validators.d.ts +2 -1
  678. package/dist/dimensional/metric-validators.d.ts.map +1 -1
  679. package/dist/dimensional/metric-validators.js.map +1 -1
  680. package/dist/dimensional/metric.js.map +1 -1
  681. package/dist/dimensional/natural-units.js.map +1 -1
  682. package/dist/dimensional/quantity-registry.d.ts +13 -0
  683. package/dist/dimensional/quantity-registry.d.ts.map +1 -1
  684. package/dist/dimensional/quantity-registry.js +14 -6
  685. package/dist/dimensional/quantity-registry.js.map +1 -1
  686. package/dist/dimensional/rg-flow.js.map +1 -1
  687. package/dist/dimensional/stress-energy-validators.js.map +1 -1
  688. package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
  689. package/dist/dimensional/symbolic-constants.js +7 -2
  690. package/dist/dimensional/symbolic-constants.js.map +1 -1
  691. package/dist/dimensional/tensor-trace.js.map +1 -1
  692. package/dist/dimensional/tensor.js.map +1 -1
  693. package/dist/dimensional/types.js.map +1 -1
  694. package/dist/dimensional/unit-convention.d.ts +0 -2
  695. package/dist/dimensional/unit-convention.d.ts.map +1 -1
  696. package/dist/dimensional/unit-convention.js +2 -2
  697. package/dist/dimensional/unit-convention.js.map +1 -1
  698. package/dist/dimensional/unit-data.d.ts.map +1 -1
  699. package/dist/dimensional/unit-data.js +9 -5
  700. package/dist/dimensional/unit-data.js.map +1 -1
  701. package/dist/dimensional/units.d.ts.map +1 -1
  702. package/dist/dimensional/units.js +38 -20
  703. package/dist/dimensional/units.js.map +1 -1
  704. package/dist/dimensional/validator-registry.js.map +1 -1
  705. package/dist/dimensional/validator.d.ts +0 -16
  706. package/dist/dimensional/validator.d.ts.map +1 -1
  707. package/dist/dimensional/validator.js +65 -29
  708. package/dist/dimensional/validator.js.map +1 -1
  709. package/dist/dimensional/weyl-validators.js.map +1 -1
  710. package/dist/index.d.ts +50 -5
  711. package/dist/index.d.ts.map +1 -1
  712. package/dist/index.js +12 -20
  713. package/dist/index.js.map +1 -1
  714. package/dist/numerical/bianchi-residual.js.map +1 -1
  715. package/dist/numerical/binding-value.d.ts +11 -6
  716. package/dist/numerical/binding-value.d.ts.map +1 -1
  717. package/dist/numerical/binding-value.js +126 -122
  718. package/dist/numerical/binding-value.js.map +1 -1
  719. package/dist/numerical/christoffel-flat.js.map +1 -1
  720. package/dist/numerical/connection-lowering-helpers.js.map +1 -1
  721. package/dist/numerical/covariant-eikonal.d.ts.map +1 -1
  722. package/dist/numerical/covariant-eikonal.js +2 -2
  723. package/dist/numerical/covariant-eikonal.js.map +1 -1
  724. package/dist/numerical/curvature-lowering-helpers.d.ts +20 -0
  725. package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
  726. package/dist/numerical/curvature-lowering-helpers.js +6 -3
  727. package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
  728. package/dist/numerical/derivative-lowering.js.map +1 -1
  729. package/dist/numerical/einstein-equation.js.map +1 -1
  730. package/dist/numerical/engine-registry.js.map +1 -1
  731. package/dist/numerical/errors.d.ts +7 -3
  732. package/dist/numerical/errors.d.ts.map +1 -1
  733. package/dist/numerical/errors.js +5 -5
  734. package/dist/numerical/errors.js.map +1 -1
  735. package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -1
  736. package/dist/numerical/evaluator-uncertainty.js +19 -2
  737. package/dist/numerical/evaluator-uncertainty.js.map +1 -1
  738. package/dist/numerical/formula-contract.d.ts +63 -7
  739. package/dist/numerical/formula-contract.d.ts.map +1 -1
  740. package/dist/numerical/formula-contract.js +61 -42
  741. package/dist/numerical/formula-contract.js.map +1 -1
  742. package/dist/numerical/formula-dimension.d.ts +8 -7
  743. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  744. package/dist/numerical/formula-dimension.js +58 -36
  745. package/dist/numerical/formula-dimension.js.map +1 -1
  746. package/dist/numerical/formula-mathts.d.ts.map +1 -1
  747. package/dist/numerical/formula-mathts.js +5 -2
  748. package/dist/numerical/formula-mathts.js.map +1 -1
  749. package/dist/numerical/formula-registry.d.ts +13 -3
  750. package/dist/numerical/formula-registry.d.ts.map +1 -1
  751. package/dist/numerical/formula-registry.js +7 -2
  752. package/dist/numerical/formula-registry.js.map +1 -1
  753. package/dist/numerical/geodesic-integrator.js.map +1 -1
  754. package/dist/numerical/geometrized.js.map +1 -1
  755. package/dist/numerical/gl4-integrator.d.ts +28 -27
  756. package/dist/numerical/gl4-integrator.d.ts.map +1 -1
  757. package/dist/numerical/gl4-integrator.js +41 -42
  758. package/dist/numerical/gl4-integrator.js.map +1 -1
  759. package/dist/numerical/grid-field.js.map +1 -1
  760. package/dist/numerical/index.js.map +1 -1
  761. package/dist/numerical/input-validation.d.ts +3 -6
  762. package/dist/numerical/input-validation.d.ts.map +1 -1
  763. package/dist/numerical/input-validation.js +4 -8
  764. package/dist/numerical/input-validation.js.map +1 -1
  765. package/dist/numerical/killing.d.ts +8 -5
  766. package/dist/numerical/killing.d.ts.map +1 -1
  767. package/dist/numerical/killing.js.map +1 -1
  768. package/dist/numerical/klein-gordon.js.map +1 -1
  769. package/dist/numerical/kretschmann.js.map +1 -1
  770. package/dist/numerical/lowering-utils.js.map +1 -1
  771. package/dist/numerical/lowering.d.ts.map +1 -1
  772. package/dist/numerical/lowering.js +7 -17
  773. package/dist/numerical/lowering.js.map +1 -1
  774. package/dist/numerical/mathts-engine.d.ts.map +1 -1
  775. package/dist/numerical/mathts-engine.js +11 -6
  776. package/dist/numerical/mathts-engine.js.map +1 -1
  777. package/dist/numerical/metric-inverse.js.map +1 -1
  778. package/dist/numerical/null-ic.js.map +1 -1
  779. package/dist/numerical/null-ray-integrator.js +4 -4
  780. package/dist/numerical/null-ray-integrator.js.map +1 -1
  781. package/dist/numerical/painleve-gullstrand-metric.js.map +1 -1
  782. package/dist/numerical/pderiv.d.ts.map +1 -1
  783. package/dist/numerical/pderiv.js +9 -2
  784. package/dist/numerical/pderiv.js.map +1 -1
  785. package/dist/numerical/perihelion-finder.js.map +1 -1
  786. package/dist/numerical/quadrature.d.ts +5 -2
  787. package/dist/numerical/quadrature.d.ts.map +1 -1
  788. package/dist/numerical/quadrature.js +20 -3
  789. package/dist/numerical/quadrature.js.map +1 -1
  790. package/dist/numerical/spacetime-metrics.d.ts +13 -19
  791. package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
  792. package/dist/numerical/spacetime-metrics.js +126 -248
  793. package/dist/numerical/spacetime-metrics.js.map +1 -1
  794. package/dist/numerical/strides.js.map +1 -1
  795. package/dist/numerical/tensor-engine.d.ts +9 -5
  796. package/dist/numerical/tensor-engine.d.ts.map +1 -1
  797. package/dist/numerical/tensor-engine.js.map +1 -1
  798. package/dist/numerical/types.js.map +1 -1
  799. package/dist/numerical/weyl-lowering.js.map +1 -1
  800. package/dist/relations/category.js.map +1 -1
  801. package/dist/relations/composition-table.d.ts +4 -4
  802. package/dist/relations/composition-table.js +4 -4
  803. package/dist/relations/composition-table.js.map +1 -1
  804. package/dist/relations/conventions.js.map +1 -1
  805. package/dist/relations/domain-regimes.js.map +1 -1
  806. package/dist/relations/regime-registration.js.map +1 -1
  807. package/dist/relations/regime-vocabularies.js.map +1 -1
  808. package/dist/relations/regime.d.ts +18 -8
  809. package/dist/relations/regime.d.ts.map +1 -1
  810. package/dist/relations/regime.js +26 -14
  811. package/dist/relations/regime.js.map +1 -1
  812. package/dist/relations/types.d.ts +18 -5
  813. package/dist/relations/types.d.ts.map +1 -1
  814. package/dist/relations/types.js +5 -3
  815. package/dist/relations/types.js.map +1 -1
  816. package/package.json +10 -14
  817. package/dist/bridges/registry.d.ts +0 -60
  818. package/dist/bridges/registry.d.ts.map +0 -1
  819. package/dist/bridges/registry.js +0 -87
  820. package/dist/bridges/registry.js.map +0 -1
  821. package/dist/cli/poster-source.d.ts +0 -154
  822. package/dist/cli/poster-source.d.ts.map +0 -1
  823. package/dist/cli/poster-source.js +0 -184
  824. package/dist/cli/poster-source.js.map +0 -1
@@ -24,23 +24,27 @@ import { parseDiscoveryOpts } from './_discovery-opts.js';
24
24
  import * as atlasMap from './_atlas-map.js';
25
25
  import { canonicalCheckFailed, conventionLines } from '../conventions.js';
26
26
  import { withCatalogEvidence } from '../map-evidence.js';
27
+ import { DISCOVER_MAX_ORDERS_DEFAULT } from '../library-defaults.js';
28
+ /** `--around` reaches this many shared-quantity hops when `--depth` is not given, and at most this many when it is. */
29
+ const DEFAULT_DEPTH = 1;
30
+ const MAX_DEPTH = 10;
27
31
  const FLAGS = [
28
- sourceFlag('both', 'Which graph to draw: catalog, canonical, both, or poster. poster is the Atlas Phase 3 statement index and is valid only here. This command defaults to both.'),
32
+ sourceFlag('both', 'Which graph to draw: catalog, canonical, or both. This command defaults to both.'),
29
33
  { name: '--format', valueStyle: 'attached', description: 'Output form: text, mermaid, dot, or svg. svg needs the optional @viz-js/viz peer.', defaultValue: 'text' },
30
34
  { name: '--out', valueStyle: 'attached', description: 'Write the report to PATH instead of stdout.' },
31
- { name: '--max-orders', valueStyle: 'attached', description: 'Magnitude-clash threshold for the --proposed overlay.', defaultValue: '3' },
35
+ { name: '--max-orders', valueStyle: 'attached', description: 'Magnitude-clash threshold for the --proposed overlay.', defaultValue: DISCOVER_MAX_ORDERS_DEFAULT },
32
36
  { name: '--anchor', valueStyle: 'attached', repeatable: true, description: 'Override a numeric anchor as k=v for the --proposed overlay.', defaultValue: 'mass=M_sun' },
33
37
  { name: '--proposed', valueStyle: 'none', description: 'Overlay unadjudicated identity-consequence relations.' },
34
38
  { name: '--relation', valueStyle: 'attached', description: 'Keep atlas edges whose recorded relation is TYPE.' },
35
39
  { name: '--evidence', valueStyle: 'attached', description: 'Keep atlas edges whose derived evidence set contains TAG.' },
36
40
  { name: '--around', valueStyle: 'either', description: 'Keep edges within --depth shared-quantity hops of QUANTITY.' },
37
- { name: '--depth', valueStyle: 'attached', description: 'Hop count for --around.', defaultValue: '1' },
41
+ { name: '--depth', valueStyle: 'attached', description: 'Hop count for --around.', defaultValue: String(DEFAULT_DEPTH) },
38
42
  { name: '--route', valueStyle: 'either', description: 'Map the atlas route FROM,TO instead of the equation graph.' },
39
43
  { name: '--all-routes', valueStyle: 'none', description: 'With --route, list every simple route, shortest first.' },
40
- { name: '--max-routes', valueStyle: 'attached', description: 'Cap on --all-routes. The maximum accepted is 1000.', defaultValue: '20' },
44
+ { name: '--max-routes', valueStyle: 'attached', description: `Cap on --all-routes. The maximum accepted is ${atlasMap.MAX_ROUTES_CEILING}.`, defaultValue: String(atlasMap.DEFAULT_MAX_ROUTES) },
41
45
  { name: '--family', valueStyle: 'either', description: 'Map one atlas family by name.' },
42
46
  { name: '--observable', valueStyle: 'either', description: 'Map bridges whose recorded text names this observable.' },
43
- { name: '--stored', valueStyle: 'none', description: `Derive evidence from ${publishedUrl('data/atlas/witness-results.json')}. That file is not in the published package; the command then names --run.` },
47
+ { name: '--stored', valueStyle: 'none', description: `Derive evidence from ${publishedUrl('data/atlas/witness-results.json')}. When the file is absent (a checkout or install without data/), the command names --run.` },
44
48
  { name: '--run', valueStyle: 'none', description: 'Run the shown bridges\' in-process witnesses now. Exit 3 if one is refuted.' },
45
49
  // optionalValue: a bare trailing --equation stores '' so the empty-check in
46
50
  // run() owns the diagnostic (old-CLI fidelity: bin/upt.mjs did `a[i+1] ?? ''`
@@ -53,7 +57,7 @@ const FLAGS = [
53
57
  { name: '--geometrized', valueStyle: 'none', description: 'With the natural-unit rules, also set G = 1.' },
54
58
  JSON_FLAG,
55
59
  ];
56
- const HELP = `upt map [--source=catalog|canonical|both|poster] [--format=text|mermaid|dot|svg]
60
+ const HELP = `upt map [--source=catalog|canonical|both] [--format=text|mermaid|dot|svg]
57
61
  [--proposed [--anchor=k=v,...] [--max-orders=N]] [--out=PATH]
58
62
  [--equation "TARGET = EXPR" [--equation-only] [--verbose] [--bind-short]
59
63
  [--natural] [--geometrized]] [--around=QUANTITY [--depth=N]]
@@ -65,15 +69,8 @@ const HELP = `upt map [--source=catalog|canonical|both|poster] [--format=text|me
65
69
  --source defaults to 'both' (catalog + canonical) — a pure
66
70
  connectivity question gets the honest, all-known-physics answer by
67
71
  default; --source=catalog shows the bridge-catalog view alone.
68
- --source=poster draws the ATLAS PHASE 3 POSTER INDEX instead of the
69
- bridge graph: nodes are STATEMENTS (including the hidden supporting
70
- nodes — action principle, Noether, the full Maxwell system, the
71
- Lorentz group, the central limit theorem) and boxes are DERIVATIONS
72
- (premises in, conclusion out). Associations are drawn DASHED because
73
- they assert no relation at all. It also reports any premise naming a
74
- statement the registry does not define, and says so out loud when the
75
- index is not registered in this build rather than printing an empty
76
- map as an answer.
72
+ --out=PATH writes whatever form was asked for (text, --json or a
73
+ visual format) to PATH instead of stdout; an empty PATH exits 1.
77
74
  --format=mermaid|dot|svg emits the VISUAL map (quantities = nodes,
78
75
  equations = junctions colored by status, one subgraph per component).
79
76
  text (default) is the unchanged linkage printout. svg renders the dot
@@ -111,7 +108,7 @@ const HELP = `upt map [--source=catalog|canonical|both|poster] [--format=text|me
111
108
  from the edges that simply did not match — an unaudited graph must not
112
109
  render as a complete answer.
113
110
  --around=QUANTITY [--depth=N] keeps only the edges within N
114
- shared-quantity hops of QUANTITY (default 1: the edges that use it),
111
+ shared-quantity hops of QUANTITY (default ${DEFAULT_DEPTH}: the edges that use it),
115
112
  in every output form, and prints how many of the source's edges it
116
113
  kept: the others are omitted from the view, not absent from the graph.
117
114
  --route=FROM,TO and --family=NAME map the ATLAS instead: models and
@@ -127,8 +124,8 @@ const HELP = `upt map [--source=catalog|canonical|both|poster] [--format=text|me
127
124
  canonicalRefs record; nothing is inferred from shared quantities.
128
125
  --route=FROM,TO --all-routes lists every simple route (no model
129
126
  visited twice), shortest first, each with its composition and route
130
- claim, and counts the claims; --max-routes=N (default 20, at most
131
- 1000) bounds the list, and a list cut short says so and says up to
127
+ claim, and counts the claims; --max-routes=N (default ${atlasMap.DEFAULT_MAX_ROUTES}, at most
128
+ ${atlasMap.MAX_ROUTES_CEILING}) bounds the list, and a list cut short says so and says up to
132
129
  which bridge count it is complete.
133
130
  --observable=NAME maps the bridges whose RECORDED preserves text, or
134
131
  declared bound translation, names that observable (a whole-word text
@@ -136,7 +133,7 @@ const HELP = `upt map [--source=catalog|canonical|both|poster] [--format=text|me
136
133
  preserved, and counts the bridges that record nothing about it;
137
134
  --relation/--evidence filter it as they filter a family.
138
135
  --stored derives evidence from the committed witness results
139
- (${publishedUrl('data/atlas/witness-results.json')}; not in the published package),
136
+ (${publishedUrl('data/atlas/witness-results.json')}; it ships in data/),
140
137
  labelled with the last commit that touched it; --run runs the shown
141
138
  bridges' in-process registered witnesses now (exit 3 if any is
142
139
  refuted). Either resolves a tag once its witnesses have results; a
@@ -448,7 +445,7 @@ async function runAtlasView(ctx, route, family, observable) {
448
445
  writeFileSync(path, src);
449
446
  }
450
447
  catch (e) {
451
- throw new CliError(e.message);
448
+ throw new CliError(`upt map: ${e.message}`);
452
449
  }
453
450
  err(`upt: wrote ${fmt} to ${path}`);
454
451
  }
@@ -458,7 +455,40 @@ async function runAtlasView(ctx, route, family, observable) {
458
455
  err(`upt: ${atlasMap.viewLegend(v)}`);
459
456
  return exitCode;
460
457
  }
458
+ /**
459
+ * `--out=PATH` holds for every output form. A visual form writes its diagram
460
+ * source (handled by the branch that renders it); the text report and the
461
+ * `--json` envelope are captured here and written whole, so stdout stays
462
+ * empty and the file holds exactly what stdout would have carried. An empty
463
+ * PATH exits 1 in every form.
464
+ */
461
465
  async function run(ctx) {
466
+ const path = lastValue(ctx.args.flags, 'out');
467
+ const fmt = lastValue(ctx.args.flags, 'format') ?? 'text';
468
+ if (path === undefined || fmt !== 'text')
469
+ return runReport(ctx);
470
+ if (!path)
471
+ throw new CliError('upt: --out= requires a non-empty PATH');
472
+ let captured = '';
473
+ const code = await runReport({
474
+ ...ctx,
475
+ out: (line) => {
476
+ captured += (line ?? '') + '\n';
477
+ },
478
+ write: (s) => {
479
+ captured += s;
480
+ },
481
+ });
482
+ try {
483
+ writeFileSync(path, captured);
484
+ }
485
+ catch (e) {
486
+ throw new CliError(`upt map: ${e.message}`);
487
+ }
488
+ ctx.err(`upt: wrote ${ctx.args.flags.has('json') ? 'json' : 'text'} to ${path}`);
489
+ return code;
490
+ }
491
+ async function runReport(ctx) {
462
492
  const { args, api, out, err, write } = ctx;
463
493
  const route = lastValue(args.flags, 'route');
464
494
  const family = lastValue(args.flags, 'family');
@@ -473,18 +503,8 @@ async function run(ctx) {
473
503
  // map asks a pure connectivity question, so it defaults to --source=both
474
504
  // (catalog + canonical) rather than graphs.ts's catalog fallback used by
475
505
  // the other --source commands (e.g. discover, which keeps catalog).
476
- //
477
- // `--source=poster` is a MAP-ONLY source and is resolved HERE, not in
478
- // `resolveGraph`. That helper is shared by `discover`, `candidates` and the
479
- // rest, and the poster index is not a `BridgeEdge` graph they could analyse;
480
- // teaching it a value only one command can use would hand every other command
481
- // a source that silently means nothing.
482
- const posterMode = lastValue(args.flags, 'source') === 'poster';
483
506
  const sourceFlags = args.flags.has('source') ? args.flags : new Map(args.flags).set('source', ['both']);
484
- const resolved = posterMode
485
- ? { graph: [], label: 'poster (Atlas Phase 3 index)', source: 'poster' }
486
- : resolveGraph(api, sourceFlags);
487
- const { graph: wholeGraph, label, source } = resolved;
507
+ const { graph: wholeGraph, label, source } = resolveGraph(api, sourceFlags);
488
508
  const around = lastValue(args.flags, 'around');
489
509
  const depthRaw = lastValue(args.flags, 'depth');
490
510
  if (depthRaw !== undefined && around === undefined)
@@ -492,11 +512,9 @@ async function run(ctx) {
492
512
  let focus = null;
493
513
  let fullGraph = wholeGraph;
494
514
  if (around !== undefined) {
495
- if (posterMode)
496
- throw new CliError('upt map: --around focuses a quantity graph; the poster index has statements, not quantities');
497
- const depth = depthRaw === undefined ? 1 : Number(depthRaw);
498
- if (!Number.isInteger(depth) || depth < 1 || depth > 10)
499
- throw new CliError(`upt map: --depth=${depthRaw} must be an integer from 1 to 10`);
515
+ const depth = depthRaw === undefined ? DEFAULT_DEPTH : Number(depthRaw);
516
+ if (!Number.isInteger(depth) || depth < 1 || depth > MAX_DEPTH)
517
+ throw new CliError(`upt map: --depth=${depthRaw} must be an integer from 1 to ${MAX_DEPTH}`);
500
518
  const known = new Set(wholeGraph.flatMap((e) => [...e.sources.map((q) => q.name), e.target.name]));
501
519
  const name = api.resolveQuantityName(around, known);
502
520
  if (name === null) {
@@ -510,12 +528,6 @@ async function run(ctx) {
510
528
  ? null
511
529
  : `focused: ${focus.kept} of ${focus.of} edges within ${focus.depth} hop(s) of '${focus.around}' [${label}]; ` +
512
530
  'the rest are omitted from this view, not absent from the graph';
513
- // The poster's own report line: what it contributed, or why it contributed
514
- // nothing (design note §6). Computed once; printed by every output form.
515
- const posterValidation = posterMode ? api.validatePoster(api.POSTER_GRAPH) : null;
516
- const posterNote = posterMode
517
- ? api.describePosterSource(api.POSTER_GRAPH, posterValidation)
518
- : null;
519
531
  // The two overlay filters. Parsed BEFORE anything else is computed so a bad
520
532
  // value costs nothing and always exits 1.
521
533
  const relation = parseFilter(lastValue(args.flags, 'relation'), RELATION_TYPES, '--relation');
@@ -532,12 +544,10 @@ async function run(ctx) {
532
544
  // selects, only about how much they were asked to count.
533
545
  const { kept: graph, stats: edgeStats } = api.filterEdges(fullGraph, filterOpts);
534
546
  // Audit I3: what "anchored" means here, and the discovery ground truth when --proposed ran the funnel.
535
- const anchor = posterMode
536
- ? null
537
- : {
538
- core: coreAnchor(graph),
539
- ...(args.flags.has('proposed') ? { groundTruth: groundTruthAnchor(api, parseDiscoveryOpts(api, args.flags)) } : {}),
540
- };
547
+ const anchor = {
548
+ core: coreAnchor(graph),
549
+ ...(args.flags.has('proposed') ? { groundTruth: groundTruthAnchor(api, parseDiscoveryOpts(api, args.flags)) } : {}),
550
+ };
541
551
  const edgeLegend = api.formatFilterLegend(edgeStats);
542
552
  const fmtValues = args.flags.get('format');
543
553
  const fmt = fmtValues && fmtValues.length > 0 ? fmtValues[fmtValues.length - 1] : 'text';
@@ -567,6 +577,9 @@ async function run(ctx) {
567
577
  : args.flags.has('natural')
568
578
  ? 'natural'
569
579
  : undefined;
580
+ if (args.flags.has('geometrized') && args.flags.has('natural')) {
581
+ throw new UsageError('upt map: pick one unit mode: --natural (ħ = c = 1) or --geometrized (ħ = c = G = 1)');
582
+ }
570
583
  ({ user, comparisons } = await analyzeEquation(api, equation, graph, {
571
584
  bindShortNames: args.flags.has('bind-short'),
572
585
  ...(units === undefined ? {} : { units }),
@@ -582,17 +595,11 @@ async function run(ctx) {
582
595
  // The same classification `upt derive` uses. A canonical agreement stays 0.
583
596
  // A catalog target that was not established exits 3. An unbound target stays 0.
584
597
  const exitCode = user === null ? 0 : equationDetermination(user, comparisons).exit;
585
- const overlay = (extra) => [
586
- // Ranked from the UNFILTERED graph: the proposal set is a property of the
587
- // whole catalog, and the model then judges each overlay junction under the
588
- // same filter as every other junction.
589
- ...(args.flags.has('proposed') ? proposedJunctions(api, wholeGraph, args.flags) : []),
590
- // The poster enters as an overlay for exactly the reason the design note
591
- // gives: an overlay is FILTERED, clustered and legended like every other
592
- // junction, so a poster source cannot quietly bypass --relation/--evidence.
593
- ...(posterMode ? api.posterJunctions(api.POSTER_GRAPH) : []),
594
- ...extra,
595
- ];
598
+ // Ranked from the UNFILTERED graph: the proposal set is a property of the
599
+ // whole catalog, and the model then judges each overlay junction under the
600
+ // same filter as every other junction. Computed once for every output form.
601
+ const proposed = args.flags.has('proposed') ? proposedJunctions(api, wholeGraph, args.flags) : null;
602
+ const overlay = (extra) => [...(proposed ?? []), ...extra];
596
603
  if (isJson) {
597
604
  const linkage = api.linkageMap(graph);
598
605
  let landing;
@@ -619,10 +626,10 @@ async function run(ctx) {
619
626
  emitJson({
620
627
  command: 'map',
621
628
  source,
622
- ...(anchor !== null ? { anchor } : {}),
629
+ anchor,
623
630
  result: {
624
631
  ...(equation != null && (equationOnly || !args.flags.has('verbose')) ? {} : { linkage }),
625
- ...(posterMode ? { poster: { note: posterNote, ...posterValidation } } : {}),
632
+ ...(proposed === null ? {} : { proposed: proposed.map((p) => ({ id: p.id, target: p.target, sources: p.sources })) }),
626
633
  ...(edgeLegend !== null ? { filter: edgeStats } : {}),
627
634
  ...(focus !== null ? { focus } : {}),
628
635
  ...(user ? { landing, userEquation } : {}),
@@ -660,7 +667,7 @@ async function run(ctx) {
660
667
  writeFileSync(path, src);
661
668
  }
662
669
  catch (e) {
663
- throw new CliError(e.message);
670
+ throw new CliError(`upt map: ${e.message}`);
664
671
  }
665
672
  err(`upt: wrote ${fmt} (${model.junctions.length} junctions, ${model.clusters.length} clusters) to ${path}`);
666
673
  }
@@ -669,8 +676,6 @@ async function run(ctx) {
669
676
  }
670
677
  // Legend and landing report go to stderr so stdout/--out stays pure diagram
671
678
  // source. The diagram itself also carries the legend (see `buildVizModel`).
672
- if (posterNote !== null)
673
- err(`upt: ${posterNote}`);
674
679
  if (focusLine !== null)
675
680
  err(`upt: ${focusLine}`);
676
681
  if (model.filterLegend !== null)
@@ -682,30 +687,6 @@ async function run(ctx) {
682
687
  if (fmt !== 'text') {
683
688
  throw new CliError(`upt: unknown --format='${fmt}' (expected: text | mermaid | dot | svg)`);
684
689
  }
685
- if (posterMode) {
686
- const model = api.buildVizModel(fullGraph, {
687
- title: `UPT physics map — ${label}`,
688
- extraJunctions: overlay(user ? [user.junction] : []),
689
- ...filterOpts,
690
- });
691
- out(`
692
- Poster index — statements and the derivations between them [source: ${label}]`);
693
- out(` ${posterNote}`);
694
- out(` (${model.junctions.length} junctions over ${model.clusters.length} clusters; ` +
695
- `${api.POSTER_GRAPH.derivations.length} derivations, ` +
696
- `${api.POSTER_GRAPH.associations.length} associations)`);
697
- if (model.filterLegend !== null)
698
- out(` ${model.filterLegend}`);
699
- for (const d of posterValidation.dangling) {
700
- out(` ⚠ '${d.derivation}' names '${d.missing}' as a ${d.role}, and nothing defines it.`);
701
- }
702
- if (user) {
703
- out(`
704
- Your equation: ${user.junction.label}`);
705
- printEquationReport(api, model, user, out, comparisons);
706
- }
707
- return exitCode;
708
- }
709
690
  // --equation: the verdict on the user's equation is the answer asked for, so it
710
691
  // comes BEFORE the linkage map, not after ~45 lines of it (persona finding N4).
711
692
  if (user) {
@@ -728,6 +709,18 @@ Your equation: ${user.junction.label}`);
728
709
  out(` ${coreLine(anchor.core)}`);
729
710
  if (anchor.groundTruth)
730
711
  out(` proposals: ${groundTruthLine(anchor.groundTruth)}`);
712
+ if (proposed !== null) {
713
+ // The overlay the visual forms draw, listed here: an unadjudicated identity consequence is a
714
+ // proposal, never a catalog edge. Each names its target and the quantities it would relate.
715
+ out(` proposed relations (${proposed.length}, unadjudicated identity consequences; not catalog edges):`);
716
+ for (const p of proposed) {
717
+ // No free input: every governing quantity of the derived relation is a registered constant.
718
+ const sources = p.sources.length === 0 ? '{} (no sources: every input is a registered constant)' : `{${p.sources.join(', ')}}`;
719
+ out(` ${p.id}: ${p.target} ← ${sources}`);
720
+ }
721
+ if (proposed.length === 0)
722
+ out(' (none at this anchor and --max-orders)');
723
+ }
731
724
  out('');
732
725
  if (focusLine !== null)
733
726
  out(` ${focusLine}`);
@@ -740,7 +733,7 @@ Your equation: ${user.junction.label}`);
740
733
  out(` link hubs: ${c.hubs.join(', ')}\n`);
741
734
  }
742
735
  out(` ○ isolated (${m.isolated.length}) — share no quantity with any other edge:`);
743
- out(` ${m.isolated.join(', ')}`);
736
+ out(` ${m.isolated.length === 0 ? 'none' : m.isolated.join(', ')}`);
744
737
  out('\n (a structural map — shared-quantity connectivity, NOT a credibility signal)');
745
738
  return exitCode;
746
739
  }
@@ -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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","sourcesContent":["/**\n * `upt map` — how the equations LINK: the text linkage map, the visual\n * (mermaid/dot/svg) physics map, and the `--equation` user-junction\n * injection. Transposed verbatim from bin/upt.mjs's `proposedJunctions()`/\n * `analyzeEquation()`/`printEquationReport()`/`mapCmd()` (lines 387-545),\n * plus `--json` and the `--json`/`--format` conflict guard.\n *\n * `parseEquationFlag` is REPLACED by the `either`-style `--equation` FlagSpec\n * (`args.ts` already extracts `--equation=...` or `--equation \"...\"` into\n * `flags.get('equation')`). `parseDiscoveryOpts` moved to `_discovery-opts.ts`\n * — the old CLI's `proposedJunctions` fed `map`'s raw args through it\n * (bin/upt.mjs line 392), so `--proposed` shares `discover`'s\n * `--max-orders`/`--anchor` validation here too.\n */\nimport { writeFileSync } from 'node:fs';\nimport type { FlagSpec, ParsedArgs } from '../args.js';\nimport { registerCommand, type Command, type CommandCtx } from '../command.js';\nimport { commandHelp, JSON_FLAG, sourceFlag } from '../flag-help.js';\nimport { resolveGraph, coreAnchor, coreLine, groundTruthAnchor, groundTruthLine, type AnchorScope } from '../graphs.js';\nimport { emitJson } from '../output.js';\nimport { publishedUrl } from '../published-url.js';\nimport { UsageError, CliError, EXIT_CHECK_FAILED } from '../errors.js';\nimport { classifyDetermination, type Determination } from '../determination.js';\nimport { parseDiscoveryOpts } from './_discovery-opts.js';\nimport * as atlasMap from './_atlas-map.js';\nimport type {\n BridgeEdge,\n CanonicalComparison,\n EquationAnalysis,\n EvidenceTag,\n RelationType,\n VizJunction,\n VizModel,\n} from '../../cli-api.js';\nimport { canonicalCheckFailed, conventionLines } from '../conventions.js';\nimport type { UnitMode } from '../../cli-api.js';\nimport { withCatalogEvidence } from '../map-evidence.js';\nimport { DISCOVER_MAX_ORDERS_DEFAULT } from '../library-defaults.js';\n\n/** `--around` reaches this many shared-quantity hops when `--depth` is not given, and at most this many when it is. */\nconst DEFAULT_DEPTH = 1;\nconst MAX_DEPTH = 10;\n\nconst FLAGS: FlagSpec[] = [\n sourceFlag('both', 'Which graph to draw: catalog, canonical, or both. This command defaults to both.'),\n { name: '--format', valueStyle: 'attached', description: 'Output form: text, mermaid, dot, or svg. svg needs the optional @viz-js/viz peer.', defaultValue: 'text' },\n { name: '--out', valueStyle: 'attached', description: 'Write the report to PATH instead of stdout.' },\n { name: '--max-orders', valueStyle: 'attached', description: 'Magnitude-clash threshold for the --proposed overlay.', defaultValue: DISCOVER_MAX_ORDERS_DEFAULT },\n { name: '--anchor', valueStyle: 'attached', repeatable: true, description: 'Override a numeric anchor as k=v for the --proposed overlay.', defaultValue: 'mass=M_sun' },\n { name: '--proposed', valueStyle: 'none', description: 'Overlay unadjudicated identity-consequence relations.' },\n { name: '--relation', valueStyle: 'attached', description: 'Keep atlas edges whose recorded relation is TYPE.' },\n { name: '--evidence', valueStyle: 'attached', description: 'Keep atlas edges whose derived evidence set contains TAG.' },\n { name: '--around', valueStyle: 'either', description: 'Keep edges within --depth shared-quantity hops of QUANTITY.' },\n { name: '--depth', valueStyle: 'attached', description: 'Hop count for --around.', defaultValue: String(DEFAULT_DEPTH) },\n { name: '--route', valueStyle: 'either', description: 'Map the atlas route FROM,TO instead of the equation graph.' },\n { name: '--all-routes', valueStyle: 'none', description: 'With --route, list every simple route, shortest first.' },\n { name: '--max-routes', valueStyle: 'attached', description: `Cap on --all-routes. The maximum accepted is ${atlasMap.MAX_ROUTES_CEILING}.`, defaultValue: String(atlasMap.DEFAULT_MAX_ROUTES) },\n { name: '--family', valueStyle: 'either', description: 'Map one atlas family by name.' },\n { name: '--observable', valueStyle: 'either', description: 'Map bridges whose recorded text names this observable.' },\n { name: '--stored', valueStyle: 'none', description: `Derive evidence from ${publishedUrl('data/atlas/witness-results.json')}. When the file is absent (a checkout or install without data/), the command names --run.` },\n { name: '--run', valueStyle: 'none', description: 'Run the shown bridges\\' in-process witnesses now. Exit 3 if one is refuted.' },\n // optionalValue: a bare trailing --equation stores '' so the empty-check in\n // run() owns the diagnostic (old-CLI fidelity: bin/upt.mjs did `a[i+1] ?? ''`\n // and let mapCmd emit `upt: --equation requires \"TARGET = EXPR\"`, exit 2).\n { name: '--equation', valueStyle: 'either', optionalValue: true, description: 'Inject TARGET = EXPR as a user node and report where it lands.' },\n { name: '--equation-only', valueStyle: 'none', description: 'Print only the equation verdict. Errors when --equation is missing.' },\n { name: '--verbose', valueStyle: 'none', description: 'With --equation, also print the linkage map.' },\n { name: '--bind-short', valueStyle: 'none', description: 'Bind a one-letter catalog name in --equation. Without it, those names are reported and not bound.' },\n { name: '--natural', valueStyle: 'none', description: 'Set ħ = c = 1 when a dimension difference is a power of those constants.' },\n { name: '--geometrized', valueStyle: 'none', description: 'With the natural-unit rules, also set G = 1.' },\n JSON_FLAG,\n];\n\nconst HELP = `upt map [--source=catalog|canonical|both] [--format=text|mermaid|dot|svg]\n [--proposed [--anchor=k=v,...] [--max-orders=N]] [--out=PATH]\n [--equation \"TARGET = EXPR\" [--equation-only] [--verbose] [--bind-short]\n [--natural] [--geometrized]] [--around=QUANTITY [--depth=N]]\n [--relation=TYPE] [--evidence=TAG] [--route=FROM,TO [--all-routes\n [--max-routes=N]]] [--family=NAME] [--observable=NAME] [--stored | --run]\n Map how the equations LINK: connected components (clusters) of the\n graph by shared quantities, the anchored core, the link hubs, and\n the isolated tail.\n --source defaults to 'both' (catalog + canonical) — a pure\n connectivity question gets the honest, all-known-physics answer by\n default; --source=catalog shows the bridge-catalog view alone.\n --out=PATH writes whatever form was asked for (text, --json or a\n visual format) to PATH instead of stdout; an empty PATH exits 1.\n --format=mermaid|dot|svg emits the VISUAL map (quantities = nodes,\n equations = junctions colored by status, one subgraph per component).\n text (default) is the unchanged linkage printout. svg renders the dot\n layout via the optional @viz-js/viz peer (npm i @viz-js/viz; or pipe\n dot through \"dot -Tsvg\"). --proposed overlays the unadjudicated\n identity-consequence relations (gray dashed); --anchor and --max-orders\n tune the discovery funnel that derives them, as in \\`upt discover\\`.\n --out writes to a file (default stdout).\n --equation \"TARGET = EXPR\" injects YOUR OWN equation as a violet 'user'\n node, dimensionally checks it, compares with the canonical registry, and\n reports nearest equations by shared-quantity overlap (not a full edge\n dump). Multi-word names may use underscores or catalog hyphens\n (planck_length / planck-length). Unknown names get a \"did you mean?\",\n and a registered constant of the inferred dimension (sigma → sigma_sb).\n A catalog target whose dimension depends on an unresolved name exits 3\n and does not quote that placeholder, unless a canonical comparison agreed.\n A one-letter catalog name (a, r, …) is reported and not bound; --bind-short\n binds it. The alias T → temperature still binds.\n An all-constant right-hand side (the Planck length) is compared at the\n SI constant values when its target is a catalog quantity.\n With --equation, the default is the verdict only. --verbose prints the\n linkage map after it. --equation-only is the same verdict and errors\n when --equation is missing (with --json: no \"linkage\" field).\n A bare e in the formula is the elementary charge. E is energy.\n Euler's number is exp(x), for example exp(1). The name euler is refused.\n --natural sets ħ = c = 1 for a dimension difference that is a power of\n those constants; --geometrized also allows powers of G. The SI default\n still refuses rest_energy = mass.\n --relation=TYPE keeps only edges whose recorded Atlas relation is that\n type; --evidence=TAG keeps only edges whose evidence set, DERIVED from\n the catalog row at read time, contains that tag.\n ⚠ Filtering changes what a missing overlay means: unfiltered, an edge\n with no overlay is KEPT; filtered, it is DROPPED, because nothing shows\n it satisfies the filter. Those drops are counted and printed separately\n from the edges that simply did not match — an unaudited graph must not\n render as a complete answer.\n --around=QUANTITY [--depth=N] keeps only the edges within N\n shared-quantity hops of QUANTITY (default ${DEFAULT_DEPTH}: the edges that use it),\n in every output form, and prints how many of the source's edges it\n kept: the others are omitted from the view, not absent from the graph.\n --route=FROM,TO and --family=NAME map the ATLAS instead: models and\n the recorded bridges between them, not shared quantities. --route\n shows the route \\`upt path\\` reports, each bridge's relation,\n assumptions, regime, bound and derived evidence, the composition\n step by step (and where the table yields no composite claim), and\n the equations each model records. --family shows one family's\n models, its bridges, the bridges from other families that touch it,\n and its rejections; --relation/--evidence filter its bridges, and a\n bridge whose tag depends on witness results is counted as undecided,\n not as a mismatch. A model's equations are only those its\n canonicalRefs record; nothing is inferred from shared quantities.\n --route=FROM,TO --all-routes lists every simple route (no model\n visited twice), shortest first, each with its composition and route\n claim, and counts the claims; --max-routes=N (default ${atlasMap.DEFAULT_MAX_ROUTES}, at most\n ${atlasMap.MAX_ROUTES_CEILING}) bounds the list, and a list cut short says so and says up to\n which bridge count it is complete.\n --observable=NAME maps the bridges whose RECORDED preserves text, or\n declared bound translation, names that observable (a whole-word text\n match, nothing inferred), lists apart those recording it as NOT\n preserved, and counts the bridges that record nothing about it;\n --relation/--evidence filter it as they filter a family.\n --stored derives evidence from the committed witness results\n (${publishedUrl('data/atlas/witness-results.json')}; it ships in data/),\n labelled with the last commit that touched it; --run runs the shown\n bridges' in-process registered witnesses now (exit 3 if any is\n refuted). Either resolves a tag once its witnesses have results; a\n witness with no result leaves it undecided, and checked, refuted and\n unresolved are counted apart.\n Every atlas view states how many of the atlas's models and bridges it\n shows, in text, --json and --format=mermaid|dot|svg.\n e.g. upt map --relation=derivation --source=both\n upt map --around=temperature --depth=2 --source=catalog\n upt map --route=model-pendulum,model-lc\n upt map --route=model-string,model-dalembert --all-routes --stored\n upt map --family=oscillators --evidence=formally-proved\n upt map --observable=frequency --run`;\n\n/**\n * The edges within `depth` shared-quantity hops of `quantity`: hop 1 is every\n * edge that has it as a source or target, and each further hop adds the edges\n * sharing a quantity with one already kept.\n * @internal\n */\nexport function neighbourhood(graph: readonly BridgeEdge[], quantity: string, depth: number): BridgeEdge[] {\n const names = (e: BridgeEdge): string[] => [...e.sources.map((q) => q.name), e.target.name];\n const reached = new Set([quantity]);\n const kept = new Set<BridgeEdge>();\n for (let hop = 0; hop < depth; hop++) {\n const frontier = graph.filter((e) => !kept.has(e) && names(e).some((n) => reached.has(n)));\n if (frontier.length === 0) break;\n for (const e of frontier) {\n kept.add(e);\n for (const n of names(e)) reached.add(n);\n }\n }\n return graph.filter((e) => kept.has(e));\n}\n\nconst RELATION_TYPES: readonly RelationType[] = [\n 'derivation',\n 'exact-equivalence',\n 'restriction',\n 'approximation',\n 'coarse-graining',\n 'analytic-continuation',\n 'structural-analogy',\n 'deformation-quantization',\n];\n\nconst EVIDENCE_TAGS: readonly EvidenceTag[] = [\n 'proposed',\n 'reviewed',\n 'dimension-checked',\n 'convention-checked',\n 'symbolically-checked',\n 'numerically-supported',\n 'formally-proved',\n 'formally-proved-property',\n 'formally-proved-cross-check',\n 'empirically-supported',\n 'contradicted',\n 'unresolved',\n];\n\n/** Last value of an `attached` flag, or undefined when the flag is absent. */\nfunction lastValue(flags: ParsedArgs['flags'], name: string): string | undefined {\n const v = flags.get(name);\n return v && v.length > 0 ? v[v.length - 1] : undefined;\n}\n\n/** Validate one filter value against its vocabulary. A bad value is a CliError\n * (exit 1); an unknown FLAG is the parser's UsageError (exit 2). */\nfunction parseFilter<T extends string>(\n raw: string | undefined,\n allowed: readonly T[],\n flag: string,\n): T | undefined {\n if (raw === undefined) return undefined;\n if (!allowed.includes(raw as T)) {\n throw new CliError(`upt: unknown ${flag}='${raw}' (expected: ${allowed.join(' | ')})`);\n }\n return raw as T;\n}\n\n// Convert the derived identity-consequence proposals into viz junctions\n// (gray-dashed, status 'proposed'). The library never imports proposed-bridges;\n// the CLI does the conversion, keeping the epistemic firewall intact.\nfunction proposedJunctions(\n api: CommandCtx['api'],\n graph: readonly BridgeEdge[],\n flags: ParsedArgs['flags']\n): VizJunction[] {\n const opts = parseDiscoveryOpts(api, flags);\n const ranked = api.rankDiscoveries(graph, opts);\n return api.deriveProposedBridges(ranked).map((p) => ({\n id: p.id,\n label: p.id,\n status: 'proposed' as const,\n sources: (p.governing || []).map((g) => g.name),\n target: p.target.name,\n }));\n}\n\n// Build the catalog quantity name→dimension map for the chosen graph, then run\n// the (testable) library analysis: parse + dimensional validation + \"did you\n// mean?\" hints. The library owns the physics (constants' dimensions, inference);\n// the CLI only formats.\nasync function analyzeEquation(\n api: CommandCtx['api'],\n equation: string,\n graph: readonly BridgeEdge[],\n options?: { readonly bindShortNames?: boolean; readonly units?: Exclude<UnitMode, 'si'> },\n): Promise<{ user: EquationAnalysis; comparisons: CanonicalComparison[] }> {\n const catalogDims = new Map<string, import('../../dimensional/types.js').Dimension>();\n for (const e of graph) {\n for (const q of [...e.sources, e.target]) catalogDims.set(q.name, q.dim);\n }\n const user = await api.analyzeUserEquation(equation, catalogDims, options);\n // Dimensions cannot see a prefactor: compare with the canonical equation the\n // user's one restates, when the registry holds one (persona finding L2).\n const comparisons = user.parseError\n ? []\n : await api.compareUserEquation(equation, catalogDims, {\n bindShortNames: options?.bindShortNames,\n ...(options?.units === undefined ? {} : { constantOverrides: api.naturalConstantOverrides(options.units) }),\n });\n return { user, comparisons };\n}\n\nfunction unresolvedNames(user: EquationAnalysis): string[] {\n const placeholderNames = [\n ...(user.placeholders ?? []),\n ...(user.shortBindings ?? []).filter((b) => b.bound === false).map((b) => b.name),\n ];\n return [...new Set([...(user.hints ?? []).map((h) => h.name), ...placeholderNames])];\n}\n\n/** The exit `upt derive` uses for the same question. */\nfunction equationDetermination(\n user: EquationAnalysis,\n comparisons: readonly CanonicalComparison[],\n): Determination {\n const unresolved = unresolvedNames(user);\n const asked = user.targetDimension != null;\n return classifyDetermination({\n asked,\n agrees: comparisons.some((c) => c.kind === 'agrees'),\n checkFailed:\n (user.consistent === false && unresolved.length === 0) || canonicalCheckFailed(comparisons),\n notUnique: false,\n unresolved,\n });\n}\n\nfunction tainted(user: EquationAnalysis): boolean {\n return unresolvedNames(user).length > 0;\n}\n\n// Print the dimensional verdict, where the equation landed, and any hints.\n// `out` is ctx.out (text mode → stdout) or ctx.err (visual → stderr).\nfunction printEquationReport(\n api: CommandCtx['api'],\n model: VizModel,\n user: EquationAnalysis,\n out: (line?: string) => void,\n comparisons: readonly CanonicalComparison[] = [],\n): void {\n out('');\n const unresolved = unresolvedNames(user);\n const verdict = equationDetermination(user, comparisons);\n if (user.consistent === true) {\n out(` ✓ dimensionally consistent: ${api.format(user.rhsDimension!)}`);\n } else if (verdict.report === 'not-established') {\n const names = unresolved.map((n) => `'${n}'`).join(', ');\n out(\n ` · NOT ESTABLISHED: ${names} ${unresolved.length > 1 ? 'have' : 'has'} no catalog dimension, ` +\n 'so the right-hand side dimension was not established and is not reported.',\n );\n } else if (verdict.report === 'established' && unresolved.length > 0) {\n // A canonical agreement ran. The placeholder dimension is not that result.\n } else if (user.consistent === false) {\n out(\n ` ⚠ dimensional MISMATCH: RHS is ${api.format(user.rhsDimension!)} but the target is ${api.format(\n user.targetDimension!\n )}`\n );\n } else if (user.rhsDimension && (user.placeholders ?? []).length > 0) {\n const names = user.placeholders.map((n) => `'${n}'`).join(', ');\n out(\n ` · UNKNOWN: ${names} ${user.placeholders.length === 1 ? 'was' : 'were'} taken as dimensionless. ` +\n 'That is not the dimension of the formula, and the target is not a bound catalog name, so nothing was checked',\n );\n } else if (user.rhsDimension) {\n out(` · RHS dimension: ${api.format(user.rhsDimension)} (target not in the catalog, so no comparison)`);\n }\n for (const line of api.describeKnownRelation(comparisons, user.junction.target, [...user.junction.sources])) {\n out(` ${line}`);\n }\n for (const line of conventionLines(comparisons.map((c) => c.id))) out(` ${line}`);\n if (user.naturalNote) out(` ${user.naturalNote}`);\n const L = api.equationLanding(model, 'user-equation');\n if (L.isolated) {\n out(' ⚠ your equation is ISOLATED — it shares no quantity with this graph.');\n } else {\n out(\n ` ● your equation joins ${L.anchored ? 'the ANCHORED cluster' : 'a cluster'} of ${L.clusterSize} via {${L.sharedQuantities.join(', ')}}`\n );\n // W3/I3: do not dump ~100 edge ids — that made shared length/temperature look\n // like a physics claim. Summarise nearest equations by shared-quantity overlap.\n for (const line of api.formatConnectedSummary(model, L)) out(line);\n }\n for (const h of user.hints ?? []) {\n if (!h.suggestions.length) {\n out(` ⚠ '${h.name}' did not match a catalog quantity (run \\`upt canonical\\` for the vocabulary).`);\n } else if (h.byDimension) {\n out(` ⚠ '${h.name}' is unknown — by its inferred dimension, did you mean: ${h.suggestions.join(', ')}?`);\n } else {\n out(` ⚠ '${h.name}' did not match a catalog quantity — did you mean: ${h.suggestions.join(', ')}?`);\n }\n // Persona finding L5: `sigma` for the Stefan–Boltzmann constant `sigma_sb`.\n if ((h.constants ?? []).length > 0) {\n const list = h.constants!.join(', ');\n out(\n ` '${h.name}' has the inferred dimension of the registered constant${h.constants!.length > 1 ? 's' : ''} ${list}; ` +\n 'write that name to use its SI value',\n );\n }\n }\n // Persona finding W6: a one-letter name binds to whatever the catalog calls that letter.\n for (const b of user.shortBindings ?? []) {\n const users = model.junctions\n .filter((j) => j.id !== 'user-equation' && (j.target === b.quantity || j.sources.includes(b.quantity)))\n .map((j) => j.id)\n .sort();\n const shown = users.slice(0, 3).join(', ') + (users.length > 3 ? `, +${users.length - 3} more` : '');\n const used = users.length > 0 ? ` (used by ${shown})` : '';\n if (b.bound === false) {\n out(\n ` · '${b.name}' matches the catalog quantity ${b.quantity} ${api.format(b.dim)}${used}, a one-letter name, and is not bound. ` +\n 'Pass --bind-short to bind it, or write the full name you meant',\n );\n } else {\n out(\n ` · '${b.name}' is bound to the catalog quantity ${b.quantity} ${api.format(b.dim)}, a one-letter name` +\n `${used}; if you meant another quantity, write its full name`,\n );\n }\n }\n}\n\n/** Flags that shape the equation graph, and so mean nothing on an atlas view. */\nconst GRAPH_ONLY_FLAGS = ['source', 'around', 'depth', 'equation', 'equation-only', 'proposed', 'max-orders', 'anchor'] as const;\n\n/** Flags that only an atlas view reads. */\nconst ATLAS_ONLY_FLAGS = ['all-routes', 'max-routes', 'stored', 'run'] as const;\n\nasync function runAtlasView(\n ctx: CommandCtx,\n route: string | undefined,\n family: string | undefined,\n observable: string | undefined,\n): Promise<number> {\n const { args, api, err, write } = ctx;\n const chosen = [route !== undefined, family !== undefined, observable !== undefined].filter(Boolean).length;\n if (chosen > 1) throw new CliError('upt map: pick one atlas view: --route, --family or --observable');\n const view = route !== undefined ? '--route' : family !== undefined ? '--family' : '--observable';\n const stray = GRAPH_ONLY_FLAGS.filter((f) => args.flags.has(f));\n if (stray.length > 0) {\n throw new CliError(\n `upt map: ${view} maps the atlas, not the equation graph; ${stray.map((f) => `--${f}`).join(', ')} do${stray.length === 1 ? 'es' : ''} not apply`,\n );\n }\n const relation = parseFilter(lastValue(args.flags, 'relation'), RELATION_TYPES, '--relation');\n const evidence = parseFilter(lastValue(args.flags, 'evidence'), EVIDENCE_TAGS, '--evidence');\n if (route !== undefined && (relation !== undefined || evidence !== undefined)) {\n throw new CliError('upt map: a route is composed whole, so --relation/--evidence do not filter it; filter a family view instead (--family=NAME)');\n }\n const allRoutes = args.flags.has('all-routes');\n if (allRoutes && route === undefined) throw new CliError('upt map: --all-routes needs --route=FROM,TO');\n const maxRaw = lastValue(args.flags, 'max-routes');\n if (maxRaw !== undefined && !allRoutes) throw new CliError('upt map: --max-routes needs --all-routes');\n const maxRoutes = maxRaw === undefined ? atlasMap.DEFAULT_MAX_ROUTES : Number(maxRaw);\n if (!Number.isInteger(maxRoutes) || maxRoutes < 1 || maxRoutes > atlasMap.MAX_ROUTES_CEILING) {\n throw new CliError(`upt map: --max-routes=${maxRaw} must be an integer from 1 to ${atlasMap.MAX_ROUTES_CEILING}`);\n }\n if (args.flags.has('stored') && args.flags.has('run')) {\n throw new CliError('upt map: pick one witness-results source: --stored (the committed artifact) or --run (run now)');\n }\n const fmt = lastValue(args.flags, 'format') ?? 'text';\n const isJson = args.flags.has('json');\n if (isJson && fmt !== 'text') throw new UsageError('upt: pick one output form: --json or --format');\n if (!['text', 'mermaid', 'dot', 'svg'].includes(fmt)) {\n throw new CliError(`upt: unknown --format='${fmt}' (expected: text | mermaid | dot | svg)`);\n }\n\n const filter = {\n ...(relation !== undefined ? { relation } : {}),\n ...(evidence !== undefined ? { evidence } : {}),\n };\n const endpoints = route === undefined ? null : atlasMap.parseRoute(route);\n const build = (results: atlasMap.WitnessResults | null): atlasMap.AtlasView =>\n endpoints !== null\n ? allRoutes\n ? atlasMap.buildRoutesView(api, ...endpoints, maxRoutes, results)\n : atlasMap.buildRouteView(api, ...endpoints, results)\n : family !== undefined\n ? atlasMap.buildFamilyView(api, family, filter, results)\n : atlasMap.buildObservableView(api, observable!, filter, results);\n let results: atlasMap.WitnessResults | null = null;\n if (args.flags.has('stored')) results = atlasMap.loadStoredResults();\n else if (args.flags.has('run')) {\n // Unfiltered first: a filter's verdict depends on the results, so every candidate bridge is run.\n const candidates =\n endpoints === null\n ? atlasMap.bridgeIdsOf(family !== undefined ? atlasMap.buildFamilyView(api, family, {}) : atlasMap.buildObservableView(api, observable!, {}))\n : atlasMap.bridgeIdsOf(build(null));\n results = await atlasMap.runResults(api, candidates);\n }\n const v = build(results);\n const exitCode = results?.mode === 'run' && results.rows.some((r) => r.status === 'refuted') ? EXIT_CHECK_FAILED : 0;\n\n if (isJson) {\n emitJson({ command: 'map', source: 'atlas', result: v }, write);\n return exitCode;\n }\n if (fmt === 'text') {\n const lines =\n v.view === 'route'\n ? atlasMap.routeText(v)\n : v.view === 'routes'\n ? atlasMap.routesText(v)\n : v.view === 'family'\n ? atlasMap.familyText(v)\n : atlasMap.observableText(v);\n for (const line of lines) ctx.out(line);\n return exitCode;\n }\n let src: string;\n if (fmt === 'svg') {\n try {\n src = await api.renderDotToSvg(atlasMap.toDot(v));\n } catch (e) {\n throw new CliError(e && (e as Error).message ? (e as Error).message : String(e));\n }\n } else {\n src = fmt === 'mermaid' ? atlasMap.toMermaid(v) : atlasMap.toDot(v);\n }\n const path = lastValue(args.flags, 'out');\n if (path !== undefined) {\n if (!path) throw new CliError('upt: --out= requires a non-empty PATH');\n try {\n writeFileSync(path, src);\n } catch (e) {\n throw new CliError(`upt map: ${(e as Error).message}`);\n }\n err(`upt: wrote ${fmt} to ${path}`);\n } else {\n write(src);\n }\n err(`upt: ${atlasMap.viewLegend(v)}`);\n return exitCode;\n}\n\n/**\n * `--out=PATH` holds for every output form. A visual form writes its diagram\n * source (handled by the branch that renders it); the text report and the\n * `--json` envelope are captured here and written whole, so stdout stays\n * empty and the file holds exactly what stdout would have carried. An empty\n * PATH exits 1 in every form.\n */\nasync function run(ctx: CommandCtx): Promise<number> {\n const path = lastValue(ctx.args.flags, 'out');\n const fmt = lastValue(ctx.args.flags, 'format') ?? 'text';\n if (path === undefined || fmt !== 'text') return runReport(ctx);\n if (!path) throw new CliError('upt: --out= requires a non-empty PATH');\n let captured = '';\n const code = await runReport({\n ...ctx,\n out: (line?: string) => {\n captured += (line ?? '') + '\\n';\n },\n write: (s: string) => {\n captured += s;\n },\n });\n try {\n writeFileSync(path, captured);\n } catch (e) {\n throw new CliError(`upt map: ${(e as Error).message}`);\n }\n ctx.err(`upt: wrote ${ctx.args.flags.has('json') ? 'json' : 'text'} to ${path}`);\n return code;\n}\n\nasync function runReport(ctx: CommandCtx): Promise<number> {\n const { args, api, out, err, write } = ctx;\n const route = lastValue(args.flags, 'route');\n const family = lastValue(args.flags, 'family');\n const observable = lastValue(args.flags, 'observable');\n if (route !== undefined || family !== undefined || observable !== undefined) return runAtlasView(ctx, route, family, observable);\n const atlasOnly = ATLAS_ONLY_FLAGS.filter((f) => args.flags.has(f));\n if (atlasOnly.length > 0) {\n throw new CliError(\n `upt map: ${atlasOnly.map((f) => `--${f}`).join(', ')} appl${atlasOnly.length === 1 ? 'ies' : 'y'} to an atlas view ` +\n '(--route, --family or --observable), not to the equation graph',\n );\n }\n // map asks a pure connectivity question, so it defaults to --source=both\n // (catalog + canonical) rather than graphs.ts's catalog fallback used by\n // the other --source commands (e.g. discover, which keeps catalog).\n const sourceFlags = args.flags.has('source') ? args.flags : new Map(args.flags).set('source', ['both']);\n const { graph: wholeGraph, label, source } = resolveGraph(api, sourceFlags);\n\n const around = lastValue(args.flags, 'around');\n const depthRaw = lastValue(args.flags, 'depth');\n if (depthRaw !== undefined && around === undefined) throw new CliError('upt map: --depth needs --around');\n let focus: { around: string; depth: number; kept: number; of: number } | null = null;\n let fullGraph = wholeGraph;\n if (around !== undefined) {\n const depth = depthRaw === undefined ? DEFAULT_DEPTH : Number(depthRaw);\n if (!Number.isInteger(depth) || depth < 1 || depth > MAX_DEPTH) throw new CliError(`upt map: --depth=${depthRaw} must be an integer from 1 to ${MAX_DEPTH}`);\n const known = new Set(wholeGraph.flatMap((e) => [...e.sources.map((q) => q.name), e.target.name]));\n const name = api.resolveQuantityName(around, known);\n if (name === null) {\n const near = api.suggestQuantities(around, known);\n throw new CliError(\n `upt map: '${around}' is not a quantity of the ${label} graph` + (near.length > 0 ? `; did you mean: ${near.join(', ')}?` : ''),\n );\n }\n fullGraph = neighbourhood(wholeGraph, name, depth);\n focus = { around: name, depth, kept: fullGraph.length, of: wholeGraph.length };\n }\n const focusLine =\n focus === null\n ? null\n : `focused: ${focus.kept} of ${focus.of} edges within ${focus.depth} hop(s) of '${focus.around}' [${label}]; ` +\n 'the rest are omitted from this view, not absent from the graph';\n // The two overlay filters. Parsed BEFORE anything else is computed so a bad\n // value costs nothing and always exits 1.\n const relation = parseFilter(lastValue(args.flags, 'relation'), RELATION_TYPES, '--relation');\n const evidence = parseFilter(lastValue(args.flags, 'evidence'), EVIDENCE_TAGS, '--evidence');\n const filterOpts = withCatalogEvidence({\n ...(relation !== undefined ? { relation } : {}),\n ...(evidence !== undefined ? { evidence } : {}),\n });\n // The TEXT and JSON paths filter the edge list here, because `linkageMap`\n // consumes edges. The VISUAL path hands `buildVizModel` the FULL graph with\n // the same options, so the model also judges the --proposed / --equation\n // overlay junctions, which are not edges and which `filterEdges` cannot see.\n // One predicate, two callers: they cannot disagree about what a filter\n // selects, only about how much they were asked to count.\n const { kept: graph, stats: edgeStats } = api.filterEdges(fullGraph, filterOpts);\n // Audit I3: what \"anchored\" means here, and the discovery ground truth when --proposed ran the funnel.\n const anchor: AnchorScope = {\n core: coreAnchor(graph),\n ...(args.flags.has('proposed') ? { groundTruth: groundTruthAnchor(api, parseDiscoveryOpts(api, args.flags)) } : {}),\n };\n const edgeLegend = api.formatFilterLegend(edgeStats);\n\n const fmtValues = args.flags.get('format');\n const fmt = fmtValues && fmtValues.length > 0 ? fmtValues[fmtValues.length - 1] : 'text';\n const isJson = args.flags.has('json');\n\n if (isJson && fmt !== 'text') {\n throw new UsageError('upt: pick one output form: --json or --format');\n }\n\n // --equation injects a user-supplied \"TARGET = EXPR\" as a 'user' junction.\n let user: EquationAnalysis | null = null;\n let comparisons: CanonicalComparison[] = [];\n const equationValues = args.flags.get('equation');\n const equation = equationValues && equationValues.length > 0 ? equationValues[equationValues.length - 1] : null;\n // Persona finding L7: the verdict alone, without the linkage map after it.\n const equationOnly = args.flags.has('equation-only');\n if (equationOnly && equation == null) throw new UsageError('upt map: --equation-only needs --equation \"TARGET = EXPR\"');\n if (equationOnly && fmt !== 'text') {\n throw new UsageError(`upt map: --equation-only prints the verdict as text or --json; it does not apply to --format=${fmt}`);\n }\n if (equation != null) {\n if (!equation.trim()) {\n throw new UsageError('upt: --equation requires \"TARGET = EXPR\"');\n }\n try {\n const units: Exclude<UnitMode, 'si'> | undefined = args.flags.has('geometrized')\n ? 'geometrized'\n : args.flags.has('natural')\n ? 'natural'\n : undefined;\n if (args.flags.has('geometrized') && args.flags.has('natural')) {\n throw new UsageError('upt map: pick one unit mode: --natural (ħ = c = 1) or --geometrized (ħ = c = G = 1)');\n }\n ({ user, comparisons } = await analyzeEquation(api, equation, graph, {\n bindShortNames: args.flags.has('bind-short'),\n ...(units === undefined ? {} : { units }),\n })); // throws UserEquationError on malformed structure\n } catch (e) {\n throw new UsageError('upt: ' + (e && (e as Error).message ? (e as Error).message : String(e)));\n }\n if (user.parseError) {\n throw new UsageError('upt: ' + user.parseError); // dimensionally malformed RHS\n }\n }\n\n // The same classification `upt derive` uses. A canonical agreement stays 0.\n // A catalog target that was not established exits 3. An unbound target stays 0.\n const exitCode = user === null ? 0 : equationDetermination(user, comparisons).exit;\n\n // Ranked from the UNFILTERED graph: the proposal set is a property of the\n // whole catalog, and the model then judges each overlay junction under the\n // same filter as every other junction. Computed once for every output form.\n const proposed: VizJunction[] | null = args.flags.has('proposed') ? proposedJunctions(api, wholeGraph, args.flags) : null;\n const overlay = (extra: VizJunction[]): VizJunction[] => [...(proposed ?? []), ...extra];\n\n if (isJson) {\n const linkage = api.linkageMap(graph);\n let landing: ReturnType<typeof api.equationLanding> | undefined;\n let userEquation: Record<string, unknown> | undefined;\n if (user) {\n const model = api.buildVizModel(fullGraph, {\n title: `UPT physics map — ${label}`,\n extraJunctions: overlay([user.junction]),\n ...filterOpts,\n });\n landing = api.equationLanding(model, 'user-equation');\n userEquation = {\n equation: user.junction.label,\n consistent: tainted(user) ? null : user.consistent,\n rhsDimension: tainted(user) ? null : user.rhsDimension,\n targetDimension: user.targetDimension,\n hints: user.hints,\n shortBindings: user.shortBindings,\n ...(user.placeholders.length === 0 ? {} : { placeholders: user.placeholders }),\n canonicalComparisons: comparisons,\n catalogEdges: api.matchingCatalogEdges(user.junction.target, [...user.junction.sources]),\n };\n }\n emitJson(\n {\n command: 'map',\n source,\n anchor,\n result: {\n ...(equation != null && (equationOnly || !args.flags.has('verbose')) ? {} : { linkage }),\n ...(proposed === null ? {} : { proposed: proposed.map((p) => ({ id: p.id, target: p.target, sources: p.sources })) }),\n ...(edgeLegend !== null ? { filter: edgeStats } : {}),\n ...(focus !== null ? { focus } : {}),\n ...(user ? { landing, userEquation } : {}),\n },\n },\n write\n );\n return exitCode;\n }\n\n if (fmt === 'mermaid' || fmt === 'dot' || fmt === 'svg') {\n const extraJunctions = overlay(user ? [user.junction] : []);\n const model = api.buildVizModel(fullGraph, {\n title: `UPT physics map — ${label}`,\n extraJunctions,\n ...filterOpts,\n });\n // svg is the dot layout rendered by the optional @viz-js/viz peer.\n let src: string;\n if (fmt === 'svg') {\n try {\n src = await api.renderDotToSvg(model.toDot());\n } catch (e) {\n throw new CliError(e && (e as Error).message ? (e as Error).message : String(e));\n }\n } else {\n src = fmt === 'mermaid' ? model.toMermaid() : model.toDot();\n }\n const outValues = args.flags.get('out');\n if (outValues && outValues.length > 0) {\n const path = outValues[outValues.length - 1];\n if (!path) {\n throw new CliError('upt: --out= requires a non-empty PATH');\n }\n try {\n writeFileSync(path, src);\n } catch (e) {\n throw new CliError(`upt map: ${(e as Error).message}`);\n }\n err(`upt: wrote ${fmt} (${model.junctions.length} junctions, ${model.clusters.length} clusters) to ${path}`);\n } else {\n write(src);\n }\n // Legend and landing report go to stderr so stdout/--out stays pure diagram\n // source. The diagram itself also carries the legend (see `buildVizModel`).\n if (focusLine !== null) err(`upt: ${focusLine}`);\n if (model.filterLegend !== null) err(`upt: ${model.filterLegend}`);\n if (user) printEquationReport(api, model, user, err, comparisons);\n return exitCode;\n }\n if (fmt !== 'text') {\n throw new CliError(`upt: unknown --format='${fmt}' (expected: text | mermaid | dot | svg)`);\n }\n\n // --equation: the verdict on the user's equation is the answer asked for, so it\n // comes BEFORE the linkage map, not after ~45 lines of it (persona finding N4).\n if (user) {\n const model = api.buildVizModel(fullGraph, {\n title: `UPT physics map — ${label}`,\n extraJunctions: overlay([user.junction]),\n ...filterOpts,\n });\n out(`\\nYour equation: ${user.junction.label}`);\n printEquationReport(api, model, user, out, comparisons);\n if (equationOnly || !args.flags.has('verbose')) return exitCode;\n }\n\n const m = api.linkageMap(graph);\n const mix = (s: Readonly<Record<string, number>>) =>\n Object.entries(s)\n .map(([k, v]) => `${v} ${k}`)\n .join(', ');\n out(`\\nLinkage map — how the equations connect via shared quantities [source: ${label}]`);\n out(`(${m.componentCount} components over ${graph.length} edges; ${m.compositions} compose into chains)`);\n out(` ${coreLine(anchor.core!)}`);\n if (anchor.groundTruth) out(` proposals: ${groundTruthLine(anchor.groundTruth)}`);\n if (proposed !== null) {\n // The overlay the visual forms draw, listed here: an unadjudicated identity consequence is a\n // proposal, never a catalog edge. Each names its target and the quantities it would relate.\n out(` proposed relations (${proposed.length}, unadjudicated identity consequences; not catalog edges):`);\n for (const p of proposed) {\n // No free input: every governing quantity of the derived relation is a registered constant.\n const sources = p.sources.length === 0 ? '{} (no sources: every input is a registered constant)' : `{${p.sources.join(', ')}}`;\n out(` ${p.id}: ${p.target} ← ${sources}`);\n }\n if (proposed.length === 0) out(' (none at this anchor and --max-orders)');\n }\n out('');\n if (focusLine !== null) out(` ${focusLine}`);\n if (edgeLegend !== null) out(` ${edgeLegend}`);\n for (const c of m.clusters.filter((x) => x.size > 1)) {\n out(` ● cluster of ${c.size}${c.anchored ? ' [ANCHORED to known physics]' : ''}`);\n out(` edges: ${c.edges.join(', ')}`);\n out(` status: ${mix(c.statusMix)}`);\n out(` link hubs: ${c.hubs.join(', ')}\\n`);\n }\n out(` ○ isolated (${m.isolated.length}) — share no quantity with any other edge:`);\n out(` ${m.isolated.length === 0 ? 'none' : m.isolated.join(', ')}`);\n out('\\n (a structural map — shared-quantity connectivity, NOT a credibility signal)');\n return exitCode;\n}\n\nexport const command: Command = {\n name: 'map',\n aliases: ['linkage'],\n flags: FLAGS,\n help: commandHelp(HELP, FLAGS),\n summary: 'Show how equations link, or where your own equation lands on that graph.',\n example: 'upt map --equation \"period = 2*pi*sqrt(length/gravity)\"',\n group: 'explore',\n run,\n};\n\nregisterCommand(command);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"metric.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/metric.ts"],"names":[],"mappings":"AAUA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAwJ/E,eAAO,MAAM,OAAO,EAAE,OASrB,CAAC"}
1
+ {"version":3,"file":"metric.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/metric.ts"],"names":[],"mappings":"AAUA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AA4L/E,eAAO,MAAM,OAAO,EAAE,OASrB,CAAC"}