universal-physics-tensor 1.0.3 → 2.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 (306) hide show
  1. package/README.md +118 -73
  2. package/dist/atlas/benchmark/hybrid-retrieval.d.ts +1 -0
  3. package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
  4. package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
  5. package/dist/atlas/chain-pipeline.d.ts +37 -0
  6. package/dist/atlas/chain-pipeline.d.ts.map +1 -1
  7. package/dist/atlas/chain-pipeline.js +95 -79
  8. package/dist/atlas/chain-pipeline.js.map +1 -1
  9. package/dist/atlas/composition-table.d.ts +5 -7
  10. package/dist/atlas/composition-table.d.ts.map +1 -1
  11. package/dist/atlas/composition-table.js +3 -5
  12. package/dist/atlas/composition-table.js.map +1 -1
  13. package/dist/atlas/proof-target.d.ts +28 -2
  14. package/dist/atlas/proof-target.d.ts.map +1 -1
  15. package/dist/atlas/proof-target.js +25 -16
  16. package/dist/atlas/proof-target.js.map +1 -1
  17. package/dist/atlas/regime.d.ts +2 -2
  18. package/dist/atlas/regime.d.ts.map +1 -1
  19. package/dist/atlas/regime.js +1 -1
  20. package/dist/atlas/regime.js.map +1 -1
  21. package/dist/atlas/types.d.ts +7 -7
  22. package/dist/atlas/types.d.ts.map +1 -1
  23. package/dist/bridges/be53-yang-mills-confrontation.d.ts +1 -1
  24. package/dist/bridges/be53-yang-mills-confrontation.d.ts.map +1 -1
  25. package/dist/canonical/normal-form.d.ts +2 -1
  26. package/dist/canonical/normal-form.d.ts.map +1 -1
  27. package/dist/canonical/normal-form.js +2 -1
  28. package/dist/canonical/normal-form.js.map +1 -1
  29. package/dist/cases/brownian-sphere.d.ts.map +1 -1
  30. package/dist/cases/brownian-sphere.js +1 -0
  31. package/dist/cases/brownian-sphere.js.map +1 -1
  32. package/dist/cli/args.d.ts +7 -0
  33. package/dist/cli/args.d.ts.map +1 -1
  34. package/dist/cli/args.js.map +1 -1
  35. package/dist/cli/command.d.ts +13 -0
  36. package/dist/cli/command.d.ts.map +1 -1
  37. package/dist/cli/command.js.map +1 -1
  38. package/dist/cli/commands/_atlas-route.d.ts +1 -1
  39. package/dist/cli/commands/atlas.d.ts.map +1 -1
  40. package/dist/cli/commands/atlas.js +28 -7
  41. package/dist/cli/commands/atlas.js.map +1 -1
  42. package/dist/cli/commands/audit.d.ts.map +1 -1
  43. package/dist/cli/commands/audit.js +7 -3
  44. package/dist/cli/commands/audit.js.map +1 -1
  45. package/dist/cli/commands/axes.d.ts.map +1 -1
  46. package/dist/cli/commands/axes.js +6 -2
  47. package/dist/cli/commands/axes.js.map +1 -1
  48. package/dist/cli/commands/candidates.d.ts.map +1 -1
  49. package/dist/cli/commands/candidates.js +7 -3
  50. package/dist/cli/commands/candidates.js.map +1 -1
  51. package/dist/cli/commands/canonical.d.ts.map +1 -1
  52. package/dist/cli/commands/canonical.js +11 -3
  53. package/dist/cli/commands/canonical.js.map +1 -1
  54. package/dist/cli/commands/chain.d.ts +1 -0
  55. package/dist/cli/commands/chain.d.ts.map +1 -1
  56. package/dist/cli/commands/chain.js +12 -1
  57. package/dist/cli/commands/chain.js.map +1 -1
  58. package/dist/cli/commands/confront.d.ts.map +1 -1
  59. package/dist/cli/commands/confront.js +20 -6
  60. package/dist/cli/commands/confront.js.map +1 -1
  61. package/dist/cli/commands/connectors.d.ts.map +1 -1
  62. package/dist/cli/commands/connectors.js +7 -3
  63. package/dist/cli/commands/connectors.js.map +1 -1
  64. package/dist/cli/commands/coverage.d.ts.map +1 -1
  65. package/dist/cli/commands/coverage.js +6 -2
  66. package/dist/cli/commands/coverage.js.map +1 -1
  67. package/dist/cli/commands/derive.d.ts.map +1 -1
  68. package/dist/cli/commands/derive.js +12 -4
  69. package/dist/cli/commands/derive.js.map +1 -1
  70. package/dist/cli/commands/discover.d.ts.map +1 -1
  71. package/dist/cli/commands/discover.js +35 -8
  72. package/dist/cli/commands/discover.js.map +1 -1
  73. package/dist/cli/commands/eval.d.ts.map +1 -1
  74. package/dist/cli/commands/eval.js +26 -19
  75. package/dist/cli/commands/eval.js.map +1 -1
  76. package/dist/cli/commands/evaluate.d.ts +7 -3
  77. package/dist/cli/commands/evaluate.d.ts.map +1 -1
  78. package/dist/cli/commands/evaluate.js +71 -36
  79. package/dist/cli/commands/evaluate.js.map +1 -1
  80. package/dist/cli/commands/explain.d.ts.map +1 -1
  81. package/dist/cli/commands/explain.js +7 -3
  82. package/dist/cli/commands/explain.js.map +1 -1
  83. package/dist/cli/commands/frontier.d.ts.map +1 -1
  84. package/dist/cli/commands/frontier.js +12 -2
  85. package/dist/cli/commands/frontier.js.map +1 -1
  86. package/dist/cli/commands/ground.d.ts.map +1 -1
  87. package/dist/cli/commands/ground.js +20 -5
  88. package/dist/cli/commands/ground.js.map +1 -1
  89. package/dist/cli/commands/map.d.ts +1 -1
  90. package/dist/cli/commands/map.d.ts.map +1 -1
  91. package/dist/cli/commands/map.js +29 -25
  92. package/dist/cli/commands/map.js.map +1 -1
  93. package/dist/cli/commands/metric.d.ts.map +1 -1
  94. package/dist/cli/commands/metric.js +21 -14
  95. package/dist/cli/commands/metric.js.map +1 -1
  96. package/dist/cli/commands/path.d.ts +3 -2
  97. package/dist/cli/commands/path.d.ts.map +1 -1
  98. package/dist/cli/commands/path.js +47 -20
  99. package/dist/cli/commands/path.js.map +1 -1
  100. package/dist/cli/commands/predict.d.ts.map +1 -1
  101. package/dist/cli/commands/predict.js +7 -3
  102. package/dist/cli/commands/predict.js.map +1 -1
  103. package/dist/cli/commands/priority.d.ts.map +1 -1
  104. package/dist/cli/commands/priority.js +7 -3
  105. package/dist/cli/commands/priority.js.map +1 -1
  106. package/dist/cli/commands/probe.d.ts.map +1 -1
  107. package/dist/cli/commands/probe.js +32 -16
  108. package/dist/cli/commands/probe.js.map +1 -1
  109. package/dist/cli/commands/recover.d.ts.map +1 -1
  110. package/dist/cli/commands/recover.js +7 -4
  111. package/dist/cli/commands/recover.js.map +1 -1
  112. package/dist/cli/commands/regime.d.ts +2 -2
  113. package/dist/cli/commands/regime.d.ts.map +1 -1
  114. package/dist/cli/commands/regime.js +36 -12
  115. package/dist/cli/commands/regime.js.map +1 -1
  116. package/dist/cli/commands/retrieve.d.ts.map +1 -1
  117. package/dist/cli/commands/retrieve.js +23 -4
  118. package/dist/cli/commands/retrieve.js.map +1 -1
  119. package/dist/cli/commands/search.d.ts.map +1 -1
  120. package/dist/cli/commands/search.js +12 -2
  121. package/dist/cli/commands/search.js.map +1 -1
  122. package/dist/cli/commands/symbolic.d.ts.map +1 -1
  123. package/dist/cli/commands/symbolic.js +11 -3
  124. package/dist/cli/commands/symbolic.js.map +1 -1
  125. package/dist/cli/commands/testplan.d.ts.map +1 -1
  126. package/dist/cli/commands/testplan.js +12 -2
  127. package/dist/cli/commands/testplan.js.map +1 -1
  128. package/dist/cli/eval-numbers.d.ts +2 -2
  129. package/dist/cli/eval-numbers.js +2 -2
  130. package/dist/cli/flag-help.d.ts +34 -0
  131. package/dist/cli/flag-help.d.ts.map +1 -0
  132. package/dist/cli/flag-help.js +113 -0
  133. package/dist/cli/flag-help.js.map +1 -0
  134. package/dist/cli/main.d.ts +0 -8
  135. package/dist/cli/main.d.ts.map +1 -1
  136. package/dist/cli/main.js +42 -29
  137. package/dist/cli/main.js.map +1 -1
  138. package/dist/cli/version.d.ts +6 -2
  139. package/dist/cli/version.d.ts.map +1 -1
  140. package/dist/cli/version.js +11 -3
  141. package/dist/cli/version.js.map +1 -1
  142. package/dist/cli-api.d.ts +50 -0
  143. package/dist/cli-api.d.ts.map +1 -1
  144. package/dist/cli-api.js +42 -0
  145. package/dist/cli-api.js.map +1 -1
  146. package/dist/composition/adjudication.d.ts +9 -0
  147. package/dist/composition/adjudication.d.ts.map +1 -1
  148. package/dist/composition/adjudication.js +13 -0
  149. package/dist/composition/adjudication.js.map +1 -1
  150. package/dist/composition/canonical-compare.d.ts +1 -0
  151. package/dist/composition/canonical-compare.d.ts.map +1 -1
  152. package/dist/composition/canonical-compare.js +1 -0
  153. package/dist/composition/canonical-compare.js.map +1 -1
  154. package/dist/composition/chain-result.d.ts +55 -0
  155. package/dist/composition/chain-result.d.ts.map +1 -0
  156. package/dist/composition/chain-result.js +57 -0
  157. package/dist/composition/chain-result.js.map +1 -0
  158. package/dist/composition/compose-symbolic.d.ts.map +1 -1
  159. package/dist/composition/compose-symbolic.js +4 -39
  160. package/dist/composition/compose-symbolic.js.map +1 -1
  161. package/dist/composition/compose.d.ts.map +1 -1
  162. package/dist/composition/compose.js +11 -4
  163. package/dist/composition/compose.js.map +1 -1
  164. package/dist/composition/edges/calibration.d.ts +9 -0
  165. package/dist/composition/edges/calibration.d.ts.map +1 -1
  166. package/dist/composition/edges/calibration.js +9 -9
  167. package/dist/composition/edges/calibration.js.map +1 -1
  168. package/dist/composition/edges/catalog-condensed-matter.d.ts +10 -0
  169. package/dist/composition/edges/catalog-condensed-matter.d.ts.map +1 -1
  170. package/dist/composition/edges/catalog-condensed-matter.js +10 -10
  171. package/dist/composition/edges/catalog-condensed-matter.js.map +1 -1
  172. package/dist/composition/edges/catalog-gravitation-cosmology.d.ts +11 -0
  173. package/dist/composition/edges/catalog-gravitation-cosmology.d.ts.map +1 -1
  174. package/dist/composition/edges/catalog-gravitation-cosmology.js +11 -11
  175. package/dist/composition/edges/catalog-gravitation-cosmology.js.map +1 -1
  176. package/dist/composition/edges/catalog-quantum.d.ts +10 -0
  177. package/dist/composition/edges/catalog-quantum.d.ts.map +1 -1
  178. package/dist/composition/edges/catalog-quantum.js +10 -10
  179. package/dist/composition/edges/catalog-quantum.js.map +1 -1
  180. package/dist/composition/edges/catalog-tranche.d.ts +11 -0
  181. package/dist/composition/edges/catalog-tranche.d.ts.map +1 -1
  182. package/dist/composition/edges/catalog-tranche.js +11 -11
  183. package/dist/composition/edges/catalog-tranche.js.map +1 -1
  184. package/dist/composition/enumerate.d.ts +46 -5
  185. package/dist/composition/enumerate.d.ts.map +1 -1
  186. package/dist/composition/enumerate.js +37 -8
  187. package/dist/composition/enumerate.js.map +1 -1
  188. package/dist/composition/expr-simplify.d.ts.map +1 -1
  189. package/dist/composition/expr-simplify.js +3 -11
  190. package/dist/composition/expr-simplify.js.map +1 -1
  191. package/dist/composition/frontier-account.d.ts +6 -6
  192. package/dist/composition/frontier-account.d.ts.map +1 -1
  193. package/dist/composition/mathts-scalar-symbols.d.ts +48 -0
  194. package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -0
  195. package/dist/composition/mathts-scalar-symbols.js +150 -0
  196. package/dist/composition/mathts-scalar-symbols.js.map +1 -0
  197. package/dist/composition/probe/frontier.d.ts.map +1 -1
  198. package/dist/composition/probe/frontier.js +17 -4
  199. package/dist/composition/probe/frontier.js.map +1 -1
  200. package/dist/composition/probe/study.js +1 -1
  201. package/dist/composition/probe/study.js.map +1 -1
  202. package/dist/composition/uncertainty.d.ts +2 -2
  203. package/dist/composition/uncertainty.d.ts.map +1 -1
  204. package/dist/composition/uncertainty.js +14 -13
  205. package/dist/composition/uncertainty.js.map +1 -1
  206. package/dist/diff/bridge-gradient.d.ts +5 -8
  207. package/dist/diff/bridge-gradient.d.ts.map +1 -1
  208. package/dist/diff/bridge-gradient.js +5 -8
  209. package/dist/diff/bridge-gradient.js.map +1 -1
  210. package/dist/dimensional/buckingham.d.ts.map +1 -1
  211. package/dist/dimensional/buckingham.js +19 -91
  212. package/dist/dimensional/buckingham.js.map +1 -1
  213. package/dist/dimensional/units.d.ts +13 -0
  214. package/dist/dimensional/units.d.ts.map +1 -1
  215. package/dist/dimensional/units.js +78 -1
  216. package/dist/dimensional/units.js.map +1 -1
  217. package/dist/index.d.ts +1 -1
  218. package/dist/index.d.ts.map +1 -1
  219. package/dist/index.js +4 -4
  220. package/dist/index.js.map +1 -1
  221. package/dist/numerical/binding-value.d.ts +3 -3
  222. package/dist/numerical/binding-value.d.ts.map +1 -1
  223. package/dist/numerical/binding-value.js +60 -31
  224. package/dist/numerical/binding-value.js.map +1 -1
  225. package/dist/numerical/einstein-equation.js +3 -3
  226. package/dist/numerical/einstein-equation.js.map +1 -1
  227. package/dist/numerical/engine-registry.d.ts +12 -27
  228. package/dist/numerical/engine-registry.d.ts.map +1 -1
  229. package/dist/numerical/engine-registry.js +10 -65
  230. package/dist/numerical/engine-registry.js.map +1 -1
  231. package/dist/numerical/errors.d.ts +1 -2
  232. package/dist/numerical/errors.d.ts.map +1 -1
  233. package/dist/numerical/errors.js +1 -2
  234. package/dist/numerical/errors.js.map +1 -1
  235. package/dist/numerical/formula-contract.d.ts +60 -0
  236. package/dist/numerical/formula-contract.d.ts.map +1 -0
  237. package/dist/numerical/formula-contract.js +107 -0
  238. package/dist/numerical/formula-contract.js.map +1 -0
  239. package/dist/numerical/formula-dimension.d.ts +33 -10
  240. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  241. package/dist/numerical/formula-dimension.js +48 -35
  242. package/dist/numerical/formula-dimension.js.map +1 -1
  243. package/dist/numerical/formula-mathts.d.ts +15 -17
  244. package/dist/numerical/formula-mathts.d.ts.map +1 -1
  245. package/dist/numerical/formula-mathts.js +34 -36
  246. package/dist/numerical/formula-mathts.js.map +1 -1
  247. package/dist/numerical/formula-registry.d.ts +11 -19
  248. package/dist/numerical/formula-registry.d.ts.map +1 -1
  249. package/dist/numerical/formula-registry.js +16 -79
  250. package/dist/numerical/formula-registry.js.map +1 -1
  251. package/dist/numerical/geodesic-integrator.d.ts.map +1 -1
  252. package/dist/numerical/geodesic-integrator.js +19 -31
  253. package/dist/numerical/geodesic-integrator.js.map +1 -1
  254. package/dist/numerical/gl4-integrator.d.ts +12 -51
  255. package/dist/numerical/gl4-integrator.d.ts.map +1 -1
  256. package/dist/numerical/gl4-integrator.js +103 -565
  257. package/dist/numerical/gl4-integrator.js.map +1 -1
  258. package/dist/numerical/index.d.ts +0 -2
  259. package/dist/numerical/index.d.ts.map +1 -1
  260. package/dist/numerical/index.js +0 -2
  261. package/dist/numerical/index.js.map +1 -1
  262. package/dist/numerical/kretschmann.d.ts +2 -2
  263. package/dist/numerical/kretschmann.js +2 -2
  264. package/dist/numerical/mathts-engine.d.ts +7 -8
  265. package/dist/numerical/mathts-engine.d.ts.map +1 -1
  266. package/dist/numerical/mathts-engine.js +19 -27
  267. package/dist/numerical/mathts-engine.js.map +1 -1
  268. package/dist/numerical/null-ray-integrator.d.ts.map +1 -1
  269. package/dist/numerical/null-ray-integrator.js +11 -28
  270. package/dist/numerical/null-ray-integrator.js.map +1 -1
  271. package/dist/numerical/quadrature.d.ts +2 -17
  272. package/dist/numerical/quadrature.d.ts.map +1 -1
  273. package/dist/numerical/quadrature.js +9 -20
  274. package/dist/numerical/quadrature.js.map +1 -1
  275. package/dist/numerical/spacetime-metrics.d.ts +1 -0
  276. package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
  277. package/dist/numerical/spacetime-metrics.js.map +1 -1
  278. package/dist/numerical/strides.d.ts +1 -2
  279. package/dist/numerical/strides.d.ts.map +1 -1
  280. package/dist/numerical/strides.js +1 -2
  281. package/dist/numerical/strides.js.map +1 -1
  282. package/dist/numerical/tensor-engine.d.ts +2 -3
  283. package/dist/numerical/tensor-engine.d.ts.map +1 -1
  284. package/dist/numerical/tensor-engine.js +1 -2
  285. package/dist/numerical/tensor-engine.js.map +1 -1
  286. package/dist/relations/category.d.ts +8 -2
  287. package/dist/relations/category.d.ts.map +1 -1
  288. package/dist/relations/category.js +10 -2
  289. package/dist/relations/category.js.map +1 -1
  290. package/dist/relations/composition-table.d.ts +1 -1
  291. package/dist/relations/composition-table.d.ts.map +1 -1
  292. package/dist/relations/composition-table.js +1 -1
  293. package/dist/relations/composition-table.js.map +1 -1
  294. package/dist/relations/regime-vocabularies.d.ts +40 -0
  295. package/dist/relations/regime-vocabularies.d.ts.map +1 -0
  296. package/dist/relations/regime-vocabularies.js +19 -0
  297. package/dist/relations/regime-vocabularies.js.map +1 -0
  298. package/package.json +13 -46
  299. package/dist/numerical/float64-engine.d.ts +0 -55
  300. package/dist/numerical/float64-engine.d.ts.map +0 -1
  301. package/dist/numerical/float64-engine.js +0 -675
  302. package/dist/numerical/float64-engine.js.map +0 -1
  303. package/dist/numerical/formula.d.ts +0 -106
  304. package/dist/numerical/formula.d.ts.map +0 -1
  305. package/dist/numerical/formula.js +0 -348
  306. package/dist/numerical/formula.js.map +0 -1
