universal-physics-tensor 0.47.1 → 1.0.2

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 (702) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +405 -383
  3. package/bin/upt.mjs +7 -1
  4. package/dist/atlas/benchmark/hybrid-retrieval.d.ts +108 -0
  5. package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -0
  6. package/dist/atlas/benchmark/hybrid-retrieval.js +241 -0
  7. package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -0
  8. package/dist/atlas/catalog-formal-ref.d.ts +24 -0
  9. package/dist/atlas/catalog-formal-ref.d.ts.map +1 -0
  10. package/dist/atlas/catalog-formal-ref.js +36 -0
  11. package/dist/atlas/catalog-formal-ref.js.map +1 -0
  12. package/dist/atlas/chain-pipeline.d.ts +52 -0
  13. package/dist/atlas/chain-pipeline.d.ts.map +1 -0
  14. package/dist/atlas/chain-pipeline.js +176 -0
  15. package/dist/atlas/chain-pipeline.js.map +1 -0
  16. package/dist/atlas/composition-table.d.ts +11 -46
  17. package/dist/atlas/composition-table.d.ts.map +1 -1
  18. package/dist/atlas/composition-table.js +7 -124
  19. package/dist/atlas/composition-table.js.map +1 -1
  20. package/dist/atlas/conventions.d.ts +4 -58
  21. package/dist/atlas/conventions.d.ts.map +1 -1
  22. package/dist/atlas/conventions.js +3 -88
  23. package/dist/atlas/conventions.js.map +1 -1
  24. package/dist/atlas/derive-evidence.d.ts +50 -3
  25. package/dist/atlas/derive-evidence.d.ts.map +1 -1
  26. package/dist/atlas/derive-evidence.js +73 -4
  27. package/dist/atlas/derive-evidence.js.map +1 -1
  28. package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
  29. package/dist/atlas/diffusion/bridges-closure.js +5 -1
  30. package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
  31. package/dist/atlas/index.d.ts +9 -7
  32. package/dist/atlas/index.d.ts.map +1 -1
  33. package/dist/atlas/index.js +6 -5
  34. package/dist/atlas/index.js.map +1 -1
  35. package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
  36. package/dist/atlas/oscillators/bridges-exact.js +6 -0
  37. package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
  38. package/dist/atlas/oscillators/bridges-limits.d.ts +2 -0
  39. package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
  40. package/dist/atlas/oscillators/bridges-limits.js +11 -19
  41. package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
  42. package/dist/atlas/oscillators/limit-witnesses.d.ts +93 -0
  43. package/dist/atlas/oscillators/limit-witnesses.d.ts.map +1 -0
  44. package/dist/atlas/oscillators/limit-witnesses.js +152 -0
  45. package/dist/atlas/oscillators/limit-witnesses.js.map +1 -0
  46. package/dist/atlas/oscillators/models.d.ts +2 -1
  47. package/dist/atlas/oscillators/models.d.ts.map +1 -1
  48. package/dist/atlas/oscillators/models.js +4 -3
  49. package/dist/atlas/oscillators/models.js.map +1 -1
  50. package/dist/atlas/oscillators/norm-transport-witness.d.ts +37 -0
  51. package/dist/atlas/oscillators/norm-transport-witness.d.ts.map +1 -0
  52. package/dist/atlas/oscillators/norm-transport-witness.js +58 -0
  53. package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -0
  54. package/dist/atlas/oscillators/norm-transport.d.ts +44 -0
  55. package/dist/atlas/oscillators/norm-transport.d.ts.map +1 -0
  56. package/dist/atlas/oscillators/norm-transport.js +66 -0
  57. package/dist/atlas/oscillators/norm-transport.js.map +1 -0
  58. package/dist/atlas/oscillators/norms.d.ts +11 -0
  59. package/dist/atlas/oscillators/norms.d.ts.map +1 -0
  60. package/dist/atlas/oscillators/norms.js +11 -0
  61. package/dist/atlas/oscillators/norms.js.map +1 -0
  62. package/dist/atlas/oscillators/pendulum-motion.d.ts +38 -0
  63. package/dist/atlas/oscillators/pendulum-motion.d.ts.map +1 -0
  64. package/dist/atlas/oscillators/pendulum-motion.js +122 -0
  65. package/dist/atlas/oscillators/pendulum-motion.js.map +1 -0
  66. package/dist/atlas/oscillators/phase-carriage.d.ts +38 -0
  67. package/dist/atlas/oscillators/phase-carriage.d.ts.map +1 -0
  68. package/dist/atlas/oscillators/phase-carriage.js +96 -0
  69. package/dist/atlas/oscillators/phase-carriage.js.map +1 -0
  70. package/dist/atlas/oscillators/phase-translation.d.ts +46 -0
  71. package/dist/atlas/oscillators/phase-translation.d.ts.map +1 -0
  72. package/dist/atlas/oscillators/phase-translation.js +178 -0
  73. package/dist/atlas/oscillators/phase-translation.js.map +1 -0
  74. package/dist/atlas/oscillators/position-translation.d.ts +59 -0
  75. package/dist/atlas/oscillators/position-translation.d.ts.map +1 -0
  76. package/dist/atlas/oscillators/position-translation.js +254 -0
  77. package/dist/atlas/oscillators/position-translation.js.map +1 -0
  78. package/dist/atlas/path-bound.d.ts +126 -9
  79. package/dist/atlas/path-bound.d.ts.map +1 -1
  80. package/dist/atlas/path-bound.js +372 -23
  81. package/dist/atlas/path-bound.js.map +1 -1
  82. package/dist/atlas/physjs-ref.d.ts +141 -0
  83. package/dist/atlas/physjs-ref.d.ts.map +1 -0
  84. package/dist/atlas/physjs-ref.js +878 -0
  85. package/dist/atlas/physjs-ref.js.map +1 -0
  86. package/dist/atlas/proof-target.d.ts +32 -0
  87. package/dist/atlas/proof-target.d.ts.map +1 -0
  88. package/dist/atlas/proof-target.js +140 -0
  89. package/dist/atlas/proof-target.js.map +1 -0
  90. package/dist/atlas/regime.d.ts +12 -136
  91. package/dist/atlas/regime.d.ts.map +1 -1
  92. package/dist/atlas/regime.js +8 -254
  93. package/dist/atlas/regime.js.map +1 -1
  94. package/dist/atlas/serialize.d.ts.map +1 -1
  95. package/dist/atlas/serialize.js +25 -0
  96. package/dist/atlas/serialize.js.map +1 -1
  97. package/dist/atlas/translation-registry.d.ts +22 -0
  98. package/dist/atlas/translation-registry.d.ts.map +1 -0
  99. package/dist/atlas/translation-registry.js +31 -0
  100. package/dist/atlas/translation-registry.js.map +1 -0
  101. package/dist/atlas/translation.d.ts +116 -0
  102. package/dist/atlas/translation.d.ts.map +1 -0
  103. package/dist/atlas/translation.js +34 -0
  104. package/dist/atlas/translation.js.map +1 -0
  105. package/dist/atlas/types.d.ts +74 -240
  106. package/dist/atlas/types.d.ts.map +1 -1
  107. package/dist/atlas/types.js +5 -37
  108. package/dist/atlas/types.js.map +1 -1
  109. package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
  110. package/dist/atlas/waves/bridges-closure.js +4 -0
  111. package/dist/atlas/waves/bridges-closure.js.map +1 -1
  112. package/dist/atlas/waves/bridges.d.ts.map +1 -1
  113. package/dist/atlas/waves/bridges.js +3 -0
  114. package/dist/atlas/waves/bridges.js.map +1 -1
  115. package/dist/atlas/waves/models.js +1 -1
  116. package/dist/atlas/waves/models.js.map +1 -1
  117. package/dist/atlas/witness-dominance.d.ts +50 -0
  118. package/dist/atlas/witness-dominance.d.ts.map +1 -0
  119. package/dist/atlas/witness-dominance.js +86 -0
  120. package/dist/atlas/witness-dominance.js.map +1 -0
  121. package/dist/atlas/witness-specs.d.ts +30 -0
  122. package/dist/atlas/witness-specs.d.ts.map +1 -1
  123. package/dist/atlas/witness-specs.js +107 -0
  124. package/dist/atlas/witness-specs.js.map +1 -1
  125. package/dist/bridges/be53-yang-mills-confrontation.d.ts +81 -0
  126. package/dist/bridges/be53-yang-mills-confrontation.d.ts.map +1 -0
  127. package/dist/bridges/be53-yang-mills-confrontation.js +110 -0
  128. package/dist/bridges/be53-yang-mills-confrontation.js.map +1 -0
  129. package/dist/bridges/be63-chandrasekhar-mass.d.ts.map +1 -1
  130. package/dist/bridges/be63-chandrasekhar-mass.js +1 -3
  131. package/dist/bridges/be63-chandrasekhar-mass.js.map +1 -1
  132. package/dist/bridges/confrontation-coverage.d.ts +5 -61
  133. package/dist/bridges/confrontation-coverage.d.ts.map +1 -1
  134. package/dist/bridges/confrontation-coverage.js +5 -70
  135. package/dist/bridges/confrontation-coverage.js.map +1 -1
  136. package/dist/bridges/confrontations.d.ts +1 -1
  137. package/dist/bridges/confrontations.d.ts.map +1 -1
  138. package/dist/bridges/confrontations.js +291 -3
  139. package/dist/bridges/confrontations.js.map +1 -1
  140. package/dist/bridges/equations/be-13-einstein-trace.d.ts +2 -3
  141. package/dist/bridges/equations/be-13-einstein-trace.d.ts.map +1 -1
  142. package/dist/bridges/equations/be-13-einstein-trace.js +2 -3
  143. package/dist/bridges/equations/be-13-einstein-trace.js.map +1 -1
  144. package/dist/bridges/equations/be-38-mond.d.ts +7 -5
  145. package/dist/bridges/equations/be-38-mond.d.ts.map +1 -1
  146. package/dist/bridges/equations/be-38-mond.js +7 -5
  147. package/dist/bridges/equations/be-38-mond.js.map +1 -1
  148. package/dist/bridges/equations/be-42-hawking-temperature.d.ts +3 -0
  149. package/dist/bridges/equations/be-42-hawking-temperature.d.ts.map +1 -1
  150. package/dist/bridges/equations/be-42-hawking-temperature.js +8 -1
  151. package/dist/bridges/equations/be-42-hawking-temperature.js.map +1 -1
  152. package/dist/bridges/equations/be-53-yang-mills-beta.d.ts +21 -0
  153. package/dist/bridges/equations/be-53-yang-mills-beta.d.ts.map +1 -1
  154. package/dist/bridges/equations/be-53-yang-mills-beta.js +12 -0
  155. package/dist/bridges/equations/be-53-yang-mills-beta.js.map +1 -1
  156. package/dist/bridges/evaluator-inputs.d.ts +21 -0
  157. package/dist/bridges/evaluator-inputs.d.ts.map +1 -0
  158. package/dist/bridges/evaluator-inputs.js +75 -0
  159. package/dist/bridges/evaluator-inputs.js.map +1 -0
  160. package/dist/bridges/evaluators.d.ts +46 -0
  161. package/dist/bridges/evaluators.d.ts.map +1 -1
  162. package/dist/bridges/evaluators.js +57 -16
  163. package/dist/bridges/evaluators.js.map +1 -1
  164. package/dist/bridges/gravitational-lensing.d.ts +1 -1
  165. package/dist/bridges/gravitational-lensing.js +1 -1
  166. package/dist/bridges/index.d.ts +3 -2
  167. package/dist/bridges/index.d.ts.map +1 -1
  168. package/dist/bridges/index.js +15 -14
  169. package/dist/bridges/index.js.map +1 -1
  170. package/dist/bridges/observations/types.d.ts +110 -2
  171. package/dist/bridges/observations/types.d.ts.map +1 -1
  172. package/dist/bridges/observations/types.js +29 -0
  173. package/dist/bridges/observations/types.js.map +1 -1
  174. package/dist/bridges/perihelion-precession.d.ts +1 -1
  175. package/dist/bridges/perihelion-precession.js +1 -1
  176. package/dist/bridges/tensor-index.d.ts +39 -0
  177. package/dist/bridges/tensor-index.d.ts.map +1 -0
  178. package/dist/bridges/tensor-index.js +66 -0
  179. package/dist/bridges/tensor-index.js.map +1 -0
  180. package/dist/canonical/canonical-equation.d.ts +1 -1
  181. package/dist/canonical/canonical-equation.d.ts.map +1 -1
  182. package/dist/canonical/entries/atomic.d.ts.map +1 -1
  183. package/dist/canonical/entries/atomic.js +32 -10
  184. package/dist/canonical/entries/atomic.js.map +1 -1
  185. package/dist/canonical/entries/dimensional-classics.js +2 -2
  186. package/dist/canonical/entries/dimensional-classics.js.map +1 -1
  187. package/dist/canonical/entries/mechanics.d.ts.map +1 -1
  188. package/dist/canonical/entries/mechanics.js +10 -6
  189. package/dist/canonical/entries/mechanics.js.map +1 -1
  190. package/dist/canonical/entries/relativity.d.ts.map +1 -1
  191. package/dist/canonical/entries/relativity.js +41 -8
  192. package/dist/canonical/entries/relativity.js.map +1 -1
  193. package/dist/canonical/entries/thermo-nuclear-cosmo.js +5 -5
  194. package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
  195. package/dist/canonical/linkage.d.ts.map +1 -1
  196. package/dist/canonical/linkage.js +31 -28
  197. package/dist/canonical/linkage.js.map +1 -1
  198. package/dist/canonical/normal-form.d.ts +17 -0
  199. package/dist/canonical/normal-form.d.ts.map +1 -1
  200. package/dist/canonical/normal-form.js +21 -4
  201. package/dist/canonical/normal-form.js.map +1 -1
  202. package/dist/canonical/structural.d.ts +84 -0
  203. package/dist/canonical/structural.d.ts.map +1 -0
  204. package/dist/canonical/structural.js +107 -0
  205. package/dist/canonical/structural.js.map +1 -0
  206. package/dist/cases/brownian-sphere.d.ts +68 -0
  207. package/dist/cases/brownian-sphere.d.ts.map +1 -0
  208. package/dist/cases/brownian-sphere.js +353 -0
  209. package/dist/cases/brownian-sphere.js.map +1 -0
  210. package/dist/cases/damped-resonator.d.ts +23 -0
  211. package/dist/cases/damped-resonator.d.ts.map +1 -0
  212. package/dist/cases/damped-resonator.js +224 -0
  213. package/dist/cases/damped-resonator.js.map +1 -0
  214. package/dist/cases/index.d.ts +11 -0
  215. package/dist/cases/index.d.ts.map +1 -0
  216. package/dist/cases/index.js +29 -0
  217. package/dist/cases/index.js.map +1 -0
  218. package/dist/cases/kepler-rv.d.ts +13 -0
  219. package/dist/cases/kepler-rv.d.ts.map +1 -0
  220. package/dist/cases/kepler-rv.js +168 -0
  221. package/dist/cases/kepler-rv.js.map +1 -0
  222. package/dist/cases/lumped-cooling.d.ts +46 -0
  223. package/dist/cases/lumped-cooling.d.ts.map +1 -0
  224. package/dist/cases/lumped-cooling.js +261 -0
  225. package/dist/cases/lumped-cooling.js.map +1 -0
  226. package/dist/cases/quadrature.d.ts +14 -0
  227. package/dist/cases/quadrature.d.ts.map +1 -0
  228. package/dist/cases/quadrature.js +41 -0
  229. package/dist/cases/quadrature.js.map +1 -0
  230. package/dist/cases/resistor-noise.d.ts +14 -0
  231. package/dist/cases/resistor-noise.d.ts.map +1 -0
  232. package/dist/cases/resistor-noise.js +210 -0
  233. package/dist/cases/resistor-noise.js.map +1 -0
  234. package/dist/cases/skin-depth.d.ts +21 -0
  235. package/dist/cases/skin-depth.d.ts.map +1 -0
  236. package/dist/cases/skin-depth.js +174 -0
  237. package/dist/cases/skin-depth.js.map +1 -0
  238. package/dist/cases/types.d.ts +115 -0
  239. package/dist/cases/types.d.ts.map +1 -0
  240. package/dist/cases/types.js +20 -0
  241. package/dist/cases/types.js.map +1 -0
  242. package/dist/cli/commands/_atlas-map.d.ts +409 -0
  243. package/dist/cli/commands/_atlas-map.d.ts.map +1 -0
  244. package/dist/cli/commands/_atlas-map.js +1014 -0
  245. package/dist/cli/commands/_atlas-map.js.map +1 -0
  246. package/dist/cli/commands/_atlas-route.d.ts +111 -0
  247. package/dist/cli/commands/_atlas-route.d.ts.map +1 -0
  248. package/dist/cli/commands/_atlas-route.js +140 -0
  249. package/dist/cli/commands/_atlas-route.js.map +1 -0
  250. package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
  251. package/dist/cli/commands/_discovery-opts.js +10 -1
  252. package/dist/cli/commands/_discovery-opts.js.map +1 -1
  253. package/dist/cli/commands/atlas.d.ts +20 -0
  254. package/dist/cli/commands/atlas.d.ts.map +1 -1
  255. package/dist/cli/commands/atlas.js +333 -19
  256. package/dist/cli/commands/atlas.js.map +1 -1
  257. package/dist/cli/commands/audit.d.ts.map +1 -1
  258. package/dist/cli/commands/audit.js +12 -3
  259. package/dist/cli/commands/audit.js.map +1 -1
  260. package/dist/cli/commands/axes.js +4 -4
  261. package/dist/cli/commands/candidates.d.ts.map +1 -1
  262. package/dist/cli/commands/candidates.js +3 -2
  263. package/dist/cli/commands/candidates.js.map +1 -1
  264. package/dist/cli/commands/canonical.d.ts.map +1 -1
  265. package/dist/cli/commands/canonical.js +39 -10
  266. package/dist/cli/commands/canonical.js.map +1 -1
  267. package/dist/cli/commands/confront.d.ts.map +1 -1
  268. package/dist/cli/commands/confront.js +210 -28
  269. package/dist/cli/commands/confront.js.map +1 -1
  270. package/dist/cli/commands/connectors.d.ts.map +1 -1
  271. package/dist/cli/commands/connectors.js +5 -4
  272. package/dist/cli/commands/connectors.js.map +1 -1
  273. package/dist/cli/commands/coverage.js +3 -3
  274. package/dist/cli/commands/derive.d.ts.map +1 -1
  275. package/dist/cli/commands/derive.js +22 -9
  276. package/dist/cli/commands/derive.js.map +1 -1
  277. package/dist/cli/commands/discover.d.ts.map +1 -1
  278. package/dist/cli/commands/discover.js +149 -32
  279. package/dist/cli/commands/discover.js.map +1 -1
  280. package/dist/cli/commands/eval.d.ts.map +1 -1
  281. package/dist/cli/commands/eval.js +87 -17
  282. package/dist/cli/commands/eval.js.map +1 -1
  283. package/dist/cli/commands/evaluate.d.ts +30 -0
  284. package/dist/cli/commands/evaluate.d.ts.map +1 -1
  285. package/dist/cli/commands/evaluate.js +441 -25
  286. package/dist/cli/commands/evaluate.js.map +1 -1
  287. package/dist/cli/commands/explain.d.ts.map +1 -1
  288. package/dist/cli/commands/explain.js +38 -11
  289. package/dist/cli/commands/explain.js.map +1 -1
  290. package/dist/cli/commands/frontier.d.ts +3 -0
  291. package/dist/cli/commands/frontier.d.ts.map +1 -0
  292. package/dist/cli/commands/frontier.js +28 -0
  293. package/dist/cli/commands/frontier.js.map +1 -0
  294. package/dist/cli/commands/ground.d.ts.map +1 -1
  295. package/dist/cli/commands/ground.js +37 -12
  296. package/dist/cli/commands/ground.js.map +1 -1
  297. package/dist/cli/commands/index.d.ts +5 -0
  298. package/dist/cli/commands/index.d.ts.map +1 -1
  299. package/dist/cli/commands/index.js +5 -0
  300. package/dist/cli/commands/index.js.map +1 -1
  301. package/dist/cli/commands/map.d.ts +8 -0
  302. package/dist/cli/commands/map.d.ts.map +1 -1
  303. package/dist/cli/commands/map.js +385 -57
  304. package/dist/cli/commands/map.js.map +1 -1
  305. package/dist/cli/commands/metric.d.ts +3 -0
  306. package/dist/cli/commands/metric.d.ts.map +1 -0
  307. package/dist/cli/commands/metric.js +136 -0
  308. package/dist/cli/commands/metric.js.map +1 -0
  309. package/dist/cli/commands/path.d.ts +109 -1
  310. package/dist/cli/commands/path.d.ts.map +1 -1
  311. package/dist/cli/commands/path.js +1019 -109
  312. package/dist/cli/commands/path.js.map +1 -1
  313. package/dist/cli/commands/predict.d.ts.map +1 -1
  314. package/dist/cli/commands/predict.js +3 -2
  315. package/dist/cli/commands/predict.js.map +1 -1
  316. package/dist/cli/commands/priority.d.ts.map +1 -1
  317. package/dist/cli/commands/priority.js +3 -2
  318. package/dist/cli/commands/priority.js.map +1 -1
  319. package/dist/cli/commands/probe.d.ts +7 -0
  320. package/dist/cli/commands/probe.d.ts.map +1 -1
  321. package/dist/cli/commands/probe.js +234 -52
  322. package/dist/cli/commands/probe.js.map +1 -1
  323. package/dist/cli/commands/recover.d.ts.map +1 -1
  324. package/dist/cli/commands/recover.js +17 -6
  325. package/dist/cli/commands/recover.js.map +1 -1
  326. package/dist/cli/commands/regime.d.ts +1 -1
  327. package/dist/cli/commands/regime.d.ts.map +1 -1
  328. package/dist/cli/commands/regime.js +134 -33
  329. package/dist/cli/commands/regime.js.map +1 -1
  330. package/dist/cli/commands/retrieve.d.ts +3 -0
  331. package/dist/cli/commands/retrieve.d.ts.map +1 -0
  332. package/dist/cli/commands/retrieve.js +65 -0
  333. package/dist/cli/commands/retrieve.js.map +1 -0
  334. package/dist/cli/commands/search.d.ts +3 -0
  335. package/dist/cli/commands/search.d.ts.map +1 -0
  336. package/dist/cli/commands/search.js +70 -0
  337. package/dist/cli/commands/search.js.map +1 -0
  338. package/dist/cli/commands/symbolic.d.ts.map +1 -1
  339. package/dist/cli/commands/symbolic.js +107 -16
  340. package/dist/cli/commands/symbolic.js.map +1 -1
  341. package/dist/cli/commands/testplan.d.ts +3 -0
  342. package/dist/cli/commands/testplan.d.ts.map +1 -0
  343. package/dist/cli/commands/testplan.js +131 -0
  344. package/dist/cli/commands/testplan.js.map +1 -0
  345. package/dist/cli/conventions.d.ts +22 -0
  346. package/dist/cli/conventions.d.ts.map +1 -0
  347. package/dist/cli/conventions.js +48 -0
  348. package/dist/cli/conventions.js.map +1 -0
  349. package/dist/cli/euler-guard.d.ts +9 -0
  350. package/dist/cli/euler-guard.d.ts.map +1 -0
  351. package/dist/cli/euler-guard.js +11 -0
  352. package/dist/cli/euler-guard.js.map +1 -0
  353. package/dist/cli/eval-numbers.d.ts +26 -0
  354. package/dist/cli/eval-numbers.d.ts.map +1 -0
  355. package/dist/cli/eval-numbers.js +48 -0
  356. package/dist/cli/eval-numbers.js.map +1 -0
  357. package/dist/cli/expr-print.d.ts +25 -0
  358. package/dist/cli/expr-print.d.ts.map +1 -0
  359. package/dist/cli/expr-print.js +123 -0
  360. package/dist/cli/expr-print.js.map +1 -0
  361. package/dist/cli/graphs.d.ts +26 -0
  362. package/dist/cli/graphs.d.ts.map +1 -1
  363. package/dist/cli/graphs.js +19 -0
  364. package/dist/cli/graphs.js.map +1 -1
  365. package/dist/cli/main.d.ts +4 -10
  366. package/dist/cli/main.d.ts.map +1 -1
  367. package/dist/cli/main.js +370 -167
  368. package/dist/cli/main.js.map +1 -1
  369. package/dist/cli/map-evidence.d.ts +47 -0
  370. package/dist/cli/map-evidence.d.ts.map +1 -0
  371. package/dist/cli/map-evidence.js +53 -0
  372. package/dist/cli/map-evidence.js.map +1 -0
  373. package/dist/cli/output.d.ts +21 -1
  374. package/dist/cli/output.d.ts.map +1 -1
  375. package/dist/cli/output.js +5 -1
  376. package/dist/cli/output.js.map +1 -1
  377. package/dist/{composition → cli}/poster-source.d.ts +3 -2
  378. package/dist/cli/poster-source.d.ts.map +1 -0
  379. package/dist/{composition → cli}/poster-source.js +2 -1
  380. package/dist/cli/poster-source.js.map +1 -0
  381. package/dist/cli/record-reach.d.ts +44 -0
  382. package/dist/cli/record-reach.d.ts.map +1 -0
  383. package/dist/cli/record-reach.js +228 -0
  384. package/dist/cli/record-reach.js.map +1 -0
  385. package/dist/cli/record-tables.d.ts +38 -0
  386. package/dist/cli/record-tables.d.ts.map +1 -0
  387. package/dist/cli/record-tables.js +110 -0
  388. package/dist/cli/record-tables.js.map +1 -0
  389. package/dist/cli/record.d.ts +141 -0
  390. package/dist/cli/record.d.ts.map +1 -0
  391. package/dist/cli/record.js +612 -0
  392. package/dist/cli/record.js.map +1 -0
  393. package/dist/cli/search-index.d.ts +56 -0
  394. package/dist/cli/search-index.d.ts.map +1 -0
  395. package/dist/cli/search-index.js +190 -0
  396. package/dist/cli/search-index.js.map +1 -0
  397. package/dist/cli/statuses.d.ts +25 -0
  398. package/dist/cli/statuses.d.ts.map +1 -0
  399. package/dist/cli/statuses.js +276 -0
  400. package/dist/cli/statuses.js.map +1 -0
  401. package/dist/cli/version.d.ts +8 -0
  402. package/dist/cli/version.d.ts.map +1 -1
  403. package/dist/cli/version.js +32 -1
  404. package/dist/cli/version.js.map +1 -1
  405. package/dist/cli-api.d.ts +34 -16
  406. package/dist/cli-api.d.ts.map +1 -1
  407. package/dist/cli-api.js +32 -12
  408. package/dist/cli-api.js.map +1 -1
  409. package/dist/composition/audit-coverage.d.ts +70 -0
  410. package/dist/composition/audit-coverage.d.ts.map +1 -0
  411. package/dist/composition/audit-coverage.js +80 -0
  412. package/dist/composition/audit-coverage.js.map +1 -0
  413. package/dist/composition/bridge-analysis.d.ts.map +1 -1
  414. package/dist/composition/bridge-analysis.js +2 -1
  415. package/dist/composition/bridge-analysis.js.map +1 -1
  416. package/dist/composition/buckingham-filter.d.ts +34 -0
  417. package/dist/composition/buckingham-filter.d.ts.map +1 -0
  418. package/dist/composition/buckingham-filter.js +64 -0
  419. package/dist/composition/buckingham-filter.js.map +1 -0
  420. package/dist/composition/canonical-compare.d.ts +29 -16
  421. package/dist/composition/canonical-compare.d.ts.map +1 -1
  422. package/dist/composition/canonical-compare.js +355 -59
  423. package/dist/composition/canonical-compare.js.map +1 -1
  424. package/dist/composition/canonical-graph.d.ts +2 -2
  425. package/dist/composition/canonical-graph.js +3 -3
  426. package/dist/composition/canonical-graph.js.map +1 -1
  427. package/dist/composition/canonical-prefactors.d.ts +24 -1
  428. package/dist/composition/canonical-prefactors.d.ts.map +1 -1
  429. package/dist/composition/canonical-prefactors.js +97 -1
  430. package/dist/composition/canonical-prefactors.js.map +1 -1
  431. package/dist/composition/catalog-graph.d.ts +4 -4
  432. package/dist/composition/catalog-graph.d.ts.map +1 -1
  433. package/dist/composition/catalog-graph.js +6 -4
  434. package/dist/composition/catalog-graph.js.map +1 -1
  435. package/dist/composition/chain-candidate.d.ts +43 -0
  436. package/dist/composition/chain-candidate.d.ts.map +1 -0
  437. package/dist/composition/chain-candidate.js +56 -0
  438. package/dist/composition/chain-candidate.js.map +1 -0
  439. package/dist/composition/chain-match.d.ts +19 -0
  440. package/dist/composition/chain-match.d.ts.map +1 -0
  441. package/dist/composition/chain-match.js +10 -0
  442. package/dist/composition/chain-match.js.map +1 -0
  443. package/dist/composition/chain-regime.d.ts +34 -0
  444. package/dist/composition/chain-regime.d.ts.map +1 -0
  445. package/dist/composition/chain-regime.js +89 -0
  446. package/dist/composition/chain-regime.js.map +1 -0
  447. package/dist/composition/compose-symbolic.js +1 -1
  448. package/dist/composition/compose-symbolic.js.map +1 -1
  449. package/dist/composition/compose.d.ts +11 -0
  450. package/dist/composition/compose.d.ts.map +1 -1
  451. package/dist/composition/compose.js +30 -10
  452. package/dist/composition/compose.js.map +1 -1
  453. package/dist/composition/composition-recovery.d.ts +47 -0
  454. package/dist/composition/composition-recovery.d.ts.map +1 -0
  455. package/dist/composition/composition-recovery.js +77 -0
  456. package/dist/composition/composition-recovery.js.map +1 -0
  457. package/dist/composition/consequence.d.ts +39 -0
  458. package/dist/composition/consequence.d.ts.map +1 -1
  459. package/dist/composition/consequence.js +37 -0
  460. package/dist/composition/consequence.js.map +1 -1
  461. package/dist/{bridges → composition}/descriptor.d.ts +6 -3
  462. package/dist/composition/descriptor.d.ts.map +1 -0
  463. package/dist/{bridges → composition}/descriptor.js +7 -4
  464. package/dist/composition/descriptor.js.map +1 -0
  465. package/dist/composition/discovery.d.ts +20 -0
  466. package/dist/composition/discovery.d.ts.map +1 -1
  467. package/dist/composition/discovery.js +27 -5
  468. package/dist/composition/discovery.js.map +1 -1
  469. package/dist/composition/edge.d.ts +1 -1
  470. package/dist/composition/edge.d.ts.map +1 -1
  471. package/dist/composition/edge.js.map +1 -1
  472. package/dist/composition/edges/_catalog-helpers.d.ts +4 -0
  473. package/dist/composition/edges/_catalog-helpers.d.ts.map +1 -1
  474. package/dist/composition/edges/_catalog-helpers.js +15 -0
  475. package/dist/composition/edges/_catalog-helpers.js.map +1 -1
  476. package/dist/composition/edges/calibration.d.ts +0 -9
  477. package/dist/composition/edges/calibration.d.ts.map +1 -1
  478. package/dist/composition/edges/calibration.js +85 -0
  479. package/dist/composition/edges/calibration.js.map +1 -1
  480. package/dist/composition/edges/catalog-condensed-matter.d.ts +0 -9
  481. package/dist/composition/edges/catalog-condensed-matter.d.ts.map +1 -1
  482. package/dist/composition/edges/catalog-condensed-matter.js +32 -1
  483. package/dist/composition/edges/catalog-condensed-matter.js.map +1 -1
  484. package/dist/composition/edges/catalog-fields.d.ts.map +1 -1
  485. package/dist/composition/edges/catalog-fields.js +2 -1
  486. package/dist/composition/edges/catalog-fields.js.map +1 -1
  487. package/dist/composition/edges/catalog-full.d.ts +4 -2
  488. package/dist/composition/edges/catalog-full.d.ts.map +1 -1
  489. package/dist/composition/edges/catalog-full.js +4 -2
  490. package/dist/composition/edges/catalog-full.js.map +1 -1
  491. package/dist/composition/edges/catalog-gravitation-cosmology.d.ts +0 -10
  492. package/dist/composition/edges/catalog-gravitation-cosmology.d.ts.map +1 -1
  493. package/dist/composition/edges/catalog-gravitation-cosmology.js +31 -1
  494. package/dist/composition/edges/catalog-gravitation-cosmology.js.map +1 -1
  495. package/dist/composition/edges/catalog-quantum.d.ts +0 -10
  496. package/dist/composition/edges/catalog-quantum.d.ts.map +1 -1
  497. package/dist/composition/edges/catalog-quantum.js +53 -17
  498. package/dist/composition/edges/catalog-quantum.js.map +1 -1
  499. package/dist/composition/edges/catalog-tranche.d.ts +0 -15
  500. package/dist/composition/edges/catalog-tranche.d.ts.map +1 -1
  501. package/dist/composition/edges/catalog-tranche.js +70 -16
  502. package/dist/composition/edges/catalog-tranche.js.map +1 -1
  503. package/dist/composition/edges/proved-seeds.d.ts +39 -0
  504. package/dist/composition/edges/proved-seeds.d.ts.map +1 -0
  505. package/dist/composition/edges/proved-seeds.js +197 -0
  506. package/dist/composition/edges/proved-seeds.js.map +1 -0
  507. package/dist/composition/enumerate.d.ts +20 -0
  508. package/dist/composition/enumerate.d.ts.map +1 -1
  509. package/dist/composition/enumerate.js +23 -0
  510. package/dist/composition/enumerate.js.map +1 -1
  511. package/dist/composition/expr-eval.d.ts +5 -4
  512. package/dist/composition/expr-eval.d.ts.map +1 -1
  513. package/dist/composition/expr-eval.js +40 -6
  514. package/dist/composition/expr-eval.js.map +1 -1
  515. package/dist/composition/expr-simplify.js +1 -1
  516. package/dist/composition/expr-simplify.js.map +1 -1
  517. package/dist/composition/expr-subst.d.ts +2 -1
  518. package/dist/composition/expr-subst.d.ts.map +1 -1
  519. package/dist/composition/expr-subst.js +9 -2
  520. package/dist/composition/expr-subst.js.map +1 -1
  521. package/dist/composition/frontier-account.d.ts +78 -0
  522. package/dist/composition/frontier-account.d.ts.map +1 -0
  523. package/dist/composition/frontier-account.js +127 -0
  524. package/dist/composition/frontier-account.js.map +1 -0
  525. package/dist/composition/graph-viz.d.ts +7 -22
  526. package/dist/composition/graph-viz.d.ts.map +1 -1
  527. package/dist/composition/graph-viz.js +4 -27
  528. package/dist/composition/graph-viz.js.map +1 -1
  529. package/dist/composition/grounding.d.ts +49 -0
  530. package/dist/composition/grounding.d.ts.map +1 -1
  531. package/dist/composition/grounding.js +38 -0
  532. package/dist/composition/grounding.js.map +1 -1
  533. package/dist/composition/index.d.ts +0 -2
  534. package/dist/composition/index.d.ts.map +1 -1
  535. package/dist/composition/index.js +1 -1
  536. package/dist/composition/index.js.map +1 -1
  537. package/dist/composition/not-composable-seeds.d.ts +30 -0
  538. package/dist/composition/not-composable-seeds.d.ts.map +1 -0
  539. package/dist/composition/not-composable-seeds.js +90 -0
  540. package/dist/composition/not-composable-seeds.js.map +1 -0
  541. package/dist/composition/probe/expression-gaps.d.ts +27 -0
  542. package/dist/composition/probe/expression-gaps.d.ts.map +1 -0
  543. package/dist/composition/probe/expression-gaps.js +47 -0
  544. package/dist/composition/probe/expression-gaps.js.map +1 -0
  545. package/dist/composition/probe/frontier.d.ts +2 -1
  546. package/dist/composition/probe/frontier.d.ts.map +1 -1
  547. package/dist/composition/probe/frontier.js +3 -2
  548. package/dist/composition/probe/frontier.js.map +1 -1
  549. package/dist/composition/probe/index.d.ts +4 -1
  550. package/dist/composition/probe/index.d.ts.map +1 -1
  551. package/dist/composition/probe/index.js +3 -1
  552. package/dist/composition/probe/index.js.map +1 -1
  553. package/dist/composition/probe/pipeline.d.ts +2 -0
  554. package/dist/composition/probe/pipeline.d.ts.map +1 -1
  555. package/dist/composition/probe/pipeline.js +6 -2
  556. package/dist/composition/probe/pipeline.js.map +1 -1
  557. package/dist/composition/probe/problem.d.ts +7 -0
  558. package/dist/composition/probe/problem.d.ts.map +1 -1
  559. package/dist/composition/probe/problem.js +15 -5
  560. package/dist/composition/probe/problem.js.map +1 -1
  561. package/dist/composition/probe/search-budget.d.ts.map +1 -1
  562. package/dist/composition/probe/search-budget.js +6 -2
  563. package/dist/composition/probe/search-budget.js.map +1 -1
  564. package/dist/composition/probe/study.d.ts +340 -0
  565. package/dist/composition/probe/study.d.ts.map +1 -0
  566. package/dist/composition/probe/study.js +1519 -0
  567. package/dist/composition/probe/study.js.map +1 -0
  568. package/dist/composition/proposed-bridges.js +1 -1
  569. package/dist/composition/proposed-bridges.js.map +1 -1
  570. package/dist/composition/quantities/_dims.d.ts +6 -0
  571. package/dist/composition/quantities/_dims.d.ts.map +1 -1
  572. package/dist/composition/quantities/_dims.js +6 -0
  573. package/dist/composition/quantities/_dims.js.map +1 -1
  574. package/dist/composition/quantities/condensed-matter.d.ts +16 -0
  575. package/dist/composition/quantities/condensed-matter.d.ts.map +1 -1
  576. package/dist/composition/quantities/condensed-matter.js +43 -2
  577. package/dist/composition/quantities/condensed-matter.js.map +1 -1
  578. package/dist/composition/quantities/fields.d.ts +10 -0
  579. package/dist/composition/quantities/fields.d.ts.map +1 -1
  580. package/dist/composition/quantities/fields.js +37 -2
  581. package/dist/composition/quantities/fields.js.map +1 -1
  582. package/dist/composition/quantities/gravitation-cosmology.d.ts +4 -0
  583. package/dist/composition/quantities/gravitation-cosmology.d.ts.map +1 -1
  584. package/dist/composition/quantities/gravitation-cosmology.js +14 -0
  585. package/dist/composition/quantities/gravitation-cosmology.js.map +1 -1
  586. package/dist/composition/quantities/quantum.d.ts +2 -0
  587. package/dist/composition/quantities/quantum.d.ts.map +1 -1
  588. package/dist/composition/quantities/quantum.js +7 -0
  589. package/dist/composition/quantities/quantum.js.map +1 -1
  590. package/dist/composition/quantities.d.ts +4 -16
  591. package/dist/composition/quantities.d.ts.map +1 -1
  592. package/dist/composition/quantities.js +4 -16
  593. package/dist/composition/quantities.js.map +1 -1
  594. package/dist/composition/retrodiction.d.ts.map +1 -1
  595. package/dist/composition/retrodiction.js +6 -2
  596. package/dist/composition/retrodiction.js.map +1 -1
  597. package/dist/composition/uncertainty.d.ts +1 -1
  598. package/dist/composition/uncertainty.d.ts.map +1 -1
  599. package/dist/composition/user-equation.d.ts +79 -8
  600. package/dist/composition/user-equation.d.ts.map +1 -1
  601. package/dist/composition/user-equation.js +224 -32
  602. package/dist/composition/user-equation.js.map +1 -1
  603. package/dist/core/constants.d.ts +17 -5
  604. package/dist/core/constants.d.ts.map +1 -1
  605. package/dist/core/constants.js +17 -5
  606. package/dist/core/constants.js.map +1 -1
  607. package/dist/core/types.d.ts +1 -1
  608. package/dist/core/types.d.ts.map +1 -1
  609. package/dist/core/types.js +2 -1
  610. package/dist/core/types.js.map +1 -1
  611. package/dist/dimensional/curvature.d.ts +7 -56
  612. package/dist/dimensional/curvature.d.ts.map +1 -1
  613. package/dist/dimensional/curvature.js +7 -76
  614. package/dist/dimensional/curvature.js.map +1 -1
  615. package/dist/dimensional/dimension-spec.d.ts +7 -1
  616. package/dist/dimensional/dimension-spec.d.ts.map +1 -1
  617. package/dist/dimensional/dimension-spec.js +131 -3
  618. package/dist/dimensional/dimension-spec.js.map +1 -1
  619. package/dist/dimensional/formula-names.d.ts +30 -0
  620. package/dist/dimensional/formula-names.d.ts.map +1 -0
  621. package/dist/dimensional/formula-names.js +37 -0
  622. package/dist/dimensional/formula-names.js.map +1 -0
  623. package/dist/dimensional/natural-units.d.ts +33 -0
  624. package/dist/dimensional/natural-units.d.ts.map +1 -0
  625. package/dist/dimensional/natural-units.js +58 -0
  626. package/dist/dimensional/natural-units.js.map +1 -0
  627. package/dist/{composition → dimensional}/symbolic-constants.d.ts +21 -2
  628. package/dist/dimensional/symbolic-constants.d.ts.map +1 -0
  629. package/dist/dimensional/symbolic-constants.js +122 -0
  630. package/dist/dimensional/symbolic-constants.js.map +1 -0
  631. package/dist/dimensional/unit-convention.d.ts +30 -0
  632. package/dist/dimensional/unit-convention.d.ts.map +1 -0
  633. package/dist/dimensional/unit-convention.js +60 -0
  634. package/dist/dimensional/unit-convention.js.map +1 -0
  635. package/dist/dimensional/units.d.ts +43 -0
  636. package/dist/dimensional/units.d.ts.map +1 -0
  637. package/dist/dimensional/units.js +197 -0
  638. package/dist/dimensional/units.js.map +1 -0
  639. package/dist/index.d.ts +11 -5
  640. package/dist/index.d.ts.map +1 -1
  641. package/dist/index.js +10 -3
  642. package/dist/index.js.map +1 -1
  643. package/dist/numerical/bianchi-residual.d.ts +55 -0
  644. package/dist/numerical/bianchi-residual.d.ts.map +1 -0
  645. package/dist/numerical/bianchi-residual.js +79 -0
  646. package/dist/numerical/bianchi-residual.js.map +1 -0
  647. package/dist/numerical/binding-value.d.ts +67 -0
  648. package/dist/numerical/binding-value.d.ts.map +1 -0
  649. package/dist/numerical/binding-value.js +349 -0
  650. package/dist/numerical/binding-value.js.map +1 -0
  651. package/dist/numerical/connection-lowering-helpers.d.ts.map +1 -1
  652. package/dist/numerical/connection-lowering-helpers.js +13 -26
  653. package/dist/numerical/connection-lowering-helpers.js.map +1 -1
  654. package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
  655. package/dist/numerical/curvature-lowering-helpers.js +9 -0
  656. package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
  657. package/dist/numerical/float64-engine.d.ts.map +1 -1
  658. package/dist/numerical/float64-engine.js +23 -16
  659. package/dist/numerical/float64-engine.js.map +1 -1
  660. package/dist/numerical/formula-dimension.d.ts +14 -0
  661. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  662. package/dist/numerical/formula-dimension.js +56 -9
  663. package/dist/numerical/formula-dimension.js.map +1 -1
  664. package/dist/numerical/formula-mathts.d.ts.map +1 -1
  665. package/dist/numerical/formula-mathts.js +75 -6
  666. package/dist/numerical/formula-mathts.js.map +1 -1
  667. package/dist/numerical/formula.d.ts +33 -0
  668. package/dist/numerical/formula.d.ts.map +1 -1
  669. package/dist/numerical/formula.js +75 -6
  670. package/dist/numerical/formula.js.map +1 -1
  671. package/dist/numerical/spacetime-metrics.d.ts +243 -0
  672. package/dist/numerical/spacetime-metrics.d.ts.map +1 -0
  673. package/dist/numerical/spacetime-metrics.js +1056 -0
  674. package/dist/numerical/spacetime-metrics.js.map +1 -0
  675. package/dist/relations/category.d.ts +38 -0
  676. package/dist/relations/category.d.ts.map +1 -0
  677. package/dist/relations/category.js +23 -0
  678. package/dist/relations/category.js.map +1 -0
  679. package/dist/relations/composition-table.d.ts +61 -0
  680. package/dist/relations/composition-table.d.ts.map +1 -0
  681. package/dist/relations/composition-table.js +140 -0
  682. package/dist/relations/composition-table.js.map +1 -0
  683. package/dist/relations/conventions.d.ts +63 -0
  684. package/dist/relations/conventions.d.ts.map +1 -0
  685. package/dist/relations/conventions.js +93 -0
  686. package/dist/relations/conventions.js.map +1 -0
  687. package/dist/relations/regime.d.ts +159 -0
  688. package/dist/relations/regime.d.ts.map +1 -0
  689. package/dist/relations/regime.js +304 -0
  690. package/dist/relations/regime.js.map +1 -0
  691. package/dist/relations/types.d.ts +257 -0
  692. package/dist/relations/types.d.ts.map +1 -0
  693. package/dist/relations/types.js +35 -0
  694. package/dist/relations/types.js.map +1 -0
  695. package/package.json +166 -163
  696. package/dist/bridges/descriptor.d.ts.map +0 -1
  697. package/dist/bridges/descriptor.js.map +0 -1
  698. package/dist/composition/poster-source.d.ts.map +0 -1
  699. package/dist/composition/poster-source.js.map +0 -1
  700. package/dist/composition/symbolic-constants.d.ts.map +0 -1
  701. package/dist/composition/symbolic-constants.js +0 -65
  702. package/dist/composition/symbolic-constants.js.map +0 -1
