universal-physics-tensor 0.28.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/bin/upt.mjs +9 -830
  2. package/dist/bridges/be52-mercury-confrontation.d.ts +72 -0
  3. package/dist/bridges/be52-mercury-confrontation.d.ts.map +1 -0
  4. package/dist/bridges/be52-mercury-confrontation.js +67 -0
  5. package/dist/bridges/be52-mercury-confrontation.js.map +1 -0
  6. package/dist/bridges/confrontation-coverage.d.ts +15 -0
  7. package/dist/bridges/confrontation-coverage.d.ts.map +1 -1
  8. package/dist/bridges/confrontation-coverage.js +9 -1
  9. package/dist/bridges/confrontation-coverage.js.map +1 -1
  10. package/dist/bridges/descriptor.d.ts +54 -0
  11. package/dist/bridges/descriptor.d.ts.map +1 -0
  12. package/dist/bridges/descriptor.js +67 -0
  13. package/dist/bridges/descriptor.js.map +1 -0
  14. package/dist/bridges/equations/_be-helpers.d.ts +1 -2
  15. package/dist/bridges/equations/_be-helpers.d.ts.map +1 -1
  16. package/dist/bridges/equations/_be-helpers.js +3 -3
  17. package/dist/bridges/equations/_be-helpers.js.map +1 -1
  18. package/dist/bridges/equations/be-20-vacuum-energy.d.ts +1 -1
  19. package/dist/bridges/equations/be-20-vacuum-energy.d.ts.map +1 -1
  20. package/dist/bridges/equations/be-20-vacuum-energy.js +5 -3
  21. package/dist/bridges/equations/be-20-vacuum-energy.js.map +1 -1
  22. package/dist/bridges/equations/be-21-kss-bound.d.ts +1 -1
  23. package/dist/bridges/equations/be-21-kss-bound.js +1 -1
  24. package/dist/bridges/equations/be-25-iit-phi.d.ts +12 -16
  25. package/dist/bridges/equations/be-25-iit-phi.d.ts.map +1 -1
  26. package/dist/bridges/equations/be-25-iit-phi.js +12 -16
  27. package/dist/bridges/equations/be-25-iit-phi.js.map +1 -1
  28. package/dist/bridges/equations/be-26-dna-tunneling.d.ts +6 -6
  29. package/dist/bridges/equations/be-26-dna-tunneling.js +6 -6
  30. package/dist/bridges/equations/be-40-composite-higgs.d.ts +9 -7
  31. package/dist/bridges/equations/be-40-composite-higgs.d.ts.map +1 -1
  32. package/dist/bridges/equations/be-40-composite-higgs.js +9 -7
  33. package/dist/bridges/equations/be-40-composite-higgs.js.map +1 -1
  34. package/dist/bridges/equations/be-50-wheeler-feynman.d.ts +0 -34
  35. package/dist/bridges/equations/be-50-wheeler-feynman.d.ts.map +1 -1
  36. package/dist/bridges/equations/be-50-wheeler-feynman.js +1 -1
  37. package/dist/bridges/equations/be-50-wheeler-feynman.js.map +1 -1
  38. package/dist/canonical/entries/_l1-build.d.ts +4 -5
  39. package/dist/canonical/entries/_l1-build.d.ts.map +1 -1
  40. package/dist/canonical/entries/_l1-build.js +3 -11
  41. package/dist/canonical/entries/_l1-build.js.map +1 -1
  42. package/dist/canonical/entries/atomic.d.ts +6 -5
  43. package/dist/canonical/entries/atomic.d.ts.map +1 -1
  44. package/dist/canonical/entries/atomic.js +61 -1
  45. package/dist/canonical/entries/atomic.js.map +1 -1
  46. package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
  47. package/dist/canonical/entries/dimensional-classics.js +1 -10
  48. package/dist/canonical/entries/dimensional-classics.js.map +1 -1
  49. package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
  50. package/dist/canonical/entries/electromagnetism.js +49 -1
  51. package/dist/canonical/entries/electromagnetism.js.map +1 -1
  52. package/dist/canonical/entries/relativity.d.ts +0 -3
  53. package/dist/canonical/entries/relativity.d.ts.map +1 -1
  54. package/dist/canonical/entries/relativity.js +51 -3
  55. package/dist/canonical/entries/relativity.js.map +1 -1
  56. package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts +7 -4
  57. package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
  58. package/dist/canonical/entries/thermo-nuclear-cosmo.js +117 -1
  59. package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
  60. package/dist/canonical/linkage.d.ts +5 -0
  61. package/dist/canonical/linkage.d.ts.map +1 -1
  62. package/dist/canonical/linkage.js +54 -24
  63. package/dist/canonical/linkage.js.map +1 -1
  64. package/dist/canonical/registry.d.ts +6 -1
  65. package/dist/canonical/registry.d.ts.map +1 -1
  66. package/dist/canonical/registry.js +6 -5
  67. package/dist/canonical/registry.js.map +1 -1
  68. package/dist/cli/args.d.ts +23 -0
  69. package/dist/cli/args.d.ts.map +1 -0
  70. package/dist/cli/args.js +74 -0
  71. package/dist/cli/args.js.map +1 -0
  72. package/dist/cli/command.d.ts +46 -0
  73. package/dist/cli/command.d.ts.map +1 -0
  74. package/dist/cli/command.js +51 -0
  75. package/dist/cli/command.js.map +1 -0
  76. package/dist/cli/commands/_discovery-opts.d.ts +16 -0
  77. package/dist/cli/commands/_discovery-opts.d.ts.map +1 -0
  78. package/dist/cli/commands/_discovery-opts.js +33 -0
  79. package/dist/cli/commands/_discovery-opts.js.map +1 -0
  80. package/dist/cli/commands/audit.d.ts +3 -0
  81. package/dist/cli/commands/audit.d.ts.map +1 -0
  82. package/dist/cli/commands/audit.js +71 -0
  83. package/dist/cli/commands/audit.js.map +1 -0
  84. package/dist/cli/commands/candidates.d.ts +3 -0
  85. package/dist/cli/commands/candidates.d.ts.map +1 -0
  86. package/dist/cli/commands/candidates.js +46 -0
  87. package/dist/cli/commands/candidates.js.map +1 -0
  88. package/dist/cli/commands/canonical.d.ts +3 -0
  89. package/dist/cli/commands/canonical.d.ts.map +1 -0
  90. package/dist/cli/commands/canonical.js +38 -0
  91. package/dist/cli/commands/canonical.js.map +1 -0
  92. package/dist/cli/commands/connectors.d.ts +3 -0
  93. package/dist/cli/commands/connectors.d.ts.map +1 -0
  94. package/dist/cli/commands/connectors.js +51 -0
  95. package/dist/cli/commands/connectors.js.map +1 -0
  96. package/dist/cli/commands/coverage.d.ts +3 -0
  97. package/dist/cli/commands/coverage.d.ts.map +1 -0
  98. package/dist/cli/commands/coverage.js +39 -0
  99. package/dist/cli/commands/coverage.js.map +1 -0
  100. package/dist/cli/commands/derive.d.ts +3 -0
  101. package/dist/cli/commands/derive.d.ts.map +1 -0
  102. package/dist/cli/commands/derive.js +143 -0
  103. package/dist/cli/commands/derive.js.map +1 -0
  104. package/dist/cli/commands/discover.d.ts +3 -0
  105. package/dist/cli/commands/discover.d.ts.map +1 -0
  106. package/dist/cli/commands/discover.js +137 -0
  107. package/dist/cli/commands/discover.js.map +1 -0
  108. package/dist/cli/commands/eval.d.ts +3 -0
  109. package/dist/cli/commands/eval.d.ts.map +1 -0
  110. package/dist/cli/commands/eval.js +64 -0
  111. package/dist/cli/commands/eval.js.map +1 -0
  112. package/dist/cli/commands/explain.d.ts +3 -0
  113. package/dist/cli/commands/explain.d.ts.map +1 -0
  114. package/dist/cli/commands/explain.js +81 -0
  115. package/dist/cli/commands/explain.js.map +1 -0
  116. package/dist/cli/commands/index.d.ts +21 -0
  117. package/dist/cli/commands/index.d.ts.map +1 -0
  118. package/dist/cli/commands/index.js +21 -0
  119. package/dist/cli/commands/index.js.map +1 -0
  120. package/dist/cli/commands/map.d.ts +3 -0
  121. package/dist/cli/commands/map.d.ts.map +1 -0
  122. package/dist/cli/commands/map.js +245 -0
  123. package/dist/cli/commands/map.js.map +1 -0
  124. package/dist/cli/commands/predict.d.ts +3 -0
  125. package/dist/cli/commands/predict.d.ts.map +1 -0
  126. package/dist/cli/commands/predict.js +54 -0
  127. package/dist/cli/commands/predict.js.map +1 -0
  128. package/dist/cli/commands/priority.d.ts +3 -0
  129. package/dist/cli/commands/priority.d.ts.map +1 -0
  130. package/dist/cli/commands/priority.js +63 -0
  131. package/dist/cli/commands/priority.js.map +1 -0
  132. package/dist/cli/commands/recover.d.ts +3 -0
  133. package/dist/cli/commands/recover.d.ts.map +1 -0
  134. package/dist/cli/commands/recover.js +51 -0
  135. package/dist/cli/commands/recover.js.map +1 -0
  136. package/dist/cli/commands/symbolic.d.ts +3 -0
  137. package/dist/cli/commands/symbolic.d.ts.map +1 -0
  138. package/dist/cli/commands/symbolic.js +110 -0
  139. package/dist/cli/commands/symbolic.js.map +1 -0
  140. package/dist/cli/errors.d.ts +14 -0
  141. package/dist/cli/errors.d.ts.map +1 -0
  142. package/dist/cli/errors.js +20 -0
  143. package/dist/cli/errors.js.map +1 -0
  144. package/dist/cli/graphs.d.ts +16 -0
  145. package/dist/cli/graphs.d.ts.map +1 -0
  146. package/dist/cli/graphs.js +30 -0
  147. package/dist/cli/graphs.js.map +1 -0
  148. package/dist/cli/main.d.ts +33 -0
  149. package/dist/cli/main.d.ts.map +1 -0
  150. package/dist/cli/main.js +219 -0
  151. package/dist/cli/main.js.map +1 -0
  152. package/dist/cli/output.d.ts +19 -0
  153. package/dist/cli/output.d.ts.map +1 -0
  154. package/dist/cli/output.js +57 -0
  155. package/dist/cli/output.js.map +1 -0
  156. package/dist/cli/version.d.ts +11 -0
  157. package/dist/cli/version.d.ts.map +1 -0
  158. package/dist/cli/version.js +16 -0
  159. package/dist/cli/version.js.map +1 -0
  160. package/dist/cli-api.d.ts +28 -0
  161. package/dist/cli-api.d.ts.map +1 -0
  162. package/dist/cli-api.js +31 -0
  163. package/dist/cli-api.js.map +1 -0
  164. package/dist/composition/bridge-analysis.d.ts +13 -15
  165. package/dist/composition/bridge-analysis.d.ts.map +1 -1
  166. package/dist/composition/bridge-analysis.js +54 -39
  167. package/dist/composition/bridge-analysis.js.map +1 -1
  168. package/dist/composition/bridge-prediction.d.ts +4 -3
  169. package/dist/composition/bridge-prediction.d.ts.map +1 -1
  170. package/dist/composition/compose-symbolic.d.ts.map +1 -1
  171. package/dist/composition/compose-symbolic.js +12 -0
  172. package/dist/composition/compose-symbolic.js.map +1 -1
  173. package/dist/composition/discovery.d.ts.map +1 -1
  174. package/dist/composition/discovery.js +40 -12
  175. package/dist/composition/discovery.js.map +1 -1
  176. package/dist/composition/edges/_catalog-helpers.d.ts +34 -0
  177. package/dist/composition/edges/_catalog-helpers.d.ts.map +1 -0
  178. package/dist/composition/edges/_catalog-helpers.js +75 -0
  179. package/dist/composition/edges/_catalog-helpers.js.map +1 -0
  180. package/dist/composition/edges/calibration.d.ts.map +1 -1
  181. package/dist/composition/edges/calibration.js +1 -1
  182. package/dist/composition/edges/calibration.js.map +1 -1
  183. package/dist/composition/edges/catalog-condensed-matter.d.ts +64 -0
  184. package/dist/composition/edges/catalog-condensed-matter.d.ts.map +1 -0
  185. package/dist/composition/edges/catalog-condensed-matter.js +226 -0
  186. package/dist/composition/edges/catalog-condensed-matter.js.map +1 -0
  187. package/dist/composition/edges/catalog-fields.d.ts +68 -0
  188. package/dist/composition/edges/catalog-fields.d.ts.map +1 -0
  189. package/dist/composition/edges/catalog-fields.js +206 -0
  190. package/dist/composition/edges/catalog-fields.js.map +1 -0
  191. package/dist/composition/edges/catalog-full.d.ts +5 -263
  192. package/dist/composition/edges/catalog-full.d.ts.map +1 -1
  193. package/dist/composition/edges/catalog-full.js +9 -959
  194. package/dist/composition/edges/catalog-full.js.map +1 -1
  195. package/dist/composition/edges/catalog-gravitation-cosmology.d.ts +80 -0
  196. package/dist/composition/edges/catalog-gravitation-cosmology.d.ts.map +1 -0
  197. package/dist/composition/edges/catalog-gravitation-cosmology.js +245 -0
  198. package/dist/composition/edges/catalog-gravitation-cosmology.js.map +1 -0
  199. package/dist/composition/edges/catalog-quantum.d.ts +85 -0
  200. package/dist/composition/edges/catalog-quantum.d.ts.map +1 -0
  201. package/dist/composition/edges/catalog-quantum.js +252 -0
  202. package/dist/composition/edges/catalog-quantum.js.map +1 -0
  203. package/dist/composition/expr-simplify.d.ts +2 -6
  204. package/dist/composition/expr-simplify.d.ts.map +1 -1
  205. package/dist/composition/expr-simplify.js +1 -1
  206. package/dist/composition/expr-simplify.js.map +1 -1
  207. package/dist/composition/expr-subst.d.ts +2 -1
  208. package/dist/composition/expr-subst.d.ts.map +1 -1
  209. package/dist/composition/proposed-bridges.d.ts +4 -4
  210. package/dist/composition/proposed-bridges.d.ts.map +1 -1
  211. package/dist/composition/proposed-bridges.js +1 -3
  212. package/dist/composition/proposed-bridges.js.map +1 -1
  213. package/dist/composition/quantities/_dims.d.ts +35 -0
  214. package/dist/composition/quantities/_dims.d.ts.map +1 -0
  215. package/dist/composition/quantities/_dims.js +45 -0
  216. package/dist/composition/quantities/_dims.js.map +1 -0
  217. package/dist/composition/quantities/common.d.ts +69 -0
  218. package/dist/composition/quantities/common.d.ts.map +1 -0
  219. package/dist/composition/quantities/common.js +200 -0
  220. package/dist/composition/quantities/common.js.map +1 -0
  221. package/dist/composition/quantities/condensed-matter.d.ts +63 -0
  222. package/dist/composition/quantities/condensed-matter.d.ts.map +1 -0
  223. package/dist/composition/quantities/condensed-matter.js +185 -0
  224. package/dist/composition/quantities/condensed-matter.js.map +1 -0
  225. package/dist/composition/quantities/fields.d.ts +59 -0
  226. package/dist/composition/quantities/fields.d.ts.map +1 -0
  227. package/dist/composition/quantities/fields.js +171 -0
  228. package/dist/composition/quantities/fields.js.map +1 -0
  229. package/dist/composition/quantities/gravitation-cosmology.d.ts +67 -0
  230. package/dist/composition/quantities/gravitation-cosmology.d.ts.map +1 -0
  231. package/dist/composition/quantities/gravitation-cosmology.js +199 -0
  232. package/dist/composition/quantities/gravitation-cosmology.js.map +1 -0
  233. package/dist/composition/quantities/quantum.d.ts +61 -0
  234. package/dist/composition/quantities/quantum.d.ts.map +1 -0
  235. package/dist/composition/quantities/quantum.js +178 -0
  236. package/dist/composition/quantities/quantum.js.map +1 -0
  237. package/dist/composition/quantities.d.ts +5 -263
  238. package/dist/composition/quantities.d.ts.map +1 -1
  239. package/dist/composition/quantities.js +7 -983
  240. package/dist/composition/quantities.js.map +1 -1
  241. package/dist/composition/retrodiction.d.ts.map +1 -1
  242. package/dist/composition/retrodiction.js +15 -3
  243. package/dist/composition/retrodiction.js.map +1 -1
  244. package/dist/composition/symbolic-constants.d.ts +3 -2
  245. package/dist/composition/symbolic-constants.d.ts.map +1 -1
  246. package/dist/core/tensor.d.ts +6 -0
  247. package/dist/core/tensor.d.ts.map +1 -1
  248. package/dist/core/tensor.js +6 -0
  249. package/dist/core/tensor.js.map +1 -1
  250. package/dist/diff/bridge-ast-gradient.js +1 -1
  251. package/dist/diff/bridge-ast-gradient.js.map +1 -1
  252. package/dist/diff/bridge-gradient.d.ts.map +1 -1
  253. package/dist/diff/bridge-gradient.js +15 -4
  254. package/dist/diff/bridge-gradient.js.map +1 -1
  255. package/dist/dimensional/algebra.d.ts +24 -0
  256. package/dist/dimensional/algebra.d.ts.map +1 -1
  257. package/dist/dimensional/algebra.js +31 -5
  258. package/dist/dimensional/algebra.js.map +1 -1
  259. package/dist/dimensional/ast-builders.d.ts +25 -0
  260. package/dist/dimensional/ast-builders.d.ts.map +1 -0
  261. package/dist/dimensional/ast-builders.js +27 -0
  262. package/dist/dimensional/ast-builders.js.map +1 -0
  263. package/dist/dimensional/ast-types.d.ts +193 -0
  264. package/dist/dimensional/ast-types.d.ts.map +1 -0
  265. package/dist/dimensional/ast-types.js +20 -0
  266. package/dist/dimensional/ast-types.js.map +1 -0
  267. package/dist/dimensional/buckingham.d.ts.map +1 -1
  268. package/dist/dimensional/buckingham.js +7 -4
  269. package/dist/dimensional/buckingham.js.map +1 -1
  270. package/dist/dimensional/connection-validators.d.ts +3 -38
  271. package/dist/dimensional/connection-validators.d.ts.map +1 -1
  272. package/dist/dimensional/connection-validators.js.map +1 -1
  273. package/dist/dimensional/connection.d.ts.map +1 -1
  274. package/dist/dimensional/connection.js +9 -0
  275. package/dist/dimensional/connection.js.map +1 -1
  276. package/dist/dimensional/curvature-composite.d.ts +2 -1
  277. package/dist/dimensional/curvature-composite.d.ts.map +1 -1
  278. package/dist/dimensional/curvature-invariants.d.ts +2 -11
  279. package/dist/dimensional/curvature-invariants.d.ts.map +1 -1
  280. package/dist/dimensional/curvature-invariants.js.map +1 -1
  281. package/dist/dimensional/curvature.d.ts +5 -24
  282. package/dist/dimensional/curvature.d.ts.map +1 -1
  283. package/dist/dimensional/curvature.js.map +1 -1
  284. package/dist/dimensional/dimension-inference.d.ts.map +1 -1
  285. package/dist/dimensional/dimension-inference.js +11 -5
  286. package/dist/dimensional/dimension-inference.js.map +1 -1
  287. package/dist/dimensional/einstein-equation.d.ts +2 -11
  288. package/dist/dimensional/einstein-equation.d.ts.map +1 -1
  289. package/dist/dimensional/einstein-equation.js.map +1 -1
  290. package/dist/dimensional/killing-validators.d.ts +2 -19
  291. package/dist/dimensional/killing-validators.d.ts.map +1 -1
  292. package/dist/dimensional/killing-validators.js.map +1 -1
  293. package/dist/dimensional/metric-validators.d.ts +5 -39
  294. package/dist/dimensional/metric-validators.d.ts.map +1 -1
  295. package/dist/dimensional/metric-validators.js.map +1 -1
  296. package/dist/dimensional/stress-energy-validators.d.ts +2 -21
  297. package/dist/dimensional/stress-energy-validators.d.ts.map +1 -1
  298. package/dist/dimensional/stress-energy-validators.js.map +1 -1
  299. package/dist/dimensional/tensor.d.ts +2 -32
  300. package/dist/dimensional/tensor.d.ts.map +1 -1
  301. package/dist/dimensional/tensor.js.map +1 -1
  302. package/dist/dimensional/validator.d.ts +12 -58
  303. package/dist/dimensional/validator.d.ts.map +1 -1
  304. package/dist/dimensional/validator.js +12 -9
  305. package/dist/dimensional/validator.js.map +1 -1
  306. package/dist/dimensional/weyl-validators.d.ts +2 -18
  307. package/dist/dimensional/weyl-validators.d.ts.map +1 -1
  308. package/dist/dimensional/weyl-validators.js.map +1 -1
  309. package/dist/index.d.ts +2 -0
  310. package/dist/index.d.ts.map +1 -1
  311. package/dist/index.js +2 -0
  312. package/dist/index.js.map +1 -1
  313. package/dist/numerical/be37-covariant-eikonal.d.ts +12 -11
  314. package/dist/numerical/be37-covariant-eikonal.d.ts.map +1 -1
  315. package/dist/numerical/be37-covariant-eikonal.js +23 -8
  316. package/dist/numerical/be37-covariant-eikonal.js.map +1 -1
  317. package/dist/numerical/christoffel-flat.d.ts +10 -1
  318. package/dist/numerical/christoffel-flat.d.ts.map +1 -1
  319. package/dist/numerical/christoffel-flat.js +11 -2
  320. package/dist/numerical/christoffel-flat.js.map +1 -1
  321. package/dist/numerical/curvature-lowering-helpers.d.ts +4 -1
  322. package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
  323. package/dist/numerical/curvature-lowering-helpers.js +72 -14
  324. package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
  325. package/dist/numerical/engine-registry.d.ts.map +1 -1
  326. package/dist/numerical/engine-registry.js +11 -0
  327. package/dist/numerical/engine-registry.js.map +1 -1
  328. package/dist/numerical/float64-engine.d.ts.map +1 -1
  329. package/dist/numerical/float64-engine.js +20 -28
  330. package/dist/numerical/float64-engine.js.map +1 -1
  331. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  332. package/dist/numerical/formula-dimension.js +1 -1
  333. package/dist/numerical/formula-dimension.js.map +1 -1
  334. package/dist/numerical/formula.d.ts +0 -2
  335. package/dist/numerical/formula.d.ts.map +1 -1
  336. package/dist/numerical/formula.js +7 -3
  337. package/dist/numerical/formula.js.map +1 -1
  338. package/dist/numerical/geodesic-integrator.d.ts +6 -1
  339. package/dist/numerical/geodesic-integrator.d.ts.map +1 -1
  340. package/dist/numerical/geodesic-integrator.js +14 -6
  341. package/dist/numerical/geodesic-integrator.js.map +1 -1
  342. package/dist/numerical/gl4-integrator.d.ts.map +1 -1
  343. package/dist/numerical/gl4-integrator.js +106 -43
  344. package/dist/numerical/gl4-integrator.js.map +1 -1
  345. package/dist/numerical/lowering.d.ts.map +1 -1
  346. package/dist/numerical/lowering.js +8 -5
  347. package/dist/numerical/lowering.js.map +1 -1
  348. package/dist/numerical/null-ic.d.ts +4 -3
  349. package/dist/numerical/null-ic.d.ts.map +1 -1
  350. package/dist/numerical/null-ic.js +4 -3
  351. package/dist/numerical/null-ic.js.map +1 -1
  352. package/dist/numerical/perihelion-finder.d.ts.map +1 -1
  353. package/dist/numerical/perihelion-finder.js +15 -1
  354. package/dist/numerical/perihelion-finder.js.map +1 -1
  355. package/dist/numerical/quadrature.d.ts +3 -2
  356. package/dist/numerical/quadrature.d.ts.map +1 -1
  357. package/dist/numerical/quadrature.js +8 -1
  358. package/dist/numerical/quadrature.js.map +1 -1
  359. package/dist/numerical/weyl-lowering.d.ts.map +1 -1
  360. package/dist/numerical/weyl-lowering.js +28 -2
  361. package/dist/numerical/weyl-lowering.js.map +1 -1
  362. package/package.json +3 -2
  363. package/dist/canonical/entries/l1-gravity-thermo.d.ts +0 -12
  364. package/dist/canonical/entries/l1-gravity-thermo.d.ts.map +0 -1
  365. package/dist/canonical/entries/l1-gravity-thermo.js +0 -165
  366. package/dist/canonical/entries/l1-gravity-thermo.js.map +0 -1
  367. package/dist/canonical/entries/l1-quantum-em.d.ts +0 -10
  368. package/dist/canonical/entries/l1-quantum-em.d.ts.map +0 -1
  369. package/dist/canonical/entries/l1-quantum-em.js +0 -141
  370. package/dist/canonical/entries/l1-quantum-em.js.map +0 -1
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Command registry + the `Command`/`CommandCtx` contract for the UPT CLI.
3
+ *
4
+ * A `Command` is a self-contained verb handler: its own flag specs, its own
5
+ * help block, and a `run` that receives an injected `CommandCtx` (never
6
+ * reaches for `process.stdout`/`process.argv` itself, so it is trivially
7
+ * testable in-process). `main.ts` owns dispatch (`runCli`); this module only
8
+ * owns the registry those commands plug into — new commands register
9
+ * themselves (typically from their own module's top-level side effect, or
10
+ * from a barrel later tasks import) without `runCli`'s body ever changing.
11
+ */
12
+ import type { ParsedArgs, FlagSpec } from './args.js';
13
+ import type * as cliApi from '../cli-api.js';
14
+ export interface CommandCtx {
15
+ args: ParsedArgs;
16
+ api: typeof cliApi;
17
+ out: (line?: string) => void;
18
+ err: (line?: string) => void;
19
+ write: (s: string) => void;
20
+ }
21
+ export interface Command {
22
+ name: string;
23
+ aliases: string[];
24
+ flags: FlagSpec[];
25
+ help: string;
26
+ run(ctx: CommandCtx): Promise<number>;
27
+ }
28
+ /** Register a command under its name and every alias. Later registrations for
29
+ * an already-taken name/alias overwrite the earlier one (keeps this usable
30
+ * from tests that re-register a stub across cases). */
31
+ export declare function registerCommand(command: Command): void;
32
+ /** Look up a command by its primary name or any alias. */
33
+ export declare function resolveCommand(nameOrAlias: string): Command | undefined;
34
+ /** All distinct registered commands (de-duplicated across aliases), in
35
+ * first-registration order. */
36
+ export declare function allCommands(): Command[];
37
+ /** Test-only registration hook. Same behavior as `registerCommand` — kept as
38
+ * a distinct, deliberately-unexciting name so it reads as test scaffolding
39
+ * (not part of the CLI's own porting surface) at call sites in
40
+ * `tests/cli/*.test.ts`. Not re-exported from `cli-api.ts` or `index.ts`. */
41
+ export declare function registerForTest(command: Command): void;
42
+ /** Test-only reset hook: clears every registered command (including
43
+ * aliases). Lets test files register stub commands without leaking them
44
+ * across files that share the module registry within a single worker. */
45
+ export declare function clearRegistryForTest(): void;
46
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/cli/command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,OAAO,MAAM,CAAC;IACnB,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvC;AAID;;uDAEuD;AACvD,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAGtD;AAED,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEvE;AAED;+BAC+B;AAC/B,wBAAgB,WAAW,IAAI,OAAO,EAAE,CASvC;AAED;;;6EAG6E;AAC7E,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEtD;AAED;;yEAEyE;AACzE,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Command registry + the `Command`/`CommandCtx` contract for the UPT CLI.
3
+ *
4
+ * A `Command` is a self-contained verb handler: its own flag specs, its own
5
+ * help block, and a `run` that receives an injected `CommandCtx` (never
6
+ * reaches for `process.stdout`/`process.argv` itself, so it is trivially
7
+ * testable in-process). `main.ts` owns dispatch (`runCli`); this module only
8
+ * owns the registry those commands plug into — new commands register
9
+ * themselves (typically from their own module's top-level side effect, or
10
+ * from a barrel later tasks import) without `runCli`'s body ever changing.
11
+ */
12
+ const registry = new Map();
13
+ /** Register a command under its name and every alias. Later registrations for
14
+ * an already-taken name/alias overwrite the earlier one (keeps this usable
15
+ * from tests that re-register a stub across cases). */
16
+ export function registerCommand(command) {
17
+ registry.set(command.name, command);
18
+ for (const alias of command.aliases)
19
+ registry.set(alias, command);
20
+ }
21
+ /** Look up a command by its primary name or any alias. */
22
+ export function resolveCommand(nameOrAlias) {
23
+ return registry.get(nameOrAlias);
24
+ }
25
+ /** All distinct registered commands (de-duplicated across aliases), in
26
+ * first-registration order. */
27
+ export function allCommands() {
28
+ const seen = new Set();
29
+ const out = [];
30
+ for (const command of registry.values()) {
31
+ if (seen.has(command))
32
+ continue;
33
+ seen.add(command);
34
+ out.push(command);
35
+ }
36
+ return out;
37
+ }
38
+ /** Test-only registration hook. Same behavior as `registerCommand` — kept as
39
+ * a distinct, deliberately-unexciting name so it reads as test scaffolding
40
+ * (not part of the CLI's own porting surface) at call sites in
41
+ * `tests/cli/*.test.ts`. Not re-exported from `cli-api.ts` or `index.ts`. */
42
+ export function registerForTest(command) {
43
+ registerCommand(command);
44
+ }
45
+ /** Test-only reset hook: clears every registered command (including
46
+ * aliases). Lets test files register stub commands without leaking them
47
+ * across files that share the module registry within a single worker. */
48
+ export function clearRegistryForTest() {
49
+ registry.clear();
50
+ }
51
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/cli/command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAqBH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;AAE5C;;uDAEuD;AACvD,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO;QAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,OAAO,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACnC,CAAC;AAED;+BAC+B;AAC/B,MAAM,UAAU,WAAW;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAW,CAAC;IAChC,MAAM,GAAG,GAAc,EAAE,CAAC;IAC1B,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAS;QAChC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;6EAG6E;AAC7E,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,eAAe,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED;;yEAEyE;AACzE,MAAM,UAAU,oBAAoB;IAClC,QAAQ,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Shared `--max-orders`/`--anchor` parsing — used by both `discover` and
3
+ * `map`'s `--proposed` overlay. In the old CLI, `map`'s `proposedJunctions`
4
+ * passed the raw args straight through `parseDiscoveryOpts` (bin/upt.mjs line
5
+ * 392), so `map --proposed --max-orders=N` genuinely tuned the proposed
6
+ * overlay — the two commands share this validation, not just the shape.
7
+ *
8
+ * Transposed verbatim from bin/upt.mjs's `parseDiscoveryOpts()` (lines
9
+ * 596-632). The two error messages are pinned byte-exact by
10
+ * `tests/cli/upt-discover-opts.test.ts` (which drives the OLD bin, still
11
+ * green and untouched) — do not reword them.
12
+ */
13
+ import type { ParsedArgs } from '../args.js';
14
+ import type { DiscoveryOptions } from '../../composition/discovery.js';
15
+ export declare function parseDiscoveryOpts(flags: ParsedArgs['flags']): DiscoveryOptions;
16
+ //# sourceMappingURL=_discovery-opts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_discovery-opts.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/_discovery-opts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAgC/E"}
@@ -0,0 +1,33 @@
1
+ import { UsageError } from '../errors.js';
2
+ export function parseDiscoveryOpts(flags) {
3
+ const opts = {};
4
+ const moValues = flags.get('max-orders');
5
+ if (moValues && moValues.length > 0) {
6
+ const raw = moValues[moValues.length - 1];
7
+ const n = Number(raw);
8
+ // Reject rather than silently ignore: an empty value coerces to 0 (every
9
+ // pair would clash), a non-numeric one to NaN, and a negative threshold is
10
+ // meaningless.
11
+ if (raw === '' || !Number.isFinite(n) || n < 0) {
12
+ throw new UsageError(`upt: --max-orders must be a non-negative finite number, got "${raw}".`);
13
+ }
14
+ opts.maxOrdersOfMagnitude = n;
15
+ }
16
+ const gt = {};
17
+ for (const x of flags.get('anchor') ?? []) {
18
+ for (const pair of x.split(',')) {
19
+ const eq = pair.indexOf('=');
20
+ const k = eq >= 0 ? pair.slice(0, eq) : pair;
21
+ const v = eq >= 0 ? pair.slice(eq + 1) : '';
22
+ const val = Number(v);
23
+ if (eq < 0 || !k || v === '' || !Number.isFinite(val)) {
24
+ throw new UsageError(`upt: --anchor expects k=v with a finite numeric value, got "${pair}".`);
25
+ }
26
+ gt[k] = val;
27
+ }
28
+ }
29
+ if (Object.keys(gt).length)
30
+ opts.groundTruth = gt;
31
+ return opts;
32
+ }
33
+ //# sourceMappingURL=_discovery-opts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_discovery-opts.js","sourceRoot":"","sources":["../../../src/cli/commands/_discovery-opts.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,MAAM,UAAU,kBAAkB,CAAC,KAA0B;IAC3D,MAAM,IAAI,GAA4E,EAAE,CAAC;IAEzF,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,yEAAyE;QACzE,2EAA2E;QAC3E,eAAe;QACf,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,UAAU,CAAC,gEAAgE,GAAG,IAAI,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,EAAE,GAA2B,EAAE,CAAC;IACtC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7C,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,UAAU,CAAC,+DAA+D,IAAI,IAAI,CAAC,CAAC;YAChG,CAAC;YACD,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACd,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM;QAAE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IAElD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Command } from '../command.js';
2
+ export declare const command: Command;
3
+ //# sourceMappingURL=audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"AAOA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAqE/E,eAAO,MAAM,OAAO,EAAE,OAMrB,CAAC"}
@@ -0,0 +1,71 @@
1
+ import { registerCommand } from '../command.js';
2
+ import { resolveGraph } from '../graphs.js';
3
+ import { emitJson } from '../output.js';
4
+ const FLAGS = [
5
+ { name: '--source', valueStyle: 'attached' },
6
+ { name: '--json', valueStyle: 'none' },
7
+ ];
8
+ const HELP = `upt audit
9
+ Try to derive every built-in bridge equation by dimensions: which
10
+ re-derive as a recognized monomial (with the prefactor recovered),
11
+ which are decoys, which are dimensionally open.`;
12
+ async function run(ctx) {
13
+ const { args, api, out } = ctx;
14
+ const { graph, source } = resolveGraph(api, args.flags);
15
+ const derived = [];
16
+ const decoy = [];
17
+ const open = [];
18
+ for (const e of graph) {
19
+ const d = api.attemptDerivation(e);
20
+ const c = api.dimensionalFreedom(e);
21
+ if (d.status === 'derived')
22
+ derived.push({ e, d, c });
23
+ else if (d.status === 'decoy')
24
+ decoy.push({ e, c });
25
+ else
26
+ open.push({ e, c });
27
+ }
28
+ if (args.flags.has('json')) {
29
+ const openSorted = [...open].sort((a, b) => a.c - b.c);
30
+ emitJson({
31
+ command: 'audit',
32
+ source,
33
+ result: {
34
+ derived: derived.map(({ e, d, c }) => ({
35
+ id: e.id,
36
+ subset: d.subset,
37
+ prefactor: d.prefactor,
38
+ cleanPrefactor: d.cleanPrefactor,
39
+ complexity: c,
40
+ })),
41
+ decoy: decoy.map(({ e, c }) => ({ id: e.id, complexity: c })),
42
+ open: openSorted.map(({ e, c }) => ({ id: e.id, complexity: c })),
43
+ },
44
+ }, ctx.write);
45
+ return 0;
46
+ }
47
+ out('\nDeriving the bridge equations by dimensions');
48
+ out('(form by dimensions; the constant is recovered by matching the evaluator)\n');
49
+ out(` DERIVED (${derived.length}) — recognized monomial, prefactor recovered:`);
50
+ for (const { e, d } of derived) {
51
+ const tag = d.cleanPrefactor ? '' : ' (empirical/tuned constant)';
52
+ out(` ${e.id.padEnd(22)} +[${(d.subset || []).join(',')}] ×${d.prefactor.toExponential(3)}${tag}`);
53
+ }
54
+ out(`\n DECOY (${decoy.length}) — dimensionally valid but wrong form:`);
55
+ out(' ' + decoy.map((x) => x.e.id).join(', '));
56
+ out(`\n OPEN (${open.length}) — irreducible free dimensionless group(s); by complexity:`);
57
+ for (const { e, c } of [...open].sort((a, b) => a.c - b.c)) {
58
+ out(` cplx=${c} ${e.id}`);
59
+ }
60
+ out('\n (derivability is ORTHOGONAL to credibility — see the priority command)');
61
+ return 0;
62
+ }
63
+ export const command = {
64
+ name: 'audit',
65
+ aliases: [],
66
+ flags: FLAGS,
67
+ help: HELP,
68
+ run,
69
+ };
70
+ registerCommand(command);
71
+ //# sourceMappingURL=audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,KAAK,GAAe;IACxB,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE;IAC5C,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE;CACvC,CAAC;AAEF,MAAM,IAAI,GAAG;;;wDAG2C,CAAC;AAEzD,KAAK,UAAU,GAAG,CAAC,GAAe;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAExD,MAAM,OAAO,GAAiG,EAAE,CAAC;IACjH,MAAM,KAAK,GAAoD,EAAE,CAAC;IAClE,MAAM,IAAI,GAAoD,EAAE,CAAC;IACjE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACjD,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;YAC/C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,QAAQ,CACN;YACE,OAAO,EAAE,OAAO;YAChB,MAAM;YACN,MAAM,EAAE;gBACN,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACrC,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,cAAc,EAAE,CAAC,CAAC,cAAc;oBAChC,UAAU,EAAE,CAAC;iBACd,CAAC,CAAC;gBACH,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC7D,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;aAClE;SACF,EACD,GAAG,CAAC,KAAK,CACV,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,GAAG,CAAC,+CAA+C,CAAC,CAAC;IACrD,GAAG,CAAC,6EAA6E,CAAC,CAAC;IACnF,GAAG,CAAC,cAAc,OAAO,CAAC,MAAM,+CAA+C,CAAC,CAAC;IACjF,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,8BAA8B,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,SAAU,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAC1G,CAAC;IACD,GAAG,CAAC,cAAc,KAAK,CAAC,MAAM,yCAAyC,CAAC,CAAC;IACzE,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,6DAA6D,CAAC,CAAC;IAC3F,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,GAAG,CAAC,4EAA4E,CAAC,CAAC;IAClF,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAY;IAC9B,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,IAAI;IACV,GAAG;CACJ,CAAC;AAEF,eAAe,CAAC,OAAO,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Command } from '../command.js';
2
+ export declare const command: Command;
3
+ //# sourceMappingURL=candidates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candidates.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/candidates.ts"],"names":[],"mappings":"AAOA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AA4C/E,eAAO,MAAM,OAAO,EAAE,OAMrB,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { registerCommand } from '../command.js';
2
+ import { resolveGraph } from '../graphs.js';
3
+ import { emitJson } from '../output.js';
4
+ const FLAGS = [
5
+ { name: '--source', valueStyle: 'attached' },
6
+ { name: '--json', valueStyle: 'none' },
7
+ ];
8
+ const HELP = `upt candidates [--source=catalog|canonical|both]
9
+ Propose candidate cross-cluster links (quantities of the same
10
+ dimension in different clusters) for PHYSICIST REVIEW — a
11
+ coincidence-heavy surface, not discovered bridges.`;
12
+ const EPISTEMICS = '⚠ a coincidence-heavy REVIEW SURFACE, NOT discovered bridges. Same dimension is a\n' +
13
+ ' weak signal; each needs a physicist to accept or (far more often) reject.';
14
+ async function run(ctx) {
15
+ const { args, api, out } = ctx;
16
+ const { graph, label, source } = resolveGraph(api, args.flags);
17
+ const cands = api.proposeLinkCandidates(graph);
18
+ if (args.flags.has('json')) {
19
+ emitJson({ command: 'candidates', source, epistemics: EPISTEMICS, result: cands }, ctx.write);
20
+ return 0;
21
+ }
22
+ const core = cands.filter((c) => c.touchesCore);
23
+ const ck = cands.filter((c) => c.touchesCore && c.sameKind);
24
+ out(`\nLink candidates — cross-cluster quantities sharing a dimension [source: ${label}]`);
25
+ out('⚠ a coincidence-heavy REVIEW SURFACE, NOT discovered bridges. Same dimension is a');
26
+ out(' weak signal; each needs a physicist to accept or (far more often) reject.\n');
27
+ out(` funnel: ${cands.length} total → ${core.length} touch the anchored core → ${ck.length} also same-kind\n`);
28
+ out(' same-kind + core-touching (the least-implausible set):');
29
+ for (const c of ck)
30
+ out(` ${(c.a + ' ≟ ' + c.b).padEnd(56)} [${c.sharedToken}]`);
31
+ out('\n Most are still coincidences (decoherence-rate ≟ hubble-rate) or pairs the catalog');
32
+ out(' deliberately keeps distinct (effective-mass ≠ mass). The genuinely motivated few —');
33
+ out(' e.g. coarsening-length ≟ quantum-correlation-length (links the isolated Model-A');
34
+ out(' coarsening bridge to the Kibble-Zurek criticality cluster) — are written up in');
35
+ out(' docs/research/Linkage-Candidate-Proposals.md.');
36
+ return 0;
37
+ }
38
+ export const command = {
39
+ name: 'candidates',
40
+ aliases: ['propose'],
41
+ flags: FLAGS,
42
+ help: HELP,
43
+ run,
44
+ };
45
+ registerCommand(command);
46
+ //# sourceMappingURL=candidates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candidates.js","sourceRoot":"","sources":["../../../src/cli/commands/candidates.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,KAAK,GAAe;IACxB,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE;IAC5C,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE;CACvC,CAAC;AAEF,MAAM,IAAI,GAAG;;;2DAG8C,CAAC;AAE5D,MAAM,UAAU,GACd,qFAAqF;IACrF,6EAA6E,CAAC;AAEhF,KAAK,UAAU,GAAG,CAAC,GAAe;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAE/C,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,QAAQ,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9F,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5D,GAAG,CAAC,8EAA8E,KAAK,GAAG,CAAC,CAAC;IAC5F,GAAG,CAAC,mFAAmF,CAAC,CAAC;IACzF,GAAG,CAAC,+EAA+E,CAAC,CAAC;IACrF,GAAG,CAAC,cAAc,KAAK,CAAC,MAAM,cAAc,IAAI,CAAC,MAAM,gCAAgC,EAAE,CAAC,MAAM,mBAAmB,CAAC,CAAC;IACrH,GAAG,CAAC,0DAA0D,CAAC,CAAC;IAChE,KAAK,MAAM,CAAC,IAAI,EAAE;QAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC;IACpF,GAAG,CAAC,uFAAuF,CAAC,CAAC;IAC7F,GAAG,CAAC,sFAAsF,CAAC,CAAC;IAC5F,GAAG,CAAC,mFAAmF,CAAC,CAAC;IACzF,GAAG,CAAC,kFAAkF,CAAC,CAAC;IACxF,GAAG,CAAC,iDAAiD,CAAC,CAAC;IACvD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAY;IAC9B,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,IAAI;IACV,GAAG;CACJ,CAAC;AAEF,eAAe,CAAC,OAAO,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Command } from '../command.js';
2
+ export declare const command: Command;
3
+ //# sourceMappingURL=canonical.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/canonical.ts"],"names":[],"mappings":"AAMA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAmC/E,eAAO,MAAM,OAAO,EAAE,OAMrB,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { registerCommand } from '../command.js';
2
+ import { emitJson } from '../output.js';
3
+ const FLAGS = [{ name: '--json', valueStyle: 'none' }];
4
+ const HELP = `upt canonical
5
+ List the canonical-equation registry — the standard-physics L-layer
6
+ (textbook "answer key") with each entry's fidelity (L0/L1/L2),
7
+ domain, and bridge partners, plus the coverage gap.`;
8
+ async function run(ctx) {
9
+ const { args, api, out } = ctx;
10
+ const entries = api.CANONICAL_EQUATIONS;
11
+ const gap = api.bridgesWithoutCanonicalPartner();
12
+ if (args.flags.has('json')) {
13
+ emitJson({ command: 'canonical', result: { entries, gap } }, ctx.write);
14
+ return 0;
15
+ }
16
+ const fidelity = (e) => (e.fieldEquation ? 'L2' : e.scalarAst ? 'L1' : 'L0');
17
+ out('\nCanonical-equation registry — the standard-physics L-layer (Π = L + B + E)');
18
+ out('the textbook "answer key" bridge equations are validated against.\n');
19
+ out(` ${entries.length} entries:\n`);
20
+ out(' fid domain id partners');
21
+ out(' ─────────────────────────────────────────────────────────────────');
22
+ for (const e of entries) {
23
+ const partners = [...e.partnerBridges, ...(e.restatesBridge ? [`=${e.restatesBridge}`] : [])].join(',') || '—';
24
+ out(` ${fidelity(e).padEnd(3)} ${e.domain.padEnd(19)} ${e.id.padEnd(24)} ${partners}`);
25
+ }
26
+ out(`\n coverage: ${gap.length} catalog bridges have no canonical partner yet`);
27
+ out(' (fidelity: L0 dimensional · L1 scalar-AST · L2 field-equation; "=NN" = restatesBridge)');
28
+ return 0;
29
+ }
30
+ export const command = {
31
+ name: 'canonical',
32
+ aliases: ['laws'],
33
+ flags: FLAGS,
34
+ help: HELP,
35
+ run,
36
+ };
37
+ registerCommand(command);
38
+ //# sourceMappingURL=canonical.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical.js","sourceRoot":"","sources":["../../../src/cli/commands/canonical.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,KAAK,GAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAEnE,MAAM,IAAI,GAAG;;;4DAG+C,CAAC;AAE7D,KAAK,UAAU,GAAG,CAAC,GAAe;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,mBAAmB,CAAC;IACxC,MAAM,GAAG,GAAG,GAAG,CAAC,8BAA8B,EAAE,CAAC;IAEjD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,QAAQ,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACxE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,CAA2B,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvG,GAAG,CAAC,8EAA8E,CAAC,CAAC;IACpF,GAAG,CAAC,qEAAqE,CAAC,CAAC;IAC3E,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,aAAa,CAAC,CAAC;IACtC,GAAG,CAAC,gEAAgE,CAAC,CAAC;IACtE,GAAG,CAAC,sEAAsE,CAAC,CAAC;IAC5E,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;QAC/G,GAAG,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,GAAG,CAAC,iBAAiB,GAAG,CAAC,MAAM,gDAAgD,CAAC,CAAC;IACjF,GAAG,CAAC,0FAA0F,CAAC,CAAC;IAChG,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAY;IAC9B,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,CAAC,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,IAAI;IACV,GAAG;CACJ,CAAC;AAEF,eAAe,CAAC,OAAO,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Command } from '../command.js';
2
+ export declare const command: Command;
3
+ //# sourceMappingURL=connectors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/connectors.ts"],"names":[],"mappings":"AAQA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAoD/E,eAAO,MAAM,OAAO,EAAE,OAMrB,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { registerCommand } from '../command.js';
2
+ import { resolveGraph } from '../graphs.js';
3
+ import { emitJson } from '../output.js';
4
+ const FLAGS = [
5
+ { name: '--source', valueStyle: 'attached' },
6
+ { name: '--json', valueStyle: 'none' },
7
+ ];
8
+ const HELP = `upt connectors
9
+ Of the 20 ISOLATED bridges, which could connect to the anchored
10
+ core via a same-dimension identification? The structural frontier —
11
+ same-kind connectors are the motivated set for physicist review.`;
12
+ const EPISTEMICS = '⚠ A REVIEW SURFACE: same dimension is a WEAK prior; most are decoys (a Förster\n' +
13
+ ' radius is not a Schwarzschild radius). Same-kind (shared name token) = stronger.';
14
+ async function run(ctx) {
15
+ const { args, api, out } = ctx;
16
+ const { graph, source } = resolveGraph(api, args.flags);
17
+ const r = api.proposeOrphanConnectors(graph);
18
+ if (args.flags.has('json')) {
19
+ emitJson({ command: 'connectors', source, epistemics: EPISTEMICS, result: r }, ctx.write);
20
+ return 0;
21
+ }
22
+ out('\nOrphan connectors — same-dimension identifications that would pull an ISOLATED');
23
+ out("bridge into the anchored core (the catalog's structural frontier).");
24
+ out('⚠ A REVIEW SURFACE: same dimension is a WEAK prior; most are decoys (a Förster');
25
+ out(' radius is not a Schwarzschild radius). Same-kind (shared name token) = stronger.\n');
26
+ out(` ${r.connectedOrphans.length} of the isolated bridges have a same-kind connector; ` +
27
+ `${r.unconnectedOrphans.length} are truly unconnected.\n`);
28
+ out(' SAME-KIND connectors (the motivated set — orphan ≟ core via shared token):');
29
+ let lastOrphan = '';
30
+ for (const c of r.connectors.filter((x) => x.sameKind)) {
31
+ if (c.orphanEdge !== lastOrphan) {
32
+ out(` ── ${c.orphanEdge} (isolated):`);
33
+ lastOrphan = c.orphanEdge;
34
+ }
35
+ out(` ${(c.orphanQuantity + ' ≟ ' + c.coreQuantity).padEnd(54)} [${c.dim}] → ${c.coreEdge}`);
36
+ }
37
+ out(`\n truly unconnected (no same-dimension bridge into them): ${r.unconnectedOrphans.join(', ')}`);
38
+ out('\n Physicist-reasoned ranking + the genuinely-motivated few (e.g. coarsening-length ≟');
39
+ out(' quantum-correlation-length; tunneling-mass ≟ effective-mass) are written up in');
40
+ out(' docs/research/Orphan-Connector-Analysis.md and proposed in spec Part-IX §9.');
41
+ return 0;
42
+ }
43
+ export const command = {
44
+ name: 'connectors',
45
+ aliases: ['orphans'],
46
+ flags: FLAGS,
47
+ help: HELP,
48
+ run,
49
+ };
50
+ registerCommand(command);
51
+ //# sourceMappingURL=connectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectors.js","sourceRoot":"","sources":["../../../src/cli/commands/connectors.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,KAAK,GAAe;IACxB,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE;IAC5C,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE;CACvC,CAAC;AAEF,MAAM,IAAI,GAAG;;;yEAG4D,CAAC;AAE1E,MAAM,UAAU,GACd,kFAAkF;IAClF,oFAAoF,CAAC;AAEvF,KAAK,UAAU,GAAG,CAAC,GAAe;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,GAAG,GAAG,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAE7C,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,QAAQ,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1F,OAAO,CAAC,CAAC;IACX,CAAC;IAED,GAAG,CAAC,kFAAkF,CAAC,CAAC;IACxF,GAAG,CAAC,oEAAoE,CAAC,CAAC;IAC1E,GAAG,CAAC,gFAAgF,CAAC,CAAC;IACtF,GAAG,CAAC,sFAAsF,CAAC,CAAC;IAC5F,GAAG,CACD,KAAK,CAAC,CAAC,gBAAgB,CAAC,MAAM,uDAAuD;QACnF,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,2BAA2B,CAC5D,CAAC;IACF,GAAG,CAAC,8EAA8E,CAAC,CAAC;IACpF,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YAChC,GAAG,CAAC,UAAU,CAAC,CAAC,UAAU,cAAc,CAAC,CAAC;YAC1C,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;QAC5B,CAAC;QACD,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,GAAG,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,GAAG,CAAC,+DAA+D,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtG,GAAG,CAAC,wFAAwF,CAAC,CAAC;IAC9F,GAAG,CAAC,kFAAkF,CAAC,CAAC;IACxF,GAAG,CAAC,+EAA+E,CAAC,CAAC;IACrF,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAY;IAC9B,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,IAAI;IACV,GAAG;CACJ,CAAC;AAEF,eAAe,CAAC,OAAO,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Command } from '../command.js';
2
+ export declare const command: Command;
3
+ //# sourceMappingURL=coverage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/coverage.ts"],"names":[],"mappings":"AAMA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAuC/E,eAAO,MAAM,OAAO,EAAE,OAMrB,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { registerCommand } from '../command.js';
2
+ import { emitJson } from '../output.js';
3
+ const FLAGS = [{ name: '--json', valueStyle: 'none' }];
4
+ const HELP = `upt coverage
5
+ Audit the catalog's empirical grounding — which bridges are
6
+ data-confronted vs graph-computable vs encoded-only vs thin — to
7
+ target the physicist review. Fabricates nothing.`;
8
+ const EPISTEMICS = '(reads the catalog/graph/confrontation modules; fabricates nothing)';
9
+ async function run(ctx) {
10
+ const { args, api, out } = ctx;
11
+ const r = api.auditCoverage();
12
+ if (args.flags.has('json')) {
13
+ emitJson({ command: 'coverage', epistemics: EPISTEMICS, result: r }, ctx.write);
14
+ return 0;
15
+ }
16
+ out("\nEmpirical-spine coverage — where the catalog's grounding is thin");
17
+ out(EPISTEMICS + '\n');
18
+ out(` ${r.total} bridges by grounding tier:`);
19
+ out(` data-confronted : ${r.byTier['data-confronted']} (real-data confrontation)`);
20
+ out(` graph-computable : ${r.byTier['graph-computable']} (graph edge + dimensional signature)`);
21
+ out(` encoded-only : ${r.byTier['encoded-only']} (dimensional signature, no graph edge)`);
22
+ out(` thin : ${r.byTier['thin']} (no dimensional signature)`);
23
+ out(`\n gaps: ${r.withoutDataConfrontation} without a data confrontation · ` +
24
+ `${r.withoutCitation} without any citation`);
25
+ if (r.thinBridges.length) {
26
+ out(` thinnest (no dimensional signature): BE-${r.thinBridges.join(', BE-')}`);
27
+ }
28
+ out('\n (a targeting tool for the CONTRIBUTING.md physicist review, not a quality score.)');
29
+ return 0;
30
+ }
31
+ export const command = {
32
+ name: 'coverage',
33
+ aliases: ['grounding'],
34
+ flags: FLAGS,
35
+ help: HELP,
36
+ run,
37
+ };
38
+ registerCommand(command);
39
+ //# sourceMappingURL=coverage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coverage.js","sourceRoot":"","sources":["../../../src/cli/commands/coverage.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,KAAK,GAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAEnE,MAAM,IAAI,GAAG;;;yDAG4C,CAAC;AAE1D,MAAM,UAAU,GAAG,qEAAqE,CAAC;AAEzF,KAAK,UAAU,GAAG,CAAC,GAAe;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAC/B,MAAM,CAAC,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;IAE9B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAChF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,GAAG,CAAC,oEAAoE,CAAC,CAAC;IAC1E,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACvB,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,6BAA6B,CAAC,CAAC;IAC/C,GAAG,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,CAAC;IACxF,GAAG,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,wCAAwC,CAAC,CAAC;IACpG,GAAG,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,0CAA0C,CAAC,CAAC;IAClG,GAAG,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC;IAC9E,GAAG,CACD,cAAc,CAAC,CAAC,wBAAwB,kCAAkC;QACxE,GAAG,CAAC,CAAC,eAAe,uBAAuB,CAC9C,CAAC;IACF,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QACzB,GAAG,CAAC,6CAA6C,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,GAAG,CAAC,uFAAuF,CAAC,CAAC;IAC7F,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAY;IAC9B,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,CAAC,WAAW,CAAC;IACtB,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,IAAI;IACV,GAAG;CACJ,CAAC;AAEF,eAAe,CAAC,OAAO,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Command } from '../command.js';
2
+ export declare const command: Command;
3
+ //# sourceMappingURL=derive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/derive.ts"],"names":[],"mappings":"AASA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AA0J/E,eAAO,MAAM,OAAO,EAAE,OAMrB,CAAC"}