package/README.md CHANGED
@@ -42,88 +42,133 @@ Think of this as:
42
42
 
43
43
  ## Quick Start
44
44
 
45
- From npm, the CLI is `upt`:
46
-
47
45
  ```bash
48
46
  npm install universal-physics-tensor
49
47
  npx upt help
50
- npx upt explain hawking-temperature mass=1.989e30
51
48
  ```
52
49
 
53
- The npm package ships `dist/`, `bin/`, this README and the licence. The documentation, the examples
54
- and the test fixtures linked below live in the GitHub repository. The steps below work from a clone
55
- of it:
50
+ The npm package ships `dist/`, `bin/`, this README and the licence. The documentation and the
51
+ examples live in the GitHub repository. From a clone, Bun is the package manager (`package.json`
52
+ pins `bun@1.4.2`). Node does not install it: `corepack prepare bun@1.4.2 --activate` fails with
53
+ `Unsupported package manager specification`. Install that Bun from <https://bun.sh/install>, then
54
+ `bun install` and `bun run build`. On a machine that has Node and not Bun, the clone path is
55
+ `npm install`, `npm run build`, then `node bin/upt.mjs <command>`.
56
+
57
+ The library requires the published `@danielsimonjr/mathts-*` packages. There is no
58
+ second parser. MathTS accepts `factorial`, `erf`, `gamma()`, and juxtaposition such as `2pi`.
59
+ A bare `e` is the elementary charge, `E` is energy, and Euler's number is only `exp(x)`, for
60
+ example `exp(1)`. The name `euler` is refused. `upt eval --debug` names the parser. `upt version`
61
+ stays a bare semver line. `@viz-js/viz` (`upt map --format=svg`) stays an optional peer.
62
+
63
+ ## First five minutes
56
64
 