package/README.md CHANGED
@@ -1,383 +1,405 @@
1
- # Universal Physics Tensor Framework
2
-
3
- **Computational framework for exploring unified physics through tensor formalism**
4
-
5
- [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
6
- [![CI](https://github.com/danielsimonjr/universal-physics-tensor/actions/workflows/ci.yml/badge.svg)](https://github.com/danielsimonjr/universal-physics-tensor/actions/workflows/ci.yml)
7
- [![Node.js Version](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen)](https://nodejs.org/)
8
- [![TypeScript](https://img.shields.io/badge/TypeScript-6.0+-blue)](https://www.typescriptlang.org/)
9
-
10
- ## Vision
11
-
12
- Modern physics is fragmented across scales and domains: quantum mechanics governs the microscopic, general relativity explains the cosmic, and statistical mechanics bridges between them. Each regime has its own mathematics, assumptions, and approximations. **What if we could represent all of physics in a single mathematical object?**
13
-
14
- The Universal Physics Tensor Framework (UPTF) proposes a rank-6 tensor **Π** living in a product space of:
15
- - **Scale** (quantum → mesoscopic → classical → cosmological)
16
- - **Force** (gravitational, electromagnetic, weak, strong, emergent)
17
- - **Symmetry** (Poincaré, gauge, conformal, supersymmetry (`'susy'` in code))
18
- - **Information** (von Neumann, Shannon, Kolmogorov, quantum discord)
19
- - **Dimension** (dimensional analysis constraints)
20
- - **Topology** (topological invariants)
21
-
22
- This framework provides a computational laboratory for exploring:
23
- - **Bridge equations** connecting different physical regimes
24
- - **Emergence** of macroscopic laws from microscopic interactions
25
- - **Information-geometry** connections between computation and spacetime
26
- - **Unification** patterns across seemingly disparate phenomena
27
-
28
- ## Important Context
29
-
30
- **I am not a physicist by trade.** I'm a systems engineer specializing in Test Program Set development for defense avionics. This project applies **engineering systems thinking** to theoretical physics questions.
31
-
32
- Think of this as:
33
- - **A computational framework** for exploring ideas
34
- - **An engineering approach** to organizing physical knowledge
35
- - **A collaboration platform** inviting physicists to validate/improve
36
- - **NOT claiming to have "solved" or "unified" physics**
37
- - **NOT peer-reviewed theoretical physics** (yet)
38
-
39
- **Physicists:** Your expertise is welcomed and needed! Please contribute validation, corrections, and improvements.
40
-
41
- ## Quick Start
42
-
43
- From npm, the CLI is `upt`:
44
-
45
- ```bash
46
- npm install universal-physics-tensor
47
- npx upt help
48
- npx upt explain hawking-temperature mass=1.989e30
49
- ```
50
-
51
- The npm package ships `dist/`, `bin/`, this README and the licence. The documentation, the examples
52
- and the test fixtures linked below live in the GitHub repository. The steps below work from a clone
53
- of it:
54
-
55
- ```bash
56
- # Clone the repository
57
- git clone https://github.com/danielsimonjr/universal-physics-tensor.git
58
- cd universal-physics-tensor
59
-
60
- # Install dependencies (Bun is the local/CI package manager; Node ≥ 18 is the runtime)
61
- bun install
62
-
63
- # Build the project
64
- bun run build
65
-
66
- # Run the smoke test
67
- node test-example.js
68
-
69
- # Bridge-inference CLI (no TypeScript needed) — `upt` subcommands:
70
- bun run upt -- explain hawking-temperature mass=1.989e30 # explain a built-in quantity
71
- bun run upt -- priority # triage speculative bridges
72
- bun run upt -- audit # derive the bridges by dimensions
73
- bun run upt -- predict # empty regime cells as link hypotheses
74
- bun run upt -- discover # vet link candidates (merge/unlock/consistency)
75
- bun run upt -- discover --source=canonical # run the funnel on standard physics ALONE (no bridges)
76
- bun run upt -- discover --derive # surface machine-derived identity consequences (--max-orders / --anchor flags available)
77
- bun run upt -- probe scan # experimental expression/residual frontier (Product B; not `upt discover`)
78
- bun run upt -- probe run --problem=tests/fixtures/discovery/pendulum-scaling/public/problem.json # a fixture in the clone
79
- bun run upt -- connectors # which isolated bridges can connect to the core
80
- bun run upt -- coverage # audit each bridge's empirical grounding
81
- bun run upt -- canonical # the standard-physics L-layer registry (answer key)
82
- bun run upt -- recover # validate bridges against standard physics
83
- bun run upt -- symbolic --simplify # compose + fold bridges' SYMBOLIC forms (MathTS simplify)
84
- bun run upt -- confront # run the catalog's committed real-data confrontations (predicted vs observed)
85
- bun run upt -- map --source=both --format=mermaid # VISUAL map of the graph (Mermaid; also --format=dot|svg, --proposed, --out=PATH)
86
- bun run upt -- map --equation "period = 2*pi*sqrt(length/gravity)" # drop YOUR OWN equation onto the map: dimensional check + where it lands
87
- # ...and YOUR OWN equations:
88
- 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
89
- bun run upt -- derive period:time length:length gravity:acceleration --formula "2*pi*sqrt(length/gravity)"
90
- # → period ∝ length^0.5·gravity^-0.5 ; formula dimension: [time] ✓ matches target ;
91
- # formula MATCHES, recovered prefactor ≈ 6.2832 (2π)
92
- bun run upt -- help
93
- # From an npm install, run the same commands as `npx upt <cmd>`.
94
- # (`bun run explain` and `bun run bridge-priority` remain as aliases.)
95
- ```
96
-
97
- `eval`/`derive --formula` use the MathTS expression engine
98
- (`@danielsimonjr/mathts-functions`) when the optional peers are installed,
99
- and a built-in, dependency-free parser otherwise — transparently, via a
100
- `FormulaParser` registry (add `--debug` to see which is active). UPT keeps
101
- **zero hard dependencies**; the MathTS packages and `@viz-js/viz` are optional peers, which a
102
- default install does not pull in. Add the ones you want, for example
103
- `npm install @danielsimonjr/mathts-functions` for the MathTS parser, or `npm install @viz-js/viz`
104
- for `upt map --format=svg`. The `universal-physics-tensor/numerical/mathts-engine` subpath imports
105
- `@danielsimonjr/mathts-tensor` directly, so importing it without that peer fails with
106
- `ERR_MODULE_NOT_FOUND`. That is the opt-in, not a bug: install the peer to use the engine. The main
107
- entry point never loads that subpath.
108
-
109
- See [`cli/README.md`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/cli/README.md) for the full CLI reference — every command
110
- and alias, the `--source=catalog|canonical|both` flag, input syntax, exit codes,
111
- and troubleshooting. [`docs/architecture/PHYSICS_MAP.md`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/PHYSICS_MAP.md)
112
- shows the rendered map (`upt map --format=mermaid|dot|svg`).
113
-
114
- ## Installation
115
-
116
- ```bash
117
- npm install universal-physics-tensor
118
- ```
119
-
120
- Or install directly from GitHub:
121
-
122
- ```bash
123
- # Clone and build locally
124
- git clone https://github.com/danielsimonjr/universal-physics-tensor.git
125
- cd universal-physics-tensor
126
- npm install
127
- npm run build
128
- ```
129
-
130
- ```typescript
131
- import { UniversalTensor } from 'universal-physics-tensor';
132
- import type { PhysicalLaw, BridgeEquation } from 'universal-physics-tensor';
133
-
134
- // Create a tensor instance
135
- const tensor = new UniversalTensor({
136
- rank: 3, // Start simple
137
- scales: ['quantum', 'classical'],
138
- forces: ['electromagnetic', 'gravitational'],
139
- });
140
-
141
- // Register a known law (e.g., Schrödinger equation)
142
- const schrodinger: PhysicalLaw = {
143
- id: 'schrodinger',
144
- name: 'Schrödinger Equation',
145
- equation: 'iℏ ∂ψ/∂t = Ĥψ',
146
- scales: ['quantum'],
147
- forces: ['electromagnetic'],
148
- symmetries: ['poincare'], // strictly Galilean for non-relativistic Schrödinger; 'poincare' used as placeholder (no 'galilean' in current Symmetry type)
149
- confidence: 1.0,
150
- };
151
- tensor.addLaw(schrodinger);
152
-
153
- // Query laws applicable to the quantum regime
154
- const quantumLaws = tensor.queryLaws({ scale: 'quantum' });
155
- console.log(quantumLaws.map(l => l.name));
156
- ```
157
-
158
- > **Note:** Each catalogued bridge ships a computable `evaluate*()` function, and
159
- > the `BridgeEquations` facade (v0.14) gathers them under readable method names —
160
- > e.g. `BridgeEquations.decoherenceRate({ gamma0_per_s, lambda, lambda0 })` (BE-11)
161
- > or `BridgeEquations.hawkingTemperature({ M_kg })` (BE-42). The formal spec
162
- > (Parts I–III) defines the underlying physics and AST encodings; the facade is
163
- > the convenience layer over those evaluators.
164
-
165
- ## Core Concepts
166
-
167
- ### The Universal Tensor
168
-
169
- The tensor **Π** is decomposed (classified) into three components:
170
-
171
- **Π = L + B + E**
172
-
173
- Where:
174
- - **L** (Laws): Known physics on the diagonal (QM, GR, SM, etc.)
175
- - **B** (Bridges): Off-diagonal equations connecting regimes
176
- - **E** (Emergence): Higher-order correlations producing emergent phenomena
177
-
178
- > **Note on notation:** the "+" here denotes disjoint union of catalog entries (each tensor slot holds content of exactly one category), not algebraic addition. The type system enforces this disjointness via the `Cell` discriminated union in [`src/core/cell.ts`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/src/core/cell.ts); `UniversalTensor.populatedCells()` is the canonical way to enumerate the populated catalog as typed `Cell` values. See also [Part I §1.2](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-I.md) for the spec-level treatment. Different slots may hold quantities of different physical dimensions (e.g., a Lagrangian density and a decoherence rate) and cannot be summed numerically.
179
-
180
- ### Bridge Equations
181
-
182
- Bridge equations connect different physical regimes:
183
-
184
- **Quantum ↔ Classical:**
185
- - Decoherence Master Equation
186
- - Mesoscopic Coherence Length
187
-
188
- **Information ↔ Geometry:**
189
- - Landauer-Wheeler Information-Geometry Equation
190
- - Holographic Quantum Error Correction
191
-
192
- **Microscopic ↔ Macroscopic:**
193
- - Universal Emergence Equation
194
- - Complexity-Entropy Production Relation
195
-
196
- Parts I–II of the formal specification document the original BE-11…54 corpus; later established additions BE-55…65 are captured in the live code/research record. The **authoritative current catalog** is the versioned, test-pinned JSON artifact at [`data/bridge-catalog.json`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/data/bridge-catalog.json), which currently spans BE-11…65. Part III covers algorithmic implementation.
197
-
198
- ### Composing Bridges (v0.8.0)
199
-
200
- Bridges are edges in a typed quantity graph, and compatible edges
201
- **compose** — with an exact dimensional check at the junction, validity
202
- domains carried through, and confidence demoted to the weakest link:
203
-
204
- ```typescript
205
- import { composeEdges, be42Edge, be16Edge, M_SUN_KG } from 'universal-physics-tensor';
206
-
207
- // Hawking temperature (M → T_H) ∘ Landauer bound (T → E_min)
208
- const erasureCost = composeEdges(be42Edge, be16Edge);
209
- erasureCost.evaluate({ mass: M_SUN_KG }); // ≈ 5.9e-31 J — E_min(M) = ℏc³ln2/(8πGM)
210
- erasureCost.confidence; // 'highly-speculative' (min of the operands)
211
- ```
212
-
213
- That derived relation — the minimum erasure cost at a black-hole
214
- horizon — is the framework's first **derived** (rather than encoded)
215
- literature-anchored result, pre-registered before implementation and
216
- pinned to relErr ≤ 10⁻¹² (see [Part IX](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-IX-Composition.md)
217
- and `docs/planning/v0.8.0-Design.md`). A computable **membership
218
- criterion** (a bridge's endpoint quantities must differ in regime) now
219
- adjudicates the catalog — 36 bridges · 5 not-a-bridge · 3 contested —
220
- with rejections recorded in a reviewable negative catalog
221
- (`src/bridges/rejected.ts`).
222
-
223
- Since v0.12, composition is also **symbolic** (`composeSymbolic`): bridges may
224
- carry an optional `symbolic` `ExprNode` form, and composing two of them
225
- substitutes one AST into the other's junction, dimensionally validated and
226
- numerically evaluable — not just a chained numeric closure. The composed form
227
- can be folded by MathTS `simplify` (optional peer), so CT-1 reduces to
228
- `ℏc³ln2/(8πGM)` with `k_B` cancelled. See `upt symbolic --simplify`.
229
-
230
- ## Documentation
231
-
232
- ### Formal Specification
233
- Complete theoretical foundation of the Universal Physics Tensor Framework —
234
- see the **[specification index](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/README.md)** for the full
235
- reader's map and the **[spec revision history](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/CHANGELOG.md)**
236
- for how the documents evolved.
237
-
238
- - **[Part I: Foundation & Mathematical Framework](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-I.md)** - Tensor structure, Π = L + B + E decomposition, Bridge Equations 11-20
239
- - **[Part II: Extended Bridge Equation Catalog](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-II.md)** - Bridge Equations 21-54 across condensed matter, quantum biology, emergent spacetime
240
- - **[Part III: Computational Implementation](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-III.md)** - Algorithms, information-theoretic bounds, ML integration
241
- - **[Part IV: Validation & Implications](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-IV.md)** - Experimental pathways, philosophical implications, applications
242
- - **[Part V: Advanced Mathematics & Protocols](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-V.md)** - Category theory extensions, validation protocols, algorithmic analysis
243
- - **[Part VI: Deployment & Governance](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-VI.md)** - Implementation strategies, applications, governance frameworks
244
- - **Supplements** - [Part VII: Tensor Algebra](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-VII-Tensor-Algebra.md) · [Part VIII: Metric Layer](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-VIII-Metric-Layer.md) · [Part IX: Composition](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-IX-Composition.md) · [Part X: Curvature & Field Equations](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-X-Curvature-and-Field-Equations.md) · [Part XI: Proposed Equations](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-XI-Proposed-Equations.md) (non-normative; machine-derived identity consequences, unadjudicated)
245
-
246
- ### Planning & Development
247
- - **[ROADMAP.md](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/ROADMAP.md)** - Strategic direction: from bridge catalog to a verified, regime-aware physics atlas (phased, with exit criteria)
248
- - **[Development Plan](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/planning/Development-Plan.md)** - Phased implementation roadmap
249
- - **[Implementation Plan](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/planning/Implementation-Plan.md)** - Technical architecture
250
- - **[System Requirements](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/planning/System-Requirements.md)** - Functional requirements
251
-
252
- ### Architecture
253
-
254
- Grounded in a real parse of the code. Every authored document ends with a `## Verification` block,
255
- and `repo_map.py check` fails when a claim in one stops matching the source.
256
-
257
- - **[Overview](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/OVERVIEW.md)** - What this is, what it does, how it is laid out
258
- - **[Architecture](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/ARCHITECTURE.md)** - Why it is built this way; principles and key decisions
259
- - **[Components](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/COMPONENTS.md)** - Each module, with real signatures
260
- - **[Data Flow](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/DATAFLOW.md)** - How a request travels end to end
261
- - **[API Reference](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/API.md)** - The public surface, per export
262
- - **[File Inventory](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/FILE_INVENTORY.md)** - Every tracked file, by zone and disposition
263
- - **[Test Coverage](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/TEST_COVERAGE.md)** - What is tested and what is not *(generated)*
264
- - **[Dependency Graph](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/DEPENDENCY_GRAPH.md)** - Who imports whom *(generated)*
265
- - **[Unused Analysis](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/unused-analysis.md)** - Files and exports with no importer *(generated)*
266
- - **[Duplicate Symbols](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/duplicate-symbols.md)** - Names defined in more than one file
267
- - **[Physics Map](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/PHYSICS_MAP.md)** - The bridge catalog as a map
268
-
269
- Regenerate the three generated reports with `npm run docs:deps`; do not edit them by hand. The
270
- `docs-fresh` CI job fails if what is committed differs from a fresh generation.
271
-
272
- ### Code Documentation
273
- - **[Examples](https://github.com/danielsimonjr/universal-physics-tensor/tree/master/examples)** - Usage examples and code samples
274
- - **[Documentation Index](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/README.md)** - Complete documentation guide
275
-
276
- ## Benchmarks
277
-
278
- UPT ships benchmark infrastructure via [Vitest bench](https://vitest.dev/guide/features.html#benchmarking):
279
-
280
- ```bash
281
- npm run bench # interactive run (median, p99, ops/sec)
282
- npm run bench:ci # verbose run for CI log capture
283
- ```
284
-
285
- Baseline results are recorded in [`docs/architecture/benchmarks.md`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/benchmarks.md).
286
- These are **correctness-first baselines, not optimization targets**. Comparative
287
- analysis has since landed: v0.6.0's BR-2 `christoffelFn` flat-array refactor
288
- delivered a measured **5-6× RK4 geodesic-integrator speedup** (see [CHANGELOG](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/CHANGELOG.md)).
289
-
290
- ## Development Status
291
-
292
- The current version is recorded in `package.json` and on npm; release chronology
293
- lives in the [CHANGELOG](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/CHANGELOG.md). This README deliberately carries **no
294
- version number and no release-by-release counts** — both drift, and nothing gates
295
- this file. It said `v0.44.1` while the package was at `0.44.3`.
296
-
297
- The current machine-checked state is:
298
-
299
- | Surface | Current state |
300
- |---|---|
301
- | Bridge catalog | **55 entries (BE-11…65)**: 19 established, 33 speculative, 3 highly speculative; the JSON artifact is freshness-tested against the TypeScript registry |
302
- | Empirical spine | **19 committed confrontations**, exposed through `upt confront` with rigor/caveat metadata |
303
- | Composition layer | **41 bridge edges** plus the canonical L-layer graph; dimensional, symbolic, discovery, consequence, and visualization tooling |
304
- | Canonical reference layer | **107 canonical equations** used as the non-speculative answer-key layer for bridge recovery/linkage |
305
- | Architecture | Generated dependency graph reports **0 circular dependencies** and a clean unused-analysis report; `npm run docs:deps` is CI freshness-gated |
306
- | 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 |
307
-
308
- The project is **engineering-complete for its stated goal**: it is a computational
309
- laboratory and falsification/review instrument, not a claim that physics itself is
310
- complete or unified. New physics claims remain reviewable hypotheses and require
311
- external evidence/domain review before promotion.
312
-
313
- ### Remaining frontier (not code-completion blockers)
314
-
315
- - Physics-curation decisions and literature validation are tracked as bounded
316
- contributor tasks in [CONTRIBUTING.md](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/CONTRIBUTING.md).
317
- - Longer-horizon production ideas are explicitly non-blocking and live in
318
- [`docs/planning/Future-Production-Hardening.md`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/planning/Future-Production-Hardening.md).
319
- - Historical implementation plans are preserved as records; the live code-completion
320
- ledger is [`ACTIVE.md`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/ACTIVE.md) and is what
321
- `npm run audit:plans` gates.
322
-
323
- ## Contributing
324
-
325
- See **[CONTRIBUTING.md](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/CONTRIBUTING.md)** — it lists bounded,
326
- no-code-required physics-review tasks (catalog adjudications, encoding
327
- checks against the literature, quantity-identification reviews) plus
328
- the dev quick-start, and explains the JSON catalog review surface.
329
-
330
- Contributions are welcome, especially from:
331
- - **Physicists** - Validate equations, suggest corrections, add physics insights
332
- - **Mathematicians** - Verify formalism, improve rigor, suggest optimizations
333
- - **Engineers** - Improve architecture, add features, optimize performance
334
- - **Educators** - Create examples, improve documentation, develop tutorials
335
-
336
- ## Background & Philosophy
337
-
338
- This project emerged from a simple question: **"If I had to design a test program set for all of physics, how would I structure it?"**
339
-
340
- In Test Program Set (TPS) development for avionics, we create systems that:
341
- - Interface across multiple domains (hardware, software, physics)
342
- - Bridge different measurement scales (micro to macro)
343
- - Maintain consistency across transformations
344
- - Enable diagnostic troubleshooting
345
-
346
- The same systems thinking applies to physics:
347
- - Known laws = verified test procedures (diagonal elements)
348
- - Bridge equations = interface adapters (off-diagonal elements)
349
- - Emergence = higher-order system behaviors (correlations)
350
- - Validation = experimental data matching (consistency checks)
351
-
352
- This is an **engineer's approach to theoretical physics** — systematic, organized, and open to collaboration with domain experts.
353
-
354
- ## License
355
-
356
- Code: MIT License - see [LICENSE](LICENSE). Exported atlas data (`data/atlas/`): CC BY 4.0 - see [LICENSE-DATA](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/LICENSE-DATA).
357
-
358
- ## Author
359
-
360
- **Daniel Simon Jr.**
361
- - Systems Engineer specializing in Test Program Set Development
362
- - Electrical Engineering, University of Texas at Dallas
363
- - Currently: Senior Test Engineer, Lockheed Martin
364
- - Interests: Integrating Philosophy, Science, and Technology
365
-
366
- **Connect:**
367
- - GitHub: [@danielsimonjr](https://github.com/danielsimonjr)
368
- - LinkedIn: [danielsimonjr](https://linkedin.com/in/danielsimonjr)
369
- - Substack: [Simon Says!](https://danielsimonjr.substack.com)
370
- - Website: [danielsimonjr.github.io/resume](https://danielsimonjr.github.io/resume/)
371
-
372
- ## Acknowledgments
373
-
374
- This work builds on the shoulders of giants:
375
- - Tensor formalism from differential geometry
376
- - Bridge equations inspired by effective field theory
377
- - Information-theoretic insights from quantum information theory
378
- - Emergence concepts from condensed matter physics
379
- - Systems thinking from engineering practice
380
-
381
- ---
382
-
383
- **Disclaimer:** This is an exploratory computational framework, not peer-reviewed physics research. All results should be validated against experimental data and theoretical physics literature. Collaboration with professional physicists is actively sought to improve accuracy and rigor.
1
+ # Universal Physics Tensor Framework
2
+
3
+ **Computational framework for exploring unified physics through tensor formalism**
4
+
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
6
+ [![CI](https://github.com/danielsimonjr/universal-physics-tensor/actions/workflows/ci.yml/badge.svg)](https://github.com/danielsimonjr/universal-physics-tensor/actions/workflows/ci.yml)
7
+ [![Node.js Version](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen)](https://nodejs.org/)
8
+ [![TypeScript](https://img.shields.io/badge/TypeScript-6.0+-blue)](https://www.typescriptlang.org/)
9
+
10
+ ## Vision
11
+
12
+ Modern physics is fragmented across scales and domains: quantum mechanics governs the microscopic, general relativity explains the cosmic, and statistical mechanics bridges between them. Each regime has its own mathematics, assumptions, and approximations. **What if we could represent all of physics in a single mathematical object?**
13
+
14
+ The Universal Physics Tensor Framework (UPTF) proposes a rank-6 tensor **Π** living in a product space of:
15
+ - **Scale** (quantum → mesoscopic → classical → cosmological)
16
+ - **Force** (gravitational, electromagnetic, weak, strong, emergent)
17
+ - **Symmetry** (Poincaré, gauge, conformal, supersymmetry (`'susy'` in code))
18
+ - **Information** (von Neumann, Shannon, Kolmogorov, quantum discord)
19
+ - **Dimension** (dimensional analysis constraints)
20
+ - **Topology** (topological invariants)
21
+
22
+ This framework provides a computational laboratory for exploring:
23
+ - **Bridge equations** connecting different physical regimes
24
+ - **Emergence** of macroscopic laws from microscopic interactions
25
+ - **Information-geometry** connections between computation and spacetime
26
+ - **Unification** patterns across seemingly disparate phenomena
27
+
28
+ ## Important Context
29
+
30
+ **I am not a physicist by trade.** I'm a systems engineer specializing in Test Program Set development for defense avionics. This project applies **engineering systems thinking** to theoretical physics questions.
31
+
32
+ Think of this as:
33
+ - **A computational framework** for exploring ideas
34
+ - **An engineering approach** to organizing physical knowledge
35
+ - **A collaboration platform** inviting physicists to validate/improve
36
+ - **NOT claiming to have "solved" or "unified" physics**
37
+ - **NOT peer-reviewed theoretical physics** (yet)
38
+
39
+ **Physicists:** Your expertise is welcomed and needed! Please contribute validation, corrections, and improvements.
40
+
41
+ ## Quick Start
42
+
43
+ From npm, the CLI is `upt`:
44
+
45
+ ```bash
46
+ npm install universal-physics-tensor
47
+ npx upt help
48
+ npx upt explain hawking-temperature mass=1.989e30
49
+ ```
50
+
51
+ The npm package ships `dist/`, `bin/`, this README and the licence. The documentation, the examples
52
+ and the test fixtures linked below live in the GitHub repository. The steps below work from a clone
53
+ of it:
54
+
55
+ ```bash
56
+ # Clone the repository
57
+ git clone https://github.com/danielsimonjr/universal-physics-tensor.git
58
+ cd universal-physics-tensor
59
+
60
+ # Install dependencies (Bun is the local/CI package manager; Node ≥ 18 is the runtime).
61
+ # Bun is not installed by Node. `corepack prepare bun@1.4.2 --activate` fails
62
+ # ("Unsupported package manager specification"). Install the pinned Bun from
63
+ # https://bun.sh/install (this repo pins bun@1.4.2), then:
64
+ bun install
65
+
66
+ # Build the project
67
+ bun run build
68
+
69
+ # Run the smoke test
70
+ node test-example.js
71
+
72
+ # Bridge-inference CLI (no TypeScript needed) — `upt` subcommands:
73
+ bun run upt -- explain hawking-temperature mass=1.989e30 # explain a built-in quantity
74
+ bun run upt -- priority # triage speculative bridges
75
+ bun run upt -- audit # derive the bridges by dimensions
76
+ bun run upt -- predict # empty regime cells as link hypotheses
77
+ bun run upt -- discover # vet link candidates (merge/unlock/consistency)
78
+ bun run upt -- discover --source=canonical # run the funnel on standard physics ALONE (no bridges)
79
+ bun run upt -- discover --derive # surface machine-derived identity consequences (--max-orders / --anchor flags available)
80
+ bun run upt -- probe scan # experimental expression/residual frontier (Product B; not `upt discover`)
81
+ bun run upt -- probe run --problem=tests/fixtures/discovery/pendulum-scaling/public/problem.json # a fixture in the clone
82
+ bun run upt -- connectors # which isolated bridges can connect to the core
83
+ bun run upt -- coverage # audit each bridge's empirical grounding
84
+ bun run upt -- canonical # the standard-physics L-layer registry (answer key)
85
+ bun run upt -- recover # validate bridges against standard physics
86
+ bun run upt -- symbolic --simplify # compose + fold bridges' SYMBOLIC forms (MathTS simplify)
87
+ bun run upt -- confront # run the catalog's committed real-data confrontations (predicted vs observed)
88
+ bun run upt -- map --source=both --format=mermaid # VISUAL map of the graph (Mermaid; also --format=dot|svg, --proposed, --out=PATH)
89
+ bun run upt -- map --equation "period = 2*pi*sqrt(length/gravity)" # drop YOUR OWN equation onto the map: dimensional check + where it lands
90
+ # ...and YOUR OWN equations:
91
+ 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
92
+ bun run upt -- derive period:time length:length gravity:acceleration --formula "2*pi*sqrt(length/gravity)"
93
+ # → period ∝ length^0.5·gravity^-0.5 ; formula dimension: [time] ✓ matches target ;
94
+ # formula MATCHES, recovered prefactor ≈ 6.2832 (2π)
95
+ bun run upt -- help
96
+ # From an npm install, run the same commands as `npx upt <cmd>`.
97
+ # (`bun run explain` and `bun run bridge-priority` remain as aliases.)
98
+ ```
99
+
100
+ `eval`/`derive --formula` use the MathTS expression engine
101
+ (`@danielsimonjr/mathts-functions`) when the optional peers are installed,
102
+ and a built-in, dependency-free parser otherwise — transparently, via a
103
+ `FormulaParser` registry (`upt eval --debug` prints which is active; `upt version`
104
+ stays a bare semver line). A clone's `bun install` or `npm install` installs
105
+ the MathTS packages as devDependencies, so that path uses MathTS. A published
106
+ `npm install universal-physics-tensor` does not install the optional peers and
107
+ uses the builtin parser. The two are not the same language: MathTS accepts
108
+ `factorial`, `erf`, `gamma()`, and juxtaposition such as `2pi`; the builtin
109
+ parser does not. Both read a bare `e` as the elementary charge, `E` as energy,
110
+ and Euler's number only as `exp(x)`, for example `exp(1)`. The name `euler` is refused. On a machine that has Node
111
+ and not Bun, the clone path is `npm install`, `npm run build`, then
112
+ `node bin/upt.mjs <command>`. UPT keeps
113
+ **zero hard dependencies**; the MathTS packages and `@viz-js/viz` are optional peers, which a
114
+ default install does not pull in. Add the ones you want, for example
115
+ `npm install @danielsimonjr/mathts-functions` for the MathTS parser, or `npm install @viz-js/viz`
116
+ for `upt map --format=svg`. The `universal-physics-tensor/numerical/mathts-engine` subpath imports
117
+ `@danielsimonjr/mathts-tensor` directly, so importing it without that peer fails with
118
+ `ERR_MODULE_NOT_FOUND`. That is the opt-in, not a bug: install the peer to use the engine. The main
119
+ entry point never loads that subpath.
120
+
121
+ See [`cli/README.md`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/cli/README.md) for the full CLI reference — every command
122
+ and alias, the `--source=catalog|canonical|both` flag, input syntax, exit codes,
123
+ and troubleshooting. [`docs/architecture/PHYSICS_MAP.md`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/PHYSICS_MAP.md)
124
+ shows the rendered map (`upt map --format=mermaid|dot|svg`).
125
+
126
+ ## Installation
127
+
128
+ ```bash
129
+ npm install universal-physics-tensor
130
+ ```
131
+
132
+ Or install directly from GitHub:
133
+
134
+ ```bash
135
+ # Clone and build locally
136
+ git clone https://github.com/danielsimonjr/universal-physics-tensor.git
137
+ cd universal-physics-tensor
138
+ npm install
139
+ npm run build
140
+ ```
141
+
142
+ ```typescript
143
+ import { UniversalTensor } from 'universal-physics-tensor';
144
+ import type { PhysicalLaw, BridgeEquation } from 'universal-physics-tensor';
145
+
146
+ // Create a tensor instance
147
+ const tensor = new UniversalTensor({
148
+ rank: 3, // Start simple
149
+ scales: ['quantum', 'classical'],
150
+ forces: ['electromagnetic', 'gravitational'],
151
+ });
152
+
153
+ // Register a known law (e.g., Schrödinger equation)
154
+ const schrodinger: PhysicalLaw = {
155
+ id: 'schrodinger',
156
+ name: 'Schrödinger Equation',
157
+ equation: 'iℏ ∂ψ/∂t = Ĥψ',
158
+ scales: ['quantum'],
159
+ forces: ['electromagnetic'],
160
+ symmetries: ['poincare'], // strictly Galilean for non-relativistic Schrödinger; 'poincare' used as placeholder (no 'galilean' in current Symmetry type)
161
+ confidence: 1.0,
162
+ };
163
+ tensor.addLaw(schrodinger);
164
+
165
+ // Query laws applicable to the quantum regime
166
+ const quantumLaws = tensor.queryLaws({ scale: 'quantum' });
167
+ console.log(quantumLaws.map(l => l.name));
168
+ ```
169
+
170
+ > **Note:** Each catalogued bridge ships a computable `evaluate*()` function, and
171
+ > the `BridgeEquations` facade (v0.14) gathers them under readable method names —
172
+ > e.g. `BridgeEquations.decoherenceRate({ gamma0_per_s, lambda, lambda0 })` (BE-11)
173
+ > or `BridgeEquations.hawkingTemperature({ M_kg })` (BE-42). The formal spec
174
+ > (Parts I–III) defines the underlying physics and AST encodings; the facade is
175
+ > the convenience layer over those evaluators.
176
+
177
+ ## Core Concepts
178
+
179
+ ### The Universal Tensor
180
+
181
+ The tensor **Π** is decomposed (classified) into three components:
182
+
183
+ **Π = L + B + E**
184
+
185
+ Where:
186
+ - **L** (Laws): Known physics on the diagonal (QM, GR, SM, etc.)
187
+ - **B** (Bridges): Off-diagonal equations connecting regimes
188
+ - **E** (Emergence): Higher-order correlations producing emergent phenomena
189
+
190
+ > **Note on notation:** the "+" here denotes disjoint union of catalog entries (each tensor slot holds content of exactly one category), not algebraic addition. The type system enforces this disjointness via the `Cell` discriminated union in [`src/core/cell.ts`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/src/core/cell.ts); `UniversalTensor.populatedCells()` is the canonical way to enumerate the populated catalog as typed `Cell` values. See also [Part I §1.2](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-I.md) for the spec-level treatment. Different slots may hold quantities of different physical dimensions (e.g., a Lagrangian density and a decoherence rate) and cannot be summed numerically.
191
+
192
+ ### Bridge Equations
193
+
194
+ Bridge equations connect different physical regimes:
195
+
196
+ **Quantum ↔ Classical:**
197
+ - Decoherence Master Equation
198
+ - Mesoscopic Coherence Length
199
+
200
+ **Information ↔ Geometry:**
201
+ - Einstein trace reduction
202
+ - Holographic Quantum Error Correction
203
+
204
+ **Microscopic ↔ Macroscopic:**
205
+ - Universal Emergence Equation
206
+ - Complexity-Entropy Production Relation
207
+
208
+ Parts I–II of the formal specification document the original BE-11…54 corpus; later established additions BE-55…65 are captured in the live code/research record. The **authoritative current catalog** is the versioned, test-pinned JSON artifact at [`data/bridge-catalog.json`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/data/bridge-catalog.json), which currently spans BE-11…65. Part III covers algorithmic implementation.
209
+
210
+ ### Composing Bridges (v0.8.0)
211
+
212
+ Bridges are edges in a typed quantity graph, and compatible edges
213
+ **compose** — with an exact dimensional check at the junction, validity
214
+ domains carried through, and confidence demoted to the weakest link:
215
+
216
+ ```typescript
217
+ import { composeEdges, be42Edge, be16Edge, M_SUN_KG } from 'universal-physics-tensor';
218
+
219
+ // Hawking temperature (M → T_H) ∘ Landauer bound (T → E_min)
220
+ const erasureCost = composeEdges(be42Edge, be16Edge);
221
+ erasureCost.evaluate({ mass: M_SUN_KG }); // ≈ 5.9e-31 J — E_min(M) = ℏc³ln2/(8πGM)
222
+ erasureCost.confidence; // 'highly-speculative' (min of the operands)
223
+ ```
224
+
225
+ `GM_SUN_SI` is the IAU 2015 nominal solar gravitational parameter, `1.3271244e20` m³/s². It is not `G_SI * M_SUN_SI`. `parseUnit`, `convertValue`, and `UnitError` read a number with a unit:
226
+
227
+ ```typescript
228
+ import { GM_SUN_SI, convertValue } from 'universal-physics-tensor';
229
+
230
+ GM_SUN_SI; // 1.3271244e20
231
+ convertValue('25degC', 'K'); // { value: 298.15, given: 'degC' }
232
+ ```
233
+
234
+ That derived relation — the minimum erasure cost at a black-hole
235
+ horizon — is the framework's first **derived** (rather than encoded)
236
+ literature-anchored result, pre-registered before implementation and
237
+ pinned to relErr ≤ 10⁻¹² (see [Part IX](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-IX-Composition.md)
238
+ and `docs/planning/v0.8.0-Design.md`). A computable **membership
239
+ criterion** (a bridge's endpoint quantities must differ in regime) now
240
+ adjudicates the catalog — 36 bridges · 5 not-a-bridge · 3 contested —
241
+ with rejections recorded in a reviewable negative catalog
242
+ (`src/bridges/rejected.ts`).
243
+
244
+ Since v0.12, composition is also **symbolic** (`composeSymbolic`): bridges may
245
+ carry an optional `symbolic` `ExprNode` form, and composing two of them
246
+ substitutes one AST into the other's junction, dimensionally validated and
247
+ numerically evaluable — not just a chained numeric closure. The composed form
248
+ can be folded by MathTS `simplify` (optional peer), so CT-1 reduces to
249
+ `ℏc³ln2/(8πGM)` with `k_B` cancelled. See `upt symbolic --simplify`.
250
+
251
+ ## Documentation
252
+
253
+ ### Formal Specification
254
+ Complete theoretical foundation of the Universal Physics Tensor Framework —
255
+ see the **[specification index](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/README.md)** for the full
256
+ reader's map and the **[spec revision history](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/CHANGELOG.md)**
257
+ for how the documents evolved.
258
+
259
+ - **[Part I: Foundation & Mathematical Framework](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-I.md)** - Tensor structure, Π = L + B + E decomposition, Bridge Equations 11-20
260
+ - **[Part II: Extended Bridge Equation Catalog](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-II.md)** - Bridge Equations 21-54 across condensed matter, quantum biology, emergent spacetime
261
+ - **[Part III: Computational Implementation](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-III.md)** - Algorithms, information-theoretic bounds, ML integration
262
+ - **[Part IV: Validation & Implications](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-IV.md)** - Experimental pathways, philosophical implications, applications
263
+ - **[Part V: Advanced Mathematics & Protocols](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-V.md)** - Category theory extensions, validation protocols, algorithmic analysis
264
+ - **[Part VI: Deployment & Governance](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-VI.md)** - Implementation strategies, applications, governance frameworks
265
+ - **Supplements** - [Part VII: Tensor Algebra](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-VII-Tensor-Algebra.md) · [Part VIII: Metric Layer](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-VIII-Metric-Layer.md) · [Part IX: Composition](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-IX-Composition.md) · [Part X: Curvature & Field Equations](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-X-Curvature-and-Field-Equations.md) · [Part XI: Proposed Equations](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/specification/Part-XI-Proposed-Equations.md) (non-normative; machine-derived identity consequences, unadjudicated)
266
+
267
+ ### Planning & Development
268
+ - **[ROADMAP.md](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/ROADMAP.md)** - Strategic direction: from bridge catalog to a verified, regime-aware physics atlas (phased, with exit criteria)
269
+ - **[Development Plan](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/planning/Development-Plan.md)** - Phased implementation roadmap
270
+ - **[Implementation Plan](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/planning/Implementation-Plan.md)** - Technical architecture
271
+ - **[System Requirements](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/planning/System-Requirements.md)** - Functional requirements
272
+
273
+ ### Architecture
274
+
275
+ Grounded in a real parse of the code. Every authored document ends with a `## Verification` block,
276
+ and `repo_map.py check` fails when a claim in one stops matching the source.
277
+
278
+ - **[Overview](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/OVERVIEW.md)** - What this is, what it does, how it is laid out
279
+ - **[Architecture](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/ARCHITECTURE.md)** - Why it is built this way; principles and key decisions
280
+ - **[Components](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/COMPONENTS.md)** - Each module, with real signatures
281
+ - **[Data Flow](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/DATAFLOW.md)** - How a request travels end to end
282
+ - **[API Reference](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/API.md)** - The public surface, per export
283
+ - **[File Inventory](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/FILE_INVENTORY.md)** - Every tracked file, by zone and disposition
284
+ - **[Test Coverage](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/TEST_COVERAGE.md)** - What is tested and what is not *(generated)*
285
+ - **[Dependency Graph](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/DEPENDENCY_GRAPH.md)** - Who imports whom *(generated)*
286
+ - **[Unused Analysis](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/unused-analysis.md)** - Files and exports with no importer *(generated)*
287
+ - **[Duplicate Symbols](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/duplicate-symbols.md)** - Names defined in more than one file
288
+ - **[Physics Map](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/PHYSICS_MAP.md)** - The bridge catalog as a map
289
+
290
+ Regenerate the three generated reports with `npm run docs:deps`; do not edit them by hand. The
291
+ `docs-fresh` CI job fails if what is committed differs from a fresh generation.
292
+
293
+ ### Code Documentation
294
+ - **[Examples](https://github.com/danielsimonjr/universal-physics-tensor/tree/master/examples)** - Usage examples and code samples
295
+ - **[Documentation Index](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/README.md)** - Complete documentation guide
296
+
297
+ ## Benchmarks
298
+
299
+ UPT ships benchmark infrastructure via [Vitest bench](https://vitest.dev/guide/features.html#benchmarking):
300
+
301
+ ```bash
302
+ npm run bench # interactive run (median, p99, ops/sec)
303
+ npm run bench:ci # verbose run for CI log capture
304
+ ```
305
+
306
+ Baseline results are recorded in [`docs/architecture/benchmarks.md`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/architecture/benchmarks.md).
307
+ These are **correctness-first baselines, not optimization targets**. Comparative
308
+ analysis has since landed: v0.6.0's BR-2 `christoffelFn` flat-array refactor
309
+ delivered a measured **5-6× RK4 geodesic-integrator speedup** (see [CHANGELOG](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/CHANGELOG.md)).
310
+
311
+ ## Development Status
312
+
313
+ The current version is recorded in `package.json` and on npm; release chronology
314
+ lives in the [CHANGELOG](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/CHANGELOG.md). This README deliberately carries **no
315
+ version number and no release-by-release counts** — both drift, and nothing gates
316
+ this file. It said `v0.44.1` while the package was at `0.44.3`.
317
+
318
+ The current machine-checked state is:
319
+
320
+ | Surface | Current state |
321
+ |---|---|
322
+ | Bridge catalog | **55 entries (BE-11…65)**: 19 established, 33 speculative, 3 highly speculative; the JSON artifact is freshness-tested against the TypeScript registry |
323
+ | Empirical spine | **19 committed confrontations**, exposed through `upt confront` with rigor/caveat metadata |
324
+ | Composition layer | **41 bridge edges** plus the canonical L-layer graph; dimensional, symbolic, discovery, consequence, and visualization tooling |
325
+ | Canonical reference layer | **109 canonical equations** used as the non-speculative answer-key layer for bridge recovery/linkage |
326
+ | Architecture | Generated dependency graph reports **0 circular dependencies** and a clean unused-analysis report; `npm run docs:deps` is CI freshness-gated |
327
+ | 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 |
328
+ | 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) |
329
+
330
+ The project is **engineering-complete for its stated goal**: it is a computational
331
+ laboratory and falsification/review instrument, not a claim that physics itself is
332
+ complete or unified. New physics claims remain reviewable hypotheses and require
333
+ external evidence/domain review before promotion.
334
+
335
+ ### Remaining frontier (not code-completion blockers)
336
+
337
+ - Physics-curation decisions and literature validation are tracked as bounded
338
+ contributor tasks in [CONTRIBUTING.md](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/CONTRIBUTING.md).
339
+ - Longer-horizon production ideas are explicitly non-blocking and live in
340
+ [`docs/planning/Future-Production-Hardening.md`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/docs/planning/Future-Production-Hardening.md).
341
+ - Historical implementation plans are preserved as records; the live code-completion
342
+ ledger is [`ACTIVE.md`](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/ACTIVE.md) and is what
343
+ `npm run audit:plans` gates.
344
+
345
+ ## Contributing
346
+
347
+ See **[CONTRIBUTING.md](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/CONTRIBUTING.md)** — it lists bounded,
348
+ no-code-required physics-review tasks (catalog adjudications, encoding
349
+ checks against the literature, quantity-identification reviews) plus
350
+ the dev quick-start, and explains the JSON catalog review surface.
351
+
352
+ Contributions are welcome, especially from:
353
+ - **Physicists** - Validate equations, suggest corrections, add physics insights
354
+ - **Mathematicians** - Verify formalism, improve rigor, suggest optimizations
355
+ - **Engineers** - Improve architecture, add features, optimize performance
356
+ - **Educators** - Create examples, improve documentation, develop tutorials
357
+
358
+ ## Background & Philosophy
359
+
360
+ This project emerged from a simple question: **"If I had to design a test program set for all of physics, how would I structure it?"**
361
+
362
+ In Test Program Set (TPS) development for avionics, we create systems that:
363
+ - Interface across multiple domains (hardware, software, physics)
364
+ - Bridge different measurement scales (micro to macro)
365
+ - Maintain consistency across transformations
366
+ - Enable diagnostic troubleshooting
367
+
368
+ The same systems thinking applies to physics:
369
+ - Known laws = verified test procedures (diagonal elements)
370
+ - Bridge equations = interface adapters (off-diagonal elements)
371
+ - Emergence = higher-order system behaviors (correlations)
372
+ - Validation = experimental data matching (consistency checks)
373
+
374
+ This is an **engineer's approach to theoretical physics** — systematic, organized, and open to collaboration with domain experts.
375
+
376
+ ## License
377
+
378
+ Code: MIT License - see [LICENSE](LICENSE). Exported atlas data (`data/atlas/`): CC BY 4.0 - see [LICENSE-DATA](https://github.com/danielsimonjr/universal-physics-tensor/blob/master/LICENSE-DATA).
379
+
380
+ ## Author
381
+
382
+ **Daniel Simon Jr.**
383
+ - Systems Engineer specializing in Test Program Set Development
384
+ - Electrical Engineering, University of Texas at Dallas
385
+ - Currently: Senior Test Engineer, Lockheed Martin
386
+ - Interests: Integrating Philosophy, Science, and Technology
387
+
388
+ **Connect:**
389
+ - GitHub: [@danielsimonjr](https://github.com/danielsimonjr)
390
+ - LinkedIn: [danielsimonjr](https://linkedin.com/in/danielsimonjr)
391
+ - Substack: [Simon Says!](https://danielsimonjr.substack.com)
392
+ - Website: [danielsimonjr.github.io/resume](https://danielsimonjr.github.io/resume/)
393
+
394
+ ## Acknowledgments
395
+
396
+ This work builds on the shoulders of giants:
397
+ - Tensor formalism from differential geometry
398
+ - Bridge equations inspired by effective field theory
399
+ - Information-theoretic insights from quantum information theory
400
+ - Emergence concepts from condensed matter physics
401
+ - Systems thinking from engineering practice
402
+
403
+ ---
404
+
405
+ **Disclaimer:** This is an exploratory computational framework, not peer-reviewed physics research. All results should be validated against experimental data and theoretical physics literature. Collaboration with professional physicists is actively sought to improve accuracy and rigor.