universal-physics-tensor 11.0.0 → 12.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 (287) hide show
  1. package/README.md +36 -34
  2. package/data/applied-cases.json +1892 -0
  3. package/data/applied-cases.schema.json +194 -0
  4. package/data/atlas/atlas.json +21 -21
  5. package/data/atlas/atlas.jsonld +1 -1
  6. package/data/atlas/diffusion.json +5 -5
  7. package/data/atlas/oscillators.json +7 -7
  8. package/data/atlas/waves.json +11 -11
  9. package/data/bridge-catalog.json +20 -4
  10. package/data/units.json +6 -25
  11. package/dist/atlas/benchmark/stats.d.ts.map +1 -1
  12. package/dist/atlas/benchmark/stats.js +6 -20
  13. package/dist/atlas/benchmark/stats.js.map +1 -1
  14. package/dist/atlas/physjs-entries.generated.d.ts +13 -4
  15. package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
  16. package/dist/atlas/physjs-entries.generated.js +15 -4
  17. package/dist/atlas/physjs-entries.generated.js.map +1 -1
  18. package/dist/atlas/physjs-reviewed.js +2 -2
  19. package/dist/atlas/physjs-reviewed.js.map +1 -1
  20. package/dist/cases/catalog-checks.d.ts +10 -0
  21. package/dist/cases/catalog-checks.d.ts.map +1 -0
  22. package/dist/cases/catalog-checks.js +241 -0
  23. package/dist/cases/catalog-checks.js.map +1 -0
  24. package/dist/cases/catalog.d.ts +83 -0
  25. package/dist/cases/catalog.d.ts.map +1 -0
  26. package/dist/cases/catalog.js +118 -0
  27. package/dist/cases/catalog.js.map +1 -0
  28. package/dist/cases/engine.d.ts +13 -0
  29. package/dist/cases/engine.d.ts.map +1 -0
  30. package/dist/cases/engine.js +179 -0
  31. package/dist/cases/engine.js.map +1 -0
  32. package/dist/cases/index.d.ts.map +1 -1
  33. package/dist/cases/index.js +5 -7
  34. package/dist/cases/index.js.map +1 -1
  35. package/dist/cases/methods.d.ts +215 -0
  36. package/dist/cases/methods.d.ts.map +1 -0
  37. package/dist/cases/methods.js +743 -0
  38. package/dist/cases/methods.js.map +1 -0
  39. package/dist/cases/types.d.ts +12 -0
  40. package/dist/cases/types.d.ts.map +1 -1
  41. package/dist/cases/types.js.map +1 -1
  42. package/dist/cli/args.d.ts +2 -0
  43. package/dist/cli/args.d.ts.map +1 -1
  44. package/dist/cli/args.js.map +1 -1
  45. package/dist/cli/command.d.ts +3 -0
  46. package/dist/cli/command.d.ts.map +1 -1
  47. package/dist/cli/command.js.map +1 -1
  48. package/dist/cli/commands/_discovery-opts.d.ts +1 -0
  49. package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
  50. package/dist/cli/commands/_discovery-opts.js +1 -0
  51. package/dist/cli/commands/_discovery-opts.js.map +1 -1
  52. package/dist/cli/commands/discover.d.ts.map +1 -1
  53. package/dist/cli/commands/discover.js +116 -71
  54. package/dist/cli/commands/discover.js.map +1 -1
  55. package/dist/cli/commands/evaluate.js +2 -2
  56. package/dist/cli/commands/evaluate.js.map +1 -1
  57. package/dist/cli/commands/explain.d.ts.map +1 -1
  58. package/dist/cli/commands/explain.js +22 -2
  59. package/dist/cli/commands/explain.js.map +1 -1
  60. package/dist/cli/commands/ground.d.ts.map +1 -1
  61. package/dist/cli/commands/ground.js +6 -1
  62. package/dist/cli/commands/ground.js.map +1 -1
  63. package/dist/cli/commands/map.d.ts.map +1 -1
  64. package/dist/cli/commands/map.js +9 -6
  65. package/dist/cli/commands/map.js.map +1 -1
  66. package/dist/cli/determination.d.ts +1 -0
  67. package/dist/cli/determination.d.ts.map +1 -1
  68. package/dist/cli/determination.js.map +1 -1
  69. package/dist/cli/flag-help.d.ts +1 -0
  70. package/dist/cli/flag-help.d.ts.map +1 -1
  71. package/dist/cli/flag-help.js +1 -0
  72. package/dist/cli/flag-help.js.map +1 -1
  73. package/dist/cli/graphs.d.ts +2 -0
  74. package/dist/cli/graphs.d.ts.map +1 -1
  75. package/dist/cli/graphs.js +1 -0
  76. package/dist/cli/graphs.js.map +1 -1
  77. package/dist/cli/main.d.ts +1 -0
  78. package/dist/cli/main.d.ts.map +1 -1
  79. package/dist/cli/main.js +1 -0
  80. package/dist/cli/main.js.map +1 -1
  81. package/dist/cli/output.d.ts +8 -0
  82. package/dist/cli/output.d.ts.map +1 -1
  83. package/dist/cli/output.js +8 -0
  84. package/dist/cli/output.js.map +1 -1
  85. package/dist/cli/statuses.d.ts.map +1 -1
  86. package/dist/cli/statuses.js +12 -2
  87. package/dist/cli/statuses.js.map +1 -1
  88. package/dist/cli/version.d.ts +1 -0
  89. package/dist/cli/version.d.ts.map +1 -1
  90. package/dist/cli/version.js +1 -0
  91. package/dist/cli/version.js.map +1 -1
  92. package/dist/cli-api.d.ts +2 -0
  93. package/dist/cli-api.d.ts.map +1 -1
  94. package/dist/cli-api.js +2 -0
  95. package/dist/cli-api.js.map +1 -1
  96. package/dist/composition/canonical-graph.d.ts +2 -2
  97. package/dist/composition/canonical-graph.js +2 -2
  98. package/dist/composition/canonical-graph.js.map +1 -1
  99. package/dist/composition/consequence.d.ts +15 -5
  100. package/dist/composition/consequence.d.ts.map +1 -1
  101. package/dist/composition/consequence.js +6 -4
  102. package/dist/composition/consequence.js.map +1 -1
  103. package/dist/composition/discovery.d.ts +78 -14
  104. package/dist/composition/discovery.d.ts.map +1 -1
  105. package/dist/composition/discovery.js +73 -23
  106. package/dist/composition/discovery.js.map +1 -1
  107. package/dist/composition/expr-eval.d.ts +1 -1
  108. package/dist/composition/expr-eval.d.ts.map +1 -1
  109. package/dist/composition/expr-eval.js +4 -4
  110. package/dist/composition/expr-eval.js.map +1 -1
  111. package/dist/composition/expr-simplify.d.ts +10 -14
  112. package/dist/composition/expr-simplify.d.ts.map +1 -1
  113. package/dist/composition/expr-simplify.js +49 -52
  114. package/dist/composition/expr-simplify.js.map +1 -1
  115. package/dist/composition/grounding.d.ts.map +1 -1
  116. package/dist/composition/grounding.js +19 -7
  117. package/dist/composition/grounding.js.map +1 -1
  118. package/dist/composition/mathts-quiet.d.ts +4 -6
  119. package/dist/composition/mathts-quiet.d.ts.map +1 -1
  120. package/dist/composition/mathts-quiet.js +4 -14
  121. package/dist/composition/mathts-quiet.js.map +1 -1
  122. package/dist/composition/own-equation-magnitude.d.ts +95 -0
  123. package/dist/composition/own-equation-magnitude.d.ts.map +1 -0
  124. package/dist/composition/own-equation-magnitude.js +270 -0
  125. package/dist/composition/own-equation-magnitude.js.map +1 -0
  126. package/dist/composition/probe/backend-protocol.d.ts +3 -0
  127. package/dist/composition/probe/backend-protocol.d.ts.map +1 -1
  128. package/dist/composition/probe/backend-protocol.js.map +1 -1
  129. package/dist/composition/probe/candidate-store.d.ts +1 -0
  130. package/dist/composition/probe/candidate-store.d.ts.map +1 -1
  131. package/dist/composition/probe/candidate-store.js +1 -0
  132. package/dist/composition/probe/candidate-store.js.map +1 -1
  133. package/dist/composition/probe/corpus.d.ts +4 -2
  134. package/dist/composition/probe/corpus.d.ts.map +1 -1
  135. package/dist/composition/probe/corpus.js +3 -3
  136. package/dist/composition/probe/corpus.js.map +1 -1
  137. package/dist/composition/probe/dataset.d.ts +1 -0
  138. package/dist/composition/probe/dataset.d.ts.map +1 -1
  139. package/dist/composition/probe/dataset.js.map +1 -1
  140. package/dist/composition/probe/experiment-design.d.ts +2 -0
  141. package/dist/composition/probe/experiment-design.d.ts.map +1 -1
  142. package/dist/composition/probe/experiment-design.js.map +1 -1
  143. package/dist/composition/probe/falsify.d.ts +2 -0
  144. package/dist/composition/probe/falsify.d.ts.map +1 -1
  145. package/dist/composition/probe/falsify.js.map +1 -1
  146. package/dist/composition/probe/fit.d.ts +1 -0
  147. package/dist/composition/probe/fit.d.ts.map +1 -1
  148. package/dist/composition/probe/fit.js.map +1 -1
  149. package/dist/composition/probe/generator.d.ts +3 -0
  150. package/dist/composition/probe/generator.d.ts.map +1 -1
  151. package/dist/composition/probe/generator.js +5 -6
  152. package/dist/composition/probe/generator.js.map +1 -1
  153. package/dist/composition/probe/limits.d.ts +1 -0
  154. package/dist/composition/probe/limits.d.ts.map +1 -1
  155. package/dist/composition/probe/limits.js.map +1 -1
  156. package/dist/composition/probe/pipeline.d.ts +5 -0
  157. package/dist/composition/probe/pipeline.d.ts.map +1 -1
  158. package/dist/composition/probe/pipeline.js +64 -21
  159. package/dist/composition/probe/pipeline.js.map +1 -1
  160. package/dist/composition/probe/power-law.d.ts.map +1 -1
  161. package/dist/composition/probe/power-law.js +3 -7
  162. package/dist/composition/probe/power-law.js.map +1 -1
  163. package/dist/composition/probe/problem.d.ts +1 -0
  164. package/dist/composition/probe/problem.d.ts.map +1 -1
  165. package/dist/composition/probe/problem.js.map +1 -1
  166. package/dist/composition/probe/residual.d.ts +1 -0
  167. package/dist/composition/probe/residual.d.ts.map +1 -1
  168. package/dist/composition/probe/residual.js +1 -0
  169. package/dist/composition/probe/residual.js.map +1 -1
  170. package/dist/composition/probe/run-manifest.d.ts +1 -0
  171. package/dist/composition/probe/run-manifest.d.ts.map +1 -1
  172. package/dist/composition/probe/run-manifest.js.map +1 -1
  173. package/dist/composition/probe/scalar-search.d.ts +50 -0
  174. package/dist/composition/probe/scalar-search.d.ts.map +1 -0
  175. package/dist/composition/probe/scalar-search.js +169 -0
  176. package/dist/composition/probe/scalar-search.js.map +1 -0
  177. package/dist/composition/probe/scoring.d.ts +1 -0
  178. package/dist/composition/probe/scoring.d.ts.map +1 -1
  179. package/dist/composition/probe/scoring.js.map +1 -1
  180. package/dist/composition/probe/study.d.ts +2 -2
  181. package/dist/composition/probe/study.d.ts.map +1 -1
  182. package/dist/composition/probe/study.js +6 -10
  183. package/dist/composition/probe/study.js.map +1 -1
  184. package/dist/composition/probe/t-tail.d.ts +3 -4
  185. package/dist/composition/probe/t-tail.d.ts.map +1 -1
  186. package/dist/composition/probe/t-tail.js +7 -10
  187. package/dist/composition/probe/t-tail.js.map +1 -1
  188. package/dist/composition/proposed-bridges.d.ts +11 -2
  189. package/dist/composition/proposed-bridges.d.ts.map +1 -1
  190. package/dist/composition/proposed-bridges.js +7 -5
  191. package/dist/composition/proposed-bridges.js.map +1 -1
  192. package/dist/composition/rational-exponent.d.ts +2 -2
  193. package/dist/composition/rational-exponent.d.ts.map +1 -1
  194. package/dist/composition/rational-exponent.js +4 -4
  195. package/dist/composition/rational-exponent.js.map +1 -1
  196. package/dist/composition/representative-values.d.ts.map +1 -1
  197. package/dist/composition/representative-values.js +6 -0
  198. package/dist/composition/representative-values.js.map +1 -1
  199. package/dist/composition/retrodiction.d.ts +15 -0
  200. package/dist/composition/retrodiction.d.ts.map +1 -1
  201. package/dist/composition/retrodiction.js +10 -3
  202. package/dist/composition/retrodiction.js.map +1 -1
  203. package/dist/composition/user-equation.d.ts +1 -0
  204. package/dist/composition/user-equation.d.ts.map +1 -1
  205. package/dist/composition/user-equation.js +1 -0
  206. package/dist/composition/user-equation.js.map +1 -1
  207. package/dist/core/constants.d.ts +12 -11
  208. package/dist/core/constants.d.ts.map +1 -1
  209. package/dist/core/constants.js +24 -21
  210. package/dist/core/constants.js.map +1 -1
  211. package/dist/diff/bridge-ast-gradient.d.ts +27 -23
  212. package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
  213. package/dist/diff/bridge-ast-gradient.js +75 -173
  214. package/dist/diff/bridge-ast-gradient.js.map +1 -1
  215. package/dist/dimensional/ast-types.d.ts +15 -0
  216. package/dist/dimensional/ast-types.d.ts.map +1 -1
  217. package/dist/dimensional/ast-types.js.map +1 -1
  218. package/dist/dimensional/curvature-composite.d.ts +1 -1
  219. package/dist/dimensional/curvature-composite.js.map +1 -1
  220. package/dist/dimensional/exact-scale.d.ts +41 -11
  221. package/dist/dimensional/exact-scale.d.ts.map +1 -1
  222. package/dist/dimensional/exact-scale.js +115 -123
  223. package/dist/dimensional/exact-scale.js.map +1 -1
  224. package/dist/dimensional/mathts-unit-delegation.d.ts +29 -0
  225. package/dist/dimensional/mathts-unit-delegation.d.ts.map +1 -0
  226. package/dist/dimensional/mathts-unit-delegation.js +187 -0
  227. package/dist/dimensional/mathts-unit-delegation.js.map +1 -0
  228. package/dist/dimensional/mathts-unit-wrapper.d.ts +33 -0
  229. package/dist/dimensional/mathts-unit-wrapper.d.ts.map +1 -0
  230. package/dist/dimensional/mathts-unit-wrapper.js +190 -0
  231. package/dist/dimensional/mathts-unit-wrapper.js.map +1 -0
  232. package/dist/dimensional/scalar-lowering.d.ts +21 -0
  233. package/dist/dimensional/scalar-lowering.d.ts.map +1 -0
  234. package/dist/dimensional/scalar-lowering.js +45 -0
  235. package/dist/dimensional/scalar-lowering.js.map +1 -0
  236. package/dist/dimensional/unit-data.d.ts +5 -1
  237. package/dist/dimensional/unit-data.d.ts.map +1 -1
  238. package/dist/dimensional/unit-data.js +28 -4
  239. package/dist/dimensional/unit-data.js.map +1 -1
  240. package/dist/dimensional/units.d.ts +2 -0
  241. package/dist/dimensional/units.d.ts.map +1 -1
  242. package/dist/dimensional/units.js +59 -3
  243. package/dist/dimensional/units.js.map +1 -1
  244. package/dist/dimensional/validator.d.ts +2 -0
  245. package/dist/dimensional/validator.d.ts.map +1 -1
  246. package/dist/dimensional/validator.js.map +1 -1
  247. package/dist/index.js.map +1 -1
  248. package/dist/numerical/connection-lowering-helpers.d.ts +3 -1
  249. package/dist/numerical/connection-lowering-helpers.d.ts.map +1 -1
  250. package/dist/numerical/connection-lowering-helpers.js +11 -15
  251. package/dist/numerical/connection-lowering-helpers.js.map +1 -1
  252. package/dist/numerical/pderiv.d.ts.map +1 -1
  253. package/dist/numerical/pderiv.js +2 -6
  254. package/dist/numerical/pderiv.js.map +1 -1
  255. package/dist/numerical/quadrature.js +3 -3
  256. package/dist/numerical/quadrature.js.map +1 -1
  257. package/dist/numerical/statistics.js +1 -1
  258. package/dist/numerical/statistics.js.map +1 -1
  259. package/dist/numerical/strides.d.ts +3 -2
  260. package/dist/numerical/strides.d.ts.map +1 -1
  261. package/dist/numerical/strides.js +3 -10
  262. package/dist/numerical/strides.js.map +1 -1
  263. package/package.json +9 -12
  264. package/dist/cases/brownian-sphere.d.ts +0 -68
  265. package/dist/cases/brownian-sphere.d.ts.map +0 -1
  266. package/dist/cases/brownian-sphere.js +0 -355
  267. package/dist/cases/brownian-sphere.js.map +0 -1
  268. package/dist/cases/damped-resonator.d.ts +0 -23
  269. package/dist/cases/damped-resonator.d.ts.map +0 -1
  270. package/dist/cases/damped-resonator.js +0 -221
  271. package/dist/cases/damped-resonator.js.map +0 -1
  272. package/dist/cases/kepler-rv.d.ts +0 -13
  273. package/dist/cases/kepler-rv.d.ts.map +0 -1
  274. package/dist/cases/kepler-rv.js +0 -173
  275. package/dist/cases/kepler-rv.js.map +0 -1
  276. package/dist/cases/lumped-cooling.d.ts +0 -51
  277. package/dist/cases/lumped-cooling.d.ts.map +0 -1
  278. package/dist/cases/lumped-cooling.js +0 -259
  279. package/dist/cases/lumped-cooling.js.map +0 -1
  280. package/dist/cases/resistor-noise.d.ts +0 -14
  281. package/dist/cases/resistor-noise.d.ts.map +0 -1
  282. package/dist/cases/resistor-noise.js +0 -215
  283. package/dist/cases/resistor-noise.js.map +0 -1
  284. package/dist/cases/skin-depth.d.ts +0 -17
  285. package/dist/cases/skin-depth.d.ts.map +0 -1
  286. package/dist/cases/skin-depth.js +0 -170
  287. package/dist/cases/skin-depth.js.map +0 -1