57
65
  ```bash
58
- # Clone the repository
59
- git clone https://github.com/danielsimonjr/universal-physics-tensor.git
60
- cd universal-physics-tensor
66
+ npx upt eval "2*pi*sqrt(1/9.81)"
67
+ npx upt derive period:time length:length gravity:acceleration --formula "2*pi*sqrt(length/gravity)"
68
+ npx upt explain hawking-temperature mass=1Msun
69
+ npx upt evaluate be-63 mu_e=2
70
+ npx upt search pendulum
71
+ ```
61
72
 
62
- # Install dependencies (Bun is the local/CI package manager; Node ≥ 18 is the runtime).
63
- # Bun is not installed by Node. `corepack prepare bun@1.4.2 --activate` fails
64
- # ("Unsupported package manager specification"). Install the pinned Bun from
65
- # https://bun.sh/install (this repo pins bun@1.4.2), then:
66
- bun install
67
-
68
- # Build the project
69
- bun run build
70
-
71
- # Run the smoke test
72
- node test-example.js
73
-
74
- # Bridge-inference CLI (no TypeScript needed) — `upt` subcommands:
75
- bun run upt -- explain hawking-temperature mass=1.989e30 # explain a built-in quantity
76
- bun run upt -- priority # triage speculative bridges
77
- bun run upt -- audit # derive the bridges by dimensions
78
- bun run upt -- predict # empty regime cells as link hypotheses
79
- bun run upt -- discover # vet link candidates (merge/unlock/consistency)
80
- bun run upt -- discover --source=canonical # run the funnel on standard physics ALONE (no bridges)
81
- bun run upt -- discover --derive # surface machine-derived identity consequences (--max-orders / --anchor flags available)
82
- bun run upt -- probe scan # experimental expression/residual frontier (Product B; not `upt discover`)
83
- bun run upt -- probe run --problem=tests/fixtures/discovery/pendulum-scaling/public/problem.json # a fixture in the clone
84
- bun run upt -- connectors # which isolated bridges can connect to the core
85
- bun run upt -- coverage # audit each bridge's empirical grounding
86
- bun run upt -- canonical # the standard-physics L-layer registry (answer key)
87
- bun run upt -- recover # validate bridges against standard physics
88
- bun run upt -- symbolic --simplify # compose + fold bridges' SYMBOLIC forms (MathTS simplify)
89
- bun run upt -- confront # run the catalog's committed real-data confrontations (predicted vs observed)
90
- bun run upt -- map --source=both --format=mermaid # VISUAL map of the graph (Mermaid; also --format=dot|svg, --proposed, --out=PATH)
91
- bun run upt -- map --equation "period = 2*pi*sqrt(length/gravity)" # drop YOUR OWN equation onto the map: dimensional check + where it lands
92
- # ...and YOUR OWN equations:
93
- bun run upt -- eval "hbar*c^3/(8*pi*G*M*k_B)" hbar=1.054571817e-34 c=299792458 G=6.6743e-11 M=1.989e30 k_B=1.380649e-23
94
- bun run upt -- derive period:time length:length gravity:acceleration --formula "2*pi*sqrt(length/gravity)"
95
- # → period ∝ length^0.5·gravity^-0.5 ; formula dimension: [time] ✓ matches target ;
96
- # formula MATCHES, recovered prefactor ≈ 6.2832 (2π)
97
- bun run upt -- help
98
- # From an npm install, run the same commands as `npx upt <cmd>`.
99
- # (`bun run explain` and `bun run bridge-priority` remain as aliases.)
73
+ `upt eval "2*pi*sqrt(1/9.81)"` prints the small-angle period of a 1 m pendulum, in seconds:
74
+
75
+ ```text
76
+ 2.0060666807106475
77
+ ```
78
+
79
+ `upt derive` recovers the dimensionless prefactor of that formula (2π) and names the canonical entry:
80
+
81
+ ```text
82
+ dimensionally determined up to a constant: period ∝ length^0.5·gravity^-0.5
83
+ formula dimension: [time] ✓ homogeneous, matches target
84
+ formula MATCHES the dimensional form — recovered prefactor ≈ 6.2832e+0
85
+ ✓ agrees with CE-pendulum-period (Pendulum period), prefactor included: yours/canonical = 1 at 3 fixed points
100
86
  ```
