universal-physics-tensor 8.0.0 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (916) hide show
  1. package/README.md +26 -21
  2. package/data/atlas/atlas.json +75 -64
  3. package/data/atlas/atlas.jsonld +1 -1
  4. package/data/atlas/diffusion.json +23 -22
  5. package/data/atlas/oscillators.json +21 -16
  6. package/data/atlas/waves.json +33 -28
  7. package/data/bridge-catalog.json +1356 -1791
  8. package/data/bridge-catalog.schema.json +789 -46
  9. package/data/quantities.json +280 -234
  10. package/data/quantities.schema.json +52 -0
  11. package/data/schemas/atlas-record.v0.json +184 -46
  12. package/data/units.json +1178 -0
  13. package/data/units.schema.json +124 -0
  14. package/dist/atlas/applicability.d.ts.map +1 -1
  15. package/dist/atlas/applicability.js +14 -3
  16. package/dist/atlas/applicability.js.map +1 -1
  17. package/dist/atlas/association.d.ts +1 -1
  18. package/dist/atlas/association.js.map +1 -1
  19. package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -1
  20. package/dist/atlas/benchmark/backend-shapes.js +5 -1
  21. package/dist/atlas/benchmark/backend-shapes.js.map +1 -1
  22. package/dist/atlas/benchmark/baselines.d.ts.map +1 -1
  23. package/dist/atlas/benchmark/baselines.js +8 -0
  24. package/dist/atlas/benchmark/baselines.js.map +1 -1
  25. package/dist/atlas/benchmark/hybrid-retrieval.d.ts +3 -2
  26. package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
  27. package/dist/atlas/benchmark/hybrid-retrieval.js +16 -12
  28. package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
  29. package/dist/atlas/benchmark/leakage.js.map +1 -1
  30. package/dist/atlas/benchmark/loader.js.map +1 -1
  31. package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -1
  32. package/dist/atlas/benchmark/run-atlas.js +14 -2
  33. package/dist/atlas/benchmark/run-atlas.js.map +1 -1
  34. package/dist/atlas/benchmark/stats.d.ts +1 -1
  35. package/dist/atlas/benchmark/stats.d.ts.map +1 -1
  36. package/dist/atlas/benchmark/stats.js +1 -1
  37. package/dist/atlas/benchmark/stats.js.map +1 -1
  38. package/dist/atlas/benchmark/study.js.map +1 -1
  39. package/dist/atlas/benchmark/types.js.map +1 -1
  40. package/dist/atlas/bridge-record.d.ts +4 -4
  41. package/dist/atlas/bridge-record.d.ts.map +1 -1
  42. package/dist/atlas/bridge-record.js +6 -6
  43. package/dist/atlas/bridge-record.js.map +1 -1
  44. package/dist/atlas/catalog-formal-ref.js.map +1 -1
  45. package/dist/atlas/chain-pipeline.d.ts +0 -11
  46. package/dist/atlas/chain-pipeline.d.ts.map +1 -1
  47. package/dist/atlas/chain-pipeline.js +5 -16
  48. package/dist/atlas/chain-pipeline.js.map +1 -1
  49. package/dist/atlas/composition-table.js.map +1 -1
  50. package/dist/atlas/conventions.js.map +1 -1
  51. package/dist/atlas/coverage.d.ts +2 -2
  52. package/dist/atlas/coverage.js.map +1 -1
  53. package/dist/atlas/derivation.js.map +1 -1
  54. package/dist/atlas/derive-evidence.d.ts +6 -4
  55. package/dist/atlas/derive-evidence.d.ts.map +1 -1
  56. package/dist/atlas/derive-evidence.js +7 -2
  57. package/dist/atlas/derive-evidence.js.map +1 -1
  58. package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
  59. package/dist/atlas/diffusion/bridges-closure.js +0 -5
  60. package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
  61. package/dist/atlas/diffusion/bridges.d.ts.map +1 -1
  62. package/dist/atlas/diffusion/bridges.js +0 -3
  63. package/dist/atlas/diffusion/bridges.js.map +1 -1
  64. package/dist/atlas/diffusion/dimensions.js.map +1 -1
  65. package/dist/atlas/diffusion/index.d.ts +1 -1
  66. package/dist/atlas/diffusion/index.d.ts.map +1 -1
  67. package/dist/atlas/diffusion/index.js.map +1 -1
  68. package/dist/atlas/diffusion/models.js.map +1 -1
  69. package/dist/atlas/diffusion/numerics.js.map +1 -1
  70. package/dist/atlas/error-algebra.d.ts +6 -0
  71. package/dist/atlas/error-algebra.d.ts.map +1 -1
  72. package/dist/atlas/error-algebra.js +26 -0
  73. package/dist/atlas/error-algebra.js.map +1 -1
  74. package/dist/atlas/export.d.ts +18 -2
  75. package/dist/atlas/export.d.ts.map +1 -1
  76. package/dist/atlas/export.js +9 -3
  77. package/dist/atlas/export.js.map +1 -1
  78. package/dist/atlas/families.d.ts +19 -2
  79. package/dist/atlas/families.d.ts.map +1 -1
  80. package/dist/atlas/families.js +26 -3
  81. package/dist/atlas/families.js.map +1 -1
  82. package/dist/atlas/family.d.ts +27 -0
  83. package/dist/atlas/family.d.ts.map +1 -0
  84. package/dist/atlas/family.js +12 -0
  85. package/dist/atlas/family.js.map +1 -0
  86. package/dist/atlas/index.d.ts +3 -2
  87. package/dist/atlas/index.d.ts.map +1 -1
  88. package/dist/atlas/index.js +2 -1
  89. package/dist/atlas/index.js.map +1 -1
  90. package/dist/atlas/link-prediction.d.ts +1 -1
  91. package/dist/atlas/link-prediction.d.ts.map +1 -1
  92. package/dist/atlas/link-prediction.js.map +1 -1
  93. package/dist/atlas/model.js.map +1 -1
  94. package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -1
  95. package/dist/atlas/oscillators/bridges-coarse.js +0 -1
  96. package/dist/atlas/oscillators/bridges-coarse.js.map +1 -1
  97. package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
  98. package/dist/atlas/oscillators/bridges-exact.js +0 -3
  99. package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
  100. package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
  101. package/dist/atlas/oscillators/bridges-limits.js +0 -2
  102. package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
  103. package/dist/atlas/oscillators/dimensions.js.map +1 -1
  104. package/dist/atlas/oscillators/index.d.ts +1 -16
  105. package/dist/atlas/oscillators/index.d.ts.map +1 -1
  106. package/dist/atlas/oscillators/index.js.map +1 -1
  107. package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
  108. package/dist/atlas/oscillators/models.js.map +1 -1
  109. package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -1
  110. package/dist/atlas/oscillators/norm-transport.js.map +1 -1
  111. package/dist/atlas/oscillators/norms.js.map +1 -1
  112. package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
  113. package/dist/atlas/oscillators/phase-carriage.js.map +1 -1
  114. package/dist/atlas/oscillators/phase-translation.js.map +1 -1
  115. package/dist/atlas/oscillators/position-translation.js.map +1 -1
  116. package/dist/atlas/oscillators/rejections.js.map +1 -1
  117. package/dist/atlas/path-bound.js.map +1 -1
  118. package/dist/atlas/physjs-entries.generated.d.ts +1601 -220
  119. package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
  120. package/dist/atlas/physjs-entries.generated.js +1854 -345
  121. package/dist/atlas/physjs-entries.generated.js.map +1 -1
  122. package/dist/atlas/physjs-ref.d.ts +151 -117
  123. package/dist/atlas/physjs-ref.d.ts.map +1 -1
  124. package/dist/atlas/physjs-ref.js +244 -211
  125. package/dist/atlas/physjs-ref.js.map +1 -1
  126. package/dist/atlas/physjs-reviewed.d.ts +31 -0
  127. package/dist/atlas/physjs-reviewed.d.ts.map +1 -0
  128. package/dist/atlas/physjs-reviewed.js +194 -0
  129. package/dist/atlas/physjs-reviewed.js.map +1 -0
  130. package/dist/atlas/poster/associations.js.map +1 -1
  131. package/dist/atlas/poster/derivations.js.map +1 -1
  132. package/dist/atlas/poster/statements.js.map +1 -1
  133. package/dist/atlas/proof-target.d.ts +16 -8
  134. package/dist/atlas/proof-target.d.ts.map +1 -1
  135. package/dist/atlas/proof-target.js +34 -31
  136. package/dist/atlas/proof-target.js.map +1 -1
  137. package/dist/atlas/public.d.ts +2 -1
  138. package/dist/atlas/public.d.ts.map +1 -1
  139. package/dist/atlas/public.js +2 -1
  140. package/dist/atlas/public.js.map +1 -1
  141. package/dist/atlas/regime.js.map +1 -1
  142. package/dist/atlas/serialize.d.ts +18 -12
  143. package/dist/atlas/serialize.d.ts.map +1 -1
  144. package/dist/atlas/serialize.js +28 -18
  145. package/dist/atlas/serialize.js.map +1 -1
  146. package/dist/atlas/statement.js.map +1 -1
  147. package/dist/atlas/translation-registry.js.map +1 -1
  148. package/dist/atlas/translation.js.map +1 -1
  149. package/dist/atlas/types.d.ts +9 -2
  150. package/dist/atlas/types.d.ts.map +1 -1
  151. package/dist/atlas/types.js +1 -1
  152. package/dist/atlas/types.js.map +1 -1
  153. package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
  154. package/dist/atlas/waves/bridges-closure.js +0 -3
  155. package/dist/atlas/waves/bridges-closure.js.map +1 -1
  156. package/dist/atlas/waves/bridges.d.ts.map +1 -1
  157. package/dist/atlas/waves/bridges.js +0 -4
  158. package/dist/atlas/waves/bridges.js.map +1 -1
  159. package/dist/atlas/waves/index.d.ts +1 -1
  160. package/dist/atlas/waves/index.d.ts.map +1 -1
  161. package/dist/atlas/waves/index.js.map +1 -1
  162. package/dist/atlas/waves/models.js.map +1 -1
  163. package/dist/atlas/waves/numerics.js.map +1 -1
  164. package/dist/atlas/witness-artifact.js.map +1 -1
  165. package/dist/atlas/witness-dominance.d.ts +4 -3
  166. package/dist/atlas/witness-dominance.d.ts.map +1 -1
  167. package/dist/atlas/witness-dominance.js +15 -5
  168. package/dist/atlas/witness-dominance.js.map +1 -1
  169. package/dist/atlas/witness-numeric.d.ts +8 -4
  170. package/dist/atlas/witness-numeric.d.ts.map +1 -1
  171. package/dist/atlas/witness-numeric.js +27 -2
  172. package/dist/atlas/witness-numeric.js.map +1 -1
  173. package/dist/atlas/witness-result.d.ts +7 -1
  174. package/dist/atlas/witness-result.d.ts.map +1 -1
  175. package/dist/atlas/witness-result.js.map +1 -1
  176. package/dist/atlas/witness-specs.js.map +1 -1
  177. package/dist/atlas/witness-symbolic.js.map +1 -1
  178. package/dist/atlas/witnesses/quantum-support.js.map +1 -1
  179. package/dist/bridges/caller-table.d.ts +1 -1
  180. package/dist/bridges/caller-table.d.ts.map +1 -1
  181. package/dist/bridges/caller-table.js.map +1 -1
  182. package/dist/bridges/carrier-sign.d.ts.map +1 -1
  183. package/dist/bridges/carrier-sign.js +8 -3
  184. package/dist/bridges/carrier-sign.js.map +1 -1
  185. package/dist/bridges/catalog-adapter.d.ts +12 -3
  186. package/dist/bridges/catalog-adapter.d.ts.map +1 -1
  187. package/dist/bridges/catalog-adapter.js +22 -14
  188. package/dist/bridges/catalog-adapter.js.map +1 -1
  189. package/dist/bridges/catalog-load.d.ts +19 -2
  190. package/dist/bridges/catalog-load.d.ts.map +1 -1
  191. package/dist/bridges/catalog-load.js +233 -14
  192. package/dist/bridges/catalog-load.js.map +1 -1
  193. package/dist/bridges/catalog-types.d.ts +96 -27
  194. package/dist/bridges/catalog-types.d.ts.map +1 -1
  195. package/dist/bridges/catalog-types.js.map +1 -1
  196. package/dist/bridges/coefficient-statement.js +1 -5
  197. package/dist/bridges/coefficient-statement.js.map +1 -1
  198. package/dist/bridges/confrontation-coverage.js.map +1 -1
  199. package/dist/bridges/confrontations.d.ts +1 -1
  200. package/dist/bridges/confrontations.d.ts.map +1 -1
  201. package/dist/bridges/confrontations.js +1 -1
  202. package/dist/bridges/confrontations.js.map +1 -1
  203. package/dist/bridges/evaluation-errors.d.ts +89 -0
  204. package/dist/bridges/evaluation-errors.d.ts.map +1 -0
  205. package/dist/bridges/evaluation-errors.js +136 -0
  206. package/dist/bridges/evaluation-errors.js.map +1 -0
  207. package/dist/bridges/evaluator-inputs.d.ts +5 -3
  208. package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
  209. package/dist/bridges/evaluator-inputs.js +24 -24
  210. package/dist/bridges/evaluator-inputs.js.map +1 -1
  211. package/dist/bridges/evaluators.d.ts +48 -8
  212. package/dist/bridges/evaluators.d.ts.map +1 -1
  213. package/dist/bridges/evaluators.js +173 -38
  214. package/dist/bridges/evaluators.js.map +1 -1
  215. package/dist/bridges/expr-parse.d.ts +38 -7
  216. package/dist/bridges/expr-parse.d.ts.map +1 -1
  217. package/dist/bridges/expr-parse.js +129 -156
  218. package/dist/bridges/expr-parse.js.map +1 -1
  219. package/dist/bridges/holds.d.ts +16 -8
  220. package/dist/bridges/holds.d.ts.map +1 -1
  221. package/dist/bridges/holds.js +130 -236
  222. package/dist/bridges/holds.js.map +1 -1
  223. package/dist/bridges/index.d.ts +15 -14
  224. package/dist/bridges/index.d.ts.map +1 -1
  225. package/dist/bridges/index.js +14 -15
  226. package/dist/bridges/index.js.map +1 -1
  227. package/dist/bridges/input-contract.d.ts +65 -0
  228. package/dist/bridges/input-contract.d.ts.map +1 -0
  229. package/dist/bridges/input-contract.js +97 -0
  230. package/dist/bridges/input-contract.js.map +1 -0
  231. package/dist/bridges/membership.d.ts +5 -3
  232. package/dist/bridges/membership.d.ts.map +1 -1
  233. package/dist/bridges/membership.js +5 -6
  234. package/dist/bridges/membership.js.map +1 -1
  235. package/dist/bridges/notices.d.ts +11 -0
  236. package/dist/bridges/notices.d.ts.map +1 -0
  237. package/dist/bridges/notices.js +22 -0
  238. package/dist/bridges/notices.js.map +1 -0
  239. package/dist/bridges/observations/types.js.map +1 -1
  240. package/dist/bridges/rejected.d.ts +11 -17
  241. package/dist/bridges/rejected.d.ts.map +1 -1
  242. package/dist/bridges/rejected.js +13 -68
  243. package/dist/bridges/rejected.js.map +1 -1
  244. package/dist/bridges/relation-eval.d.ts +5 -6
  245. package/dist/bridges/relation-eval.d.ts.map +1 -1
  246. package/dist/bridges/relation-eval.js +9 -38
  247. package/dist/bridges/relation-eval.js.map +1 -1
  248. package/dist/bridges/rhs-registry.js.map +1 -1
  249. package/dist/bridges/sensitivity.d.ts +11 -3
  250. package/dist/bridges/sensitivity.d.ts.map +1 -1
  251. package/dist/bridges/sensitivity.js +24 -10
  252. package/dist/bridges/sensitivity.js.map +1 -1
  253. package/dist/bridges/tensor-index.js.map +1 -1
  254. package/dist/bridges/types.d.ts +1 -7
  255. package/dist/bridges/types.d.ts.map +1 -1
  256. package/dist/bridges/types.js +1 -4
  257. package/dist/bridges/types.js.map +1 -1
  258. package/dist/canonical/canonical-equation.d.ts +31 -0
  259. package/dist/canonical/canonical-equation.d.ts.map +1 -1
  260. package/dist/canonical/canonical-equation.js.map +1 -1
  261. package/dist/canonical/dimensional-fields.js.map +1 -1
  262. package/dist/canonical/entries/_l1-build.js.map +1 -1
  263. package/dist/canonical/entries/atomic.d.ts.map +1 -1
  264. package/dist/canonical/entries/atomic.js +11 -1
  265. package/dist/canonical/entries/atomic.js.map +1 -1
  266. package/dist/canonical/entries/condensed-matter.d.ts.map +1 -1
  267. package/dist/canonical/entries/condensed-matter.js +7 -4
  268. package/dist/canonical/entries/condensed-matter.js.map +1 -1
  269. package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
  270. package/dist/canonical/entries/dimensional-classics.js +50 -2
  271. package/dist/canonical/entries/dimensional-classics.js.map +1 -1
  272. package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
  273. package/dist/canonical/entries/electromagnetism.js +32 -2
  274. package/dist/canonical/entries/electromagnetism.js.map +1 -1
  275. package/dist/canonical/entries/fluids-waves.d.ts.map +1 -1
  276. package/dist/canonical/entries/fluids-waves.js +34 -0
  277. package/dist/canonical/entries/fluids-waves.js.map +1 -1
  278. package/dist/canonical/entries/mechanics.d.ts.map +1 -1
  279. package/dist/canonical/entries/mechanics.js +24 -0
  280. package/dist/canonical/entries/mechanics.js.map +1 -1
  281. package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
  282. package/dist/canonical/entries/nonmonomial.js +42 -24
  283. package/dist/canonical/entries/nonmonomial.js.map +1 -1
  284. package/dist/canonical/entries/relativity.d.ts.map +1 -1
  285. package/dist/canonical/entries/relativity.js +6 -0
  286. package/dist/canonical/entries/relativity.js.map +1 -1
  287. package/dist/canonical/entries/statistical-mechanics.d.ts.map +1 -1
  288. package/dist/canonical/entries/statistical-mechanics.js +24 -5
  289. package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
  290. package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
  291. package/dist/canonical/entries/thermo-nuclear-cosmo.js +15 -0
  292. package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
  293. package/dist/canonical/linkage.d.ts +29 -4
  294. package/dist/canonical/linkage.d.ts.map +1 -1
  295. package/dist/canonical/linkage.js +31 -29
  296. package/dist/canonical/linkage.js.map +1 -1
  297. package/dist/canonical/normal-form.d.ts +0 -8
  298. package/dist/canonical/normal-form.d.ts.map +1 -1
  299. package/dist/canonical/normal-form.js +17 -12
  300. package/dist/canonical/normal-form.js.map +1 -1
  301. package/dist/canonical/registry.js.map +1 -1
  302. package/dist/canonical/residual.js.map +1 -1
  303. package/dist/canonical/seed-l-layer.d.ts +7 -1
  304. package/dist/canonical/seed-l-layer.d.ts.map +1 -1
  305. package/dist/canonical/seed-l-layer.js +7 -1
  306. package/dist/canonical/seed-l-layer.js.map +1 -1
  307. package/dist/canonical/structural.d.ts +21 -0
  308. package/dist/canonical/structural.d.ts.map +1 -1
  309. package/dist/canonical/structural.js +24 -4
  310. package/dist/canonical/structural.js.map +1 -1
  311. package/dist/cases/brownian-sphere.js +4 -4
  312. package/dist/cases/brownian-sphere.js.map +1 -1
  313. package/dist/cases/damped-resonator.js +2 -2
  314. package/dist/cases/damped-resonator.js.map +1 -1
  315. package/dist/cases/index.d.ts +9 -2
  316. package/dist/cases/index.d.ts.map +1 -1
  317. package/dist/cases/index.js +26 -7
  318. package/dist/cases/index.js.map +1 -1
  319. package/dist/cases/kepler-rv.js +6 -6
  320. package/dist/cases/kepler-rv.js.map +1 -1
  321. package/dist/cases/lumped-cooling.js +1 -1
  322. package/dist/cases/lumped-cooling.js.map +1 -1
  323. package/dist/cases/quadrature.js.map +1 -1
  324. package/dist/cases/resistor-noise.js +3 -3
  325. package/dist/cases/resistor-noise.js.map +1 -1
  326. package/dist/cases/skin-depth.js.map +1 -1
  327. package/dist/cases/types.js.map +1 -1
  328. package/dist/cli/args.d.ts +7 -2
  329. package/dist/cli/args.d.ts.map +1 -1
  330. package/dist/cli/args.js +18 -2
  331. package/dist/cli/args.js.map +1 -1
  332. package/dist/cli/bindings.d.ts +13 -0
  333. package/dist/cli/bindings.d.ts.map +1 -0
  334. package/dist/cli/bindings.js +32 -0
  335. package/dist/cli/bindings.js.map +1 -0
  336. package/dist/cli/closed-form-range.js.map +1 -1
  337. package/dist/cli/command.js.map +1 -1
  338. package/dist/cli/commands/_atlas-map.d.ts +3 -3
  339. package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
  340. package/dist/cli/commands/_atlas-map.js +43 -18
  341. package/dist/cli/commands/_atlas-map.js.map +1 -1
  342. package/dist/cli/commands/_atlas-route.js.map +1 -1
  343. package/dist/cli/commands/_discovery-opts.d.ts +2 -1
  344. package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
  345. package/dist/cli/commands/_discovery-opts.js +48 -18
  346. package/dist/cli/commands/_discovery-opts.js.map +1 -1
  347. package/dist/cli/commands/atlas.d.ts.map +1 -1
  348. package/dist/cli/commands/atlas.js +7 -12
  349. package/dist/cli/commands/atlas.js.map +1 -1
  350. package/dist/cli/commands/audit.d.ts.map +1 -1
  351. package/dist/cli/commands/audit.js +13 -21
  352. package/dist/cli/commands/audit.js.map +1 -1
  353. package/dist/cli/commands/axes.js.map +1 -1
  354. package/dist/cli/commands/candidates.d.ts.map +1 -1
  355. package/dist/cli/commands/candidates.js +16 -8
  356. package/dist/cli/commands/candidates.js.map +1 -1
  357. package/dist/cli/commands/canonical.js.map +1 -1
  358. package/dist/cli/commands/chain.js +1 -1
  359. package/dist/cli/commands/chain.js.map +1 -1
  360. package/dist/cli/commands/confront.d.ts.map +1 -1
  361. package/dist/cli/commands/confront.js +22 -14
  362. package/dist/cli/commands/confront.js.map +1 -1
  363. package/dist/cli/commands/connectors.d.ts.map +1 -1
  364. package/dist/cli/commands/connectors.js +8 -9
  365. package/dist/cli/commands/connectors.js.map +1 -1
  366. package/dist/cli/commands/coverage.js.map +1 -1
  367. package/dist/cli/commands/derive.d.ts.map +1 -1
  368. package/dist/cli/commands/derive.js +50 -26
  369. package/dist/cli/commands/derive.js.map +1 -1
  370. package/dist/cli/commands/discover.d.ts.map +1 -1
  371. package/dist/cli/commands/discover.js +18 -13
  372. package/dist/cli/commands/discover.js.map +1 -1
  373. package/dist/cli/commands/eval.d.ts.map +1 -1
  374. package/dist/cli/commands/eval.js +29 -26
  375. package/dist/cli/commands/eval.js.map +1 -1
  376. package/dist/cli/commands/evaluate.d.ts +1 -35
  377. package/dist/cli/commands/evaluate.d.ts.map +1 -1
  378. package/dist/cli/commands/evaluate.js +99 -208
  379. package/dist/cli/commands/evaluate.js.map +1 -1
  380. package/dist/cli/commands/explain.d.ts.map +1 -1
  381. package/dist/cli/commands/explain.js +57 -45
  382. package/dist/cli/commands/explain.js.map +1 -1
  383. package/dist/cli/commands/frontier.js.map +1 -1
  384. package/dist/cli/commands/ground.d.ts.map +1 -1
  385. package/dist/cli/commands/ground.js +41 -11
  386. package/dist/cli/commands/ground.js.map +1 -1
  387. package/dist/cli/commands/index.js.map +1 -1
  388. package/dist/cli/commands/map.d.ts.map +1 -1
  389. package/dist/cli/commands/map.js +84 -92
  390. package/dist/cli/commands/map.js.map +1 -1
  391. package/dist/cli/commands/metric.d.ts.map +1 -1
  392. package/dist/cli/commands/metric.js +53 -15
  393. package/dist/cli/commands/metric.js.map +1 -1
  394. package/dist/cli/commands/path.js +4 -4
  395. package/dist/cli/commands/path.js.map +1 -1
  396. package/dist/cli/commands/predict.js.map +1 -1
  397. package/dist/cli/commands/priority.js.map +1 -1
  398. package/dist/cli/commands/probe.d.ts.map +1 -1
  399. package/dist/cli/commands/probe.js +50 -26
  400. package/dist/cli/commands/probe.js.map +1 -1
  401. package/dist/cli/commands/recover.js +1 -1
  402. package/dist/cli/commands/recover.js.map +1 -1
  403. package/dist/cli/commands/regime.d.ts +5 -4
  404. package/dist/cli/commands/regime.d.ts.map +1 -1
  405. package/dist/cli/commands/regime.js +25 -27
  406. package/dist/cli/commands/regime.js.map +1 -1
  407. package/dist/cli/commands/retrieve.d.ts.map +1 -1
  408. package/dist/cli/commands/retrieve.js +22 -14
  409. package/dist/cli/commands/retrieve.js.map +1 -1
  410. package/dist/cli/commands/search.d.ts.map +1 -1
  411. package/dist/cli/commands/search.js +8 -4
  412. package/dist/cli/commands/search.js.map +1 -1
  413. package/dist/cli/commands/symbolic.d.ts.map +1 -1
  414. package/dist/cli/commands/symbolic.js +14 -7
  415. package/dist/cli/commands/symbolic.js.map +1 -1
  416. package/dist/cli/commands/testplan.js +4 -4
  417. package/dist/cli/commands/testplan.js.map +1 -1
  418. package/dist/cli/conventions.d.ts +6 -7
  419. package/dist/cli/conventions.d.ts.map +1 -1
  420. package/dist/cli/conventions.js +19 -28
  421. package/dist/cli/conventions.js.map +1 -1
  422. package/dist/cli/determination.js.map +1 -1
  423. package/dist/cli/errors.js.map +1 -1
  424. package/dist/cli/euler-guard.d.ts +13 -2
  425. package/dist/cli/euler-guard.d.ts.map +1 -1
  426. package/dist/cli/euler-guard.js +17 -3
  427. package/dist/cli/euler-guard.js.map +1 -1
  428. package/dist/cli/eval-numbers.d.ts +4 -9
  429. package/dist/cli/eval-numbers.d.ts.map +1 -1
  430. package/dist/cli/eval-numbers.js +11 -41
  431. package/dist/cli/eval-numbers.js.map +1 -1
  432. package/dist/cli/expr-print.d.ts +29 -2
  433. package/dist/cli/expr-print.d.ts.map +1 -1
  434. package/dist/cli/expr-print.js +46 -2
  435. package/dist/cli/expr-print.js.map +1 -1
  436. package/dist/cli/flag-help.js.map +1 -1
  437. package/dist/cli/graphs.js.map +1 -1
  438. package/dist/cli/library-defaults.d.ts +19 -0
  439. package/dist/cli/library-defaults.d.ts.map +1 -0
  440. package/dist/cli/library-defaults.js +22 -0
  441. package/dist/cli/library-defaults.js.map +1 -0
  442. package/dist/cli/main.js +7 -3
  443. package/dist/cli/main.js.map +1 -1
  444. package/dist/cli/map-evidence.js.map +1 -1
  445. package/dist/cli/output.d.ts +3 -6
  446. package/dist/cli/output.d.ts.map +1 -1
  447. package/dist/cli/output.js.map +1 -1
  448. package/dist/cli/published-url.d.ts +2 -0
  449. package/dist/cli/published-url.d.ts.map +1 -1
  450. package/dist/cli/published-url.js +5 -0
  451. package/dist/cli/published-url.js.map +1 -1
  452. package/dist/cli/record-reach.d.ts +6 -0
  453. package/dist/cli/record-reach.d.ts.map +1 -1
  454. package/dist/cli/record-reach.js +16 -10
  455. package/dist/cli/record-reach.js.map +1 -1
  456. package/dist/cli/record-tables.d.ts +2 -1
  457. package/dist/cli/record-tables.d.ts.map +1 -1
  458. package/dist/cli/record-tables.js +8 -3
  459. package/dist/cli/record-tables.js.map +1 -1
  460. package/dist/cli/record.d.ts.map +1 -1
  461. package/dist/cli/record.js +31 -12
  462. package/dist/cli/record.js.map +1 -1
  463. package/dist/cli/search-index.d.ts +5 -0
  464. package/dist/cli/search-index.d.ts.map +1 -1
  465. package/dist/cli/search-index.js +12 -1
  466. package/dist/cli/search-index.js.map +1 -1
  467. package/dist/cli/statuses.js.map +1 -1
  468. package/dist/cli/top-level-help.js.map +1 -1
  469. package/dist/cli/version.js.map +1 -1
  470. package/dist/cli-api.d.ts +57 -18
  471. package/dist/cli-api.d.ts.map +1 -1
  472. package/dist/cli-api.js +49 -21
  473. package/dist/cli-api.js.map +1 -1
  474. package/dist/composition/adjudication.d.ts +8 -30
  475. package/dist/composition/adjudication.d.ts.map +1 -1
  476. package/dist/composition/adjudication.js +15 -67
  477. package/dist/composition/adjudication.js.map +1 -1
  478. package/dist/composition/aliases.d.ts +1 -1
  479. package/dist/composition/aliases.d.ts.map +1 -1
  480. package/dist/composition/aliases.js +10 -20
  481. package/dist/composition/aliases.js.map +1 -1
  482. package/dist/composition/audit-coverage.d.ts +2 -0
  483. package/dist/composition/audit-coverage.d.ts.map +1 -1
  484. package/dist/composition/audit-coverage.js.map +1 -1
  485. package/dist/composition/axes.d.ts +12 -0
  486. package/dist/composition/axes.d.ts.map +1 -1
  487. package/dist/composition/axes.js +18 -6
  488. package/dist/composition/axes.js.map +1 -1
  489. package/dist/composition/axis-audit.js.map +1 -1
  490. package/dist/composition/bridge-analysis.d.ts +0 -14
  491. package/dist/composition/bridge-analysis.d.ts.map +1 -1
  492. package/dist/composition/bridge-analysis.js +66 -57
  493. package/dist/composition/bridge-analysis.js.map +1 -1
  494. package/dist/composition/bridge-prediction.d.ts +5 -1
  495. package/dist/composition/bridge-prediction.d.ts.map +1 -1
  496. package/dist/composition/bridge-prediction.js +12 -16
  497. package/dist/composition/bridge-prediction.js.map +1 -1
  498. package/dist/composition/buckingham-filter.js.map +1 -1
  499. package/dist/composition/canonical-compare.d.ts.map +1 -1
  500. package/dist/composition/canonical-compare.js +12 -2
  501. package/dist/composition/canonical-compare.js.map +1 -1
  502. package/dist/composition/canonical-graph.d.ts +15 -18
  503. package/dist/composition/canonical-graph.d.ts.map +1 -1
  504. package/dist/composition/canonical-graph.js +59 -85
  505. package/dist/composition/canonical-graph.js.map +1 -1
  506. package/dist/composition/canonical-json.js.map +1 -1
  507. package/dist/composition/canonical-prefactors.d.ts +10 -29
  508. package/dist/composition/canonical-prefactors.d.ts.map +1 -1
  509. package/dist/composition/canonical-prefactors.js +15 -202
  510. package/dist/composition/canonical-prefactors.js.map +1 -1
  511. package/dist/composition/catalog-graph.d.ts.map +1 -1
  512. package/dist/composition/catalog-graph.js +6 -20
  513. package/dist/composition/catalog-graph.js.map +1 -1
  514. package/dist/composition/chain-candidate.d.ts +2 -0
  515. package/dist/composition/chain-candidate.d.ts.map +1 -1
  516. package/dist/composition/chain-candidate.js +2 -0
  517. package/dist/composition/chain-candidate.js.map +1 -1
  518. package/dist/composition/chain-match.js.map +1 -1
  519. package/dist/composition/chain-regime.js.map +1 -1
  520. package/dist/composition/chain-result.js.map +1 -1
  521. package/dist/composition/compose-surface.js.map +1 -1
  522. package/dist/composition/compose-symbolic.js.map +1 -1
  523. package/dist/composition/compose.d.ts.map +1 -1
  524. package/dist/composition/compose.js +154 -36
  525. package/dist/composition/compose.js.map +1 -1
  526. package/dist/composition/composition-recovery.js.map +1 -1
  527. package/dist/composition/consequence.d.ts.map +1 -1
  528. package/dist/composition/consequence.js +15 -6
  529. package/dist/composition/consequence.js.map +1 -1
  530. package/dist/composition/consistency.js.map +1 -1
  531. package/dist/composition/descriptor.d.ts +1 -1
  532. package/dist/composition/descriptor.d.ts.map +1 -1
  533. package/dist/composition/descriptor.js.map +1 -1
  534. package/dist/composition/dimension-adjacency.js.map +1 -1
  535. package/dist/composition/discovery.d.ts +67 -7
  536. package/dist/composition/discovery.d.ts.map +1 -1
  537. package/dist/composition/discovery.js +83 -23
  538. package/dist/composition/discovery.js.map +1 -1
  539. package/dist/composition/edge.d.ts +19 -22
  540. package/dist/composition/edge.d.ts.map +1 -1
  541. package/dist/composition/edge.js +25 -28
  542. package/dist/composition/edge.js.map +1 -1
  543. package/dist/composition/enumerate.d.ts +2 -2
  544. package/dist/composition/enumerate.d.ts.map +1 -1
  545. package/dist/composition/enumerate.js.map +1 -1
  546. package/dist/composition/evaluate-relation.d.ts +29 -5
  547. package/dist/composition/evaluate-relation.d.ts.map +1 -1
  548. package/dist/composition/evaluate-relation.js +100 -72
  549. package/dist/composition/evaluate-relation.js.map +1 -1
  550. package/dist/composition/explain.d.ts +14 -4
  551. package/dist/composition/explain.d.ts.map +1 -1
  552. package/dist/composition/explain.js +53 -19
  553. package/dist/composition/explain.js.map +1 -1
  554. package/dist/composition/expr-eval.d.ts.map +1 -1
  555. package/dist/composition/expr-eval.js +2 -1
  556. package/dist/composition/expr-eval.js.map +1 -1
  557. package/dist/composition/expr-simplify.d.ts.map +1 -1
  558. package/dist/composition/expr-simplify.js +9 -39
  559. package/dist/composition/expr-simplify.js.map +1 -1
  560. package/dist/composition/expr-subst.js.map +1 -1
  561. package/dist/composition/formula-shape.d.ts +9 -0
  562. package/dist/composition/formula-shape.d.ts.map +1 -1
  563. package/dist/composition/formula-shape.js +54 -0
  564. package/dist/composition/formula-shape.js.map +1 -1
  565. package/dist/composition/frontier-account.d.ts +3 -2
  566. package/dist/composition/frontier-account.d.ts.map +1 -1
  567. package/dist/composition/frontier-account.js +7 -3
  568. package/dist/composition/frontier-account.js.map +1 -1
  569. package/dist/composition/graph-viz-svg.js.map +1 -1
  570. package/dist/composition/graph-viz.js.map +1 -1
  571. package/dist/composition/grounding.js.map +1 -1
  572. package/dist/composition/identifiability.js.map +1 -1
  573. package/dist/composition/index.d.ts +9 -5
  574. package/dist/composition/index.d.ts.map +1 -1
  575. package/dist/composition/index.js +7 -4
  576. package/dist/composition/index.js.map +1 -1
  577. package/dist/composition/mathts-quiet.d.ts +28 -0
  578. package/dist/composition/mathts-quiet.d.ts.map +1 -0
  579. package/dist/composition/mathts-quiet.js +56 -0
  580. package/dist/composition/mathts-quiet.js.map +1 -0
  581. package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -1
  582. package/dist/composition/mathts-scalar-symbols.js +18 -34
  583. package/dist/composition/mathts-scalar-symbols.js.map +1 -1
  584. package/dist/composition/not-composable-seeds.d.ts +3 -1
  585. package/dist/composition/not-composable-seeds.d.ts.map +1 -1
  586. package/dist/composition/not-composable-seeds.js +2 -0
  587. package/dist/composition/not-composable-seeds.js.map +1 -1
  588. package/dist/composition/probe/backend-protocol.js.map +1 -1
  589. package/dist/composition/probe/candidate-store.js.map +1 -1
  590. package/dist/composition/probe/corpus.js.map +1 -1
  591. package/dist/composition/probe/dataset.js.map +1 -1
  592. package/dist/composition/probe/experiment-design.js.map +1 -1
  593. package/dist/composition/probe/expression-gaps.js.map +1 -1
  594. package/dist/composition/probe/falsify.d.ts +14 -3
  595. package/dist/composition/probe/falsify.d.ts.map +1 -1
  596. package/dist/composition/probe/falsify.js +14 -27
  597. package/dist/composition/probe/falsify.js.map +1 -1
  598. package/dist/composition/probe/fingerprint.js.map +1 -1
  599. package/dist/composition/probe/fit.d.ts +1 -1
  600. package/dist/composition/probe/fit.d.ts.map +1 -1
  601. package/dist/composition/probe/fit.js +2 -1
  602. package/dist/composition/probe/fit.js.map +1 -1
  603. package/dist/composition/probe/frontier.js.map +1 -1
  604. package/dist/composition/probe/generator.js.map +1 -1
  605. package/dist/composition/probe/index.d.ts +4 -2
  606. package/dist/composition/probe/index.d.ts.map +1 -1
  607. package/dist/composition/probe/index.js +4 -2
  608. package/dist/composition/probe/index.js.map +1 -1
  609. package/dist/composition/probe/limits.js.map +1 -1
  610. package/dist/composition/probe/metadata.js.map +1 -1
  611. package/dist/composition/probe/pipeline.d.ts +5 -0
  612. package/dist/composition/probe/pipeline.d.ts.map +1 -1
  613. package/dist/composition/probe/pipeline.js +13 -6
  614. package/dist/composition/probe/pipeline.js.map +1 -1
  615. package/dist/composition/probe/problem.d.ts +8 -0
  616. package/dist/composition/probe/problem.d.ts.map +1 -1
  617. package/dist/composition/probe/problem.js +78 -12
  618. package/dist/composition/probe/problem.js.map +1 -1
  619. package/dist/composition/probe/report.js.map +1 -1
  620. package/dist/composition/probe/residual.js.map +1 -1
  621. package/dist/composition/probe/run-manifest.js +2 -2
  622. package/dist/composition/probe/run-manifest.js.map +1 -1
  623. package/dist/composition/probe/scoring.d.ts +2 -1
  624. package/dist/composition/probe/scoring.d.ts.map +1 -1
  625. package/dist/composition/probe/scoring.js +21 -7
  626. package/dist/composition/probe/scoring.js.map +1 -1
  627. package/dist/composition/probe/search-budget.js.map +1 -1
  628. package/dist/composition/probe/serialize.js.map +1 -1
  629. package/dist/composition/probe/structure.js.map +1 -1
  630. package/dist/composition/probe/study.d.ts +4 -3
  631. package/dist/composition/probe/study.d.ts.map +1 -1
  632. package/dist/composition/probe/study.js +5 -3
  633. package/dist/composition/probe/study.js.map +1 -1
  634. package/dist/composition/probe/types.d.ts +3 -1
  635. package/dist/composition/probe/types.d.ts.map +1 -1
  636. package/dist/composition/probe/types.js +2 -0
  637. package/dist/composition/probe/types.js.map +1 -1
  638. package/dist/composition/proposed-bridges.d.ts +11 -4
  639. package/dist/composition/proposed-bridges.d.ts.map +1 -1
  640. package/dist/composition/proposed-bridges.js +14 -6
  641. package/dist/composition/proposed-bridges.js.map +1 -1
  642. package/dist/composition/quantities.d.ts +0 -4
  643. package/dist/composition/quantities.d.ts.map +1 -1
  644. package/dist/composition/quantities.js +5 -5
  645. package/dist/composition/quantities.js.map +1 -1
  646. package/dist/composition/quantity.d.ts +18 -2
  647. package/dist/composition/quantity.d.ts.map +1 -1
  648. package/dist/composition/quantity.js +35 -6
  649. package/dist/composition/quantity.js.map +1 -1
  650. package/dist/composition/representative-values.js.map +1 -1
  651. package/dist/composition/retrodiction.d.ts +18 -0
  652. package/dist/composition/retrodiction.d.ts.map +1 -1
  653. package/dist/composition/retrodiction.js +37 -7
  654. package/dist/composition/retrodiction.js.map +1 -1
  655. package/dist/composition/uncertainty.js.map +1 -1
  656. package/dist/composition/user-equation.d.ts +11 -7
  657. package/dist/composition/user-equation.d.ts.map +1 -1
  658. package/dist/composition/user-equation.js +24 -26
  659. package/dist/composition/user-equation.js.map +1 -1
  660. package/dist/core/axes-registry.d.ts +8 -5
  661. package/dist/core/axes-registry.d.ts.map +1 -1
  662. package/dist/core/axes-registry.js.map +1 -1
  663. package/dist/core/cell.js.map +1 -1
  664. package/dist/core/constants.d.ts +35 -12
  665. package/dist/core/constants.d.ts.map +1 -1
  666. package/dist/core/constants.js +46 -15
  667. package/dist/core/constants.js.map +1 -1
  668. package/dist/core/data-file.d.ts +27 -0
  669. package/dist/core/data-file.d.ts.map +1 -0
  670. package/dist/core/data-file.js +48 -0
  671. package/dist/core/data-file.js.map +1 -0
  672. package/dist/core/flux-rules.js +1 -1
  673. package/dist/core/flux-rules.js.map +1 -1
  674. package/dist/core/json-schema.d.ts +27 -0
  675. package/dist/core/json-schema.d.ts.map +1 -0
  676. package/dist/core/json-schema.js +177 -0
  677. package/dist/core/json-schema.js.map +1 -0
  678. package/dist/core/labeled-tensor.d.ts +6 -1
  679. package/dist/core/labeled-tensor.d.ts.map +1 -1
  680. package/dist/core/labeled-tensor.js +18 -8
  681. package/dist/core/labeled-tensor.js.map +1 -1
  682. package/dist/core/regime-registry.d.ts +6 -2
  683. package/dist/core/regime-registry.d.ts.map +1 -1
  684. package/dist/core/regime-registry.js.map +1 -1
  685. package/dist/core/regime-rule-install.js.map +1 -1
  686. package/dist/core/regimes-builtins.js.map +1 -1
  687. package/dist/core/tensor.d.ts +7 -4
  688. package/dist/core/tensor.d.ts.map +1 -1
  689. package/dist/core/tensor.js +40 -8
  690. package/dist/core/tensor.js.map +1 -1
  691. package/dist/core/types.d.ts +3 -2
  692. package/dist/core/types.d.ts.map +1 -1
  693. package/dist/core/types.js +16 -14
  694. package/dist/core/types.js.map +1 -1
  695. package/dist/core/universal-index.js.map +1 -1
  696. package/dist/diff/bridge-ast-gradient.d.ts +4 -5
  697. package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
  698. package/dist/diff/bridge-ast-gradient.js +16 -23
  699. package/dist/diff/bridge-ast-gradient.js.map +1 -1
  700. package/dist/diff/bridge-gradient.d.ts +24 -80
  701. package/dist/diff/bridge-gradient.d.ts.map +1 -1
  702. package/dist/diff/bridge-gradient.js +21 -98
  703. package/dist/diff/bridge-gradient.js.map +1 -1
  704. package/dist/diff/bridge-specs.d.ts +18 -6
  705. package/dist/diff/bridge-specs.d.ts.map +1 -1
  706. package/dist/diff/bridge-specs.js +17 -5
  707. package/dist/diff/bridge-specs.js.map +1 -1
  708. package/dist/dimensional/algebra.js.map +1 -1
  709. package/dist/dimensional/ast-builders.d.ts +5 -4
  710. package/dist/dimensional/ast-builders.d.ts.map +1 -1
  711. package/dist/dimensional/ast-builders.js +6 -5
  712. package/dist/dimensional/ast-builders.js.map +1 -1
  713. package/dist/dimensional/ast-types.js.map +1 -1
  714. package/dist/dimensional/bridge-check.d.ts.map +1 -1
  715. package/dist/dimensional/bridge-check.js +3 -5
  716. package/dist/dimensional/bridge-check.js.map +1 -1
  717. package/dist/dimensional/buckingham.js.map +1 -1
  718. package/dist/dimensional/connection-validators.d.ts +2 -1
  719. package/dist/dimensional/connection-validators.d.ts.map +1 -1
  720. package/dist/dimensional/connection-validators.js.map +1 -1
  721. package/dist/dimensional/connection.js.map +1 -1
  722. package/dist/dimensional/constant-rows.d.ts +54 -0
  723. package/dist/dimensional/constant-rows.d.ts.map +1 -0
  724. package/dist/dimensional/constant-rows.js +115 -0
  725. package/dist/dimensional/constant-rows.js.map +1 -0
  726. package/dist/dimensional/constants.d.ts +7 -17
  727. package/dist/dimensional/constants.d.ts.map +1 -1
  728. package/dist/dimensional/constants.js +12 -21
  729. package/dist/dimensional/constants.js.map +1 -1
  730. package/dist/dimensional/curvature-composite.js.map +1 -1
  731. package/dist/dimensional/curvature-invariants.js.map +1 -1
  732. package/dist/dimensional/curvature.js.map +1 -1
  733. package/dist/dimensional/dimension-inference.js.map +1 -1
  734. package/dist/dimensional/dimension-spec.d.ts +21 -6
  735. package/dist/dimensional/dimension-spec.d.ts.map +1 -1
  736. package/dist/dimensional/dimension-spec.js +150 -160
  737. package/dist/dimensional/dimension-spec.js.map +1 -1
  738. package/dist/dimensional/einstein-equation.js.map +1 -1
  739. package/dist/dimensional/errors.d.ts +3 -1
  740. package/dist/dimensional/errors.d.ts.map +1 -1
  741. package/dist/dimensional/errors.js +2 -2
  742. package/dist/dimensional/errors.js.map +1 -1
  743. package/dist/dimensional/exact-scale.d.ts +79 -0
  744. package/dist/dimensional/exact-scale.d.ts.map +1 -0
  745. package/dist/dimensional/exact-scale.js +222 -0
  746. package/dist/dimensional/exact-scale.js.map +1 -0
  747. package/dist/dimensional/field-equation-helpers.js.map +1 -1
  748. package/dist/dimensional/formula-names.d.ts +13 -12
  749. package/dist/dimensional/formula-names.d.ts.map +1 -1
  750. package/dist/dimensional/formula-names.js +28 -51
  751. package/dist/dimensional/formula-names.js.map +1 -1
  752. package/dist/dimensional/fresh-label.js.map +1 -1
  753. package/dist/dimensional/friedmann-equation.d.ts +3 -3
  754. package/dist/dimensional/friedmann-equation.js +3 -3
  755. package/dist/dimensional/friedmann-equation.js.map +1 -1
  756. package/dist/dimensional/gauge-field.d.ts +2 -3
  757. package/dist/dimensional/gauge-field.d.ts.map +1 -1
  758. package/dist/dimensional/gauge-field.js +0 -1
  759. package/dist/dimensional/gauge-field.js.map +1 -1
  760. package/dist/dimensional/hyphen-names.d.ts.map +1 -1
  761. package/dist/dimensional/hyphen-names.js +8 -0
  762. package/dist/dimensional/hyphen-names.js.map +1 -1
  763. package/dist/dimensional/killing-validators.js.map +1 -1
  764. package/dist/dimensional/klein-gordon-equation.js.map +1 -1
  765. package/dist/dimensional/metric-validators.d.ts +2 -1
  766. package/dist/dimensional/metric-validators.d.ts.map +1 -1
  767. package/dist/dimensional/metric-validators.js.map +1 -1
  768. package/dist/dimensional/metric.js.map +1 -1
  769. package/dist/dimensional/natural-units.js.map +1 -1
  770. package/dist/dimensional/quantity-registry.d.ts +23 -1
  771. package/dist/dimensional/quantity-registry.d.ts.map +1 -1
  772. package/dist/dimensional/quantity-registry.js +55 -18
  773. package/dist/dimensional/quantity-registry.js.map +1 -1
  774. package/dist/dimensional/rg-flow.js.map +1 -1
  775. package/dist/dimensional/stress-energy-validators.js.map +1 -1
  776. package/dist/dimensional/symbolic-constants.d.ts +63 -19
  777. package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
  778. package/dist/dimensional/symbolic-constants.js +114 -92
  779. package/dist/dimensional/symbolic-constants.js.map +1 -1
  780. package/dist/dimensional/tensor-trace.js.map +1 -1
  781. package/dist/dimensional/tensor.js.map +1 -1
  782. package/dist/dimensional/types.js.map +1 -1
  783. package/dist/dimensional/unit-convention.d.ts +0 -2
  784. package/dist/dimensional/unit-convention.d.ts.map +1 -1
  785. package/dist/dimensional/unit-convention.js +2 -2
  786. package/dist/dimensional/unit-convention.js.map +1 -1
  787. package/dist/dimensional/unit-data.d.ts +70 -0
  788. package/dist/dimensional/unit-data.d.ts.map +1 -0
  789. package/dist/dimensional/unit-data.js +139 -0
  790. package/dist/dimensional/unit-data.js.map +1 -0
  791. package/dist/dimensional/units.d.ts +87 -24
  792. package/dist/dimensional/units.d.ts.map +1 -1
  793. package/dist/dimensional/units.js +290 -295
  794. package/dist/dimensional/units.js.map +1 -1
  795. package/dist/dimensional/validator-registry.js.map +1 -1
  796. package/dist/dimensional/validator.d.ts +0 -16
  797. package/dist/dimensional/validator.d.ts.map +1 -1
  798. package/dist/dimensional/validator.js +65 -29
  799. package/dist/dimensional/validator.js.map +1 -1
  800. package/dist/dimensional/weyl-validators.js.map +1 -1
  801. package/dist/index.d.ts +65 -18
  802. package/dist/index.d.ts.map +1 -1
  803. package/dist/index.js +19 -24
  804. package/dist/index.js.map +1 -1
  805. package/dist/numerical/bianchi-residual.js.map +1 -1
  806. package/dist/numerical/binding-value.d.ts +32 -7
  807. package/dist/numerical/binding-value.d.ts.map +1 -1
  808. package/dist/numerical/binding-value.js +218 -209
  809. package/dist/numerical/binding-value.js.map +1 -1
  810. package/dist/numerical/christoffel-flat.js.map +1 -1
  811. package/dist/numerical/connection-lowering-helpers.js.map +1 -1
  812. package/dist/numerical/covariant-eikonal.d.ts.map +1 -1
  813. package/dist/numerical/covariant-eikonal.js +2 -2
  814. package/dist/numerical/covariant-eikonal.js.map +1 -1
  815. package/dist/numerical/curvature-lowering-helpers.d.ts +20 -0
  816. package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
  817. package/dist/numerical/curvature-lowering-helpers.js +6 -3
  818. package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
  819. package/dist/numerical/derivative-lowering.js.map +1 -1
  820. package/dist/numerical/einstein-equation.js.map +1 -1
  821. package/dist/numerical/engine-registry.js.map +1 -1
  822. package/dist/numerical/errors.d.ts +7 -3
  823. package/dist/numerical/errors.d.ts.map +1 -1
  824. package/dist/numerical/errors.js +5 -5
  825. package/dist/numerical/errors.js.map +1 -1
  826. package/dist/numerical/evaluator-uncertainty.d.ts +34 -0
  827. package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -0
  828. package/dist/numerical/evaluator-uncertainty.js +134 -0
  829. package/dist/numerical/evaluator-uncertainty.js.map +1 -0
  830. package/dist/numerical/formula-contract.d.ts +67 -7
  831. package/dist/numerical/formula-contract.d.ts.map +1 -1
  832. package/dist/numerical/formula-contract.js +68 -42
  833. package/dist/numerical/formula-contract.js.map +1 -1
  834. package/dist/numerical/formula-dimension.d.ts +17 -7
  835. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  836. package/dist/numerical/formula-dimension.js +120 -44
  837. package/dist/numerical/formula-dimension.js.map +1 -1
  838. package/dist/numerical/formula-mathts.d.ts.map +1 -1
  839. package/dist/numerical/formula-mathts.js +10 -3
  840. package/dist/numerical/formula-mathts.js.map +1 -1
  841. package/dist/numerical/formula-registry.d.ts +13 -3
  842. package/dist/numerical/formula-registry.d.ts.map +1 -1
  843. package/dist/numerical/formula-registry.js +7 -2
  844. package/dist/numerical/formula-registry.js.map +1 -1
  845. package/dist/numerical/geodesic-integrator.js.map +1 -1
  846. package/dist/numerical/geometrized.js.map +1 -1
  847. package/dist/numerical/gl4-integrator.d.ts +28 -27
  848. package/dist/numerical/gl4-integrator.d.ts.map +1 -1
  849. package/dist/numerical/gl4-integrator.js +44 -45
  850. package/dist/numerical/gl4-integrator.js.map +1 -1
  851. package/dist/numerical/grid-field.js.map +1 -1
  852. package/dist/numerical/index.js.map +1 -1
  853. package/dist/numerical/input-validation.d.ts +3 -6
  854. package/dist/numerical/input-validation.d.ts.map +1 -1
  855. package/dist/numerical/input-validation.js +4 -8
  856. package/dist/numerical/input-validation.js.map +1 -1
  857. package/dist/numerical/killing.d.ts +8 -5
  858. package/dist/numerical/killing.d.ts.map +1 -1
  859. package/dist/numerical/killing.js.map +1 -1
  860. package/dist/numerical/klein-gordon.js.map +1 -1
  861. package/dist/numerical/kretschmann.js.map +1 -1
  862. package/dist/numerical/lowering-utils.js.map +1 -1
  863. package/dist/numerical/lowering.d.ts.map +1 -1
  864. package/dist/numerical/lowering.js +7 -17
  865. package/dist/numerical/lowering.js.map +1 -1
  866. package/dist/numerical/mathts-engine.d.ts.map +1 -1
  867. package/dist/numerical/mathts-engine.js +11 -6
  868. package/dist/numerical/mathts-engine.js.map +1 -1
  869. package/dist/numerical/metric-inverse.js.map +1 -1
  870. package/dist/numerical/null-ic.js.map +1 -1
  871. package/dist/numerical/null-ray-integrator.js +4 -4
  872. package/dist/numerical/null-ray-integrator.js.map +1 -1
  873. package/dist/numerical/painleve-gullstrand-metric.js.map +1 -1
  874. package/dist/numerical/pderiv.d.ts.map +1 -1
  875. package/dist/numerical/pderiv.js +9 -2
  876. package/dist/numerical/pderiv.js.map +1 -1
  877. package/dist/numerical/perihelion-finder.js.map +1 -1
  878. package/dist/numerical/quadrature.d.ts +5 -2
  879. package/dist/numerical/quadrature.d.ts.map +1 -1
  880. package/dist/numerical/quadrature.js +20 -3
  881. package/dist/numerical/quadrature.js.map +1 -1
  882. package/dist/numerical/spacetime-metrics.d.ts +17 -19
  883. package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
  884. package/dist/numerical/spacetime-metrics.js +158 -250
  885. package/dist/numerical/spacetime-metrics.js.map +1 -1
  886. package/dist/numerical/strides.js.map +1 -1
  887. package/dist/numerical/tensor-engine.d.ts +9 -5
  888. package/dist/numerical/tensor-engine.d.ts.map +1 -1
  889. package/dist/numerical/tensor-engine.js.map +1 -1
  890. package/dist/numerical/types.js.map +1 -1
  891. package/dist/numerical/weyl-lowering.js.map +1 -1
  892. package/dist/relations/category.js.map +1 -1
  893. package/dist/relations/composition-table.d.ts +4 -4
  894. package/dist/relations/composition-table.js +4 -4
  895. package/dist/relations/composition-table.js.map +1 -1
  896. package/dist/relations/conventions.js.map +1 -1
  897. package/dist/relations/domain-regimes.js.map +1 -1
  898. package/dist/relations/regime-registration.js.map +1 -1
  899. package/dist/relations/regime-vocabularies.js.map +1 -1
  900. package/dist/relations/regime.d.ts +18 -8
  901. package/dist/relations/regime.d.ts.map +1 -1
  902. package/dist/relations/regime.js +26 -14
  903. package/dist/relations/regime.js.map +1 -1
  904. package/dist/relations/types.d.ts +26 -6
  905. package/dist/relations/types.d.ts.map +1 -1
  906. package/dist/relations/types.js +15 -3
  907. package/dist/relations/types.js.map +1 -1
  908. package/package.json +10 -14
  909. package/dist/bridges/registry.d.ts +0 -60
  910. package/dist/bridges/registry.d.ts.map +0 -1
  911. package/dist/bridges/registry.js +0 -87
  912. package/dist/bridges/registry.js.map +0 -1
  913. package/dist/cli/poster-source.d.ts +0 -154
  914. package/dist/cli/poster-source.d.ts.map +0 -1
  915. package/dist/cli/poster-source.js +0 -184
  916. package/dist/cli/poster-source.js.map +0 -1