@@ -170,14 +170,14 @@ export const PHYSJS_REVIEWED_ROWS = {
170
170
  'be-148': 'b51947097d1b5a83fde24a256b14dd62bdcb106dcb214eba164a10bffe020bd1',
171
171
  'be-149': '3d8ea014860f455884f66ce495ee79efdb2cc923a398a15d2f2f58588fe0814e',
172
172
  'be-150': '172e09d30b3b696e4434e29fa4131fe003d7d3c45f862210bb497edbf1770a1e',
173
- 'be-151': '53005474dacdde47471e00d252e5ac44194ad2b3dcadce40cd5445dc628209c6',
173
+ 'be-151': '07d88e2df67f34f4cddfddfab516bca69e41bc9c8c0f2015861390163087b525',
174
174
  'be-152': '61ea1c8f876feb22d350a335b96ee6d791151888c772a0ec307ab040da68524a',
175
175
  'be-153': '051febadc75bbbb74ee91a9d5c5cfdf31b264561899f2db468cb33011843c285',
176
176
  'be-154': 'ba21b1e5516b3404c4375f14b4e27b8ebfd1fbe07f23882461d7a2289ce7e522',
177
177
  'be-155': '0876d0e9fe0ffc7735731841548e3024988cfaf6fbc872eb060e0ae21e62b93b',
178
178
  'be-156': '7148ff42464d034cb1a96b40ce7c17a955e539a7ca7be794dbb57a4d6fbb503a',
179
179
  'be-157': 'd4d6c7a24bd46014ce1367370b959631b69f51c0bab911016e0f157282723595',
180
- 'be-158': 'ece98844544e565b6963bc1787ef02d287aa6942171f5cdb7d5b246b1a596864',
180
+ 'be-158': '1e03fa92e4e2191e96ab751eb3d0b1d89867f29ee47d8f24eb6f7deae6c1cfca',
181
181
  'be-159': '2977a93ea3ea31785ad59cae7f8bc53db7fe322f93505141e752f84343e03f2a',
182
182
  'be-160': 'efcab77d5c41fda7643b7cf3b014e2627ef503ab15ee8373125acdbac96f91f6',
183
183
  'be-161': '49ea75f63a871a4a7a61bc2473fcd452a598c1d8e2808116c515ac67b717bb77',
@@ -1 +1 @@
1
- {"version":3,"file":"physjs-reviewed.js","sourceRoot":"","sources":["../../src/atlas/physjs-reviewed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAsB;IACzD,cAAc;IACd,eAAe;IACf,oBAAoB;IACpB,wBAAwB;IACxB,mBAAmB;IACnB,mBAAmB;IACnB,sBAAsB;IACtB,mBAAmB;IACnB,kBAAkB;IAClB,iBAAiB;CAClB,CAAC;AAEF,oEAAoE;AACpE,MAAM,CAAC,MAAM,oBAAoB,GAAqC;IACpE,mBAAmB,EAAE,kEAAkE;IACvF,sBAAsB,EAAE,kEAAkE;IAC1F,iBAAiB,EAAE,kEAAkE;IACrF,wBAAwB,EAAE,kEAAkE;IAC5F,mBAAmB,EAAE,kEAAkE;IACvF,oBAAoB,EAAE,kEAAkE;IACxF,kBAAkB,EAAE,kEAAkE;IACtF,cAAc,EAAE,kEAAkE;IAClF,eAAe,EAAE,kEAAkE;IACnF,mBAAmB,EAAE,kEAAkE;IACvF,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;CAC7E,CAAC","sourcesContent":["/**\n * The reviewed Lean manifest rows (`formal/lean/manifest.json`), pinned per key.\n *\n * Each value is `physjsRowHash` of the row as the manifest writes it:\n * `[key, theorem, kind, covers, leanProof, axioms, nested statements]`. A key\n * is listed only after its row was read against the bridge it keys (the\n * procedure is WORKFLOWS.md, \"Adding or changing a Lean formalRef\"). A key\n * that is ahead of the catalog has no bridge to read it against and is not\n * listed; `physjsFidelity` returns `'unreviewed'` for it.\n *\n * `tests/atlas/physjs-manifest.test.ts` fails, and prints the line to paste\n * here, when a manifest row that resolves to a bridge is missing or has\n * changed since its review, and when a listed key no longer resolves to a\n * bridge. The sentence that the review was one SHA-256 over every row in\n * that test file is the record from before this table.\n *\n * @module atlas/physjs-reviewed\n */\n\n/**\n * Keys whose statements `tests/atlas/formal-sanity.test.ts` instantiates on\n * known cases. A reviewed row with its key here derives\n * `fidelity: 'sanity-lemmas'`; every other reviewed row derives\n * `'reviewed-manifest'`. That test fails when a key listed here has no\n * lemma in it, and when a lemma there names a key missing here.\n *\n * @internal\n */\nexport const PHYSJS_SANITY_LEMMA_KEYS: readonly string[] = [\n 'ab-spring-lc',\n 'ab-damped-rlc',\n 'ab-pendulum-linear',\n 'ab-telegraph-diffusion',\n 'ab-telegraph-wave',\n 'ab-wave-dalembert',\n 'ab-klein-gordon-wave',\n 'ab-kg-schrodinger',\n 'ab-kg-oscillator',\n 'ab-stiff-string',\n];\n\n/** Manifest key → `physjsRowHash` of its reviewed row. @internal */\nexport const PHYSJS_REVIEWED_ROWS: Readonly<Record<string, string>> = {\n 'ab-kg-schrodinger': '880d54fbf7b289a56370914abf51cb948dbc6d442e6d5090d3437f2b332f3a6d',\n 'ab-klein-gordon-wave': 'a9fe4d3d45bf26c97d5fb6b1ebe4f4556ea8cb3bf719430dec174f5215765796',\n 'ab-stiff-string': '49655051dea87dbf5f2b00fe1c372d3b949e7464a60793a648f80481329f6973',\n 'ab-telegraph-diffusion': 'c5b283968be33b6220fbfa595062fa00ee65e45b9d60c02db149a7b7a8aad842',\n 'ab-telegraph-wave': 'c244fb53c90f90f334bbc9f79b9485b228425edc4555052bf5696d00f35f8012',\n 'ab-pendulum-linear': '474d8d86dcf67f85ca41329ee2e90608d6a5db5b29b300cb9d2842636e3cbab2',\n 'ab-kg-oscillator': '737a1ffa7f4852bc6b3d287e13873228e2be0477194b110f5ab291f5d87d5f01',\n 'ab-spring-lc': '42b928779b9f5a8d671b03340ba2a247efa5491064c22305cd61fefcf81910dc',\n 'ab-damped-rlc': '95ab3fc816fdbde805d1a636f28e85f6898f1fae462db421647e0f0cfe3b0196',\n 'ab-wave-dalembert': 'c7b428505dd6cd433c11fff98417a24dc16d111434c3e52232588034d9a69ce5',\n 'be-64': '60b4b75c6006459bb5b61095aa31c6c6cbb7c63b64fc1b8b9997d130aea640dc',\n 'be-53': '654f6b62207c0d7950d738f816b337f5a5c8769ca3e18ba797422ecb537902aa',\n 'be-58': '52b94908af901152a823867115ccdfc05ffb4fc0baeaf73b3ee918038d8c8714',\n 'be-38': '34b14f7be5e62b4bff9ddf0787f3e1f28514dfaf5bc4ebf7a9f16b7dfcf118d1',\n 'be-13': 'f8bacaa12b908ac5c373447dde35518f68fe637ee5e5e207068643acf5b1f65e',\n 'be-34': 'e07dfe069c42b9b2f8685d8a66224bb680f958e6199f2f80bf72b8090e73a881',\n 'be-42': '727b1db4f83b51333a3be625f32a5fb0b0bc37c8dfd142b0fe8a26d0b762d9fa',\n 'be-24': '3fee6732650911fd2db0c8f5a42d0e048ca3ce016fd360014cdc43075b6d6c68',\n 'be-19': '32219ddbe9344c174b1bca94a9618c193a818b122da8bfc35657c57dccde0722',\n 'be-16': '0ec6dae9fe98830ddc9ad8e3ecbcbeded8c99d5dce39a957c48646a28b3c3aff',\n 'be-29': '76095041a745706d6059271a0b148ead8307fdec249a00d4ba592713bb0bdefa',\n 'be-11': 'a427754825b4fd77535b2c8c3b048a37cb1c57fffdeb61d4b81a3eac0ef2bc9f',\n 'be-65': 'af573c86041340633b1d4f16c700a33d0b7860925792b005906087e821aeecb7',\n 'be-51': '8c2059e2227b1962b26661dd659f6240fe42e3f3b5d6f416035771452c6b6a7a',\n 'be-61': 'c007972dc9cddf09aeec67f7e10e0f5a6782bc973c65afe8d7745afaa94269e8',\n 'be-12': '582d9c9feebf35c1bb44ce11bee3424246ebcc26baf3c9a5d070ebad2557ccf9',\n 'be-59': '2e66e9191f50acbbdca0f431266eee9e53ecb0d099cf459035583d1fe921389d',\n 'be-55': '9d7b80fcef3d95a0be30d9a7ede0ba7cd021d6e14fa4e7981b743ee145b0b8c8',\n 'be-60': '0b5ff87f7ef793bac6a5d740b462af5768dd2829944789ad35834c5eceb31b44',\n 'be-21': '5a2e6e27b0a000b4b7ae577819ac34a82b7c620f6c8bd1413603ede6360d525d',\n 'be-14': '70469372cb9b0adeccefd18a796061da62b20412dfbaf736ab9765a5169e4799',\n 'be-43': 'a9db7a0f1a53c449525b2f163f371a7f6f51cb03af6cc4c3186b39ba9fb709cb',\n 'be-37': '9bc5bf0d2379c2df54cac3a573e1e88daee6d65627531e6d7db4884b4fc388a9',\n 'be-54': 'eb61f6273649c17051a4a2b0549a30bc5f9a1060b9d46e85cdb9030ac4eb294b',\n 'be-17': '1dc24def887706b972db40ffce56e76bac8d8fc964aef4fec8d60ff75fce410c',\n 'be-27': '106aa08a3cb532aa0cdee42d02b283a8e273561f095c8b1d28e62cc5b1337181',\n 'be-22': '9717a67d45d9cfe91271d18fc18386a33647416908890da1e3159d135d2554e7',\n 'be-15': '4058289145099f1e9fde380dc7bae06fce78722588b74242b83bf6f5581fb889',\n 'be-33': 'c238dc6d809de1905aad7ba2cf8704979724f4dffa129955feb7e18b12996a87',\n 'be-50': 'c898e6857ebb476053f4c4672ff12ac22bbfbef7a2e3f664cf231c3bb2f157d2',\n 'be-32': '3d5fcd0038bfff924ec8135d41dc1b8d72c1808a7d92ac276ccbae31973be28a',\n 'be-28': '8714c5e37191300c167483f050f1e8556599ec51808b51eb5ce5fe32345fb606',\n 'be-40': 'c38df7f5f961031d1d07aacd617949af6b206b586daac19d9adf5f13f73af74a',\n 'be-35': '218e1345d32807e2b4270e3509a755443b07bd25362038a9580c4596850ae472',\n 'be-63': '6cd701cf2b99eef6cfc9790288323e6daa3f5af7bdab3d94031a05fd90b9c08d',\n 'be-30': '078f06e8804ad300f6f3d8322fee749f27569f576486696667b1fb48be1ca442',\n 'be-66': 'edfaf5acb729e8f66142e5c2e9cf94d37ba76a8b0490bf804aac18e3ff741ee4',\n 'be-67': 'cd4f91274459b5cbc7a93ea9efa45e8d61c54d888c58746c22242ddeb1114510',\n 'be-68': '35b62fcf05ee7ac7848fab22692149d03b9b6cfa37f12dd1ec1df5701f61d86b',\n 'be-69': '0e28426d6c4aacf9a50c7d530cf8721a9a5205f3b44bac2ca406e95dbe911dd4',\n 'be-70': '925f801c32a0b56335da581875f467ed67d70ee65645a543bbc4553e1c6e5542',\n 'be-71': '04e19690d699f5add3744d1da8a46dc2a2d76dccfd7a6c1351ee41d8586cd490',\n 'be-72': '6db73d9a11e6a03e83d59cb3b6f9b673ab9fcc50186ee807f9858f9a12ea7306',\n 'be-73': '4369bbc21a6cbea9133d97e64eac7cece61a6f0609bc69334d0cc967fa2e2780',\n 'be-74': '1c7d74da7f98461e8e073c38335ee1384587c8a0159d8eb3ac0d1cc2fb94b477',\n 'be-75': '1543e13ae8ab04064700f7160ef3f8dd3881fb692b532769f6d91654835cfd23',\n 'be-76': '9bdecacffbd9df418b8aae7bb8ba20319728825f191f29ba6db13e0dd2e02ce3',\n 'be-77': '938ee840a82861f31fab9c53e430f2e2e62ab345e1d8702e806213e64f6dad7f',\n 'be-78': 'cf7cdac14abf80c744f5a1ef70b6c555a66a8b64dfa16c9306055946940540d9',\n 'be-79': '97dcbe76ae4c897bd0262082636bca934848d471a3a601ca8c0f0c40d4e3f291',\n 'be-80': '239d7461b765cc73504b4d7ade98efce43f43003c29632ad3fb269bf1743d7b6',\n 'be-81': '23533daef9e6982568de01e9f866a178c1a6f485d3ef547dd7a251c3fc1f0f09',\n 'be-82': 'c801d244cd81e4bcb53ad661670694d4abb54f430da1a95f8f9b595a017e7dbc',\n 'be-83': '93383e269235261efad9c7dbdf170328c37a6c9a1bb4affb9ac7fc0b318e19a2',\n 'be-84': '5daa227a593246db8885265ebf0c019247b71a62357bcf987fa6c92bfbbd2615',\n 'be-85': 'b27946165baf92909f43f7981be69919a7faab477fdd61e9df8843216f749242',\n 'be-86': '2486f240a66593519597474477669d0dfa38771ae3ec52a7e8cc29d1270953d9',\n 'be-87': '8aaa3a155ea534678202ab84567d25c723ff51d96b27020ef16c134417c954ac',\n 'be-88': 'd4bb4f204fa7fc219e089d8e9fd5fe1ba388ada844d882c3a69e1b69fb39385e',\n 'be-89': '0c5b1dce98bea82e121d78bc202fc994f6528ea3e2e383c390cc102bb1ae5af1',\n 'be-90': '648f49b2447473a3a44c932f2f65678c87392986902bc158b2733665a479df35',\n 'be-91': '782d2e126e271b37093f4bbfe02fc14c5746eb136c38a300244a31259b8e798a',\n 'be-92': '913258c797bd5cc90a83cc86a94d99a7cd8ac2ce8f2a915c4d4702daad4bffb1',\n 'be-93': '6b60f759ce1e79a98e4de49096f507c695ca5f3873f2a0f237e47201f624f6ee',\n 'be-94': 'a1a5af40a0b53e47ec1881bf5c130858723f9323b475627bda00a9fc99755886',\n 'be-95': '350fb518211dc3f9057600e5b46f5f3fe20d25918a6030270b6774dde01d516b',\n 'be-96': '3e20106a0c1716705098e31ced90b08fb41126cab5b04c9f58b04db73d6294f8',\n 'be-97': '07ecd466f0a18cdd7dc69ef226842fc949887ab78ff0c06577d412518d5cc464',\n 'be-98': 'b818dd66cb7c68880aea7538eef416255d176e576650285685fbf52d33590b71',\n 'be-99': '946f859852dc91fde43c065881af518e54feb8b9f8fdaa982589c135e46ca915',\n 'be-100': '4b0cc12b87ce8af042199e24e5e0267b4aca7d91ac1dbf5d6f7ada7d30f57080',\n 'be-101': '826824d71044fe74c433ece6f58ed79550037d7dd91d739bd74e1a43432bafbd',\n 'be-102': 'd558d7f1f0d6619b431e3e47f55da972d4a5d793fc5abdcca246ca7bcecf954b',\n 'be-103': '494cfebdc911620b2ed856e42ed80c62e66f2a59010a13b9fae474323f247b4b',\n 'be-104': '9fe152dea27462d1d96acf68993cc119f0738562fd84743e6841cce21a1c6ffc',\n 'be-105': 'a50cc220138acadd340bf6fac9b276b092a634cb5d51614949b26b98c078ee80',\n 'be-106': '0e927a73dfbd20e122fe121be5ffb4e978188197e3b356dceb90cac58c1c2428',\n 'be-107': '6ef75e7cc6d9a5cb309d236df5546987da1fb5173059028460d1734af3cb8c24',\n 'be-108': 'dc535e38b2a3b1abd4d285175d479986ca574fd32864311a191787ac10671f66',\n 'be-109': '48340a5bb2bc32a86ad3ee3ac64f50513ba74705696c0b2745d698721cebacf7',\n 'be-110': 'd41f59f77f7462208e2bba9ef36a7f9a08debf6f45b1ea7b8da96e15715a474e',\n 'be-111': '85ea9cc4fed9ed3b1d6f904d04478af834e028bc422b1d4ec7add0d5efb806de',\n 'be-112': '5fff6ece7515e306cac131d4e22830f19db050afa613fa747c12353245195b79',\n 'be-113': 'd8c584bfdded5c572af283c080988656548b2ff3823e976eeaad617c3139cef6',\n 'be-114': 'b7cdd43f36d1db2599756a1a192cbf8c89c91b5b591ce9b314f45ad9cb58680f',\n 'be-115': 'd4c2a7412bd95f47589f8f20abfe1d6f26595126208a4d5108fbdbd3022b63aa',\n 'be-116': '532d403048b80ceda5f8b84843d0a92043871a47f4d98a74e5ab7a2c41da370c',\n 'be-117': 'f12c725db622e01d798f1737ef6753f130c93c80d6e2acbe464cda5d86318324',\n 'be-118': '77091b5dfb1363bbaa1260d4be1ebb6f20bd50dcbf240b41ecfd95cbd97dec9a',\n 'be-119': 'd4028c30361e80d25a5db1f77a11509c9ae8ef806c5a590683aa64bcfede505b',\n 'be-120': '7d6d7d7c4f37fce49e9426d303f813ea38da7e096b6ab196e8f24127420e51ff',\n 'be-121': '45d55190ae6d42ed8857328de247aed9a97a33a1bb39cfb2da4db4b32b621913',\n 'be-122': '1adf121312f9e7a0987b26db17e9482170c024c0585440f7a7196354e3905a8f',\n 'be-123': '7cb42177258bcdf12708385b8239d967a0f8495347765e879219d9e2217d9fa0',\n 'be-124': 'edba0bb729e4b7b9168be0690c6608bea5188d124a9dfb8cecc7425cc85ba200',\n 'be-125': 'b0ce83cfd9128cd2204ab6befdf2d06ce965fd45000cf406711800852cc87cc0',\n 'be-126': '79840172085326318a836c9957411128e6377d19e3f4e732390d1453d5f0f29b',\n 'be-127': '7cc94ecf33c265a7275c3510c160a542a7cc3e4da88c5c7069ff473651167a07',\n 'be-128': 'd759c04cdfcb04fbb36b89f4e8a661597b54f9309be28cba09ea1ce985fe2847',\n 'be-129': 'e16a48b1001643421d3feac882c9cc5f483bc56b0136ff0facba5ea119d5a85e',\n 'be-130': '6ca583f50192eddb8917c95dc60d2ba6b65e4f1f7a6eedf5ad0cd7574122e666',\n 'be-131': '88d0d6a164d39b2ec4d0858f0423512cd16bdd3ca2c34a92ffd21bc992fbe67f',\n 'be-132': '1b0ba9e3e52d5dfd228633db052c0c248acbf596f2262f8f05c7440e91bb5f9a',\n 'be-133': '1fb39327e2939a5d958ac8d2a141e1bc92416367c228b01e01873549ec4cf950',\n 'be-134': 'fec42f79496f056f5b54fa609ca8150a8c1aa3c6c46c71f461ca5334d0b75fa4',\n 'be-135': 'fb735429a839c0cf1889d44bf9714d05e01f5f0337fa615b1dc5941823705b2d',\n 'be-136': '01dcfd2e150cc95c79b716fb90d1d5f0090e98a2bbb96a8e0454004a0028dc1f',\n 'be-137': '23bba2ad12564ee2418afb704e29561ac5769a77a1e0d3663082724e91d557eb',\n 'be-138': 'afba03f978acf127b30ab24a9ee510659608a93a015002acec3c478139f6fda6',\n 'be-139': '93e2ff6b141c8c330e39bd499a63a86c6cf181c9e4d21a5b2820d838b80d500d',\n 'be-140': '64ba9268bb9b764bbc59590ca0e64a180b723f35651531193c90c2a87d77d5f4',\n 'be-141': 'ca3efdba41edd67b1e436fc01b67d1acb60545f96947cb1f43a0af51939add1a',\n 'be-142': '67ebceb83e24e4bd7081c8cf35c10a935fbdc1861783ade6856467eb2871efda',\n 'be-143': '5be1cad3b6b66f85439c607181f624d10a69c0837d48eb90f41a5e0bbbffe940',\n 'be-144': '67822836d4b5b37163897ef14eed8fb16e00910a716eccc77e943f9b52d10c09',\n 'be-145': '44ef60d375cd4e47da236e3e8b3d9ad10a07f9f3cc99a868d667a48051aa026a',\n 'be-146': 'f757b6202576fd1b511e2623e808873ea13803be37ed25ff9f6402785a2097f0',\n 'be-147': '7500f9accb06f74b241314647f4201c43f3277c77d9f5245ae183fe787baa36a',\n 'be-148': 'b51947097d1b5a83fde24a256b14dd62bdcb106dcb214eba164a10bffe020bd1',\n 'be-149': '3d8ea014860f455884f66ce495ee79efdb2cc923a398a15d2f2f58588fe0814e',\n 'be-150': '172e09d30b3b696e4434e29fa4131fe003d7d3c45f862210bb497edbf1770a1e',\n 'be-151': '53005474dacdde47471e00d252e5ac44194ad2b3dcadce40cd5445dc628209c6',\n 'be-152': '61ea1c8f876feb22d350a335b96ee6d791151888c772a0ec307ab040da68524a',\n 'be-153': '051febadc75bbbb74ee91a9d5c5cfdf31b264561899f2db468cb33011843c285',\n 'be-154': 'ba21b1e5516b3404c4375f14b4e27b8ebfd1fbe07f23882461d7a2289ce7e522',\n 'be-155': '0876d0e9fe0ffc7735731841548e3024988cfaf6fbc872eb060e0ae21e62b93b',\n 'be-156': '7148ff42464d034cb1a96b40ce7c17a955e539a7ca7be794dbb57a4d6fbb503a',\n 'be-157': 'd4d6c7a24bd46014ce1367370b959631b69f51c0bab911016e0f157282723595',\n 'be-158': 'ece98844544e565b6963bc1787ef02d287aa6942171f5cdb7d5b246b1a596864',\n 'be-159': '2977a93ea3ea31785ad59cae7f8bc53db7fe322f93505141e752f84343e03f2a',\n 'be-160': 'efcab77d5c41fda7643b7cf3b014e2627ef503ab15ee8373125acdbac96f91f6',\n 'be-161': '49ea75f63a871a4a7a61bc2473fcd452a598c1d8e2808116c515ac67b717bb77',\n 'be-162': '531e8cd60c6fe8ef031ce5363508396f7a47d032f8927b7e00e3c97d422195de',\n 'be-163': '11814e8a0c9855b6c6a92ddbbe716f2880e318a9869a59f028aa616662bba275',\n 'be-164': 'fcbfa8ef810ef6ee12c2fb47128946e380e86f097977a77ecbda27c0923ee93a',\n 'be-165': '5fd50258133d592be623f2e5d34b24ffb6c3d7fc6c513b6c4c20bd18f8bced32',\n 'be-166': '06cc5cfdf19903d7d6950183a0d36e7fbae2d48258d6b473707d94dc34845944',\n 'be-167': 'e127412cf8a32ba3e9978339ec0558df9ac1a2a452185e551f0c9d1f808fd1e9',\n 'be-168': '6c7696962e56f466c016a03947c8b359ae23fd1da6f1eb93e0aab4be117e062c',\n 'be-169': '6f4e6c880f33255ed8d2c3d9757ba81e93e3f71b4a5ae8d02cbff0b91e6a244a',\n 'be-170': 'f9d8dff51577fe8556593c0a31ca26577d5449864e48c246831aa37612463d48',\n};\n"]}
1
+ {"version":3,"file":"physjs-reviewed.js","sourceRoot":"","sources":["../../src/atlas/physjs-reviewed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAsB;IACzD,cAAc;IACd,eAAe;IACf,oBAAoB;IACpB,wBAAwB;IACxB,mBAAmB;IACnB,mBAAmB;IACnB,sBAAsB;IACtB,mBAAmB;IACnB,kBAAkB;IAClB,iBAAiB;CAClB,CAAC;AAEF,oEAAoE;AACpE,MAAM,CAAC,MAAM,oBAAoB,GAAqC;IACpE,mBAAmB,EAAE,kEAAkE;IACvF,sBAAsB,EAAE,kEAAkE;IAC1F,iBAAiB,EAAE,kEAAkE;IACrF,wBAAwB,EAAE,kEAAkE;IAC5F,mBAAmB,EAAE,kEAAkE;IACvF,oBAAoB,EAAE,kEAAkE;IACxF,kBAAkB,EAAE,kEAAkE;IACtF,cAAc,EAAE,kEAAkE;IAClF,eAAe,EAAE,kEAAkE;IACnF,mBAAmB,EAAE,kEAAkE;IACvF,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,OAAO,EAAE,kEAAkE;IAC3E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,kEAAkE;CAC7E,CAAC","sourcesContent":["/**\n * The reviewed Lean manifest rows (`formal/lean/manifest.json`), pinned per key.\n *\n * Each value is `physjsRowHash` of the row as the manifest writes it:\n * `[key, theorem, kind, covers, leanProof, axioms, nested statements]`. A key\n * is listed only after its row was read against the bridge it keys (the\n * procedure is WORKFLOWS.md, \"Adding or changing a Lean formalRef\"). A key\n * that is ahead of the catalog has no bridge to read it against and is not\n * listed; `physjsFidelity` returns `'unreviewed'` for it.\n *\n * `tests/atlas/physjs-manifest.test.ts` fails, and prints the line to paste\n * here, when a manifest row that resolves to a bridge is missing or has\n * changed since its review, and when a listed key no longer resolves to a\n * bridge. The sentence that the review was one SHA-256 over every row in\n * that test file is the record from before this table.\n *\n * @module atlas/physjs-reviewed\n */\n\n/**\n * Keys whose statements `tests/atlas/formal-sanity.test.ts` instantiates on\n * known cases. A reviewed row with its key here derives\n * `fidelity: 'sanity-lemmas'`; every other reviewed row derives\n * `'reviewed-manifest'`. That test fails when a key listed here has no\n * lemma in it, and when a lemma there names a key missing here.\n *\n * @internal\n */\nexport const PHYSJS_SANITY_LEMMA_KEYS: readonly string[] = [\n 'ab-spring-lc',\n 'ab-damped-rlc',\n 'ab-pendulum-linear',\n 'ab-telegraph-diffusion',\n 'ab-telegraph-wave',\n 'ab-wave-dalembert',\n 'ab-klein-gordon-wave',\n 'ab-kg-schrodinger',\n 'ab-kg-oscillator',\n 'ab-stiff-string',\n];\n\n/** Manifest key → `physjsRowHash` of its reviewed row. @internal */\nexport const PHYSJS_REVIEWED_ROWS: Readonly<Record<string, string>> = {\n 'ab-kg-schrodinger': '880d54fbf7b289a56370914abf51cb948dbc6d442e6d5090d3437f2b332f3a6d',\n 'ab-klein-gordon-wave': 'a9fe4d3d45bf26c97d5fb6b1ebe4f4556ea8cb3bf719430dec174f5215765796',\n 'ab-stiff-string': '49655051dea87dbf5f2b00fe1c372d3b949e7464a60793a648f80481329f6973',\n 'ab-telegraph-diffusion': 'c5b283968be33b6220fbfa595062fa00ee65e45b9d60c02db149a7b7a8aad842',\n 'ab-telegraph-wave': 'c244fb53c90f90f334bbc9f79b9485b228425edc4555052bf5696d00f35f8012',\n 'ab-pendulum-linear': '474d8d86dcf67f85ca41329ee2e90608d6a5db5b29b300cb9d2842636e3cbab2',\n 'ab-kg-oscillator': '737a1ffa7f4852bc6b3d287e13873228e2be0477194b110f5ab291f5d87d5f01',\n 'ab-spring-lc': '42b928779b9f5a8d671b03340ba2a247efa5491064c22305cd61fefcf81910dc',\n 'ab-damped-rlc': '95ab3fc816fdbde805d1a636f28e85f6898f1fae462db421647e0f0cfe3b0196',\n 'ab-wave-dalembert': 'c7b428505dd6cd433c11fff98417a24dc16d111434c3e52232588034d9a69ce5',\n 'be-64': '60b4b75c6006459bb5b61095aa31c6c6cbb7c63b64fc1b8b9997d130aea640dc',\n 'be-53': '654f6b62207c0d7950d738f816b337f5a5c8769ca3e18ba797422ecb537902aa',\n 'be-58': '52b94908af901152a823867115ccdfc05ffb4fc0baeaf73b3ee918038d8c8714',\n 'be-38': '34b14f7be5e62b4bff9ddf0787f3e1f28514dfaf5bc4ebf7a9f16b7dfcf118d1',\n 'be-13': 'f8bacaa12b908ac5c373447dde35518f68fe637ee5e5e207068643acf5b1f65e',\n 'be-34': 'e07dfe069c42b9b2f8685d8a66224bb680f958e6199f2f80bf72b8090e73a881',\n 'be-42': '727b1db4f83b51333a3be625f32a5fb0b0bc37c8dfd142b0fe8a26d0b762d9fa',\n 'be-24': '3fee6732650911fd2db0c8f5a42d0e048ca3ce016fd360014cdc43075b6d6c68',\n 'be-19': '32219ddbe9344c174b1bca94a9618c193a818b122da8bfc35657c57dccde0722',\n 'be-16': '0ec6dae9fe98830ddc9ad8e3ecbcbeded8c99d5dce39a957c48646a28b3c3aff',\n 'be-29': '76095041a745706d6059271a0b148ead8307fdec249a00d4ba592713bb0bdefa',\n 'be-11': 'a427754825b4fd77535b2c8c3b048a37cb1c57fffdeb61d4b81a3eac0ef2bc9f',\n 'be-65': 'af573c86041340633b1d4f16c700a33d0b7860925792b005906087e821aeecb7',\n 'be-51': '8c2059e2227b1962b26661dd659f6240fe42e3f3b5d6f416035771452c6b6a7a',\n 'be-61': 'c007972dc9cddf09aeec67f7e10e0f5a6782bc973c65afe8d7745afaa94269e8',\n 'be-12': '582d9c9feebf35c1bb44ce11bee3424246ebcc26baf3c9a5d070ebad2557ccf9',\n 'be-59': '2e66e9191f50acbbdca0f431266eee9e53ecb0d099cf459035583d1fe921389d',\n 'be-55': '9d7b80fcef3d95a0be30d9a7ede0ba7cd021d6e14fa4e7981b743ee145b0b8c8',\n 'be-60': '0b5ff87f7ef793bac6a5d740b462af5768dd2829944789ad35834c5eceb31b44',\n 'be-21': '5a2e6e27b0a000b4b7ae577819ac34a82b7c620f6c8bd1413603ede6360d525d',\n 'be-14': '70469372cb9b0adeccefd18a796061da62b20412dfbaf736ab9765a5169e4799',\n 'be-43': 'a9db7a0f1a53c449525b2f163f371a7f6f51cb03af6cc4c3186b39ba9fb709cb',\n 'be-37': '9bc5bf0d2379c2df54cac3a573e1e88daee6d65627531e6d7db4884b4fc388a9',\n 'be-54': 'eb61f6273649c17051a4a2b0549a30bc5f9a1060b9d46e85cdb9030ac4eb294b',\n 'be-17': '1dc24def887706b972db40ffce56e76bac8d8fc964aef4fec8d60ff75fce410c',\n 'be-27': '106aa08a3cb532aa0cdee42d02b283a8e273561f095c8b1d28e62cc5b1337181',\n 'be-22': '9717a67d45d9cfe91271d18fc18386a33647416908890da1e3159d135d2554e7',\n 'be-15': '4058289145099f1e9fde380dc7bae06fce78722588b74242b83bf6f5581fb889',\n 'be-33': 'c238dc6d809de1905aad7ba2cf8704979724f4dffa129955feb7e18b12996a87',\n 'be-50': 'c898e6857ebb476053f4c4672ff12ac22bbfbef7a2e3f664cf231c3bb2f157d2',\n 'be-32': '3d5fcd0038bfff924ec8135d41dc1b8d72c1808a7d92ac276ccbae31973be28a',\n 'be-28': '8714c5e37191300c167483f050f1e8556599ec51808b51eb5ce5fe32345fb606',\n 'be-40': 'c38df7f5f961031d1d07aacd617949af6b206b586daac19d9adf5f13f73af74a',\n 'be-35': '218e1345d32807e2b4270e3509a755443b07bd25362038a9580c4596850ae472',\n 'be-63': '6cd701cf2b99eef6cfc9790288323e6daa3f5af7bdab3d94031a05fd90b9c08d',\n 'be-30': '078f06e8804ad300f6f3d8322fee749f27569f576486696667b1fb48be1ca442',\n 'be-66': 'edfaf5acb729e8f66142e5c2e9cf94d37ba76a8b0490bf804aac18e3ff741ee4',\n 'be-67': 'cd4f91274459b5cbc7a93ea9efa45e8d61c54d888c58746c22242ddeb1114510',\n 'be-68': '35b62fcf05ee7ac7848fab22692149d03b9b6cfa37f12dd1ec1df5701f61d86b',\n 'be-69': '0e28426d6c4aacf9a50c7d530cf8721a9a5205f3b44bac2ca406e95dbe911dd4',\n 'be-70': '925f801c32a0b56335da581875f467ed67d70ee65645a543bbc4553e1c6e5542',\n 'be-71': '04e19690d699f5add3744d1da8a46dc2a2d76dccfd7a6c1351ee41d8586cd490',\n 'be-72': '6db73d9a11e6a03e83d59cb3b6f9b673ab9fcc50186ee807f9858f9a12ea7306',\n 'be-73': '4369bbc21a6cbea9133d97e64eac7cece61a6f0609bc69334d0cc967fa2e2780',\n 'be-74': '1c7d74da7f98461e8e073c38335ee1384587c8a0159d8eb3ac0d1cc2fb94b477',\n 'be-75': '1543e13ae8ab04064700f7160ef3f8dd3881fb692b532769f6d91654835cfd23',\n 'be-76': '9bdecacffbd9df418b8aae7bb8ba20319728825f191f29ba6db13e0dd2e02ce3',\n 'be-77': '938ee840a82861f31fab9c53e430f2e2e62ab345e1d8702e806213e64f6dad7f',\n 'be-78': 'cf7cdac14abf80c744f5a1ef70b6c555a66a8b64dfa16c9306055946940540d9',\n 'be-79': '97dcbe76ae4c897bd0262082636bca934848d471a3a601ca8c0f0c40d4e3f291',\n 'be-80': '239d7461b765cc73504b4d7ade98efce43f43003c29632ad3fb269bf1743d7b6',\n 'be-81': '23533daef9e6982568de01e9f866a178c1a6f485d3ef547dd7a251c3fc1f0f09',\n 'be-82': 'c801d244cd81e4bcb53ad661670694d4abb54f430da1a95f8f9b595a017e7dbc',\n 'be-83': '93383e269235261efad9c7dbdf170328c37a6c9a1bb4affb9ac7fc0b318e19a2',\n 'be-84': '5daa227a593246db8885265ebf0c019247b71a62357bcf987fa6c92bfbbd2615',\n 'be-85': 'b27946165baf92909f43f7981be69919a7faab477fdd61e9df8843216f749242',\n 'be-86': '2486f240a66593519597474477669d0dfa38771ae3ec52a7e8cc29d1270953d9',\n 'be-87': '8aaa3a155ea534678202ab84567d25c723ff51d96b27020ef16c134417c954ac',\n 'be-88': 'd4bb4f204fa7fc219e089d8e9fd5fe1ba388ada844d882c3a69e1b69fb39385e',\n 'be-89': '0c5b1dce98bea82e121d78bc202fc994f6528ea3e2e383c390cc102bb1ae5af1',\n 'be-90': '648f49b2447473a3a44c932f2f65678c87392986902bc158b2733665a479df35',\n 'be-91': '782d2e126e271b37093f4bbfe02fc14c5746eb136c38a300244a31259b8e798a',\n 'be-92': '913258c797bd5cc90a83cc86a94d99a7cd8ac2ce8f2a915c4d4702daad4bffb1',\n 'be-93': '6b60f759ce1e79a98e4de49096f507c695ca5f3873f2a0f237e47201f624f6ee',\n 'be-94': 'a1a5af40a0b53e47ec1881bf5c130858723f9323b475627bda00a9fc99755886',\n 'be-95': '350fb518211dc3f9057600e5b46f5f3fe20d25918a6030270b6774dde01d516b',\n 'be-96': '3e20106a0c1716705098e31ced90b08fb41126cab5b04c9f58b04db73d6294f8',\n 'be-97': '07ecd466f0a18cdd7dc69ef226842fc949887ab78ff0c06577d412518d5cc464',\n 'be-98': 'b818dd66cb7c68880aea7538eef416255d176e576650285685fbf52d33590b71',\n 'be-99': '946f859852dc91fde43c065881af518e54feb8b9f8fdaa982589c135e46ca915',\n 'be-100': '4b0cc12b87ce8af042199e24e5e0267b4aca7d91ac1dbf5d6f7ada7d30f57080',\n 'be-101': '826824d71044fe74c433ece6f58ed79550037d7dd91d739bd74e1a43432bafbd',\n 'be-102': 'd558d7f1f0d6619b431e3e47f55da972d4a5d793fc5abdcca246ca7bcecf954b',\n 'be-103': '494cfebdc911620b2ed856e42ed80c62e66f2a59010a13b9fae474323f247b4b',\n 'be-104': '9fe152dea27462d1d96acf68993cc119f0738562fd84743e6841cce21a1c6ffc',\n 'be-105': 'a50cc220138acadd340bf6fac9b276b092a634cb5d51614949b26b98c078ee80',\n 'be-106': '0e927a73dfbd20e122fe121be5ffb4e978188197e3b356dceb90cac58c1c2428',\n 'be-107': '6ef75e7cc6d9a5cb309d236df5546987da1fb5173059028460d1734af3cb8c24',\n 'be-108': 'dc535e38b2a3b1abd4d285175d479986ca574fd32864311a191787ac10671f66',\n 'be-109': '48340a5bb2bc32a86ad3ee3ac64f50513ba74705696c0b2745d698721cebacf7',\n 'be-110': 'd41f59f77f7462208e2bba9ef36a7f9a08debf6f45b1ea7b8da96e15715a474e',\n 'be-111': '85ea9cc4fed9ed3b1d6f904d04478af834e028bc422b1d4ec7add0d5efb806de',\n 'be-112': '5fff6ece7515e306cac131d4e22830f19db050afa613fa747c12353245195b79',\n 'be-113': 'd8c584bfdded5c572af283c080988656548b2ff3823e976eeaad617c3139cef6',\n 'be-114': 'b7cdd43f36d1db2599756a1a192cbf8c89c91b5b591ce9b314f45ad9cb58680f',\n 'be-115': 'd4c2a7412bd95f47589f8f20abfe1d6f26595126208a4d5108fbdbd3022b63aa',\n 'be-116': '532d403048b80ceda5f8b84843d0a92043871a47f4d98a74e5ab7a2c41da370c',\n 'be-117': 'f12c725db622e01d798f1737ef6753f130c93c80d6e2acbe464cda5d86318324',\n 'be-118': '77091b5dfb1363bbaa1260d4be1ebb6f20bd50dcbf240b41ecfd95cbd97dec9a',\n 'be-119': 'd4028c30361e80d25a5db1f77a11509c9ae8ef806c5a590683aa64bcfede505b',\n 'be-120': '7d6d7d7c4f37fce49e9426d303f813ea38da7e096b6ab196e8f24127420e51ff',\n 'be-121': '45d55190ae6d42ed8857328de247aed9a97a33a1bb39cfb2da4db4b32b621913',\n 'be-122': '1adf121312f9e7a0987b26db17e9482170c024c0585440f7a7196354e3905a8f',\n 'be-123': '7cb42177258bcdf12708385b8239d967a0f8495347765e879219d9e2217d9fa0',\n 'be-124': 'edba0bb729e4b7b9168be0690c6608bea5188d124a9dfb8cecc7425cc85ba200',\n 'be-125': 'b0ce83cfd9128cd2204ab6befdf2d06ce965fd45000cf406711800852cc87cc0',\n 'be-126': '79840172085326318a836c9957411128e6377d19e3f4e732390d1453d5f0f29b',\n 'be-127': '7cc94ecf33c265a7275c3510c160a542a7cc3e4da88c5c7069ff473651167a07',\n 'be-128': 'd759c04cdfcb04fbb36b89f4e8a661597b54f9309be28cba09ea1ce985fe2847',\n 'be-129': 'e16a48b1001643421d3feac882c9cc5f483bc56b0136ff0facba5ea119d5a85e',\n 'be-130': '6ca583f50192eddb8917c95dc60d2ba6b65e4f1f7a6eedf5ad0cd7574122e666',\n 'be-131': '88d0d6a164d39b2ec4d0858f0423512cd16bdd3ca2c34a92ffd21bc992fbe67f',\n 'be-132': '1b0ba9e3e52d5dfd228633db052c0c248acbf596f2262f8f05c7440e91bb5f9a',\n 'be-133': '1fb39327e2939a5d958ac8d2a141e1bc92416367c228b01e01873549ec4cf950',\n 'be-134': 'fec42f79496f056f5b54fa609ca8150a8c1aa3c6c46c71f461ca5334d0b75fa4',\n 'be-135': 'fb735429a839c0cf1889d44bf9714d05e01f5f0337fa615b1dc5941823705b2d',\n 'be-136': '01dcfd2e150cc95c79b716fb90d1d5f0090e98a2bbb96a8e0454004a0028dc1f',\n 'be-137': '23bba2ad12564ee2418afb704e29561ac5769a77a1e0d3663082724e91d557eb',\n 'be-138': 'afba03f978acf127b30ab24a9ee510659608a93a015002acec3c478139f6fda6',\n 'be-139': '93e2ff6b141c8c330e39bd499a63a86c6cf181c9e4d21a5b2820d838b80d500d',\n 'be-140': '64ba9268bb9b764bbc59590ca0e64a180b723f35651531193c90c2a87d77d5f4',\n 'be-141': 'ca3efdba41edd67b1e436fc01b67d1acb60545f96947cb1f43a0af51939add1a',\n 'be-142': '67ebceb83e24e4bd7081c8cf35c10a935fbdc1861783ade6856467eb2871efda',\n 'be-143': '5be1cad3b6b66f85439c607181f624d10a69c0837d48eb90f41a5e0bbbffe940',\n 'be-144': '67822836d4b5b37163897ef14eed8fb16e00910a716eccc77e943f9b52d10c09',\n 'be-145': '44ef60d375cd4e47da236e3e8b3d9ad10a07f9f3cc99a868d667a48051aa026a',\n 'be-146': 'f757b6202576fd1b511e2623e808873ea13803be37ed25ff9f6402785a2097f0',\n 'be-147': '7500f9accb06f74b241314647f4201c43f3277c77d9f5245ae183fe787baa36a',\n 'be-148': 'b51947097d1b5a83fde24a256b14dd62bdcb106dcb214eba164a10bffe020bd1',\n 'be-149': '3d8ea014860f455884f66ce495ee79efdb2cc923a398a15d2f2f58588fe0814e',\n 'be-150': '172e09d30b3b696e4434e29fa4131fe003d7d3c45f862210bb497edbf1770a1e',\n 'be-151': '07d88e2df67f34f4cddfddfab516bca69e41bc9c8c0f2015861390163087b525',\n 'be-152': '61ea1c8f876feb22d350a335b96ee6d791151888c772a0ec307ab040da68524a',\n 'be-153': '051febadc75bbbb74ee91a9d5c5cfdf31b264561899f2db468cb33011843c285',\n 'be-154': 'ba21b1e5516b3404c4375f14b4e27b8ebfd1fbe07f23882461d7a2289ce7e522',\n 'be-155': '0876d0e9fe0ffc7735731841548e3024988cfaf6fbc872eb060e0ae21e62b93b',\n 'be-156': '7148ff42464d034cb1a96b40ce7c17a955e539a7ca7be794dbb57a4d6fbb503a',\n 'be-157': 'd4d6c7a24bd46014ce1367370b959631b69f51c0bab911016e0f157282723595',\n 'be-158': '1e03fa92e4e2191e96ab751eb3d0b1d89867f29ee47d8f24eb6f7deae6c1cfca',\n 'be-159': '2977a93ea3ea31785ad59cae7f8bc53db7fe322f93505141e752f84343e03f2a',\n 'be-160': 'efcab77d5c41fda7643b7cf3b014e2627ef503ab15ee8373125acdbac96f91f6',\n 'be-161': '49ea75f63a871a4a7a61bc2473fcd452a598c1d8e2808116c515ac67b717bb77',\n 'be-162': '531e8cd60c6fe8ef031ce5363508396f7a47d032f8927b7e00e3c97d422195de',\n 'be-163': '11814e8a0c9855b6c6a92ddbbe716f2880e318a9869a59f028aa616662bba275',\n 'be-164': 'fcbfa8ef810ef6ee12c2fb47128946e380e86f097977a77ecbda27c0923ee93a',\n 'be-165': '5fd50258133d592be623f2e5d34b24ffb6c3d7fc6c513b6c4c20bd18f8bced32',\n 'be-166': '06cc5cfdf19903d7d6950183a0d36e7fbae2d48258d6b473707d94dc34845944',\n 'be-167': 'e127412cf8a32ba3e9978339ec0558df9ac1a2a452185e551f0c9d1f808fd1e9',\n 'be-168': '6c7696962e56f466c016a03947c8b359ae23fd1da6f1eb93e0aab4be117e062c',\n 'be-169': '6f4e6c880f33255ed8d2c3d9757ba81e93e3f71b4a5ae8d02cbff0b91e6a244a',\n 'be-170': 'f9d8dff51577fe8556593c0a31ca26577d5449864e48c246831aa37612463d48',\n};\n"]}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Check records (expr + bound) for the applied-case catalog. Declarative prose lives
3
+ * in `data/applied-cases.json`; thresholds stay here beside the expr the engine reads.
4
+ *
5
+ * @module cases/catalog-checks
6
+ */
7
+ import type { AppliedCaseCheckRecord } from './catalog.js';
8
+ /** Check records keyed by applied-case id. */
9
+ export declare const CHECKS_BY_CASE_ID: Readonly<Record<string, readonly AppliedCaseCheckRecord[]>>;
10
+ //# sourceMappingURL=catalog-checks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-checks.d.ts","sourceRoot":"","sources":["../../src/cases/catalog-checks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3D,8CAA8C;AAC9C,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,sBAAsB,EAAE,CAAC,CAyPzF,CAAC"}
@@ -0,0 +1,241 @@
1
+ /** Check records keyed by applied-case id. */
2
+ export const CHECKS_BY_CASE_ID = {
3
+ 'case-skin-depth': [
4
+ {
5
+ id: 'good-conductor',
6
+ premise: 'good conductor: conduction current ≫ displacement current',
7
+ quantity: 'ωε/σ',
8
+ expr: '2*pi*f_Hz*eps_r*epsilon_0*rho_ohm_m',
9
+ op: '<=',
10
+ bound: 0.01,
11
+ threshold: 'chosen threshold for ≪ 1: the parent penetration depth then differs from δ by ≈ ωε/(2σ) ≤ 0.5%',
12
+ },
13
+ {
14
+ id: 'local',
15
+ premise: "local conductivity: the carriers' mean free path well inside the skin depth, l ≪ δ",
16
+ quantity: 'l/δ',
17
+ expr: 'l_mfp_m/delta_m',
18
+ op: '<=',
19
+ bound: 0.1,
20
+ threshold: 'chosen threshold for ≪ 1; beyond it the current at a point depends on the field over a path l and the anomalous skin effect sets in (Pippard 1947; Reuter & Sondheimer 1948)',
21
+ },
22
+ {
23
+ id: 'dc-conductivity',
24
+ premise: 'DC conductivity: the drive is slow beside the carrier relaxation, ωτ ≪ 1',
25
+ quantity: 'ω l/v',
26
+ expr: '2*pi*f_Hz*l_mfp_m/v_carrier_m_per_s',
27
+ op: '<=',
28
+ bound: 0.1,
29
+ threshold: 'chosen threshold for ≪ 1: the Drude σ(ω) = σ0/(1 − iωτ) is then within 0.5% of σ0 in modulus',
30
+ },
31
+ {
32
+ id: 'thick',
33
+ premise: 'the conductor is a half-space for the field: d ≫ δ',
34
+ quantity: 'd/δ',
35
+ expr: 'thickness_m/delta_m',
36
+ op: '>=',
37
+ bound: 5,
38
+ threshold: 'chosen threshold: the half-space field at the back face is then ≤ e^{−5} ≈ 0.7% of the surface field',
39
+ },
40
+ ],
41
+ 'case-kepler-rv': [
42
+ {
43
+ id: 'test-mass',
44
+ premise: 'the companion is light beside the star, m_p ≪ M_*',
45
+ quantity: 'm_p/M_*',
46
+ expr: 'm_p_kg/M_star_kg',
47
+ op: '<=',
48
+ bound: 0.01,
49
+ threshold: 'chosen threshold: the test-mass K then exceeds the two-body K by (1 + q)^{2/3} − 1 ≤ 0.67%',
50
+ },
51
+ {
52
+ id: 'point-mass',
53
+ premise: 'point masses: the star is small beside the closest approach, R_* ≪ r_p',
54
+ quantity: 'R_*/(a(1 − e))',
55
+ expr: 'R_star_m/r_peri_m',
56
+ op: '<=',
57
+ bound: 0.1,
58
+ threshold: 'chosen threshold: tidal and rotational quadrupole terms scale as (R_*/r)² times a Love number or J2 (each < 1), kept ≤ 1%',
59
+ },
60
+ {
61
+ id: 'weak-field',
62
+ premise: 'Newtonian gravity: G(M_* + m_p)/(c²a) ≪ 1',
63
+ quantity: 'G(M_* + m_p)/(c² a)',
64
+ expr: 'weak_field',
65
+ op: '<=',
66
+ bound: 1e-4,
67
+ threshold: 'chosen threshold: the 1PN corrections to the P–a relation and to the orbital velocity are of this relative order',
68
+ },
69
+ {
70
+ id: 'apsidal',
71
+ premise: 'a fixed ellipse over the record: the GR apsidal advance does not reshape the RV curve',
72
+ quantity: 'e Δω T_obs/P',
73
+ expr: 'apsidal_misfit',
74
+ op: '<=',
75
+ bound: 0.01,
76
+ threshold: 'chosen threshold: beyond the mean longitude (absorbed by the fitted phase), v_r depends on ω only at O(e), so the misfit is of order e Δω K; its coefficient (order one) is not encoded',
77
+ },
78
+ ],
79
+ 'case-damped-resonator': [
80
+ {
81
+ id: 'underdamped',
82
+ premise: 'underdamped: the solution rings (Q > 1/2)',
83
+ quantity: 'Q',
84
+ expr: 'Q',
85
+ op: '>',
86
+ bound: 0.5,
87
+ threshold: 'exact: at Q ≤ 1/2 the solution is a sum of real exponentials, with no ring-down, f_d or envelope',
88
+ },
89
+ {
90
+ id: 'single-lorentzian',
91
+ premise: 'high Q: the line near f0 is one Lorentzian',
92
+ quantity: 'Q',
93
+ expr: 'Q',
94
+ op: '>=',
95
+ bound: 10,
96
+ threshold: 'chosen threshold for Q ≫ 1: the windowed spectrum drops the negative-frequency pole',
97
+ },
98
+ {
99
+ id: 'resolved',
100
+ premise: 'the record resolves the line: 1/t_obs ≪ f0/Q',
101
+ quantity: '(1/t_obs)/(f0/Q)',
102
+ expr: 'resolution_Hz/linewidth_Hz',
103
+ op: '<=',
104
+ bound: 0.1,
105
+ threshold: 'chosen threshold for ≪ 1; see windowed_excess for the broadening it allows',
106
+ },
107
+ {
108
+ id: 'in-record',
109
+ premise: 'the read-out time lies inside the record',
110
+ quantity: 't/t_obs',
111
+ expr: 't_s/t_obs_s',
112
+ op: '<=',
113
+ bound: 1,
114
+ threshold: 'exact: an envelope read after the record ends was not measured',
115
+ },
116
+ {
117
+ id: 'above-thermal',
118
+ premise: 'the ring-down stands above the thermal motion at t',
119
+ quantity: '√(k_BT/k)/A(t)',
120
+ expr: 'x_th_rms_m/envelope_m',
121
+ op: '<=',
122
+ bound: 0.1,
123
+ threshold: 'chosen threshold: the RMS envelope √(A² + 2k_BT/k) then exceeds A by ≤ 1%',
124
+ },
125
+ ],
126
+ 'case-resistor-noise': [
127
+ {
128
+ id: 'classical',
129
+ premise: 'flat, classical spectrum: hf ≪ k_BT across the band',
130
+ quantity: 'h f_hi/(k_B T)',
131
+ expr: 'h*f_hi_Hz/(k_B*T_K)',
132
+ op: '<=',
133
+ bound: 0.01,
134
+ threshold: 'chosen threshold for ≪ 1: the Planck factor at f_hi is then within x/2 ≤ 0.5% of 1',
135
+ },
136
+ {
137
+ id: 'flat-band',
138
+ premise: 'the input RC pole lies above the band',
139
+ quantity: '2π f_hi R_eff C_in',
140
+ expr: '2*pi*f_hi_Hz*R_eff_ohm*C_in_F',
141
+ op: '<=',
142
+ bound: 0.1,
143
+ threshold: 'chosen threshold for ≪ 1: the RC low-pass then passes ≥ 99% of the density at f_hi',
144
+ },
145
+ {
146
+ id: 'amplifier',
147
+ premise: "the resistor's noise is resolved above the amplifier's in t_avg",
148
+ quantity: '1/(φ √(B t_avg))',
149
+ expr: '1/(resistor_fraction*sqrt(B_Hz*t_avg_s))',
150
+ op: '<=',
151
+ bound: 0.01,
152
+ threshold: "chosen threshold: after subtracting the amplifier's power (known exactly, e.g. from a long shorted-input run) the resistor's power scatters by ≤ 1%",
153
+ },
154
+ ],
155
+ 'case-lumped-cooling': [
156
+ {
157
+ id: 'lumped',
158
+ premise: 'one temperature for the sphere: internal conduction fast beside surface loss, Bi ≪ 1',
159
+ quantity: 'h (a/3)/k',
160
+ expr: 'Bi',
161
+ op: '<=',
162
+ bound: 0.1,
163
+ threshold: 'the conventional criterion Bi ≤ 0.1 with L_c = V/A (Incropera §5.2); parent_deviation shows the error it leaves at t',
164
+ },
165
+ {
166
+ id: 'linear-loss',
167
+ premise: 'the loss is linear in T − T∞: radiation small beside convection',
168
+ quantity: 'εσ_SB(T_max + T∞)(T_max² + T∞²)/h',
169
+ expr: 'h_rad_max_W_per_m2_K/h_W_per_m2_K',
170
+ op: '<=',
171
+ bound: 0.1,
172
+ threshold: 'chosen threshold: the neglected radiative conductance is ≤ 10% of h at the hottest point of the run (Incropera eq. 1.9 linearization)',
173
+ },
174
+ ],
175
+ 'case-brownian-sphere': [
176
+ {
177
+ id: 'creeping-flow',
178
+ premise: 'creeping flow around the sphere, Re ≪ 1',
179
+ quantity: 'ρ_f a max(√(k_BT/m), |v_s|)/η',
180
+ expr: 'Re',
181
+ op: '<=',
182
+ bound: 0.1,
183
+ threshold: 'the threshold ab-stokes-einstein states: a chosen machine form of Re ≪ 1',
184
+ },
185
+ {
186
+ id: 'overdamped',
187
+ premise: 'overdamped times t ≫ τ_p',
188
+ quantity: '(m + m_f/2)/(γ t)',
189
+ expr: 'tau_p_s/t_s',
190
+ op: '<=',
191
+ bound: 0.01,
192
+ threshold: "ab-stokes-einstein's m/(γt) ≤ 0.01, with the added mass m_f/2 included (stricter)",
193
+ },
194
+ {
195
+ id: 'memory',
196
+ premise: 'past the hydrodynamic memory, t ≫ τ_f = ρ_f a²/η',
197
+ quantity: '|MSD_H/MSD_OU − 1|',
198
+ expr: 'abs(memory_correction)',
199
+ op: '<=',
200
+ bound: 0.01,
201
+ threshold: 'chosen threshold: the Basset memory changes the MSD by ≤ 1% at t (computed, not estimated; ≈ 2√(τ_f/(πt)) at t ≫ τ_f)',
202
+ },
203
+ {
204
+ id: 'faxen-range',
205
+ premise: 'the Faxén series in a/h holds for D_∥',
206
+ quantity: '(a/h)⁵/16 ÷ (D_∥/D)',
207
+ expr: 'pow(a_m/h_m,5)/16/(D_parallel_m2_per_s/D_m2_per_s)',
208
+ op: '<=',
209
+ bound: 0.01,
210
+ threshold: 'chosen threshold: the last retained term is ≤ 1% of the series — a size estimate of the truncation, not a bound; D_⊥ (Brenner) is exact at any h > a',
211
+ },
212
+ {
213
+ id: 'wall',
214
+ premise: 'the wall correction to the tracked MSD is negligible',
215
+ quantity: '|MSD/MSD_w − 1|',
216
+ expr: 'abs(wall_deviation)',
217
+ op: '<=',
218
+ bound: 0.01,
219
+ threshold: 'chosen threshold: the unbounded-fluid D is then within 1% for the tracked axes; otherwise read MSD_wall_m2',
220
+ },
221
+ {
222
+ id: 'wall-static',
223
+ premise: 'the height barely changes over t',
224
+ quantity: '(√(2 D_⊥ t) + |v_s| t/λ)/(h − a)',
225
+ expr: '(sqrt(2*D_perp_m2_per_s*t_s)+abs(v_sed_m_per_s)*t_s/(D_m2_per_s/D_perp_m2_per_s))/(h_m-a_m)',
226
+ op: '<=',
227
+ bound: 0.1,
228
+ threshold: 'chosen threshold: diffusion plus wall-slowed sedimentation normal to the wall move the sphere by ≤ 10% of the gap, so D_∥, D_⊥ taken at h hold over t',
229
+ },
230
+ {
231
+ id: 'drift',
232
+ premise: 'sedimentation drift negligible along gravity over t',
233
+ quantity: '(v_s t)²/(2 D t)',
234
+ expr: 'pow(v_sed_m_per_s*t_s,2)/(2*D_m2_per_s*t_s)',
235
+ op: '<=',
236
+ bound: 0.01,
237
+ threshold: 'chosen threshold: the vertical MSD then carries ≤ 1% from the deterministic drift',
238
+ },
239
+ ],
240
+ };
241
+ //# sourceMappingURL=catalog-checks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-checks.js","sourceRoot":"","sources":["../../src/cases/catalog-checks.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Check records (expr + bound) for the applied-case catalog. Declarative prose lives\n * in `data/applied-cases.json`; thresholds stay here beside the expr the engine reads.\n *\n * @module cases/catalog-checks\n */\nimport type { AppliedCaseCheckRecord } from './catalog.js';\n\n/** Check records keyed by applied-case id. */\nexport const CHECKS_BY_CASE_ID: Readonly<Record<string, readonly AppliedCaseCheckRecord[]>> = {\n 'case-skin-depth': [\n {\n id: 'good-conductor',\n premise: 'good conductor: conduction current ≫ displacement current',\n quantity: 'ωε/σ',\n expr: '2*pi*f_Hz*eps_r*epsilon_0*rho_ohm_m',\n op: '<=',\n bound: 0.01,\n threshold:\n 'chosen threshold for ≪ 1: the parent penetration depth then differs from δ by ≈ ωε/(2σ) ≤ 0.5%',\n },\n {\n id: 'local',\n premise: \"local conductivity: the carriers' mean free path well inside the skin depth, l ≪ δ\",\n quantity: 'l/δ',\n expr: 'l_mfp_m/delta_m',\n op: '<=',\n bound: 0.1,\n threshold:\n 'chosen threshold for ≪ 1; beyond it the current at a point depends on the field over a path l and the anomalous skin effect sets in (Pippard 1947; Reuter & Sondheimer 1948)',\n },\n {\n id: 'dc-conductivity',\n premise: 'DC conductivity: the drive is slow beside the carrier relaxation, ωτ ≪ 1',\n quantity: 'ω l/v',\n expr: '2*pi*f_Hz*l_mfp_m/v_carrier_m_per_s',\n op: '<=',\n bound: 0.1,\n threshold: 'chosen threshold for ≪ 1: the Drude σ(ω) = σ0/(1 − iωτ) is then within 0.5% of σ0 in modulus',\n },\n {\n id: 'thick',\n premise: 'the conductor is a half-space for the field: d ≫ δ',\n quantity: 'd/δ',\n expr: 'thickness_m/delta_m',\n op: '>=',\n bound: 5,\n threshold: 'chosen threshold: the half-space field at the back face is then ≤ e^{−5} ≈ 0.7% of the surface field',\n },\n ],\n 'case-kepler-rv': [\n {\n id: 'test-mass',\n premise: 'the companion is light beside the star, m_p ≪ M_*',\n quantity: 'm_p/M_*',\n expr: 'm_p_kg/M_star_kg',\n op: '<=',\n bound: 0.01,\n threshold: 'chosen threshold: the test-mass K then exceeds the two-body K by (1 + q)^{2/3} − 1 ≤ 0.67%',\n },\n {\n id: 'point-mass',\n premise: 'point masses: the star is small beside the closest approach, R_* ≪ r_p',\n quantity: 'R_*/(a(1 − e))',\n expr: 'R_star_m/r_peri_m',\n op: '<=',\n bound: 0.1,\n threshold:\n 'chosen threshold: tidal and rotational quadrupole terms scale as (R_*/r)² times a Love number or J2 (each < 1), kept ≤ 1%',\n },\n {\n id: 'weak-field',\n premise: 'Newtonian gravity: G(M_* + m_p)/(c²a) ≪ 1',\n quantity: 'G(M_* + m_p)/(c² a)',\n expr: 'weak_field',\n op: '<=',\n bound: 1e-4,\n threshold: 'chosen threshold: the 1PN corrections to the P–a relation and to the orbital velocity are of this relative order',\n },\n {\n id: 'apsidal',\n premise: 'a fixed ellipse over the record: the GR apsidal advance does not reshape the RV curve',\n quantity: 'e Δω T_obs/P',\n expr: 'apsidal_misfit',\n op: '<=',\n bound: 0.01,\n threshold:\n 'chosen threshold: beyond the mean longitude (absorbed by the fitted phase), v_r depends on ω only at O(e), so the misfit is of order e Δω K; its coefficient (order one) is not encoded',\n },\n ],\n 'case-damped-resonator': [\n {\n id: 'underdamped',\n premise: 'underdamped: the solution rings (Q > 1/2)',\n quantity: 'Q',\n expr: 'Q',\n op: '>',\n bound: 0.5,\n threshold: 'exact: at Q ≤ 1/2 the solution is a sum of real exponentials, with no ring-down, f_d or envelope',\n },\n {\n id: 'single-lorentzian',\n premise: 'high Q: the line near f0 is one Lorentzian',\n quantity: 'Q',\n expr: 'Q',\n op: '>=',\n bound: 10,\n threshold: 'chosen threshold for Q ≫ 1: the windowed spectrum drops the negative-frequency pole',\n },\n {\n id: 'resolved',\n premise: 'the record resolves the line: 1/t_obs ≪ f0/Q',\n quantity: '(1/t_obs)/(f0/Q)',\n expr: 'resolution_Hz/linewidth_Hz',\n op: '<=',\n bound: 0.1,\n threshold: 'chosen threshold for ≪ 1; see windowed_excess for the broadening it allows',\n },\n {\n id: 'in-record',\n premise: 'the read-out time lies inside the record',\n quantity: 't/t_obs',\n expr: 't_s/t_obs_s',\n op: '<=',\n bound: 1,\n threshold: 'exact: an envelope read after the record ends was not measured',\n },\n {\n id: 'above-thermal',\n premise: 'the ring-down stands above the thermal motion at t',\n quantity: '√(k_BT/k)/A(t)',\n expr: 'x_th_rms_m/envelope_m',\n op: '<=',\n bound: 0.1,\n threshold: 'chosen threshold: the RMS envelope √(A² + 2k_BT/k) then exceeds A by ≤ 1%',\n },\n ],\n 'case-resistor-noise': [\n {\n id: 'classical',\n premise: 'flat, classical spectrum: hf ≪ k_BT across the band',\n quantity: 'h f_hi/(k_B T)',\n expr: 'h*f_hi_Hz/(k_B*T_K)',\n op: '<=',\n bound: 0.01,\n threshold: 'chosen threshold for ≪ 1: the Planck factor at f_hi is then within x/2 ≤ 0.5% of 1',\n },\n {\n id: 'flat-band',\n premise: 'the input RC pole lies above the band',\n quantity: '2π f_hi R_eff C_in',\n expr: '2*pi*f_hi_Hz*R_eff_ohm*C_in_F',\n op: '<=',\n bound: 0.1,\n threshold: 'chosen threshold for ≪ 1: the RC low-pass then passes ≥ 99% of the density at f_hi',\n },\n {\n id: 'amplifier',\n premise: \"the resistor's noise is resolved above the amplifier's in t_avg\",\n quantity: '1/(φ √(B t_avg))',\n expr: '1/(resistor_fraction*sqrt(B_Hz*t_avg_s))',\n op: '<=',\n bound: 0.01,\n threshold:\n \"chosen threshold: after subtracting the amplifier's power (known exactly, e.g. from a long shorted-input run) the resistor's power scatters by ≤ 1%\",\n },\n ],\n 'case-lumped-cooling': [\n {\n id: 'lumped',\n premise: 'one temperature for the sphere: internal conduction fast beside surface loss, Bi ≪ 1',\n quantity: 'h (a/3)/k',\n expr: 'Bi',\n op: '<=',\n bound: 0.1,\n threshold:\n 'the conventional criterion Bi ≤ 0.1 with L_c = V/A (Incropera §5.2); parent_deviation shows the error it leaves at t',\n },\n {\n id: 'linear-loss',\n premise: 'the loss is linear in T − T∞: radiation small beside convection',\n quantity: 'εσ_SB(T_max + T∞)(T_max² + T∞²)/h',\n expr: 'h_rad_max_W_per_m2_K/h_W_per_m2_K',\n op: '<=',\n bound: 0.1,\n threshold:\n 'chosen threshold: the neglected radiative conductance is ≤ 10% of h at the hottest point of the run (Incropera eq. 1.9 linearization)',\n },\n ],\n 'case-brownian-sphere': [\n {\n id: 'creeping-flow',\n premise: 'creeping flow around the sphere, Re ≪ 1',\n quantity: 'ρ_f a max(√(k_BT/m), |v_s|)/η',\n expr: 'Re',\n op: '<=',\n bound: 0.1,\n threshold: 'the threshold ab-stokes-einstein states: a chosen machine form of Re ≪ 1',\n },\n {\n id: 'overdamped',\n premise: 'overdamped times t ≫ τ_p',\n quantity: '(m + m_f/2)/(γ t)',\n expr: 'tau_p_s/t_s',\n op: '<=',\n bound: 0.01,\n threshold: \"ab-stokes-einstein's m/(γt) ≤ 0.01, with the added mass m_f/2 included (stricter)\",\n },\n {\n id: 'memory',\n premise: 'past the hydrodynamic memory, t ≫ τ_f = ρ_f a²/η',\n quantity: '|MSD_H/MSD_OU − 1|',\n expr: 'abs(memory_correction)',\n op: '<=',\n bound: 0.01,\n threshold:\n 'chosen threshold: the Basset memory changes the MSD by ≤ 1% at t (computed, not estimated; ≈ 2√(τ_f/(πt)) at t ≫ τ_f)',\n },\n {\n id: 'faxen-range',\n premise: 'the Faxén series in a/h holds for D_∥',\n quantity: '(a/h)⁵/16 ÷ (D_∥/D)',\n expr: 'pow(a_m/h_m,5)/16/(D_parallel_m2_per_s/D_m2_per_s)',\n op: '<=',\n bound: 0.01,\n threshold:\n 'chosen threshold: the last retained term is ≤ 1% of the series — a size estimate of the truncation, not a bound; D_⊥ (Brenner) is exact at any h > a',\n },\n {\n id: 'wall',\n premise: 'the wall correction to the tracked MSD is negligible',\n quantity: '|MSD/MSD_w − 1|',\n expr: 'abs(wall_deviation)',\n op: '<=',\n bound: 0.01,\n threshold:\n 'chosen threshold: the unbounded-fluid D is then within 1% for the tracked axes; otherwise read MSD_wall_m2',\n },\n {\n id: 'wall-static',\n premise: 'the height barely changes over t',\n quantity: '(√(2 D_⊥ t) + |v_s| t/λ)/(h − a)',\n expr: '(sqrt(2*D_perp_m2_per_s*t_s)+abs(v_sed_m_per_s)*t_s/(D_m2_per_s/D_perp_m2_per_s))/(h_m-a_m)',\n op: '<=',\n bound: 0.1,\n threshold:\n 'chosen threshold: diffusion plus wall-slowed sedimentation normal to the wall move the sphere by ≤ 10% of the gap, so D_∥, D_⊥ taken at h hold over t',\n },\n {\n id: 'drift',\n premise: 'sedimentation drift negligible along gravity over t',\n quantity: '(v_s t)²/(2 D t)',\n expr: 'pow(v_sed_m_per_s*t_s,2)/(2*D_m2_per_s*t_s)',\n op: '<=',\n bound: 0.01,\n threshold: 'chosen threshold: the vertical MSD then carries ≤ 1% from the deterministic drift',\n },\n ],\n};\n"]}
@@ -0,0 +1,83 @@
1
+ import type { JsonSchema } from '../core/json-schema.js';
2
+ import type { EvaluatorParameter } from '../bridges/evaluators.js';
3
+ import type { AppliedCase, CaseComparison, CaseExample } from './types.js';
4
+ /** One catalog check, evaluated through the formula grammar. @internal */
5
+ export interface AppliedCaseCheckRecord {
6
+ readonly id: string;
7
+ readonly premise: string;
8
+ readonly quantity: string;
9
+ readonly expr: string;
10
+ readonly op: '<=' | '>=' | '>';
11
+ readonly bound: number;
12
+ readonly threshold: string;
13
+ }
14
+ /** One catalog output before runtime wiring. @internal */
15
+ export interface AppliedCaseOutputRecord {
16
+ readonly key: string;
17
+ readonly symbol: string;
18
+ readonly unit: string;
19
+ readonly meaning: string;
20
+ readonly expr?: string;
21
+ readonly method?: string;
22
+ readonly relation?: {
23
+ readonly relation: string;
24
+ readonly inputs: Readonly<Record<string, string>>;
25
+ };
26
+ }
27
+ /** One applied-case record in the catalog file. @internal */
28
+ export interface AppliedCaseRecord {
29
+ readonly id: string;
30
+ readonly title: string;
31
+ readonly parameters: readonly EvaluatorParameter[];
32
+ readonly governing: AppliedCase['governing'];
33
+ readonly observable: string;
34
+ readonly outputs: readonly AppliedCaseOutputRecord[];
35
+ readonly checks: readonly AppliedCaseCheckRecord[];
36
+ readonly conditions: readonly string[];
37
+ readonly comparison?: CaseComparison;
38
+ readonly notIncluded: readonly string[];
39
+ readonly measurement: readonly string[];
40
+ readonly links: readonly {
41
+ readonly id: string;
42
+ readonly role: string;
43
+ }[];
44
+ readonly examples: {
45
+ readonly valid: CaseExample;
46
+ readonly failures: readonly CaseExample[];
47
+ };
48
+ readonly regimeAt?: string;
49
+ }
50
+ /** The on-disk catalog shape. @internal */
51
+ export interface AppliedCaseFile {
52
+ readonly schemaVersion: 1;
53
+ readonly cases: readonly AppliedCaseRecord[];
54
+ }
55
+ /**
56
+ * Per-case module names B8 deleted. The published package has no `src/`, so
57
+ * this list is the loader's record; {@link isForbiddenCaseModule} and the
58
+ * directory test fail if one of these, or a new `case-*.ts`, comes back.
59
+ */
60
+ export declare const FORBIDDEN_PER_CASE_MODULES: readonly ['skin-depth.ts', 'kepler-rv.ts', 'damped-resonator.ts', 'resistor-noise.ts', 'lumped-cooling.ts', 'brownian-sphere.ts'];
61
+ /** True for a deleted per-case file or a new `case-*.ts` under `src/cases/`. */
62
+ export declare function isForbiddenCaseModule(name: string): boolean;
63
+ /**
64
+ * Parse and validate catalog text. Schema problems and semantic problems throw
65
+ * with every message listed.
66
+ * @internal
67
+ */
68
+ export declare function readAppliedCaseFile(text: string, schema?: JsonSchema): AppliedCaseFile;
69
+ /** Semantic rules a schema cannot state. @internal */
70
+ export declare function catalogSemanticProblems(file: AppliedCaseFile, methodNames?: ReadonlySet<string>): string[];
71
+ /** `data/applied-cases.json`, checked once per process. @internal */
72
+ export declare function appliedCaseCatalog(): AppliedCaseFile;
73
+ /** One record by id; throws when the id is absent. @internal */
74
+ export declare function appliedCaseRecord(id: string): AppliedCaseRecord;
75
+ /** Declarative fields of an {@link AppliedCase} as a catalog record (no `run`). @internal */
76
+ export declare function projectAppliedCaseRecord(c: AppliedCase, checks: readonly AppliedCaseCheckRecord[]): AppliedCaseRecord;
77
+ /** Attach a runtime implementation to a catalog record. @internal */
78
+ export declare function assembleAppliedCase(record: AppliedCaseRecord, impl: Pick<AppliedCase, 'run'> & {
79
+ regimeAt?: AppliedCase['regimeAt'];
80
+ }): AppliedCase;
81
+ /** Every catalog id in file order. @internal */
82
+ export declare function appliedCaseIds(): readonly string[];
83
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/cases/catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * The applied-case catalog: `data/applied-cases.json`, validated at load.
3
+ *
4
+ * @module cases/catalog
5
+ */
6
+ import { checkedDataFile, dataSchema, parseDataFile } from '../core/data-file.js';
7
+ import { catalogRelations } from '../bridges/catalog-load.js';
8
+ const OPS = new Set(['<=', '>=', '>']);
9
+ /**
10
+ * Per-case module names B8 deleted. The published package has no `src/`, so
11
+ * this list is the loader's record; {@link isForbiddenCaseModule} and the
12
+ * directory test fail if one of these, or a new `case-*.ts`, comes back.
13
+ */
14
+ export const FORBIDDEN_PER_CASE_MODULES = [
15
+ 'skin-depth.ts',
16
+ 'kepler-rv.ts',
17
+ 'damped-resonator.ts',
18
+ 'resistor-noise.ts',
19
+ 'lumped-cooling.ts',
20
+ 'brownian-sphere.ts',
21
+ ];
22
+ /** True for a deleted per-case file or a new `case-*.ts` under `src/cases/`. */
23
+ export function isForbiddenCaseModule(name) {
24
+ return FORBIDDEN_PER_CASE_MODULES.includes(name)
25
+ || /^case-.+\.ts$/.test(name);
26
+ }
27
+ /**
28
+ * Parse and validate catalog text. Schema problems and semantic problems throw
29
+ * with every message listed.
30
+ * @internal
31
+ */
32
+ export function readAppliedCaseFile(text, schema = dataSchema('applied-cases.json')) {
33
+ const parsed = parseDataFile('applied-cases.json', text, schema);
34
+ catalogSemanticProblems(parsed).forEach((msg) => {
35
+ throw new Error(msg);
36
+ });
37
+ return parsed;
38
+ }
39
+ /** Semantic rules a schema cannot state. @internal */
40
+ export function catalogSemanticProblems(file, methodNames) {
41
+ const problems = [];
42
+ const seen = new Set();
43
+ for (const row of file.cases) {
44
+ if (row.id.length === 0)
45
+ problems.push('applied-cases: a case is missing id');
46
+ if (seen.has(row.id))
47
+ problems.push(`applied-cases: duplicate id '${row.id}'`);
48
+ seen.add(row.id);
49
+ for (const check of row.checks) {
50
+ if (!OPS.has(check.op))
51
+ problems.push(`${row.id}: check '${check.id}' has unknown op '${check.op}'`);
52
+ if (check.expr.trim().length === 0)
53
+ problems.push(`${row.id}: check '${check.id}' has no expr`);
54
+ }
55
+ if (methodNames !== undefined) {
56
+ for (const output of row.outputs) {
57
+ const kinds = [output.expr !== undefined, output.relation !== undefined, output.method !== undefined].filter(Boolean).length;
58
+ if (kinds !== 1) {
59
+ problems.push(`${row.id}: output '${output.key}' must have exactly one of expr, relation, method`);
60
+ }
61
+ else if (output.method !== undefined && !methodNames.has(output.method)) {
62
+ problems.push(`${row.id}: output '${output.key}' names unknown method '${output.method}'`);
63
+ }
64
+ else if (output.relation !== undefined) {
65
+ const rel = catalogRelations().find((r) => r.id === output.relation.relation);
66
+ if (rel === undefined) {
67
+ problems.push(`${row.id}: output '${output.key}' names unknown relation '${output.relation.relation}'`);
68
+ }
69
+ }
70
+ }
71
+ }
72
+ }
73
+ return problems;
74
+ }
75
+ /** `data/applied-cases.json`, checked once per process. @internal */
76
+ export function appliedCaseCatalog() {
77
+ return checkedDataFile('applied-cases.json');
78
+ }
79
+ /** One record by id; throws when the id is absent. @internal */
80
+ export function appliedCaseRecord(id) {
81
+ const row = appliedCaseCatalog().cases.find((c) => c.id === id);
82
+ if (row === undefined)
83
+ throw new Error(`applied-cases.json: no case '${id}'`);
84
+ return row;
85
+ }
86
+ /** Declarative fields of an {@link AppliedCase} as a catalog record (no `run`). @internal */
87
+ export function projectAppliedCaseRecord(c, checks) {
88
+ const { run: _run, regimeAt: _regime, ...rest } = c;
89
+ return {
90
+ ...rest,
91
+ outputs: rest.outputs.map((o) => ({ key: o.key, symbol: o.symbol, unit: o.unit, meaning: o.meaning })),
92
+ checks: [...checks],
93
+ };
94
+ }
95
+ /** Attach a runtime implementation to a catalog record. @internal */
96
+ export function assembleAppliedCase(record, impl) {
97
+ return {
98
+ id: record.id,
99
+ title: record.title,
100
+ parameters: record.parameters,
101
+ governing: record.governing,
102
+ observable: record.observable,
103
+ outputs: record.outputs.map((o) => ({ key: o.key, symbol: o.symbol, unit: o.unit, meaning: o.meaning })),
104
+ conditions: record.conditions,
105
+ comparison: record.comparison,
106
+ notIncluded: record.notIncluded,
107
+ measurement: record.measurement,
108
+ links: record.links,
109
+ examples: record.examples,
110
+ regimeAt: impl.regimeAt,
111
+ run: impl.run,
112
+ };
113
+ }
114
+ /** Every catalog id in file order. @internal */
115
+ export function appliedCaseIds() {
116
+ return appliedCaseCatalog().cases.map((c) => c.id);
117
+ }
118
+ //# sourceMappingURL=catalog.js.map