101
87
 
102
- `eval`/`derive --formula` use the MathTS expression engine
103
- (`@danielsimonjr/mathts-functions`) when the optional peers are installed,
104
- and a built-in, dependency-free parser otherwise — transparently, via a
105
- `FormulaParser` registry (`upt eval --debug` prints which is active; `upt version`
106
- stays a bare semver line). A clone's `bun install` or `npm install` installs
107
- the MathTS packages as devDependencies, so that path uses MathTS. A published
108
- `npm install universal-physics-tensor` does not install the optional peers and
109
- uses the builtin parser. The two are not the same language: MathTS accepts
110
- `factorial`, `erf`, `gamma()`, and juxtaposition such as `2pi`; the builtin
111
- parser does not. Both read a bare `e` as the elementary charge, `E` as energy,
112
- and Euler's number only as `exp(x)`, for example `exp(1)`. The name `euler` is refused. On a machine that has Node
113
- and not Bun, the clone path is `npm install`, `npm run build`, then
114
- `node bin/upt.mjs <command>`. UPT keeps
115
- **zero hard dependencies**; the MathTS packages and `@viz-js/viz` are optional peers, which a
116
- default install does not pull in. Add the ones you want, for example
117
- `npm install @danielsimonjr/mathts-functions` for the MathTS parser, or `npm install @viz-js/viz`
118
- for `upt map --format=svg`. The `universal-physics-tensor/numerical/mathts-engine` subpath imports
119
- `@danielsimonjr/mathts-tensor` directly, so importing it without that peer fails with
120
- `ERR_MODULE_NOT_FOUND`. That is the opt-in, not a bug: install the peer to use the engine. The main
121
- entry point never loads that subpath.
122
-
123
- See [`cli/README.md`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/cli/README.md) for the full CLI reference — every command
124
- and alias, the `--source=catalog|canonical|both` flag, input syntax, exit codes,
125
- and troubleshooting. [`docs/architecture/PHYSICS_MAP.md`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/PHYSICS_MAP.md)
126
- shows the rendered map (`upt map --format=mermaid|dot|svg`).
88
+ `upt explain hawking-temperature mass=1Msun` recovers `6.1684e-8` by the two routes of BE-42.
89
+ `upt evaluate be-63 mu_e=2` prints `M_Ch_solar = 1.4558683960704613` for an ideal degenerate gas
90
+ with `M_sun = 1.989e30` kg. `upt search pendulum` names the commands that open the pendulum
91
+ records. Every flag of every command is in [`docs/CLI.md`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/CLI.md).
92
+
93
+ ## Commands
94
+
95
+ <!-- cli-reference:commands -->
96
+ 30 commands: 28 registered, plus `help` and `version`.
97
+
98
+ **Evaluate and check**
99
+
100
+ | Command | What it does |
101
+ |---|---|
102
+ | `audit` | Derive every bridge equation by dimensions and sort derived, decoy, and open. |
103
+ | `derive` (`dim`) | Derive the dimensional form of your own equation and, with --formula, the prefactor. |
104
+ | `eval` (`calc`) | Evaluate a scalar formula. A bare e is the elementary charge; Euler's number is exp(x). |
105
+ | `evaluate` | Evaluate a closed-form bridge or an applied case, with units on every input. |
106
+ | `metric` (`curvature`) | Print Christoffel symbols and curvature scalars for one exact metric. |
107
+ | `symbolic` (`compose-symbolic`) | Compose the symbolic forms of the registered bridge chains. |
108
+
109
+ **Explore bridges and the atlas**
110
+
111
+ | Command | What it does |
112
+ |---|---|
113
+ | `atlas` | Show one atlas bridge with its relation, regime, bound, witnesses, and formal reference. |
114
+ | `canonical` (`laws`) | List the canonical-equation registry, its fidelity, and the coverage gap. |
115
+ | `explain` | Show how the graph determines a quantity, or say that it does not cover that name. |
116
+ | `map` (`linkage`) | Show how equations link, or where your own equation lands on that graph. |
117
+ | `path` | Show the bridge chain between two models and whether a bound is claimed there. |
118
+ | `recover` (`recovery`, `validate`) | Classify each bridge-to-canonical link as restates, recovers, or dimensional-only. |
119
+ | `regime` | Report where a family's models are valid, violated, or unknown. |
120
+ | `search` | Find a bridge, equation, model, quantity, or case by the words in its record. |
121
+
122
+ **Discovery and probes**
123
+
124
+ | Command | What it does |
125
+ |---|---|
126
+ | `axes` (`axis-audit`) | Report which tensor classification axes gate the discovery funnel. |
127
+ | `candidates` (`propose`) | Propose same-dimension links between clusters for physicist review. |
128
+ | `connectors` (`orphans`) | Find same-dimension identifications that would pull an isolated bridge into the core. |
129
+ | `discover` (`discovery`) | Vet quantity identifications and rank them promising, inert, or contradictory. |
130
+ | `frontier` | Print null results and missing connections as two lists, neither of them a score. |
131
+ | `ground` | Show which falsifiers ran on one discovery candidate, and which abstained. |
132
+ | `predict` (`predictions`) | Rank empty regime cells as undiscovered-connection hypotheses. |
133
+ | `priority` (`prioritize`, `triage`) | Triage speculative bridges by structural decidability, not by credibility. |
134
+ | `probe` | Search expressions and residuals. This is not `upt discover`. |
135
+
136
+ **Data and confrontation**
137
+
138
+ | Command | What it does |
139
+ |---|---|
140
+ | `confront` | Run the committed predicted-versus-observed confrontations. |
141
+ | `coverage` (`grounding`) | Count catalog bridges by empirical grounding tier. |
142
+ | `retrieve` | Search the atlas for a claim. --embed asks a local Ollama model and does not accept that order. |
143
+ | `testplan` | Print the measurement plan stored on a confrontation or an applied case. |
144
+
145
+ **Utilities**
146
+
147
+ | Command | What it does |
148
+ |---|---|
149
+ | `help` | Show every command, or one command's usage and flags. `upt help statuses` defines the status words. |
150
+ | `version` | Print the installed package version as one semver line. |
151
+ | `chain` | Name the internal chain orchestrator and exit 2. It does not run it. |
152
+ <!-- /cli-reference:commands -->
153
+
154
+ ## Global options
155
+
156
+ <!-- cli-reference:globals -->
157
+ | Option | Default | What it does |
158
+ |---|---|---|
159
+ | `--help` | | Show this command list, or `upt help <command>` for one command. `-h` is the same. `upt <command> --help` prints that command. |
160
+ | `--version` | | Print the package version as one semver line and exit. `-v` and `upt version` are the same. Neither takes --json. |
161
+ | `--json` | | Write a JSON envelope to stdout instead of the text report. |
162
+ | `--record` | | Run the following command unchanged and append one JSONL entry to FILE: arguments, stdout, stderr, exit code, versions, and hashes. A failed run is recorded too. |
163
+ | `--replay` | | Re-run every entry of FILE and report reproduced, differs, or not replayable. Takes no command. `--json` after it selects the JSON report. Exit 0 when every entry is reproduced and unchanged, 3 when any differs, 1 otherwise. |
164
+ | `--show-record` | | Print FILE as a transcript and run nothing. Takes no command. `--json` after it selects the JSON report. |
165
+ <!-- /cli-reference:globals -->
166
+
167
+ `upt <command> --help` prints that command. An unknown flag exits 2 and names the flag.
168
+ [`docs/CLI.md`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/CLI.md) is the flag reference: every command, every flag, one example each.
169
+ [`cli/README.md`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/cli/README.md) keeps the exit-code and input-syntax notes.
170
+ [`docs/architecture/PHYSICS_MAP.md`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/PHYSICS_MAP.md) is the rendered map
171
+ (`upt map --format=mermaid|dot|svg`).
127
172
 