@@ -24,7 +24,9 @@
24
24
  * @module atlas/export
25
25
  * @internal
26
26
  */
27
- import type { AtlasFamily } from './oscillators/index.js';
27
+ import type { AtlasFamily } from './family.js';
28
+ import type { AtlasRecordJson } from './serialize.js';
29
+ import type { WitnessResultsArtifact } from './witness-artifact.js';
28
30
  /** The QUDT resolution table: `"<model-id>/<parameter>"` → IRI, or null when none resolves. @internal */
29
31
  export interface QudtResolution {
30
32
  /** When and how the IRIs were checked. */
@@ -34,8 +36,22 @@ export interface QudtResolution {
34
36
  }
35
37
  /** The stable id namespace. A URN, so no id depends on a host that could move. @internal */
36
38
  export declare const ATLAS_ID_PREFIX = "urn:upt:atlas:";
39
+ /** One family's record inside the combined artifact: the per-family record without its own version stamp. @internal */
40
+ export type CombinedFamilyRecord = Omit<AtlasRecordJson, 'packageVersion'>;
37
41
  /** The combined artifact: every family's record under one version stamp. @internal */
38
- export declare function toCombinedAtlasJson(families: readonly AtlasFamily[], packageVersion: string): unknown;
42
+ export interface CombinedAtlasJson {
43
+ readonly schemaVersion: '0';
44
+ readonly packageVersion: string;
45
+ readonly families: readonly CombinedFamilyRecord[];
46
+ }
47
+ /**
48
+ * The combined artifact: every family's record under one version stamp.
49
+ *
50
+ * @param witnessResults - forwarded to `toAtlasJson`, which derives each
51
+ * bridge's `evidence` against it.
52
+ * @internal
53
+ */
54
+ export declare function toCombinedAtlasJson(families: readonly AtlasFamily[], packageVersion: string, witnessResults: WitnessResultsArtifact): CombinedAtlasJson;
39
55
  /**
40
56
  * The JSON-LD projection.
41
57
  *
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/atlas/export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,yGAAyG;AACzG,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CAC3D;AAED,4FAA4F;AAC5F,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAKhD,sFAAsF;AACtF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAYrG;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAsDT"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/atlas/export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,yGAAyG;AACzG,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CAC3D;AAED,4FAA4F;AAC5F,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAKhD,uHAAuH;AACvH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;AAE3E,sFAAsF;AACtF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACpD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,sBAAsB,GACrC,iBAAiB,CASnB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAsDT"}
@@ -29,13 +29,19 @@ import { toAtlasJson } from './serialize.js';
29
29
  export const ATLAS_ID_PREFIX = 'urn:upt:atlas:';
30
30
  const modelIri = (id) => `${ATLAS_ID_PREFIX}model:${id}`;
31
31
  const bridgeIri = (id) => `${ATLAS_ID_PREFIX}bridge:${id}`;
32
- /** The combined artifact: every family's record under one version stamp. @internal */
33
- export function toCombinedAtlasJson(families, packageVersion) {
32
+ /**
33
+ * The combined artifact: every family's record under one version stamp.
34
+ *
35
+ * @param witnessResults - forwarded to `toAtlasJson`, which derives each
36
+ * bridge's `evidence` against it.
37
+ * @internal
38
+ */
39
+ export function toCombinedAtlasJson(families, packageVersion, witnessResults) {
34
40
  return {
35
41
  schemaVersion: '0',
36
42
  packageVersion,
37
43
  families: families.map((f) => {
38
- const { packageVersion: _dropped, ...record } = toAtlasJson(f, packageVersion);
44
+ const { packageVersion: _dropped, ...record } = toAtlasJson(f, packageVersion, witnessResults);
39
45
  return record;
40
46
  }),
41
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/atlas/export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/atlas/export.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 6, S6.4 — the versioned export: one combined JSON artifact for\n * every family, and a JSON-LD projection with stable ids, QUDT quantity kinds\n * where they genuinely resolve, and PROV-O-shaped provenance.\n *\n * Design note: `docs/planning/Atlas-Phase-6-Design.md` §2.\n *\n * Pure: no I/O. The QUDT resolution table (`data/atlas/qudt-resolution.json`) is\n * passed IN by the emitter, so this module cannot drift from the table it was\n * given and never reads the tree.\n *\n * ## Why the QUDT table is keyed by (model, parameter), never by name\n *\n * `kappa` is a SPRING CONSTANT in `model-chain` and a THERMAL CONDUCTIVITY in\n * `model-heat`. A name-keyed table would assign one of them the other's\n * quantity kind — a notation collision in the atlas's own data.\n *\n * ## Schema version\n *\n * The combined artifact keeps `schemaVersion: '0'`. Phase 4 added one OPTIONAL\n * field (`formalRef`); an additive optional field is not a breaking change, and\n * the plan bumps to `v1` only on one.\n *\n * @module atlas/export\n * @internal\n */\n\nimport type { AtlasFamily } from './family.js';\nimport type { AtlasRecordJson } from './serialize.js';\nimport { toAtlasJson } from './serialize.js';\nimport type { WitnessResultsArtifact } from './witness-artifact.js';\n\n/** The QUDT resolution table: `\"<model-id>/<parameter>\"` → IRI, or null when none resolves. @internal */\nexport interface QudtResolution {\n /** When and how the IRIs were checked. */\n readonly probedAt: string;\n readonly method: string;\n readonly entries: Readonly<Record<string, string | null>>;\n}\n\n/** The stable id namespace. A URN, so no id depends on a host that could move. @internal */\nexport const ATLAS_ID_PREFIX = 'urn:upt:atlas:';\n\nconst modelIri = (id: string): string => `${ATLAS_ID_PREFIX}model:${id}`;\nconst bridgeIri = (id: string): string => `${ATLAS_ID_PREFIX}bridge:${id}`;\n\n/** One family's record inside the combined artifact: the per-family record without its own version stamp. @internal */\nexport type CombinedFamilyRecord = Omit<AtlasRecordJson, 'packageVersion'>;\n\n/** The combined artifact: every family's record under one version stamp. @internal */\nexport interface CombinedAtlasJson {\n readonly schemaVersion: '0';\n readonly packageVersion: string;\n readonly families: readonly CombinedFamilyRecord[];\n}\n\n/**\n * The combined artifact: every family's record under one version stamp.\n *\n * @param witnessResults - forwarded to `toAtlasJson`, which derives each\n * bridge's `evidence` against it.\n * @internal\n */\nexport function toCombinedAtlasJson(\n families: readonly AtlasFamily[],\n packageVersion: string,\n witnessResults: WitnessResultsArtifact,\n): CombinedAtlasJson {\n return {\n schemaVersion: '0',\n packageVersion,\n families: families.map((f) => {\n const { packageVersion: _dropped, ...record } = toAtlasJson(f, packageVersion, witnessResults);\n return record;\n }),\n };\n}\n\n/**\n * The JSON-LD projection.\n *\n * @throws Error when a model parameter has NO entry in the resolution table — an\n * unlisted parameter is a gap in the table, and exporting it silently blank\n * would be indistinguishable from a deliberate \"no QUDT kind resolves\".\n * @internal\n */\nexport function toAtlasJsonLd(\n families: readonly AtlasFamily[],\n packageVersion: string,\n qudt: QudtResolution,\n): unknown {\n const graph: unknown[] = [];\n for (const family of families) {\n for (const m of family.models) {\n graph.push({\n '@id': modelIri(m.id),\n '@type': 'upt:Model',\n 'upt:family': family.family,\n 'upt:dynamics': m.dynamics,\n 'upt:parameter': m.parameters.map((p) => {\n const key = `${m.id}/${p.name}`;\n if (!(key in qudt.entries)) {\n throw new Error(`toAtlasJsonLd: no QUDT resolution entry for ${key}`);\n }\n const kind = qudt.entries[key];\n return {\n 'upt:symbol': p.name,\n 'upt:dimension': [p.dim.L, p.dim.M, p.dim.T, p.dim.I, p.dim.Theta, p.dim.N, p.dim.J],\n ...(kind === null ? {} : { 'qudt:hasQuantityKind': { '@id': kind } }),\n };\n }),\n ...(m.canonicalRefs.length === 0 ? {} : { 'upt:canonicalRef': [...m.canonicalRefs] }),\n });\n }\n for (const b of family.bridges) {\n graph.push({\n '@id': bridgeIri(b.id),\n '@type': ['upt:Bridge', 'prov:Entity'],\n 'upt:relation': b.relation,\n 'upt:premise': b.premises.map((p) => ({ '@id': modelIri(p) })),\n 'upt:conclusion': { '@id': modelIri(b.conclusion) },\n // PROV-O shape: the bridge's claim is derived from its premises, and\n // its sources are the citations it states.\n 'prov:wasDerivedFrom': b.premises.map((p) => ({ '@id': modelIri(p) })),\n 'dcterms:source': [...b.citations],\n 'upt:reviewStatus': b.reviewStatus,\n 'upt:witness': b.witnesses.map((w) => ({ 'upt:id': w.id, 'upt:kind': w.kind, 'upt:test': w.test })),\n ...(b.formalRef === undefined\n ? {}\n : { 'upt:formalRef': { 'upt:statement': b.formalRef.statement, 'upt:fidelity': b.formalRef.fidelity } }),\n });\n }\n }\n return {\n '@context': {\n upt: `${ATLAS_ID_PREFIX}vocab:`,\n prov: 'http://www.w3.org/ns/prov#',\n qudt: 'http://qudt.org/schema/qudt/',\n dcterms: 'http://purl.org/dc/terms/',\n },\n '@id': `${ATLAS_ID_PREFIX}release:${packageVersion}`,\n 'upt:qudtProbedAt': qudt.probedAt,\n '@graph': graph,\n };\n}\n"]}
@@ -6,9 +6,26 @@
6
6
  * family is checked the moment it is registered here. A gate that named
7
7
  * `OSCILLATOR_FAMILY` directly would pass forever over a family it never read.
8
8
  *
9
+ * Registration IS admission: every bridge of every family passes
10
+ * `admitApproximation` here, at module load, so an approximation without a
11
+ * horizon or a `deltaAt` cannot reach the registry, the JSON export or the
12
+ * CLI. The sentence that the gate ran only inside
13
+ * `tests/atlas/regime-admission.test.ts` is the record from before this
14
+ * call.
15
+ *
9
16
  * @module atlas/families
10
17
  */
11
- import type { AtlasFamily } from './oscillators/index.js';
12
- /** All atlas families. @internal */
18
+ import type { AtlasFamily } from './family.js';
19
+ /**
20
+ * Admit every bridge of every family, in order, and return the same list.
21
+ *
22
+ * @throws MissingHorizonError or MissingDeltaAtError from
23
+ * {@link admitApproximation} on the first bridge that fails; the family
24
+ * objects are returned unchanged otherwise, so identity is preserved for
25
+ * callers that import a family directly.
26
+ * @internal
27
+ */
28
+ export declare function admitFamilies(families: readonly AtlasFamily[]): readonly AtlasFamily[];
29
+ /** All atlas families, admitted. @internal */
13
30
  export declare const ATLAS_FAMILIES: readonly AtlasFamily[];
14
31
  //# sourceMappingURL=families.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"families.d.ts","sourceRoot":"","sources":["../../src/atlas/families.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,oCAAoC;AACpC,eAAO,MAAM,cAAc,EAAE,SAAS,WAAW,EAIhD,CAAC"}
1
+ {"version":3,"file":"families.d.ts","sourceRoot":"","sources":["../../src/atlas/families.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,WAAW,EAAE,CAGtF;AAED,8CAA8C;AAC9C,eAAO,MAAM,cAAc,EAAE,SAAS,WAAW,EAI/C,CAAC"}
@@ -6,15 +6,38 @@
6
6
  * family is checked the moment it is registered here. A gate that named
7
7
  * `OSCILLATOR_FAMILY` directly would pass forever over a family it never read.
8
8
  *
9
+ * Registration IS admission: every bridge of every family passes
10
+ * `admitApproximation` here, at module load, so an approximation without a
11
+ * horizon or a `deltaAt` cannot reach the registry, the JSON export or the
12
+ * CLI. The sentence that the gate ran only inside
13
+ * `tests/atlas/regime-admission.test.ts` is the record from before this
14
+ * call.
15
+ *
9
16
  * @module atlas/families
10
17
  */
11
18
  import { DIFFUSION_FAMILY } from './diffusion/index.js';
12
19
  import { OSCILLATOR_FAMILY } from './oscillators/index.js';
13
20
  import { WAVES_FAMILY } from './waves/index.js';
14
- /** All atlas families. @internal */
15
- export const ATLAS_FAMILIES = [
21
+ import { admitApproximation } from './regime.js';
22
+ /**
23
+ * Admit every bridge of every family, in order, and return the same list.
24
+ *
25
+ * @throws MissingHorizonError or MissingDeltaAtError from
26
+ * {@link admitApproximation} on the first bridge that fails; the family
27
+ * objects are returned unchanged otherwise, so identity is preserved for
28
+ * callers that import a family directly.
29
+ * @internal
30
+ */
31
+ export function admitFamilies(families) {
32
+ for (const family of families)
33
+ for (const bridge of family.bridges)
34
+ admitApproximation(bridge);
35
+ return families;
36
+ }
37
+ /** All atlas families, admitted. @internal */
38
+ export const ATLAS_FAMILIES = admitFamilies([
16
39
  OSCILLATOR_FAMILY,
17
40
  DIFFUSION_FAMILY,
18
41
  WAVES_FAMILY,
19
- ];
42
+ ]);
20
43
  //# sourceMappingURL=families.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"families.js","sourceRoot":"","sources":["../../src/atlas/families.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,oCAAoC;AACpC,MAAM,CAAC,MAAM,cAAc,GAA2B;IACpD,iBAAiB;IACjB,gBAAgB;IAChB,YAAY;CACb,CAAC"}
1
+ {"version":3,"file":"families.js","sourceRoot":"","sources":["../../src/atlas/families.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgC;IAC5D,KAAK,MAAM,MAAM,IAAI,QAAQ;QAAE,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO;YAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC/F,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8CAA8C;AAC9C,MAAM,CAAC,MAAM,cAAc,GAA2B,aAAa,CAAC;IAClE,iBAAiB;IACjB,gBAAgB;IAChB,YAAY;CACb,CAAC,CAAC","sourcesContent":["/**\n * Every registered atlas family, in the order they were built.\n *\n * Gates that must cover the WHOLE atlas (the evidence rule, admission, the\n * JSON artifacts) iterate this list rather than naming one family, so a new\n * family is checked the moment it is registered here. A gate that named\n * `OSCILLATOR_FAMILY` directly would pass forever over a family it never read.\n *\n * Registration IS admission: every bridge of every family passes\n * `admitApproximation` here, at module load, so an approximation without a\n * horizon or a `deltaAt` cannot reach the registry, the JSON export or the\n * CLI. The sentence that the gate ran only inside\n * `tests/atlas/regime-admission.test.ts` is the record from before this\n * call.\n *\n * @module atlas/families\n */\n\nimport { DIFFUSION_FAMILY } from './diffusion/index.js';\nimport { OSCILLATOR_FAMILY } from './oscillators/index.js';\nimport { WAVES_FAMILY } from './waves/index.js';\nimport type { AtlasFamily } from './family.js';\nimport { admitApproximation } from './regime.js';\n\n/**\n * Admit every bridge of every family, in order, and return the same list.\n *\n * @throws MissingHorizonError or MissingDeltaAtError from\n * {@link admitApproximation} on the first bridge that fails; the family\n * objects are returned unchanged otherwise, so identity is preserved for\n * callers that import a family directly.\n * @internal\n */\nexport function admitFamilies(families: readonly AtlasFamily[]): readonly AtlasFamily[] {\n for (const family of families) for (const bridge of family.bridges) admitApproximation(bridge);\n return families;\n}\n\n/** All atlas families, admitted. @internal */\nexport const ATLAS_FAMILIES: readonly AtlasFamily[] = admitFamilies([\n OSCILLATOR_FAMILY,\n DIFFUSION_FAMILY,\n WAVES_FAMILY,\n]);\n"]}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * The shape of one atlas family. A leaf module: every family index, the
3
+ * registry (`families.ts`), the serializer and the exporters import the type
4
+ * from here, so no family's index is the owner of a type the others share.
5
+ * The sentence that `AtlasFamily` was declared in `oscillators/index.ts` and
6
+ * imported from there by the other families is the record from before this
7
+ * module.
8
+ *
9
+ * @module atlas/family
10
+ */
11
+ import type { AtlasModel } from './model.js';
12
+ import type { AtlasBridge, AtlasRejection } from './types.js';
13
+ /**
14
+ * One atlas family: its models, the bridges between them, and the claimed
15
+ * bridges that were refuted. A rejection is evidence, not an omission, so it
16
+ * travels with the family rather than being dropped.
17
+ *
18
+ * @internal
19
+ */
20
+ export interface AtlasFamily {
21
+ /** `'oscillators'`. */
22
+ readonly family: string;
23
+ readonly models: readonly AtlasModel[];
24
+ readonly bridges: readonly AtlasBridge[];
25
+ readonly rejections: readonly AtlasRejection[];
26
+ }
27
+ //# sourceMappingURL=family.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"family.d.ts","sourceRoot":"","sources":["../../src/atlas/family.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;CAChD"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * The shape of one atlas family. A leaf module: every family index, the
3
+ * registry (`families.ts`), the serializer and the exporters import the type
4
+ * from here, so no family's index is the owner of a type the others share.
5
+ * The sentence that `AtlasFamily` was declared in `oscillators/index.ts` and
6
+ * imported from there by the other families is the record from before this
7
+ * module.
8
+ *
9
+ * @module atlas/family
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=family.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"family.js","sourceRoot":"","sources":["../../src/atlas/family.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG","sourcesContent":["/**\n * The shape of one atlas family. A leaf module: every family index, the\n * registry (`families.ts`), the serializer and the exporters import the type\n * from here, so no family's index is the owner of a type the others share.\n * The sentence that `AtlasFamily` was declared in `oscillators/index.ts` and\n * imported from there by the other families is the record from before this\n * module.\n *\n * @module atlas/family\n */\n\nimport type { AtlasModel } from './model.js';\nimport type { AtlasBridge, AtlasRejection } from './types.js';\n\n/**\n * One atlas family: its models, the bridges between them, and the claimed\n * bridges that were refuted. A rejection is evidence, not an omission, so it\n * travels with the family rather than being dropped.\n *\n * @internal\n */\nexport interface AtlasFamily {\n /** `'oscillators'`. */\n readonly family: string;\n readonly models: readonly AtlasModel[];\n readonly bridges: readonly AtlasBridge[];\n readonly rejections: readonly AtlasRejection[];\n}\n"]}
@@ -25,7 +25,8 @@
25
25
  * @module atlas
26
26
  */
27
27
  export type { RelationType, EvidenceTag, LimitCharacter, RegimeInequality, Regime, ApproximationBound, Witness, Counterexample, AtlasBridge, AtlasRejection, FormalFidelity, FormalRef, FormalRefKind, NormTransport, } from './types.js';
28
- export { MissingHorizonError, MissingLipschitzError } from './types.js';
28
+ /** Thrown by a bound whose `deltaAt`, `horizonHolds` or Lipschitz constant is missing. */
29
+ export { MissingDeltaAtError, MissingHorizonError, MissingLipschitzError } from './types.js';
29
30
  export { ALL_EVIDENCE_TAGS } from './types.js';
30
31
  export { deriveCompositeEvidence, deriveEvidence, deriveEvidenceForVerdict, NO_PASSING_WITNESSES, provedWithUnresolvedCounterexample } from './derive-evidence.js';
31
32
  export type { CounterexampleLike, EvidenceInput, MembershipVerdict, RejectionLike, WitnessLike, } from './derive-evidence.js';
@@ -41,7 +42,7 @@ export type { RegimeCheck } from './regime.js';
41
42
  export { CAPACITANCE, CUBIC_STIFFNESS, DAMPING, INDUCTANCE, RESISTANCE, SPRING_CONSTANT, } from './oscillators/dimensions.js';
42
43
  export { ATLAS_MODELS, getAtlasModel } from './oscillators/models.js';
43
44
  export { OSCILLATOR_FAMILY } from './oscillators/index.js';
44
- export type { AtlasFamily } from './oscillators/index.js';
45
+ export type { AtlasFamily } from './family.js';
45
46
  export { toAtlasJson, ATLAS_RECORD_SCHEMA_VERSION } from './serialize.js';
46
47
  export type { AtlasRecordJson, JsonValue } from './serialize.js';
47
48
  export { blockingFindings, checkApplicability, } from './applicability.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/atlas/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,YAAY,EACV,YAAY,EACZ,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,MAAM,EACN,kBAAkB,EAClB,OAAO,EACP,cAAc,EACd,WAAW,EACX,cAAc,EACd,cAAc,EACd,SAAS,EACT,aAAa,EACb,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAK/C,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,kCAAkC,EAAE,MAAM,sBAAsB,CAAC;AACnK,YAAY,EACV,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAChG,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACvG,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAErH,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACrF,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9D,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EACL,WAAW,EACX,eAAe,EACf,OAAO,EACP,UAAU,EACV,UAAU,EACV,eAAe,GAChB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAC1E,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClF,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAIlE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxF,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACjG,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,SAAS,GACV,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACxB,MAAM,EACN,aAAa,EACb,cAAc,EACd,UAAU,EACV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,UAAU,GACX,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,QAAQ,EAAE,uBAAuB,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACjI,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EACL,WAAW,EACX,OAAO,EACP,wBAAwB,EACxB,WAAW,EACX,cAAc,EACd,GAAG,GACJ,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtF,YAAY,EACV,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACtF,YAAY,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,wBAAwB,EACxB,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAErF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EACV,WAAW,EACX,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACrE,YAAY,EACV,OAAO,EACP,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,2BAA2B,EAC3B,YAAY,EACZ,cAAc,EACd,iBAAiB,GAClB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/atlas/index.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,8 @@
24
24
  *
25
25
  * @module atlas
26
26
  */
27
- export { MissingHorizonError, MissingLipschitzError } from './types.js';
27
+ /** Thrown by a bound whose `deltaAt`, `horizonHolds` or Lipschitz constant is missing. */
28
+ export { MissingDeltaAtError, MissingHorizonError, MissingLipschitzError } from './types.js';
28
29
  export { ALL_EVIDENCE_TAGS } from './types.js';
29
30
  // The Phase 1–3 core. Absent from this barrel until the S6.7 API review found
30
31
  // the gap: subpath users could not reach evidence derivation, the composition
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/atlas/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/atlas/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 0 barrel — the oscillator pilot.\n *\n * Reachable only through the `universal-physics-tensor/atlas` subpath. Not\n * re-exported from the root `universal-physics-tensor` entry before Phase 6.\n *\n * All symbols are `@internal`: these are throwaway pilot types (design note\n * §4), not a stability contract.\n *\n * ⚠ **THE INVARIANT IS: NEVER THE BARREL.** `src/bridges/` and\n * `src/composition/` must not import THIS FILE — `src/atlas/` imports\n * `bridges/*` and `composition/*`, so a barrel import closes a cycle that\n * `bun run docs:deps` reports. Importing a leaf module (`./types.js`,\n * `./regime.js`, `./composition-table.js`, …) is fine. `src/bridges/` does\n * not import this directory. Catalog formal references live in\n * `src/atlas/catalog-formal-ref.ts`.\n *\n * This comment used to say \"TYPES ONLY, and only from `src/atlas/types.js`\",\n * which the tree HAS NEVER SATISFIED while `docs:deps` reported 0 cycles.\n * A rule stricter than the invariant it protects gets silently violated by\n * correct code, and the next reader either believes a false description of\n * the tree or \"fixes\" code that was right. Corrected 2026-09-22 against the\n * same measurement that corrected `CLAUDE.md`.\n *\n * @module atlas\n */\n\nexport type {\n RelationType,\n EvidenceTag,\n LimitCharacter,\n RegimeInequality,\n Regime,\n ApproximationBound,\n Witness,\n Counterexample,\n AtlasBridge,\n AtlasRejection,\n FormalFidelity,\n FormalRef,\n FormalRefKind,\n NormTransport,\n} from './types.js';\n/** Thrown by a bound whose `deltaAt`, `horizonHolds` or Lipschitz constant is missing. */\nexport { MissingDeltaAtError, MissingHorizonError, MissingLipschitzError } from './types.js';\nexport { ALL_EVIDENCE_TAGS } from './types.js';\n\n// The Phase 1–3 core. Absent from this barrel until the S6.7 API review found\n// the gap: subpath users could not reach evidence derivation, the composition\n// table or path bounding at all (tests/atlas/barrel-completeness.test.ts).\nexport { deriveCompositeEvidence, deriveEvidence, deriveEvidenceForVerdict, NO_PASSING_WITNESSES, provedWithUnresolvedCounterexample } from './derive-evidence.js';\nexport type {\n CounterexampleLike,\n EvidenceInput,\n MembershipVerdict,\n RejectionLike,\n WitnessLike,\n} from './derive-evidence.js';\nexport { composeRelation, COMPOSITION_TABLE, NO_COMPOSITE_CLAIM } from './composition-table.js';\nexport type { CompositionResult, NoCompositeClaim } from './composition-table.js';\nexport { boundPath, findAtlasPath, findPath, horizonOnRoute, routeEntryModels } from './path-bound.js';\nexport type { AppliedTransport, NoClaimReason, PathBoundClaim, PathBoundResult, PathNoClaim } from './path-bound.js';\n\nexport type { AtlasModel, ModelId } from './model.js';\n\nexport { composeBounds, composeBoundPath, IDENTITY_BOUND } from './error-algebra.js';\nexport type { BoundPair, ComposedPath } from './error-algebra.js';\n\nexport { deriveRegimeGroups, regimeHolds } from './regime.js';\nexport type { RegimeCheck } from './regime.js';\n\nexport {\n CAPACITANCE,\n CUBIC_STIFFNESS,\n DAMPING,\n INDUCTANCE,\n RESISTANCE,\n SPRING_CONSTANT,\n} from './oscillators/dimensions.js';\n\nexport { ATLAS_MODELS, getAtlasModel } from './oscillators/models.js';\n\nexport { OSCILLATOR_FAMILY } from './oscillators/index.js';\nexport type { AtlasFamily } from './family.js';\n\nexport { toAtlasJson, ATLAS_RECORD_SCHEMA_VERSION } from './serialize.js';\nexport type { AtlasRecordJson, JsonValue } from './serialize.js';\n\nexport {\n blockingFindings,\n checkApplicability,\n} from './applicability.js';\nexport type {\n ApplicabilityFinding,\n ApplicabilityFindingKind,\n ApplicabilityInput,\n ApplicabilitySeverity,\n} from './applicability.js';\n\nexport { passingWitnessIds } from './witness-result.js';\nexport type {\n UnresolvedReason,\n WitnessRunResult,\n WitnessStatus,\n} from './witness-result.js';\n\nexport { ATLAS_FAMILIES } from './families.js';\nexport { runLinkPrediction } from './link-prediction.js';\nexport { ATLAS_ID_PREFIX, toAtlasJsonLd, toCombinedAtlasJson } from './export.js';\nexport type { QudtResolution } from './export.js';\nexport type { LinkPredictionResult, LinkPredictionTrial } from './link-prediction.js';\nexport { DIFFUSION_FAMILY } from './diffusion/index.js';\nexport {\n BRIDGE_HEAT_DIFFUSION,\n BRIDGE_SCHRODINGER_DIFFUSION,\n BRIDGE_WALK_DIFFUSION,\n DIFFUSION_BRIDGES,\n} from './diffusion/bridges.js';\nexport { DIFFUSION_MODELS, getDiffusionModel } from './diffusion/models.js';\nexport { WAVES_FAMILY } from './waves/index.js';\nexport {\n BRIDGE_KLEIN_GORDON_WAVE,\n BRIDGE_SOUND_SPEED,\n BRIDGE_STRING_WAVE,\n BRIDGE_WAVE_DALEMBERT,\n WAVE_BRIDGES,\n} from './waves/bridges.js';\nexport { WAVE_MODELS } from './waves/models.js';\nexport { DIFFUSION_CLOSURE_BRIDGES } from './diffusion/bridges-closure.js';\nexport { WAVE_CLOSURE_BRIDGES } from './waves/bridges-closure.js';\n\n// Phase 5 benchmark: the PURE parts only. `benchmark/loader.ts` reads files and is\n// deliberately not re-exported, so importing this barrel never pulls in file I/O.\nexport { FAILURE_KINDS, HELD_OUT_FAMILY, HELD_OUT_MARKERS } from './benchmark/types.js';\nexport type { Authorship, BenchmarkItem, BenchmarkSplit, FailureKind } from './benchmark/types.js';\nexport { checkRenamedVariants, findCrossSplitLeakage, leakageKey } from './benchmark/leakage.js';\nexport type { LeakageCollision, VariantProblem } from './benchmark/leakage.js';\nexport {\n ABLATION_CONFIGS,\n FULL_CONFIG,\n runAtlasCondition,\n runAtlasOnItem,\n} from './benchmark/run-atlas.js';\nexport type { AtlasRunConfig, AtlasVerdict } from './benchmark/run-atlas.js';\nexport {\n rankBySymbolOverlap,\n rankByStructure,\n rankByTextOverlap,\n recallAtK,\n} from './benchmark/baselines.js';\nexport type { CorpusRecord, Ranking, RetrievalQuery } from './benchmark/baselines.js';\nexport {\n ATLAS_ONLY_NOTE,\n EMBEDDING_INSTRUCTION,\n FROZEN_VECTOR_DIMS,\n FROZEN_VECTOR_SHA256,\n OLLAMA_EMBEDDING_MODEL,\n OLLAMA_TIMEOUT_MS,\n PROPOSAL_NOTE,\n EmbeddingUnavailable,\n canonicalRetrievalCorpus,\n cosine,\n decodeFloat32,\n ollamaEmbedder,\n queryInput,\n rankByCosine,\n retrieveHybrid,\n stubEmbedder,\n stubVector,\n} from './benchmark/hybrid-retrieval.js';\nexport type { Embedder, EmbeddingFallbackReason, HybridRetrieval, OllamaEmbedderOptions } from './benchmark/hybrid-retrieval.js';\nexport { parseBackendResponse } from './benchmark/backend-shapes.js';\nexport {\n cohensKappa,\n mcnemar,\n pairedDifferenceInterval,\n powerReport,\n wilsonInterval,\n Z95,\n} from './benchmark/stats.js';\nexport type { Interval, McNemarResult, PairedTable, PowerReport } from './benchmark/stats.js';\nexport { pairedRejection, scoreAblation, scoreCondition } from './benchmark/study.js';\nexport type {\n AblationRow,\n ConditionAnswer,\n ConditionMetrics,\n ItemLabel,\n PairedRejection,\n} from './benchmark/study.js';\nexport type {\n BackendShapeError,\n BenchmarkBackendRequest,\n BenchmarkBackendResponse,\n} from './benchmark/backend-shapes.js';\n\nexport { runWitnessRegistry, artifactPassingWitnessIds } from './witness-artifact.js';\nexport type { WitnessResultRecord, WitnessResultsArtifact } from './witness-artifact.js';\n\nexport { WITNESS_REGISTRY } from './witness-specs.js';\nexport type {\n RegisteredNumericWitness,\n RegisteredSymbolicWitness,\n RegisteredWitness,\n} from './witness-specs.js';\n\nexport { runSymbolicWitness } from './witness-symbolic.js';\nexport type { SymbolicSimplifier, SymbolicWitnessSpec } from './witness-symbolic.js';\n\nexport { runNumericWitness } from './witness-numeric.js';\nexport type {\n Convergence,\n NumericWitnessRunResult,\n NumericWitnessSpec,\n} from './witness-numeric.js';\n\nexport { contextUnion, statementContextUnion } from './statement.js';\nexport type {\n Context,\n ContextUnionFormed,\n ContextUnionRefused,\n ContextUnionResult,\n NoUnionReason,\n Statement,\n StatementId,\n} from './statement.js';\n\nexport {\n composeDerivations,\n composeDerivationsOrThrow,\n DerivationCompositionError,\n makeDerivation,\n} from './derivation.js';\nexport type {\n CompositeFormed,\n CompositeRefused,\n Derivation,\n DerivationCompositionResult,\n DerivationId,\n DerivationSpec,\n NoCompositeReason,\n} from './derivation.js';\n"]}
@@ -26,7 +26,7 @@
26
26
  * @module atlas/link-prediction
27
27
  * @internal
28
28
  */
29
- import type { AtlasFamily } from './oscillators/index.js';
29
+ import type { AtlasFamily } from './family.js';
30
30
  /** One held-out pair and whether each predictor recovered it. @internal */
31
31
  export interface LinkPredictionTrial {
32
32
  readonly bridgeId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"link-prediction.d.ts","sourceRoot":"","sources":["../../src/atlas/link-prediction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,2EAA2E;AAC3E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,qFAAqF;IACrF,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAChD;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,uDAAuD;IACvD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAsBD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAAE,CAAC,SAAK,GAAG,oBAAoB,CAkEhG"}
1
+ {"version":3,"file":"link-prediction.d.ts","sourceRoot":"","sources":["../../src/atlas/link-prediction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,2EAA2E;AAC3E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,qFAAqF;IACrF,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAChD;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,uDAAuD;IACvD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAsBD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAAE,CAAC,SAAK,GAAG,oBAAoB,CAkEhG"}
@@ -1 +1 @@
1
- {"version":3,"file":"link-prediction.js","sourceRoot":"","sources":["../../src/atlas/link-prediction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"link-prediction.js","sourceRoot":"","sources":["../../src/atlas/link-prediction.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 6, S6.3 — link prediction over the typed model graph: ONE result,\n * stated as a hypothesis about the representation.\n *\n * Design note: `docs/planning/Atlas-Phase-6-Design.md` §1.\n *\n * The graph: every model in every registered family is a node; every\n * premise→conclusion pair of every bridge is an undirected edge. The test is\n * leave-one-bridge-out: remove a bridge's edges, then ask each predictor to rank\n * the conclusion among every model not already adjacent to the premise. A hit is\n * the held-out conclusion inside the top k.\n *\n * - **structural predictor** — common neighbours in the remaining graph, ties\n * broken by sharing the premise's family, then by id;\n * - **text baseline** — word-token overlap between the models' dynamics and\n * state-space descriptions, ties broken by id.\n *\n * ⚠ **What this result cannot carry.** The graph is small (24 models, 22 pairs)\n * and was curated by the same agent that runs the test, in-distribution. It is a\n * statement about how this representation behaves on its own content — not a\n * discovery claim, not a hub or gap claim, and not evidence about physics the\n * atlas does not contain. ROADMAP Phase 6 asks for it as a hypothesis test, and\n * that is its whole scope. Product A (`src/composition/discovery.ts`) is not\n * touched: a test pins that nothing under `src/atlas/` imports it.\n *\n * @module atlas/link-prediction\n * @internal\n */\n\nimport type { AtlasFamily } from './family.js';\nimport type { AtlasModel } from './model.js';\n\n/** One held-out pair and whether each predictor recovered it. @internal */\nexport interface LinkPredictionTrial {\n readonly bridgeId: string;\n readonly premise: string;\n readonly conclusion: string;\n /** 1-based rank of the held-out conclusion; Infinity when it was not a candidate. */\n readonly structuralRank: number;\n readonly textRank: number;\n /** How many candidates the conclusion competed against. */\n readonly candidates: number;\n}\n\n/** The whole leave-one-bridge-out run. @internal */\nexport interface LinkPredictionResult {\n readonly k: number;\n readonly trials: readonly LinkPredictionTrial[];\n /**\n * Held-out pairs whose endpoints stay adjacent through ANOTHER bridge. Such a\n * pair is not a missing link — the conclusion cannot even be a candidate — so\n * it is excluded from the trials and counted here instead of silently.\n */\n readonly stillConnected: number;\n readonly structuralHits: number;\n readonly textHits: number;\n /**\n * The hit rate a RANDOM ranking would get: the mean over trials of\n * min(k, candidates)/candidates. On a small graph this is high, and a\n * predictor's recall means nothing until it is read against it.\n */\n readonly chanceRecall: number;\n /** Mean reciprocal rank of the held-out conclusion. */\n readonly structuralMrr: number;\n readonly textMrr: number;\n}\n\nconst tokens = (text: string): Set<string> =>\n new Set(text.toLowerCase().split(/[^\\p{L}\\p{N}]+/u).filter((t) => t.length > 0));\n\nconst jaccard = (a: ReadonlySet<string>, b: ReadonlySet<string>): number => {\n if (a.size === 0 && b.size === 0) return 0;\n let inter = 0;\n for (const x of a) if (b.has(x)) inter++;\n return inter / (a.size + b.size - inter);\n};\n\n/** Rank candidates by descending score list (lexicographic), then ascending id. */\nfunction rank(candidates: readonly string[], score: (id: string) => readonly number[]): string[] {\n return [...candidates].sort((x, y) => {\n const sx = score(x);\n const sy = score(y);\n for (let i = 0; i < sx.length; i++) if (sx[i] !== sy[i]) return sy[i]! - sx[i]!;\n return x < y ? -1 : x > y ? 1 : 0;\n });\n}\n\n/**\n * Run leave-one-bridge-out link prediction over the families' model graph.\n *\n * @param families - the atlas families (normally `ATLAS_FAMILIES`).\n * @param k - the depth a hit must fall within (10, as pre-registered for recall).\n * @internal\n */\nexport function runLinkPrediction(families: readonly AtlasFamily[], k = 10): LinkPredictionResult {\n const models = new Map<string, AtlasModel>();\n for (const f of families) for (const m of f.models) models.set(m.id, m);\n const bridges = families.flatMap((f) => f.bridges);\n\n const edgesOf = (b: (typeof bridges)[number]): Array<readonly [string, string]> =>\n b.premises.map((p) => [p, b.conclusion] as const);\n\n const trials: LinkPredictionTrial[] = [];\n let stillConnected = 0;\n for (const held of bridges) {\n // The graph WITHOUT the held-out bridge.\n const adj = new Map<string, Set<string>>();\n for (const id of models.keys()) adj.set(id, new Set());\n for (const b of bridges) {\n if (b === held) continue;\n for (const [u, v] of edgesOf(b)) {\n adj.get(u)?.add(v);\n adj.get(v)?.add(u);\n }\n }\n for (const [premise, conclusion] of edgesOf(held)) {\n const pModel = models.get(premise);\n if (pModel === undefined) continue;\n const neighbours = adj.get(premise) ?? new Set<string>();\n if (neighbours.has(conclusion)) {\n stillConnected++;\n continue;\n }\n const candidates = [...models.keys()].filter((id) => id !== premise && !neighbours.has(id));\n const common = (id: string): number => {\n let n = 0;\n for (const x of adj.get(id) ?? []) if (neighbours.has(x)) n++;\n return n;\n };\n const structural = rank(candidates, (id) => [common(id), models.get(id)!.family === pModel.family ? 1 : 0]);\n const pText = tokens(`${pModel.dynamics} ${pModel.stateSpace}`);\n const text = rank(candidates, (id) => {\n const m = models.get(id)!;\n return [jaccard(pText, tokens(`${m.dynamics} ${m.stateSpace}`))];\n });\n const at = (list: string[]): number => {\n const i = list.indexOf(conclusion);\n return i < 0 ? Number.POSITIVE_INFINITY : i + 1;\n };\n trials.push({\n bridgeId: held.id,\n premise,\n conclusion,\n structuralRank: at(structural),\n textRank: at(text),\n candidates: candidates.length,\n });\n }\n }\n const mean = (xs: readonly number[]): number => (xs.length === 0 ? Number.NaN : xs.reduce((a, b) => a + b, 0) / xs.length);\n return {\n k,\n trials,\n stillConnected,\n structuralHits: trials.filter((t) => t.structuralRank <= k).length,\n textHits: trials.filter((t) => t.textRank <= k).length,\n chanceRecall: mean(trials.map((t) => Math.min(k, t.candidates) / t.candidates)),\n structuralMrr: mean(trials.map((t) => 1 / t.structuralRank)),\n textMrr: mean(trials.map((t) => 1 / t.textRank)),\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/atlas/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/atlas/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG","sourcesContent":["/**\n * The `Model` record — Phase 3's promotion of the Phase 0 `AtlasModel`.\n *\n * ROADMAP Phase 3 makes the MODEL the unit rather than the equation: state\n * space, dynamics, observables, parameters, boundary/initial data, symmetry\n * group where known, regime. This module is the record's new home; the nine\n * Phase 0 fields are carried over unchanged and three are added.\n *\n * **`boundaryData`, `initialData` and `symmetryGroup` are all OPTIONAL**\n * (`docs/planning/Atlas-Phase-3-Design.md` §4, which supersedes the\n * implementation plan's wording on the first two). No boundary or initial\n * data is recorded for the nine oscillator models, so a required field would\n * force either fabricated values or empty ones asserting \"there are none\".\n * `oscillators/models.ts` refuses exactly that fabrication for `inequalities`.\n * **An absent field says \"not recorded\"; a present empty one says \"there are\n * none\", and only one of those is true here** — so the nine literals stay\n * byte-identical and record nothing they do not have a source for.\n *\n * `src/atlas/serialize.ts` enumerates model fields explicitly, so a model\n * carrying none of the three serializes byte-identically to Phase 0's\n * committed `data/atlas/oscillators.json`.\n *\n * @module atlas/model\n */\n\nimport type { DimensionalVariable } from '../dimensional/buckingham.js';\nimport type { Regime } from './types.js';\n\n/**\n * One model in the atlas.\n *\n * The first nine fields are Phase 0's `AtlasModel` verbatim. The last three\n * are the Phase 3 additions and are omitted, never emptied, when unrecorded.\n *\n * @public\n */\nexport interface AtlasModel {\n /** `'model-spring'`, `'model-lc'`, … */\n readonly id: string;\n readonly family: string;\n readonly stateSpace: string;\n /** Display form of the ODE. */\n readonly dynamics: string;\n readonly observables: readonly string[];\n /** Dimensioned parameters. */\n readonly parameters: readonly DimensionalVariable[];\n /** `'theta0'`, `'qa'` — declared with the zero dimension. */\n readonly dimensionlessInputs: readonly string[];\n /** `'CE-simple-harmonic-frequency'`, … — must resolve in `CANONICAL_EQUATIONS`. */\n readonly canonicalRefs: readonly string[];\n readonly regime: Regime;\n\n // ── Phase 3 additions (OPTIONAL; a model without them is unchanged) ─────\n /**\n * Boundary conditions the model is posed with, each as its stated display\n * form (`'u(0, t) = u(L, t) = 0'`). **Omit when none is recorded** — an\n * empty array would claim the model has no boundary conditions.\n */\n readonly boundaryData?: readonly string[];\n /**\n * Initial conditions the model is posed with (`'x(0) = x₀'`). Omit when\n * none is recorded; see `boundaryData`.\n */\n readonly initialData?: readonly string[];\n /**\n * The symmetry group where it is known, as stated (`'SO(2)'`,\n * `'time translation'`). Omit when unknown — Phase 3 records only\n * symmetries a source states.\n */\n readonly symmetryGroup?: string;\n}\n\n/** A `Model`'s id, as `CanonicalEquation.model` references it. @internal */\nexport type ModelId = string;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"bridges-coarse.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-coarse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAMjE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAExF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1F;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,oEAAoE;AACpE,eAAO,MAAM,iBAAiB,EAAE,WAmE/B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAAwD,CAAC"}
1
+ {"version":3,"file":"bridges-coarse.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-coarse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAMjE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAExF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1F;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,oEAAoE;AACpE,eAAO,MAAM,iBAAiB,EAAE,WAkE/B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAAwD,CAAC"}
@@ -100,7 +100,6 @@ export const BRIDGE_CHAIN_WAVE = {
100
100
  witness: 'W9',
101
101
  },
102
102
  ],
103
- evidence: new Set(['proposed', 'dimension-checked', 'numerically-supported']),
104
103
  witnesses: [
105
104
  {
106
105
  id: 'W9',
@@ -1 +1 @@
1
- {"version":3,"file":"bridges-coarse.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-coarse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridges-coarse.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-coarse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,GAAG,aAAa,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,CAAS;IAC9E,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,CAAS;IAChF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,cAAc,CAAC,CAAS,EAAE,KAAa,EAAE,CAAS;IAChE,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,CAAS;IACtD,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,4BAA4B,CAAC,EAAU;IACrD,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;AACxB,CAAC;AAED,oEAAoE;AACpE,MAAM,CAAC,MAAM,iBAAiB,GAAgB;IAC5C,EAAE,EAAE,eAAe;IACnB,QAAQ,EAAE,iBAAiB;IAC3B,QAAQ,EAAE,CAAC,aAAa,CAAC;IACzB,UAAU,EAAE,eAAe;IAC3B,cAAc,EAAE,4CAA4C;IAC5D,SAAS,EAAE;QACT,oCAAoC;QACpC,yBAAyB;QACzB,WAAW;KACZ;IACD,eAAe,EAAE;QACf,oBAAoB;QACpB,0CAA0C;QAC1C,wDAAwD;KACzD;IACD,cAAc,EAAE,CAAC,yBAAyB,CAAC;IAC3C,MAAM,EAAE;QACN,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACnE,gBAAgB,EAAE,kBAAkB,CAClC,MAAM,EACN;YACE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE;YACxB,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE;YACvC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE;YAC1B,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE;SAC7B,EACD,CAAC,IAAI,CAAC,CACP;KACF;IACD,eAAe,EAAE;QACf;YACE,WAAW,EACT,2EAA2E;gBAC3E,2EAA2E;gBAC3E,mBAAmB;YACrB,OAAO,EAAE,IAAI;SACd;KACF;IACD,SAAS,EAAE;QACT;YACE,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,wCAAwC;YAC9C,SAAS,EAAE,kEAAkE;SAC9E;QACD;YACE,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,wCAAwC;YAC9C,SAAS,EACP,kGAAkG;gBAClG,+GAA+G;SAClH;KACF;IACD,gFAAgF;IAChF,uFAAuF;IACvF,mFAAmF;IACnF,wFAAwF;IACxF,qBAAqB;IACrB,SAAS,EAAE;QACT,8IAA8I;QAC9I,0IAA0I;KAC3I;IACD,YAAY,EAAE,UAAU;CACzB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAqB,kBAAkB,CAAC,iBAAiB,CAAC,CAAC","sourcesContent":["/**\n * Bridge 5 of the oscillator pilot: the COARSE-GRAINING bridge from the\n * discrete mass–spring chain to the 1-D wave equation.\n *\n * This is the only Phase 0 bridge whose relation is `coarse-graining`: the\n * reduction map `u_n(t) ↦ u(x = na, t)` is not invertible, and the\n * short-wavelength half of the lattice Brillouin zone (`q > π/a`) has no image\n * in the continuum model. The information loss is therefore recorded in\n * `doesNotPreserve` and witnessed numerically by `W9`.\n *\n * @module atlas/oscillators/bridges-coarse\n */\n\nimport { LENGTH, MASS, VELOCITY } from '../../dimensional/types.js';\nimport { deriveRegimeGroups } from '../regime.js';\nimport type { AtlasBridge, RelationContract } from '../types.js';\nimport { relationContractOf } from './bridges-exact.js';\nimport { SPRING_CONSTANT } from './dimensions.js';\n\nconst FAMILY = 'oscillators';\n\n/**\n * The lattice dispersion relation of `m u_n″ = κ(u_{n+1} − 2u_n + u_{n−1})`:\n * `ω(q) = 2 √(κ/m) |sin(qa/2)|`.\n *\n * @internal\n */\nexport function latticeDispersion(q: number, a: number, kappa: number, m: number): number {\n return 2 * Math.sqrt(kappa / m) * Math.abs(Math.sin((q * a) / 2));\n}\n\n/**\n * The continuum dispersion relation of `u_tt = c² u_xx` with `c² = κ a² / m`:\n * `ω = c q`.\n *\n * @internal\n */\nexport function continuumDispersion(q: number, a: number, kappa: number, m: number): number {\n return Math.sqrt((kappa * a * a) / m) * Math.abs(q);\n}\n\n/** The long-wavelength wave speed `c = a √(κ/m)`. @internal */\nexport function chainWaveSpeed(a: number, kappa: number, m: number): number {\n return a * Math.sqrt(kappa / m);\n}\n\n/**\n * The band edge of the lattice, at `qa = π`: `ω_max = 2 √(κ/m)`.\n * The continuum relation `ω = c q` is unbounded and has no counterpart —\n * that absence IS the information the coarse-graining discards.\n *\n * @internal\n */\nexport function latticeBandEdge(kappa: number, m: number): number {\n return 2 * Math.sqrt(kappa / m);\n}\n\n/**\n * Leading-order relative dispersion error `1 − ω_lattice/ω_continuum`,\n * approximated as `(qa)²/24`.\n *\n * Convention note (fixed for the whole sprint): with `x = qa/2`,\n * `1 − sin x / x = x²/6 − x⁴/120 + …`, so the true relative error is\n * `(qa)²/24 − (qa)⁴/1920`. The quartic term makes `(qa)²/24` an\n * OVERESTIMATE; the signed deviation `(true − approx)/approx` is therefore\n * NEGATIVE and equals `−(qa)²/80` to leading order. The W9 assertion is on\n * the MAGNITUDE, so the sign convention does not change the test — it is\n * stated here so the next reader does not rederive it.\n *\n * @internal\n */\nexport function dispersionErrorApproximation(qa: number): number {\n return (qa * qa) / 24;\n}\n\n/** Bridge 5: chain → wave equation by coarse-graining. @internal */\nexport const BRIDGE_CHAIN_WAVE: AtlasBridge = {\n id: 'ab-chain-wave',\n relation: 'coarse-graining',\n premises: ['model-chain'],\n conclusion: 'model-wave-1d',\n transformation: 'u_n(t) ↦ u(x = n a, t), with c² = κ a² / m',\n preserves: [\n 'long-wavelength dispersion ω ≈ c q',\n 'wave speed c = a √(κ/m)',\n 'linearity',\n ],\n doesNotPreserve: [\n 'modes with q > π/a',\n 'the band edge ω_max = 2 √(κ/m) at qa = π',\n 'the discrete lattice spacing a as an independent scale',\n ],\n sideConditions: ['long-wavelength, qa ≪ 1'],\n regime: {\n family: FAMILY,\n inequalities: [{ group: 'qa', op: '<', bound: 1, alias: 'qa ≪ 1' }],\n groupDefinitions: deriveRegimeGroups(\n FAMILY,\n [\n { name: 'm', dim: MASS },\n { name: 'kappa', dim: SPRING_CONSTANT },\n { name: 'a', dim: LENGTH },\n { name: 'c', dim: VELOCITY },\n ],\n ['qa'],\n ),\n },\n counterexamples: [\n {\n description:\n 'A mode at the band edge qa = π has ω = 2√(κ/m) on the lattice, while the ' +\n 'continuum relation ω = c q is unbounded: the coarse-grained model has no ' +\n 'band edge at all.',\n witness: 'W9',\n },\n ],\n witnesses: [\n {\n id: 'W9',\n kind: 'numeric',\n test: 'tests/atlas/oscillators-coarse.test.ts',\n tolerance: 'relative dispersion error matches (qa)²/24 within 0.5% of itself',\n },\n {\n id: 'W9b',\n kind: 'numeric',\n test: 'tests/atlas/oscillators-coarse.test.ts',\n tolerance:\n 'ring of 64 masses integrated: ω matches the lattice dispersion within 1e-9 and the coarse error ' +\n '(qa)²/24 within 1%; superposition within 1e-10 (linearity); a 10% wrong κ and a cubic on-site force each fail',\n },\n ],\n // The monatomic-chain dispersion omega(q) = 2 sqrt(kappa/m) |sin(qa/2)| and its\n // long-wavelength continuum limit are standard solid-state results. Work and topic are\n // cited rather than a precise section number, which would be fabrication in a more\n // confident costume. This array was EMPTY, which is honest but leaves a textbook result\n // looking unsourced.\n citations: [\n 'Kittel, Introduction to Solid State Physics - Phonons I: the monatomic linear chain, its dispersion relation and the qa << 1 continuum limit',\n 'Ashcroft & Mermin, Solid State Physics - the one-dimensional monatomic Bravais lattice and the first Brillouin zone band edge at qa = pi',\n ],\n reviewStatus: 'proposed',\n};\n\n/**\n * Bridge 5 re-registered through `RelationContract`.\n *\n * `coarse-graining` leaves `bound` OPTIONAL, and this record carries none: the\n * `qa²/24` dispersion residual is a per-mode series term, not a Lipschitz\n * constant with a uniform offset in a stated norm. The union permits the\n * absence rather than forcing an invented `K` and `delta`.\n *\n * No `deltaAt` either, for the same reason and by the same rule: `deltaAt` is\n * the machine form OF a `delta`, so a record with no `delta` has nothing for\n * it to be the machine form of. `admitApproximation` requires `deltaAt` only\n * of an `approximation`, so this record passes admission unchanged.\n *\n * @internal\n */\nexport const CONTRACT_CHAIN_WAVE: RelationContract = relationContractOf(BRIDGE_CHAIN_WAVE);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"bridges-exact.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-exact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAuB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAgDtF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,EAAE,WA8D9B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAqC/B,CAAC;AAMF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB,CAwBxE;AAED,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,EAAE,gBAAuD,CAAC;AAEzF,qEAAqE;AACrE,eAAO,MAAM,mBAAmB,EAAE,gBAAwD,CAAC"}
1
+ {"version":3,"file":"bridges-exact.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-exact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAU,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA8CzE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,EAAE,WA6D9B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAoC/B,CAAC;AAMF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB,CAwBxE;AAED,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,EAAE,gBAAuD,CAAC;AAEzF,qEAAqE;AACrE,eAAO,MAAM,mBAAmB,EAAE,gBAAwD,CAAC"}
@@ -63,7 +63,6 @@ function bridgeRegime(premiseId, conclusionId) {
63
63
  groupDefinitions: deriveRegimeGroups(FAMILY, parameters, []),
64
64
  };
65
65
  }
66
- const evidence = (...tags) => new Set(tags);
67
66
  /**
68
67
  * Bridge 1 — the lossless spring ↔ LC dictionary.
69
68
  *
@@ -104,7 +103,6 @@ export const BRIDGE_SPRING_LC = {
104
103
  // DERIVED from `data/atlas/witness-results.json`, where W1s records the CAS
105
104
  // check of this bridge's dictionary. A stored copy would be a second source
106
105
  // of truth that no run could falsify.
107
- evidence: evidence('proposed', 'numerically-supported'),
108
106
  witnesses: [
109
107
  {
110
108
  id: 'W1',
@@ -166,7 +164,6 @@ export const BRIDGE_DAMPED_RLC = {
166
164
  ],
167
165
  regime: bridgeRegime('model-damped-spring', 'model-rlc'),
168
166
  counterexamples: [],
169
- evidence: evidence('proposed', 'numerically-supported'),
170
167
  witnesses: [
171
168
  {
172
169
  id: 'W2',
@@ -1 +1 @@
1
- {"version":3,"file":"bridges-exact.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-exact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridges-exact.js","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-exact.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * The two Phase 0 `exact-equivalence` bridges of design note §3.\n *\n * - `ab-spring-lc` — the lossless mechanical/electrical dictionary, exact with\n * no side condition beyond positivity and losslessness.\n * - `ab-damped-rlc` — exact only ON a side condition: the two damping ratios\n * must agree, `b/(2√(mk)) = (R/2)√(C/L)`.\n *\n * **Regimes carry no inequalities.** `RegimeInequality` expresses `<`, `<=`,\n * `>`, `>=` only, so the bridge-2 side condition — an EQUALITY between two\n * derived ratios — cannot be written as one. It is carried in\n * `sideConditions` as prose instead, and the equality is what witness W2\n * executes. Writing an inequality that merely resembles it would be a\n * fabricated constraint, so none is written. `groupDefinitions` is derived\n * from the premise and conclusion parameters by `deriveRegimeGroups`, exactly\n * as the models do; nothing there is hand-authored.\n *\n * **Evidence tags are witness-gated.** A tag appears only because a witness in\n * `tests/atlas/oscillators-exact.test.ts` passes and shows it.\n *\n * @module atlas/oscillators/bridges-exact\n */\n\nimport { physjsFormalRef } from '../physjs-ref.js';\nimport { deriveRegimeGroups } from '../regime.js';\nimport { getAtlasModel } from './models.js';\nimport type { AtlasBridge, Regime, RelationContract } from '../types.js';\nimport { SPRING_LC_RELATIVE_PERIOD_TRANSPORT } from './norm-transport.js';\n\nconst FAMILY = 'oscillators';\n\n/** The witness test file every witness below runs in. */\nconst TEST = 'tests/atlas/oscillators-exact.test.ts';\n/** Where the CAS witnesses W1s and W2s are named; the artifact pin runs them. */\nconst WITNESS_RESULTS_TEST = 'tests/atlas/witness-results.test.ts';\n\n/**\n * Literature for the electromechanical analogy, NOT a pointer at our own plan.\n *\n * The previous value here was `docs/planning/Atlas-Phase-0-Design.md §3, §6` - a citation\n * naming the document that ASSERTED the claim. That is circular, and it is worse than an\n * empty array because it LOOKS sourced and would satisfy any check that only asks whether\n * `citations[]` is non-empty. Same failure class as the evidence-tag theatre that\n * `tests/atlas/evidence-rule.test.ts` exists to catch.\n *\n * Work and topic are cited rather than precise section numbers, because a section number\n * stated without checking the edition in hand is the same fabrication in a more confident\n * costume. `reviewStatus` stays 'proposed' until the independent physicist review lands.\n */\nconst CITATIONS: readonly string[] = [\n 'Olson, Dynamical Analogies - the force-voltage (impedance) analogy between a mass-spring–damper and a series RLC circuit',\n 'Feynman, Lectures on Physics Vol. II, chapter on resonance - the LC oscillator and its mechanical counterpart',\n];\n\n/**\n * Regime coordinates spanning a bridge's premise and conclusion parameters.\n *\n * The two models' parameter names are disjoint in both bridges, so the union\n * is a legal `deriveRegimeGroups` input.\n */\nfunction bridgeRegime(premiseId: string, conclusionId: string): Regime {\n const parameters = [\n ...getAtlasModel(premiseId).parameters,\n ...getAtlasModel(conclusionId).parameters,\n ];\n return {\n family: FAMILY,\n inequalities: [],\n groupDefinitions: deriveRegimeGroups(FAMILY, parameters, []),\n };\n}\n\n/**\n * Bridge 1 — the lossless spring ↔ LC dictionary.\n *\n * `m ↔ L`, `k ↔ 1/C`, `x ↔ q`. Under `u = x/x0` (or `q/q0`) and `τ = ω0 t`\n * both systems become `u'' + u = 0`, so the equivalence is exact and\n * invertible.\n *\n * Its counterexample is W2b, which lives on THIS bridge: it shows that adding\n * a resistor to the LC side breaks the equivalence, so bridge 1 is a statement\n * about the LOSSLESS pair only.\n *\n * @internal\n */\nexport const BRIDGE_SPRING_LC: AtlasBridge = {\n id: 'ab-spring-lc',\n relation: 'exact-equivalence',\n premises: ['model-spring'],\n conclusion: 'model-lc',\n // Two nondimensionalizations, each with its own ω0; composed, the spring→LC map is\n // q(t) = (q0/x0)·x(ω_LC t / ω_s). The dimensioned frequencies differ (W1a: ω_s = 2,\n // ω_LC = 2√2); what is preserved is the frequency in units of ω0.\n transformation:\n 'force–voltage analogy m ↔ L, k ↔ 1/C, x ↔ q (so ω0² = k/m ↔ 1/(LC)); ' +\n 'u = x/x0 or q/q0, τ = ω0 t; composed, q(t) = (q0/x0)·x(ω_LC t / ω_s)',\n inverse: 'x = x0 u, t = τ/ω0',\n preserves: ['the natural frequency in units of ω0 (ω = 1 in τ = ω0 t)', 'energy up to scale', 'phase portrait'],\n doesNotPreserve: ['physical interpretation', 'units'],\n sideConditions: ['m, k, L, C > 0', 'lossless', 'unforced', 'x0, q0 nonzero'],\n regime: bridgeRegime('model-spring', 'model-lc'),\n counterexamples: [\n {\n description:\n 'adding R to bridge 1 breaks it: the circuit L = 2, C = 0.125 of witness W2b with R = 4 has ' +\n 'ζ_RLC = (R/2)√(C/L) = 0.5, ' +\n 'which no lossless spring matches — the trajectories separate by more than 1e-2 at τ = π',\n witness: 'W2b',\n },\n ],\n // `symbolically-checked` is NOT stored here any more (Phase 4 S4.3): it is\n // DERIVED from `data/atlas/witness-results.json`, where W1s records the CAS\n // check of this bridge's dictionary. A stored copy would be a second source\n // of truth that no run could falsify.\n witnesses: [\n {\n id: 'W1',\n kind: 'symbolic',\n test: TEST,\n tolerance: 'exact — rational exponent arithmetic, no floating point',\n },\n {\n id: 'W1a',\n kind: 'numeric',\n test: TEST,\n tolerance: '|u_spring − u_lc| < 1e-8; each within 1e-8 of cos τ',\n },\n {\n id: 'W1b',\n kind: 'numeric',\n test: TEST,\n tolerance: 'inverse-mapped trajectory solves m x″ + k x = 0 within 1e-8; a 1% wrong ω0 fails',\n },\n { id: 'W2b', kind: 'numeric', test: TEST, tolerance: 'separation > 1e-2 at τ = π' },\n {\n id: 'W1s',\n kind: 'symbolic',\n test: WITNESS_RESULTS_TEST,\n tolerance: 'CAS: k/m under m ↔ L, k ↔ 1/C minus 1/(LC) simplifies to literal 0',\n },\n ],\n citations: CITATIONS,\n reviewStatus: 'proposed',\n // spring → LC in relative period error only; see ./norm-transport.ts for what is not declared.\n normTransports: [SPRING_LC_RELATIVE_PERIOD_TRANSPORT],\n formalRef: physjsFormalRef('ab-spring-lc'),\n};\n\n/**\n * Bridge 2 — damped spring ↔ RLC, exact ON a side condition.\n *\n * The undamped dictionary of bridge 1 does not extend for free: `b` and `R`\n * are independent parameters, and the nondimensional systems coincide only\n * when the damping ratios match. The side condition is that equality, and W2\n * DERIVES `R` from it rather than assuming a value.\n *\n * @internal\n */\nexport const BRIDGE_DAMPED_RLC: AtlasBridge = {\n id: 'ab-damped-rlc',\n relation: 'exact-equivalence',\n premises: ['model-damped-spring'],\n conclusion: 'model-rlc',\n transformation:\n 'force–voltage analogy m ↔ L, k ↔ 1/C, b ↔ R, x ↔ q; ' +\n 'u = x/x0 or q/q0, τ = ω0 t; composed, q(t) = (q0/x0)·x(ω_RLC t / ω_mech)',\n inverse: 'x = x0 u, t = τ/ω0',\n preserves: ['the natural frequency in units of ω0 (ω = 1 in τ = ω0 t)', 'damping ratio', 'phase portrait'],\n doesNotPreserve: ['physical interpretation', 'units'],\n sideConditions: [\n 'b/√(mk) = R√(C/L), equivalently ζ_mech = b/(2√(mk)) equals ζ_RLC = (R/2)√(C/L)',\n 'm, b, k, L, R, C > 0',\n 'unforced',\n 'x0, q0 nonzero',\n ],\n regime: bridgeRegime('model-damped-spring', 'model-rlc'),\n counterexamples: [],\n witnesses: [\n {\n id: 'W2',\n kind: 'numeric',\n test: TEST,\n tolerance: 'R derived exactly; |u_mech − u_rlc| < 1e-8 at four τ',\n },\n {\n id: 'W2s',\n kind: 'symbolic',\n test: WITNESS_RESULTS_TEST,\n tolerance: 'CAS: b²/(4mk) under m ↔ L, k ↔ 1/C, b ↔ R minus R²C/(4L) simplifies to literal 0',\n },\n ],\n citations: CITATIONS,\n reviewStatus: 'proposed',\n formalRef: physjsFormalRef('ab-damped-rlc'),\n};\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Phase 1 re-registration: the Sprint 0 bridges through `RelationContract`\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * Re-register an `AtlasBridge` through the Phase 1 `RelationContract` union.\n *\n * `AtlasBridge` states its two conditional requirements — `exact-equivalence`\n * needs `inverse`, `approximation` needs `bound` — only in doc comments, so a\n * record that breaks them type-checks. `RelationContract` states them in the\n * type system. This function is the one place the Sprint 0 records cross from\n * the weaker shape to the stronger one, and it THROWS on the two cases the\n * doc comments could only describe.\n *\n * It copies rather than restates: every field comes off the bridge, so a\n * contract cannot drift from the record it re-registers.\n *\n * @throws TypeError when the bridge omits the field its relation requires.\n * @internal\n */\nexport function relationContractOf(bridge: AtlasBridge): RelationContract {\n const { relation, transformation } = bridge;\n switch (relation) {\n case 'exact-equivalence': {\n if (bridge.inverse === undefined) {\n throw new TypeError(`${bridge.id}: exact-equivalence without an inverse`);\n }\n return { type: relation, transformation, inverse: bridge.inverse };\n }\n case 'approximation': {\n if (bridge.bound === undefined) {\n throw new TypeError(`${bridge.id}: approximation without a bound`);\n }\n return { type: relation, transformation, bound: bridge.bound };\n }\n case 'coarse-graining':\n // `bound` is OPTIONAL here: the chain/wave bridge carries none, and the\n // union allows that rather than forcing an invented one.\n return bridge.bound === undefined\n ? { type: relation, transformation }\n : { type: relation, transformation, bound: bridge.bound };\n default:\n return { type: relation, transformation };\n }\n}\n\n/** Bridge 1 re-registered through the Phase 1 contract. @internal */\nexport const CONTRACT_SPRING_LC: RelationContract = relationContractOf(BRIDGE_SPRING_LC);\n\n/** Bridge 2 re-registered through the Phase 1 contract. @internal */\nexport const CONTRACT_DAMPED_RLC: RelationContract = relationContractOf(BRIDGE_DAMPED_RLC);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"bridges-limits.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-limits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,EAAU,MAAM,aAAa,CAAC;AAS7F;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,GAAG,kBAAkB,CAO/E;AAED,kFAAkF;AAClF,wBAAgB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAOlD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAItF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAKpF;AAuCD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAiFhC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAoFhC,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAA6C,CAAC;AAE9F;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,EAAE,gBACC,CAAC;AAEzC,gBAAgB;AAChB,eAAO,MAAM,wBAAwB,EAAE,gBACC,CAAC;AAEzC,+DAA+D;AAC/D,eAAO,MAAM,eAAe,EAAE,SAAS,gBAAgB,EAGtD,CAAC"}
1
+ {"version":3,"file":"bridges-limits.d.ts","sourceRoot":"","sources":["../../../src/atlas/oscillators/bridges-limits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,EAAU,MAAM,aAAa,CAAC;AAS7F;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,GAAG,kBAAkB,CAO/E;AAED,kFAAkF;AAClF,wBAAgB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAOlD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAItF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAKpF;AAuCD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAgFhC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAmFhC,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAA6C,CAAC;AAE9F;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,EAAE,gBACC,CAAC;AAEzC,gBAAgB;AAChB,eAAO,MAAM,wBAAwB,EAAE,gBACC,CAAC;AAEzC,+DAA+D;AAC/D,eAAO,MAAM,eAAe,EAAE,SAAS,gBAAgB,EAGtD,CAAC"}
@@ -194,7 +194,6 @@ export const AB_PENDULUM_LINEAR = {
194
194
  witness: 'W7b',
195
195
  },
196
196
  ],
197
- evidence: new Set(['numerically-supported']),
198
197
  witnesses: [
199
198
  {
200
199
  id: 'W7',
@@ -302,7 +301,6 @@ export const AB_DAMPED_MASSLESS = {
302
301
  witness: 'W8b',
303
302
  },
304
303
  ],
305
- evidence: new Set(['numerically-supported']),
306
304
  witnesses: [
307
305
  {
308
306
  id: 'W8',