128
173
  ## Installation
129
174
 
@@ -326,7 +371,7 @@ The current machine-checked state is:
326
371
  | Empirical spine | **19 committed confrontations**, exposed through `upt confront` with rigor/caveat metadata |
327
372
  | Composition layer | **46 bridge edges** plus the canonical L-layer graph; dimensional, symbolic, discovery, consequence, and visualization tooling |
328
373
  | Canonical reference layer | **109 canonical equations** used as the non-speculative answer-key layer for bridge recovery/linkage |
329
- | Architecture | Generated dependency graph reports **0 circular dependencies**. The unused-analysis report lists **1** file and **77** exports with no importer. Both reports are regenerated by `bun run docs:deps`, and the `docs-fresh` job fails when they are stale |
374
+ | Architecture | Generated dependency graph reports **0 circular dependencies**. The unused-analysis report lists **1** file and **78** exports with no importer. Both reports are regenerated by `bun run docs:deps`, and the `docs-fresh` job fails when they are stale |
330
375
  | Quality gates | Build, strict source+test TypeScript checks, full Vitest suite, active-plan audit, package-content smoke test, and nightly long-horizon GL4/Shapiro accuracy tests |
331
376
  | Formal references | **10** atlas bridges derive `formally-proved` from a reviewed `lean4-physjs` reference. **16** catalog equations carry a counted reference and do not light that tag. **14** state the catalogued equation, so the kind is `bridge` while the covers line still begins with `derivation-step`; passing one to `deriveEvidence` lights `formally-proved`, and the catalog path still omits it. **3** carry a cross-check and **2** carry a property, and `be-28` is a property whose covers line begins with `derivation-step`. Nested statements are not second references. The pin and the split are [`NOTES.md`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/NOTES.md) |
332
377
  <!-- /readme-status:table -->
@@ -76,6 +76,7 @@ export declare function rankByCosine(query: ArrayLike<number>, records: readonly
76
76
  export declare function decodeFloat32(encoded: string): Float32Array;
77
77
  /** The live canonical registry as retrieval records. Text is the name and the latex. @internal */
78
78
  export declare function canonicalRetrievalCorpus(): CorpusRecord[];
79
+ /** Where an Ollama embedder reaches the server, which model it asks for, and the vector width it expects. @internal */
79
80
  export interface OllamaEmbedderOptions {
80
81
  readonly baseUrl: string;
81
82
  readonly model?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid-retrieval.d.ts","sourceRoot":"","sources":["../../../src/atlas/benchmark/hybrid-retrieval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hybrid-retrieval.d.ts","sourceRoot":"","sources":["../../../src/atlas/benchmark/hybrid-retrieval.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid-retrieval.js","sourceRoot":"","sources":["../../../src/atlas/benchmark/hybrid-retrieval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hybrid-retrieval.js","sourceRoot":"","sources":["../../../src/atlas/benchmark/hybrid-retrieval.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,11 @@
13
13
  *
14
14
  * @module atlas/chain-pipeline
15
15
  */
16
+ import type { ExprNode } from '../dimensional/validator.js';
17
+ import type { Dimension } from '../dimensional/types.js';
16
18
  import type { BridgeEdge } from '../composition/edge.js';
19
+ import type { CompositionResult } from '../relations/composition-table.js';
20
+ import { type ChainRecord } from '../composition/chain-result.js';
17
21
  import { type ChainRegimeMismatch } from '../composition/chain-regime.js';
18
22
  /** A chain whose normal form matches a catalog equation. Nothing was written. @internal */
19
23
  export interface ChainConfirmationRecord {
@@ -37,6 +41,39 @@ export interface ChainStubRecord {
37
41
  }
38
42
  /** One ordered survivor, or a recorded regime rejection. @internal */
39
43
  export type ChainPipelineResult = ChainConfirmationRecord | ChainRestatementRecord | ChainStubRecord | ChainRegimeMismatch;
44
+ /**
45
+ * Dimensioned leaves of the composed formula, excluding the target name.
46
+ * The names are the MathTS symbol filter. A dimensionless constant is not
47
+ * a governing symbol. The elementary charge is, because its dimension is
48
+ * charge.
49
+ *
50
+ * @internal
51
+ */
52
+ export declare function governingOf(expr: ExprNode, targetName: string): {
53
+ name: string;
54
+ dim: Dimension;
55
+ }[];
56
+ /**
57
+ * The category claim recorded for two quantity edges.
58
+ *
59
+ * A quantity edge stores a quantity name, not a category object id.
60
+ * This step does not invent that id, so the recorded result is unset
61
+ * even when both edges store a relation. The pair is not dropped.
62
+ *
63
+ * @internal
64
+ */
65
+ export declare function categoryCompositionForChain(first: BridgeEdge, second: BridgeEdge): CompositionResult | undefined;
66
+ /**
67
+ * The orchestrator view of one {@link ChainRecord}.
68
+ *
69
+ * A confirmation and a restatement ignore `mismatch`. A provisional
70
+ * record with a mismatch is that rejection. Any other provisional record
71
+ * is a stub whose id and theorem come from the same record the order key
72
+ * reads.
73
+ *
74
+ * @internal
75
+ */
76
+ export declare function renderChainRecord(record: ChainRecord, seedTheorems?: readonly string[]): ChainPipelineResult;
40
77
  /**
41
78
  * Run the pipeline on `edges`.
42
79
  *
@@ -1 +1 @@
1
- {"version":3,"file":"chain-pipeline.d.ts","sourceRoot":"","sources":["../../src/atlas/chain-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAUzD,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,gCAAgC,CAAC;AAKxC,2FAA2F;AAC3F,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,6FAA6F;AAC7F,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,sEAAsE;AACtE,MAAM,MAAM,mBAAmB,GAC3B,uBAAuB,GACvB,sBAAsB,GACtB,eAAe,GACf,mBAAmB,CAAC;AA6HxB;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,mBAAmB,EAAE,CA2B7F"}
1
+ {"version":3,"file":"chain-pipeline.d.ts","sourceRoot":"","sources":["../../src/atlas/chain-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAIzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAI3E,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAK9F,2FAA2F;AAC3F,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,6FAA6F;AAC7F,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,sEAAsE;AACtE,MAAM,MAAM,mBAAmB,GAC3B,uBAAuB,GACvB,sBAAsB,GACtB,eAAe,GACf,mBAAmB,CAAC;AAYxB;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,SAAS,CAAA;CAAE,EAAE,CASlG;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,GACjB,iBAAiB,GAAG,SAAS,CAI/B;AAyCD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,YAAY,GAAE,SAAS,MAAM,EAAO,GACnC,mBAAmB,CAyBrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,mBAAmB,EAAE,CAwC7F"}
@@ -19,10 +19,12 @@ import { CONSTANTS } from '../dimensional/symbolic-constants.js';
19
19
  import { enumerateCompositions } from '../composition/enumerate.js';
20
20
  import { buckinghamFilter } from '../composition/buckingham-filter.js';
21
21
  import { matchChain } from '../composition/chain-match.js';
22
- import { compareChainEdgeIds, orderChainCandidates, } from '../composition/chain-candidate.js';
23
- import { joinRegimeMismatch, } from '../composition/chain-regime.js';
22
+ import { compareChainEdgeIds } from '../composition/chain-candidate.js';
23
+ import { chainOrderKey, orderChainRecords, } from '../composition/chain-result.js';
24
+ import { joinRegimeMismatch } from '../composition/chain-regime.js';
24
25
  import { bridgeSeedKeys, physjsTheorem } from './physjs-ref.js';
25
26
  import { emitProofTarget } from './proof-target.js';
27
+ import { scalarSymbolsFromMathTs } from '../composition/mathts-scalar-symbols.js';
26
28
  function isNumericName(name) {
27
29
  return /^\d+(\.\d+)?$/.test(name);
28
30
  }
@@ -32,110 +34,113 @@ function isDimensionlessConstant(name) {
32
34
  const registered = CONSTANTS[name];
33
35
  return registered !== undefined && equals(registered.dim, DIMENSIONLESS);
34
36
  }
35
- function collectSymbols(expr, out) {
36
- switch (expr.kind) {
37
- case 'symbol':
38
- out.set(expr.name, expr.dim);
39
- return;
40
- case 'op':
41
- for (const arg of expr.args)
42
- collectSymbols(arg, out);
43
- return;
44
- case 'integral':
45
- collectSymbols(expr.over, out);
46
- collectSymbols(expr.integrand, out);
47
- return;
48
- case 'derivative':
49
- collectSymbols(expr.of, out);
50
- collectSymbols(expr.wrt, out);
51
- return;
52
- case 'transcendental':
53
- case 'abs':
54
- case 'dirac-delta':
55
- collectSymbols(expr.arg, out);
56
- return;
57
- default:
58
- return;
59
- }
60
- }
61
- /** Dimensioned leaves of the composed formula, excluding the target name. */
62
- function governingOf(expr, targetName) {
63
- const dims = new Map();
64
- collectSymbols(expr, dims);
37
+ /**
38
+ * Dimensioned leaves of the composed formula, excluding the target name.
39
+ * The names are the MathTS symbol filter. A dimensionless constant is not
40
+ * a governing symbol. The elementary charge is, because its dimension is
41
+ * charge.
42
+ *
43
+ * @internal
44
+ */
45
+ export function governingOf(expr, targetName) {
65
46
  const vars = [];
66
- for (const [name, dim] of dims) {
67
- if (name === targetName)
47
+ for (const leaf of scalarSymbolsFromMathTs(expr)) {
48
+ if (leaf.name === targetName)
68
49
  continue;
69
- if (isNumericName(name) || isDimensionlessConstant(name))
50
+ if (isNumericName(leaf.name) || isDimensionlessConstant(leaf.name))
70
51
  continue;
71
- vars.push({ name, dim });
52
+ vars.push(leaf);
72
53
  }
73
54
  vars.sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0));
74
55
  return vars;
75
56
  }
76
- function toCandidate(classification, filter) {
77
- const theorem = filter.theorem ?? undefined;
57
+ /**
58
+ * The category claim recorded for two quantity edges.
59
+ *
60
+ * A quantity edge stores a quantity name, not a category object id.
61
+ * This step does not invent that id, so the recorded result is unset
62
+ * even when both edges store a relation. The pair is not dropped.
63
+ *
64
+ * @internal
65
+ */
66
+ export function categoryCompositionForChain(first, second) {
67
+ const relationsAreStored = first.relation !== undefined && second.relation !== undefined;
68
+ if (!relationsAreStored)
69
+ return undefined;
70
+ return undefined;
71
+ }
72
+ function theoremsFor(edgeIds) {
73
+ return edgeIds.map((id) => {
74
+ const name = physjsTheorem(id);
75
+ if (name === undefined) {
76
+ throw new Error(`chain pipeline: manifest copy has no theorem for seed '${id}'`);
77
+ }
78
+ return name;
79
+ });
80
+ }
81
+ function proofCandidate(record) {
82
+ const kind = chainOrderKey(record);
83
+ const theorem = record.theorem ?? undefined;
78
84
  const carried = theorem === undefined ? {} : { theorem };
79
- if (classification.kind === 'confirmation') {
85
+ if (record.classification.kind === 'confirmation') {
80
86
  return {
81
- kind: 'confirmation',
82
- edgeIds: classification.edgeIds,
83
- catalogId: classification.catalogId,
87
+ kind,
88
+ edgeIds: record.edgeIds,
89
+ catalogId: record.classification.catalogId,
84
90
  ...carried,
85
91
  };
86
92
  }
87
- if (classification.kind === 'restatement') {
93
+ if (record.classification.kind === 'restatement') {
88
94
  return {
89
- kind: 'restatement',
90
- edgeIds: classification.edgeIds,
91
- canonicalId: classification.canonicalId,
92
- restatesBridge: classification.restatesBridge,
95
+ kind,
96
+ edgeIds: record.edgeIds,
97
+ canonicalId: record.classification.canonicalId,
98
+ restatesBridge: record.classification.restatesBridge,
93
99
  ...carried,
94
100
  };
95
101
  }
96
- const kind = filter.theorem === 'PhysJS.Dimensional.monomial_form'
97
- ? 'unique-monomial'
98
- : 'unfixed-shape';
99
102
  return {
100
103
  kind,
101
- edgeIds: classification.edgeIds,
102
- id: classification.id,
104
+ edgeIds: record.edgeIds,
105
+ id: record.classification.id,
103
106
  ...carried,
104
107
  };
105
108
  }
106
- function theoremsFor(edgeIds) {
107
- return edgeIds.map((id) => {
108
- const name = physjsTheorem(id);
109
- if (name === undefined) {
110
- throw new Error(`chain pipeline: manifest copy has no theorem for seed '${id}'`);
111
- }
112
- return name;
113
- });
114
- }
115
- function emit(candidate) {
116
- if (candidate.kind === 'confirmation' && candidate.catalogId !== undefined) {
109
+ /**
110
+ * The orchestrator view of one {@link ChainRecord}.
111
+ *
112
+ * A confirmation and a restatement ignore `mismatch`. A provisional
113
+ * record with a mismatch is that rejection. Any other provisional record
114
+ * is a stub whose id and theorem come from the same record the order key
115
+ * reads.
116
+ *
117
+ * @internal
118
+ */
119
+ export function renderChainRecord(record, seedTheorems = []) {
120
+ if (record.classification.kind === 'confirmation') {
117
121
  return {
118
122
  kind: 'confirmation',
119
- catalogId: candidate.catalogId,
120
- edgeIds: candidate.edgeIds,
123
+ catalogId: record.classification.catalogId,
124
+ edgeIds: record.edgeIds,
121
125
  };
122
126
  }
123
- if (candidate.kind === 'restatement' &&
124
- candidate.canonicalId !== undefined &&
125
- candidate.restatesBridge !== undefined) {
127
+ if (record.classification.kind === 'restatement') {
126
128
  return {
127
129
  kind: 'restatement',
128
- canonicalId: candidate.canonicalId,
129
- restatesBridge: candidate.restatesBridge,
130
- edgeIds: candidate.edgeIds,
130
+ canonicalId: record.classification.canonicalId,
131
+ restatesBridge: record.classification.restatesBridge,
132
+ edgeIds: record.edgeIds,
131
133
  };
132
134
  }
133
- const id = candidate.id ?? `chain-${candidate.edgeIds.join('-')}`;
135
+ if (record.mismatch !== undefined)
136
+ return record.mismatch;
137
+ const candidate = proofCandidate(record);
138
+ const id = candidate.id ?? `chain-${record.edgeIds.join('-')}`;
134
139
  return {
135
140
  kind: 'stub',
136
141
  id,
137
- edgeIds: candidate.edgeIds,
138
- text: emitProofTarget({ ...candidate, id }, theoremsFor(candidate.edgeIds)),
142
+ edgeIds: record.edgeIds,
143
+ text: emitProofTarget({ ...candidate, id }, seedTheorems),
139
144
  };
140
145
  }
141
146
  /**
@@ -152,25 +157,36 @@ function emit(candidate) {
152
157
  export function runChainPipeline(edges) {
153
158
  const seedIds = new Set(bridgeSeedKeys());
154
159
  const report = enumerateCompositions(edges, { seedIds });
155
- const candidates = [];
160
+ const records = [];
156
161
  const rejections = [];
157
162
  for (const target of report.proofTargets) {
158
163
  const filtered = buckinghamFilter({ name: target.second.target.name, dim: target.second.target.dim }, governingOf(target.expr, target.second.target.name));
159
164
  if (filtered === undefined)
160
165
  continue;
161
166
  const classification = matchChain(target.expr, [target.first.id, target.second.id]);
167
+ const edgeIds = [target.first.id, target.second.id];
168
+ const record = {
169
+ edgeIds,
170
+ classification,
171
+ theorem: filtered.theorem,
172
+ mismatch: undefined,
173
+ categoryComposition: categoryCompositionForChain(target.first, target.second),
174
+ };
162
175
  if (classification.kind === 'confirmation' || classification.kind === 'restatement') {
163
- candidates.push(toCandidate(classification, filtered));
176
+ records.push(record);
164
177
  continue;
165
178
  }
166
179
  const mismatch = joinRegimeMismatch(target.first, target.second);
167
180
  if (mismatch !== undefined) {
168
- rejections.push(mismatch);
181
+ rejections.push({ ...record, mismatch });
169
182
  continue;
170
183
  }
171
- candidates.push(toCandidate(classification, filtered));
184
+ records.push(record);
172
185
  }
173
186
  const orderedRejections = [...rejections].sort((a, b) => compareChainEdgeIds(a.edgeIds, b.edgeIds));
174
- return [...orderChainCandidates(candidates).map(emit), ...orderedRejections];
187
+ return [
188
+ ...orderChainRecords(records).map((record) => renderChainRecord(record, theoremsFor(record.edgeIds))),
189
+ ...orderedRejections.map((record) => renderChainRecord(record)),
190
+ ];
175
191
  }
176
192
  //# sourceMappingURL=chain-pipeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chain-pipeline.js","sourceRoot":"","sources":["../../src/atlas/chain-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chain-pipeline.js","sourceRoot":"","sources":["../../src/atlas/chain-pipeline.ts"],"names":[],"mappings":"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"}