universal-physics-tensor 9.0.0 → 11.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 (1109) hide show
  1. package/README.md +21 -17
  2. package/bin/upt.mjs +13 -1
  3. package/data/atlas/atlas.json +79 -68
  4. package/data/atlas/atlas.jsonld +1 -1
  5. package/data/atlas/diffusion.json +24 -23
  6. package/data/atlas/oscillators.json +21 -16
  7. package/data/atlas/waves.json +36 -31
  8. package/data/atlas/witness-results.json +11 -11
  9. package/data/bridge-catalog.json +1192 -1636
  10. package/data/bridge-catalog.schema.json +390 -135
  11. package/data/quantities.json +53 -19
  12. package/data/schemas/atlas-record.v0.json +184 -46
  13. package/data/units.json +33 -4
  14. package/dist/atlas/applicability.d.ts.map +1 -1
  15. package/dist/atlas/applicability.js +35 -18
  16. package/dist/atlas/applicability.js.map +1 -1
  17. package/dist/atlas/association.js.map +1 -1
  18. package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -1
  19. package/dist/atlas/benchmark/backend-shapes.js +5 -1
  20. package/dist/atlas/benchmark/backend-shapes.js.map +1 -1
  21. package/dist/atlas/benchmark/baselines.d.ts.map +1 -1
  22. package/dist/atlas/benchmark/baselines.js +8 -0
  23. package/dist/atlas/benchmark/baselines.js.map +1 -1
  24. package/dist/atlas/benchmark/hybrid-retrieval.d.ts +12 -3
  25. package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
  26. package/dist/atlas/benchmark/hybrid-retrieval.js +30 -21
  27. package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
  28. package/dist/atlas/benchmark/leakage.js.map +1 -1
  29. package/dist/atlas/benchmark/loader.js +2 -2
  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 +3 -3
  35. package/dist/atlas/benchmark/stats.d.ts.map +1 -1
  36. package/dist/atlas/benchmark/stats.js +16 -8
  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.d.ts +26 -3
  45. package/dist/atlas/catalog-formal-ref.d.ts.map +1 -1
  46. package/dist/atlas/catalog-formal-ref.js +52 -5
  47. package/dist/atlas/catalog-formal-ref.js.map +1 -1
  48. package/dist/atlas/chain-pipeline.d.ts +0 -11
  49. package/dist/atlas/chain-pipeline.d.ts.map +1 -1
  50. package/dist/atlas/chain-pipeline.js +12 -24
  51. package/dist/atlas/chain-pipeline.js.map +1 -1
  52. package/dist/atlas/composition-table.js.map +1 -1
  53. package/dist/atlas/conventions.js.map +1 -1
  54. package/dist/atlas/coverage.d.ts +2 -2
  55. package/dist/atlas/coverage.js.map +1 -1
  56. package/dist/atlas/derivation.js.map +1 -1
  57. package/dist/atlas/derive-evidence.d.ts +6 -4
  58. package/dist/atlas/derive-evidence.d.ts.map +1 -1
  59. package/dist/atlas/derive-evidence.js +7 -2
  60. package/dist/atlas/derive-evidence.js.map +1 -1
  61. package/dist/atlas/diffusion/bridges-closure.d.ts +0 -4
  62. package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
  63. package/dist/atlas/diffusion/bridges-closure.js +8 -17
  64. package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
  65. package/dist/atlas/diffusion/bridges.d.ts.map +1 -1
  66. package/dist/atlas/diffusion/bridges.js +27 -42
  67. package/dist/atlas/diffusion/bridges.js.map +1 -1
  68. package/dist/atlas/diffusion/dimensions.d.ts +6 -14
  69. package/dist/atlas/diffusion/dimensions.d.ts.map +1 -1
  70. package/dist/atlas/diffusion/dimensions.js +8 -16
  71. package/dist/atlas/diffusion/dimensions.js.map +1 -1
  72. package/dist/atlas/diffusion/index.d.ts +1 -1
  73. package/dist/atlas/diffusion/index.d.ts.map +1 -1
  74. package/dist/atlas/diffusion/index.js.map +1 -1
  75. package/dist/atlas/diffusion/models.d.ts +3 -3
  76. package/dist/atlas/diffusion/models.d.ts.map +1 -1
  77. package/dist/atlas/diffusion/models.js +5 -10
  78. package/dist/atlas/diffusion/models.js.map +1 -1
  79. package/dist/atlas/diffusion/numerics.d.ts +16 -4
  80. package/dist/atlas/diffusion/numerics.d.ts.map +1 -1
  81. package/dist/atlas/diffusion/numerics.js +38 -24
  82. package/dist/atlas/diffusion/numerics.js.map +1 -1
  83. package/dist/atlas/error-algebra.d.ts +6 -0
  84. package/dist/atlas/error-algebra.d.ts.map +1 -1
  85. package/dist/atlas/error-algebra.js +26 -0
  86. package/dist/atlas/error-algebra.js.map +1 -1
  87. package/dist/atlas/export.d.ts +18 -2
  88. package/dist/atlas/export.d.ts.map +1 -1
  89. package/dist/atlas/export.js +9 -3
  90. package/dist/atlas/export.js.map +1 -1
  91. package/dist/atlas/families.d.ts +19 -2
  92. package/dist/atlas/families.d.ts.map +1 -1
  93. package/dist/atlas/families.js +26 -3
  94. package/dist/atlas/families.js.map +1 -1
  95. package/dist/atlas/family.d.ts +27 -0
  96. package/dist/atlas/family.d.ts.map +1 -0
  97. package/dist/atlas/family.js +12 -0
  98. package/dist/atlas/family.js.map +1 -0
  99. package/dist/atlas/index.d.ts +3 -2
  100. package/dist/atlas/index.d.ts.map +1 -1
  101. package/dist/atlas/index.js +2 -1
  102. package/dist/atlas/index.js.map +1 -1
  103. package/dist/atlas/link-prediction.d.ts +107 -4
  104. package/dist/atlas/link-prediction.d.ts.map +1 -1
  105. package/dist/atlas/link-prediction.js +212 -66
  106. package/dist/atlas/link-prediction.js.map +1 -1
  107. package/dist/atlas/model.js.map +1 -1
  108. package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -1
  109. package/dist/atlas/oscillators/bridges-coarse.js +7 -12
  110. package/dist/atlas/oscillators/bridges-coarse.js.map +1 -1
  111. package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
  112. package/dist/atlas/oscillators/bridges-exact.js +6 -10
  113. package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
  114. package/dist/atlas/oscillators/bridges-limits.d.ts +3 -16
  115. package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
  116. package/dist/atlas/oscillators/bridges-limits.js +23 -36
  117. package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
  118. package/dist/atlas/oscillators/dimensions.d.ts +9 -21
  119. package/dist/atlas/oscillators/dimensions.d.ts.map +1 -1
  120. package/dist/atlas/oscillators/dimensions.js +9 -21
  121. package/dist/atlas/oscillators/dimensions.js.map +1 -1
  122. package/dist/atlas/oscillators/index.d.ts +1 -16
  123. package/dist/atlas/oscillators/index.d.ts.map +1 -1
  124. package/dist/atlas/oscillators/index.js.map +1 -1
  125. package/dist/atlas/oscillators/limit-witnesses.d.ts +2 -2
  126. package/dist/atlas/oscillators/limit-witnesses.d.ts.map +1 -1
  127. package/dist/atlas/oscillators/limit-witnesses.js +17 -15
  128. package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
  129. package/dist/atlas/oscillators/models.d.ts.map +1 -1
  130. package/dist/atlas/oscillators/models.js +2 -6
  131. package/dist/atlas/oscillators/models.js.map +1 -1
  132. package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -1
  133. package/dist/atlas/oscillators/norm-transport.js.map +1 -1
  134. package/dist/atlas/oscillators/norms.js.map +1 -1
  135. package/dist/atlas/oscillators/pendulum-motion.d.ts +29 -6
  136. package/dist/atlas/oscillators/pendulum-motion.d.ts.map +1 -1
  137. package/dist/atlas/oscillators/pendulum-motion.js +60 -40
  138. package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
  139. package/dist/atlas/oscillators/phase-carriage.js.map +1 -1
  140. package/dist/atlas/oscillators/phase-translation.d.ts +0 -11
  141. package/dist/atlas/oscillators/phase-translation.d.ts.map +1 -1
  142. package/dist/atlas/oscillators/phase-translation.js +3 -4
  143. package/dist/atlas/oscillators/phase-translation.js.map +1 -1
  144. package/dist/atlas/oscillators/position-translation.d.ts +68 -7
  145. package/dist/atlas/oscillators/position-translation.d.ts.map +1 -1
  146. package/dist/atlas/oscillators/position-translation.js +123 -12
  147. package/dist/atlas/oscillators/position-translation.js.map +1 -1
  148. package/dist/atlas/oscillators/rejections.d.ts +0 -2
  149. package/dist/atlas/oscillators/rejections.d.ts.map +1 -1
  150. package/dist/atlas/oscillators/rejections.js +0 -7
  151. package/dist/atlas/oscillators/rejections.js.map +1 -1
  152. package/dist/atlas/path-bound.js.map +1 -1
  153. package/dist/atlas/physjs-entries.generated.d.ts +25 -24
  154. package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
  155. package/dist/atlas/physjs-entries.generated.js +25 -24
  156. package/dist/atlas/physjs-entries.generated.js.map +1 -1
  157. package/dist/atlas/physjs-ref.d.ts +107 -70
  158. package/dist/atlas/physjs-ref.d.ts.map +1 -1
  159. package/dist/atlas/physjs-ref.js +184 -101
  160. package/dist/atlas/physjs-ref.js.map +1 -1
  161. package/dist/atlas/physjs-reviewed.d.ts +31 -0
  162. package/dist/atlas/physjs-reviewed.d.ts.map +1 -0
  163. package/dist/atlas/physjs-reviewed.js +194 -0
  164. package/dist/atlas/physjs-reviewed.js.map +1 -0
  165. package/dist/atlas/poster/associations.js.map +1 -1
  166. package/dist/atlas/poster/derivations.js.map +1 -1
  167. package/dist/atlas/poster/statements.d.ts +0 -19
  168. package/dist/atlas/poster/statements.d.ts.map +1 -1
  169. package/dist/atlas/poster/statements.js +1 -1
  170. package/dist/atlas/poster/statements.js.map +1 -1
  171. package/dist/atlas/proof-target.d.ts +1 -1
  172. package/dist/atlas/proof-target.js +1 -1
  173. package/dist/atlas/proof-target.js.map +1 -1
  174. package/dist/atlas/public.d.ts +2 -1
  175. package/dist/atlas/public.d.ts.map +1 -1
  176. package/dist/atlas/public.js +2 -1
  177. package/dist/atlas/public.js.map +1 -1
  178. package/dist/atlas/regime.d.ts +1 -1
  179. package/dist/atlas/regime.d.ts.map +1 -1
  180. package/dist/atlas/regime.js +1 -1
  181. package/dist/atlas/regime.js.map +1 -1
  182. package/dist/atlas/serialize.d.ts +18 -12
  183. package/dist/atlas/serialize.d.ts.map +1 -1
  184. package/dist/atlas/serialize.js +28 -18
  185. package/dist/atlas/serialize.js.map +1 -1
  186. package/dist/atlas/statement.js.map +1 -1
  187. package/dist/atlas/text-overlap.d.ts +23 -0
  188. package/dist/atlas/text-overlap.d.ts.map +1 -0
  189. package/dist/atlas/text-overlap.js +41 -0
  190. package/dist/atlas/text-overlap.js.map +1 -0
  191. package/dist/atlas/translation-registry.js.map +1 -1
  192. package/dist/atlas/translation.js.map +1 -1
  193. package/dist/atlas/types.d.ts +9 -2
  194. package/dist/atlas/types.d.ts.map +1 -1
  195. package/dist/atlas/types.js +1 -1
  196. package/dist/atlas/types.js.map +1 -1
  197. package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
  198. package/dist/atlas/waves/bridges-closure.js +2 -9
  199. package/dist/atlas/waves/bridges-closure.js.map +1 -1
  200. package/dist/atlas/waves/bridges.d.ts.map +1 -1
  201. package/dist/atlas/waves/bridges.js +32 -52
  202. package/dist/atlas/waves/bridges.js.map +1 -1
  203. package/dist/atlas/waves/index.d.ts +1 -1
  204. package/dist/atlas/waves/index.d.ts.map +1 -1
  205. package/dist/atlas/waves/index.js.map +1 -1
  206. package/dist/atlas/waves/models.d.ts +5 -6
  207. package/dist/atlas/waves/models.d.ts.map +1 -1
  208. package/dist/atlas/waves/models.js +7 -13
  209. package/dist/atlas/waves/models.js.map +1 -1
  210. package/dist/atlas/waves/numerics.d.ts.map +1 -1
  211. package/dist/atlas/waves/numerics.js +10 -3
  212. package/dist/atlas/waves/numerics.js.map +1 -1
  213. package/dist/atlas/witness-artifact.js.map +1 -1
  214. package/dist/atlas/witness-dominance.d.ts +4 -3
  215. package/dist/atlas/witness-dominance.d.ts.map +1 -1
  216. package/dist/atlas/witness-dominance.js +15 -5
  217. package/dist/atlas/witness-dominance.js.map +1 -1
  218. package/dist/atlas/witness-numeric.d.ts +38 -4
  219. package/dist/atlas/witness-numeric.d.ts.map +1 -1
  220. package/dist/atlas/witness-numeric.js +80 -2
  221. package/dist/atlas/witness-numeric.js.map +1 -1
  222. package/dist/atlas/witness-result.d.ts +7 -1
  223. package/dist/atlas/witness-result.d.ts.map +1 -1
  224. package/dist/atlas/witness-result.js.map +1 -1
  225. package/dist/atlas/witness-specs.d.ts.map +1 -1
  226. package/dist/atlas/witness-specs.js +19 -0
  227. package/dist/atlas/witness-specs.js.map +1 -1
  228. package/dist/atlas/witness-symbolic.d.ts +75 -3
  229. package/dist/atlas/witness-symbolic.d.ts.map +1 -1
  230. package/dist/atlas/witness-symbolic.js +116 -10
  231. package/dist/atlas/witness-symbolic.js.map +1 -1
  232. package/dist/atlas/witnesses/quantum-support.js.map +1 -1
  233. package/dist/bridges/caller-table.d.ts +1 -1
  234. package/dist/bridges/caller-table.d.ts.map +1 -1
  235. package/dist/bridges/caller-table.js.map +1 -1
  236. package/dist/bridges/carrier-sign.d.ts.map +1 -1
  237. package/dist/bridges/carrier-sign.js +8 -3
  238. package/dist/bridges/carrier-sign.js.map +1 -1
  239. package/dist/bridges/catalog-adapter.d.ts +12 -3
  240. package/dist/bridges/catalog-adapter.d.ts.map +1 -1
  241. package/dist/bridges/catalog-adapter.js +17 -9
  242. package/dist/bridges/catalog-adapter.js.map +1 -1
  243. package/dist/bridges/catalog-load.d.ts +12 -2
  244. package/dist/bridges/catalog-load.d.ts.map +1 -1
  245. package/dist/bridges/catalog-load.js +181 -13
  246. package/dist/bridges/catalog-load.js.map +1 -1
  247. package/dist/bridges/catalog-types.d.ts +74 -26
  248. package/dist/bridges/catalog-types.d.ts.map +1 -1
  249. package/dist/bridges/catalog-types.js +11 -1
  250. package/dist/bridges/catalog-types.js.map +1 -1
  251. package/dist/bridges/coefficient-statement.js +1 -5
  252. package/dist/bridges/coefficient-statement.js.map +1 -1
  253. package/dist/bridges/confrontation-coverage.js.map +1 -1
  254. package/dist/bridges/confrontations.d.ts +1 -1
  255. package/dist/bridges/confrontations.d.ts.map +1 -1
  256. package/dist/bridges/confrontations.js +1 -1
  257. package/dist/bridges/confrontations.js.map +1 -1
  258. package/dist/bridges/evaluation-errors.d.ts +46 -3
  259. package/dist/bridges/evaluation-errors.d.ts.map +1 -1
  260. package/dist/bridges/evaluation-errors.js +40 -4
  261. package/dist/bridges/evaluation-errors.js.map +1 -1
  262. package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
  263. package/dist/bridges/evaluator-inputs.js +7 -5
  264. package/dist/bridges/evaluator-inputs.js.map +1 -1
  265. package/dist/bridges/evaluators.d.ts +17 -2
  266. package/dist/bridges/evaluators.d.ts.map +1 -1
  267. package/dist/bridges/evaluators.js +76 -28
  268. package/dist/bridges/evaluators.js.map +1 -1
  269. package/dist/bridges/expr-parse.d.ts +38 -4
  270. package/dist/bridges/expr-parse.d.ts.map +1 -1
  271. package/dist/bridges/expr-parse.js +101 -12
  272. package/dist/bridges/expr-parse.js.map +1 -1
  273. package/dist/bridges/holds.d.ts +40 -4
  274. package/dist/bridges/holds.d.ts.map +1 -1
  275. package/dist/bridges/holds.js +128 -19
  276. package/dist/bridges/holds.js.map +1 -1
  277. package/dist/bridges/index.d.ts +15 -14
  278. package/dist/bridges/index.d.ts.map +1 -1
  279. package/dist/bridges/index.js +14 -15
  280. package/dist/bridges/index.js.map +1 -1
  281. package/dist/bridges/input-contract.js.map +1 -1
  282. package/dist/bridges/membership.d.ts +5 -3
  283. package/dist/bridges/membership.d.ts.map +1 -1
  284. package/dist/bridges/membership.js +5 -6
  285. package/dist/bridges/membership.js.map +1 -1
  286. package/dist/bridges/notices.d.ts.map +1 -1
  287. package/dist/bridges/notices.js +5 -5
  288. package/dist/bridges/notices.js.map +1 -1
  289. package/dist/bridges/observations/types.js.map +1 -1
  290. package/dist/bridges/rejected.d.ts +11 -17
  291. package/dist/bridges/rejected.d.ts.map +1 -1
  292. package/dist/bridges/rejected.js +13 -68
  293. package/dist/bridges/rejected.js.map +1 -1
  294. package/dist/bridges/relation-eval.d.ts +6 -7
  295. package/dist/bridges/relation-eval.d.ts.map +1 -1
  296. package/dist/bridges/relation-eval.js +20 -50
  297. package/dist/bridges/relation-eval.js.map +1 -1
  298. package/dist/bridges/rhs-registry.js.map +1 -1
  299. package/dist/bridges/sensitivity.d.ts +11 -3
  300. package/dist/bridges/sensitivity.d.ts.map +1 -1
  301. package/dist/bridges/sensitivity.js +27 -13
  302. package/dist/bridges/sensitivity.js.map +1 -1
  303. package/dist/bridges/tensor-index.js.map +1 -1
  304. package/dist/bridges/types.d.ts +1 -7
  305. package/dist/bridges/types.d.ts.map +1 -1
  306. package/dist/bridges/types.js +1 -4
  307. package/dist/bridges/types.js.map +1 -1
  308. package/dist/bridges/validity.d.ts +33 -0
  309. package/dist/bridges/validity.d.ts.map +1 -0
  310. package/dist/bridges/validity.js +67 -0
  311. package/dist/bridges/validity.js.map +1 -0
  312. package/dist/canonical/canonical-equation.js.map +1 -1
  313. package/dist/canonical/dimensional-fields.js.map +1 -1
  314. package/dist/canonical/entries/_l1-build.js.map +1 -1
  315. package/dist/canonical/entries/atomic.js +1 -3
  316. package/dist/canonical/entries/atomic.js.map +1 -1
  317. package/dist/canonical/entries/condensed-matter.d.ts.map +1 -1
  318. package/dist/canonical/entries/condensed-matter.js +8 -9
  319. package/dist/canonical/entries/condensed-matter.js.map +1 -1
  320. package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
  321. package/dist/canonical/entries/dimensional-classics.js +5 -6
  322. package/dist/canonical/entries/dimensional-classics.js.map +1 -1
  323. package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
  324. package/dist/canonical/entries/electromagnetism.js +6 -12
  325. package/dist/canonical/entries/electromagnetism.js.map +1 -1
  326. package/dist/canonical/entries/fluids-waves.d.ts.map +1 -1
  327. package/dist/canonical/entries/fluids-waves.js +3 -7
  328. package/dist/canonical/entries/fluids-waves.js.map +1 -1
  329. package/dist/canonical/entries/mechanics.d.ts.map +1 -1
  330. package/dist/canonical/entries/mechanics.js +4 -6
  331. package/dist/canonical/entries/mechanics.js.map +1 -1
  332. package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
  333. package/dist/canonical/entries/nonmonomial.js +38 -39
  334. package/dist/canonical/entries/nonmonomial.js.map +1 -1
  335. package/dist/canonical/entries/relativity.d.ts.map +1 -1
  336. package/dist/canonical/entries/relativity.js +6 -6
  337. package/dist/canonical/entries/relativity.js.map +1 -1
  338. package/dist/canonical/entries/statistical-mechanics.js +5 -5
  339. package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
  340. package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
  341. package/dist/canonical/entries/thermo-nuclear-cosmo.js +6 -10
  342. package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
  343. package/dist/canonical/fixed-points.d.ts +94 -0
  344. package/dist/canonical/fixed-points.d.ts.map +1 -0
  345. package/dist/canonical/fixed-points.js +81 -0
  346. package/dist/canonical/fixed-points.js.map +1 -0
  347. package/dist/canonical/linkage.d.ts +29 -4
  348. package/dist/canonical/linkage.d.ts.map +1 -1
  349. package/dist/canonical/linkage.js +47 -64
  350. package/dist/canonical/linkage.js.map +1 -1
  351. package/dist/canonical/normal-form.d.ts +0 -8
  352. package/dist/canonical/normal-form.d.ts.map +1 -1
  353. package/dist/canonical/normal-form.js +22 -23
  354. package/dist/canonical/normal-form.js.map +1 -1
  355. package/dist/canonical/registry.js.map +1 -1
  356. package/dist/canonical/residual.js.map +1 -1
  357. package/dist/canonical/seed-l-layer.d.ts +7 -1
  358. package/dist/canonical/seed-l-layer.d.ts.map +1 -1
  359. package/dist/canonical/seed-l-layer.js +7 -1
  360. package/dist/canonical/seed-l-layer.js.map +1 -1
  361. package/dist/canonical/structural.d.ts +42 -21
  362. package/dist/canonical/structural.d.ts.map +1 -1
  363. package/dist/canonical/structural.js +64 -23
  364. package/dist/canonical/structural.js.map +1 -1
  365. package/dist/cases/brownian-sphere.d.ts +3 -3
  366. package/dist/cases/brownian-sphere.d.ts.map +1 -1
  367. package/dist/cases/brownian-sphere.js +10 -9
  368. package/dist/cases/brownian-sphere.js.map +1 -1
  369. package/dist/cases/damped-resonator.d.ts.map +1 -1
  370. package/dist/cases/damped-resonator.js +8 -11
  371. package/dist/cases/damped-resonator.js.map +1 -1
  372. package/dist/cases/index.js.map +1 -1
  373. package/dist/cases/kepler-rv.d.ts +1 -1
  374. package/dist/cases/kepler-rv.d.ts.map +1 -1
  375. package/dist/cases/kepler-rv.js +3 -2
  376. package/dist/cases/kepler-rv.js.map +1 -1
  377. package/dist/cases/lumped-cooling.d.ts +8 -3
  378. package/dist/cases/lumped-cooling.d.ts.map +1 -1
  379. package/dist/cases/lumped-cooling.js +22 -24
  380. package/dist/cases/lumped-cooling.js.map +1 -1
  381. package/dist/cases/quadrature.d.ts +7 -9
  382. package/dist/cases/quadrature.d.ts.map +1 -1
  383. package/dist/cases/quadrature.js +28 -32
  384. package/dist/cases/quadrature.js.map +1 -1
  385. package/dist/cases/resistor-noise.js +7 -7
  386. package/dist/cases/resistor-noise.js.map +1 -1
  387. package/dist/cases/skin-depth.d.ts +0 -4
  388. package/dist/cases/skin-depth.d.ts.map +1 -1
  389. package/dist/cases/skin-depth.js +3 -7
  390. package/dist/cases/skin-depth.js.map +1 -1
  391. package/dist/cases/types.js.map +1 -1
  392. package/dist/cli/args.d.ts +30 -3
  393. package/dist/cli/args.d.ts.map +1 -1
  394. package/dist/cli/args.js +47 -9
  395. package/dist/cli/args.js.map +1 -1
  396. package/dist/cli/bindings.d.ts +13 -0
  397. package/dist/cli/bindings.d.ts.map +1 -0
  398. package/dist/cli/bindings.js +33 -0
  399. package/dist/cli/bindings.js.map +1 -0
  400. package/dist/cli/closed-form-range.js.map +1 -1
  401. package/dist/cli/command.d.ts +8 -1
  402. package/dist/cli/command.d.ts.map +1 -1
  403. package/dist/cli/command.js.map +1 -1
  404. package/dist/cli/commands/_atlas-map.d.ts +2 -11
  405. package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
  406. package/dist/cli/commands/_atlas-map.js +50 -35
  407. package/dist/cli/commands/_atlas-map.js.map +1 -1
  408. package/dist/cli/commands/_atlas-route.d.ts.map +1 -1
  409. package/dist/cli/commands/_atlas-route.js +6 -2
  410. package/dist/cli/commands/_atlas-route.js.map +1 -1
  411. package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
  412. package/dist/cli/commands/_discovery-opts.js +48 -14
  413. package/dist/cli/commands/_discovery-opts.js.map +1 -1
  414. package/dist/cli/commands/atlas.d.ts.map +1 -1
  415. package/dist/cli/commands/atlas.js +9 -8
  416. package/dist/cli/commands/atlas.js.map +1 -1
  417. package/dist/cli/commands/audit.d.ts.map +1 -1
  418. package/dist/cli/commands/audit.js +20 -20
  419. package/dist/cli/commands/audit.js.map +1 -1
  420. package/dist/cli/commands/axes.d.ts.map +1 -1
  421. package/dist/cli/commands/axes.js +20 -1
  422. package/dist/cli/commands/axes.js.map +1 -1
  423. package/dist/cli/commands/candidates.d.ts.map +1 -1
  424. package/dist/cli/commands/candidates.js +16 -8
  425. package/dist/cli/commands/candidates.js.map +1 -1
  426. package/dist/cli/commands/canonical.js.map +1 -1
  427. package/dist/cli/commands/chain.js +1 -1
  428. package/dist/cli/commands/chain.js.map +1 -1
  429. package/dist/cli/commands/confront.d.ts.map +1 -1
  430. package/dist/cli/commands/confront.js +22 -20
  431. package/dist/cli/commands/confront.js.map +1 -1
  432. package/dist/cli/commands/connectors.js.map +1 -1
  433. package/dist/cli/commands/coverage.js.map +1 -1
  434. package/dist/cli/commands/derive.d.ts.map +1 -1
  435. package/dist/cli/commands/derive.js +60 -35
  436. package/dist/cli/commands/derive.js.map +1 -1
  437. package/dist/cli/commands/discover.d.ts.map +1 -1
  438. package/dist/cli/commands/discover.js +20 -10
  439. package/dist/cli/commands/discover.js.map +1 -1
  440. package/dist/cli/commands/eval.d.ts.map +1 -1
  441. package/dist/cli/commands/eval.js +14 -10
  442. package/dist/cli/commands/eval.js.map +1 -1
  443. package/dist/cli/commands/evaluate.d.ts.map +1 -1
  444. package/dist/cli/commands/evaluate.js +108 -58
  445. package/dist/cli/commands/evaluate.js.map +1 -1
  446. package/dist/cli/commands/explain.d.ts.map +1 -1
  447. package/dist/cli/commands/explain.js +16 -8
  448. package/dist/cli/commands/explain.js.map +1 -1
  449. package/dist/cli/commands/frontier.js.map +1 -1
  450. package/dist/cli/commands/ground.d.ts.map +1 -1
  451. package/dist/cli/commands/ground.js +41 -10
  452. package/dist/cli/commands/ground.js.map +1 -1
  453. package/dist/cli/commands/index.js.map +1 -1
  454. package/dist/cli/commands/map.d.ts.map +1 -1
  455. package/dist/cli/commands/map.js +155 -92
  456. package/dist/cli/commands/map.js.map +1 -1
  457. package/dist/cli/commands/metric.d.ts.map +1 -1
  458. package/dist/cli/commands/metric.js +58 -20
  459. package/dist/cli/commands/metric.js.map +1 -1
  460. package/dist/cli/commands/path.d.ts +10 -0
  461. package/dist/cli/commands/path.d.ts.map +1 -1
  462. package/dist/cli/commands/path.js +29 -7
  463. package/dist/cli/commands/path.js.map +1 -1
  464. package/dist/cli/commands/predict.js.map +1 -1
  465. package/dist/cli/commands/priority.js.map +1 -1
  466. package/dist/cli/commands/probe.d.ts.map +1 -1
  467. package/dist/cli/commands/probe.js +105 -38
  468. package/dist/cli/commands/probe.js.map +1 -1
  469. package/dist/cli/commands/recover.js +1 -1
  470. package/dist/cli/commands/recover.js.map +1 -1
  471. package/dist/cli/commands/regime.d.ts +5 -4
  472. package/dist/cli/commands/regime.d.ts.map +1 -1
  473. package/dist/cli/commands/regime.js +25 -26
  474. package/dist/cli/commands/regime.js.map +1 -1
  475. package/dist/cli/commands/retrieve.d.ts.map +1 -1
  476. package/dist/cli/commands/retrieve.js +23 -14
  477. package/dist/cli/commands/retrieve.js.map +1 -1
  478. package/dist/cli/commands/search.d.ts.map +1 -1
  479. package/dist/cli/commands/search.js +9 -4
  480. package/dist/cli/commands/search.js.map +1 -1
  481. package/dist/cli/commands/symbolic.js +31 -36
  482. package/dist/cli/commands/symbolic.js.map +1 -1
  483. package/dist/cli/commands/testplan.d.ts.map +1 -1
  484. package/dist/cli/commands/testplan.js +5 -3
  485. package/dist/cli/commands/testplan.js.map +1 -1
  486. package/dist/cli/conventions.js.map +1 -1
  487. package/dist/cli/determination.js.map +1 -1
  488. package/dist/cli/errors.js.map +1 -1
  489. package/dist/cli/euler-guard.js.map +1 -1
  490. package/dist/cli/eval-numbers.js.map +1 -1
  491. package/dist/cli/expr-print.d.ts +28 -3
  492. package/dist/cli/expr-print.d.ts.map +1 -1
  493. package/dist/cli/expr-print.js +42 -22
  494. package/dist/cli/expr-print.js.map +1 -1
  495. package/dist/cli/flag-help.js.map +1 -1
  496. package/dist/cli/graphs.js.map +1 -1
  497. package/dist/cli/library-defaults.d.ts +19 -0
  498. package/dist/cli/library-defaults.d.ts.map +1 -0
  499. package/dist/cli/library-defaults.js +22 -0
  500. package/dist/cli/library-defaults.js.map +1 -0
  501. package/dist/cli/main.d.ts +7 -0
  502. package/dist/cli/main.d.ts.map +1 -1
  503. package/dist/cli/main.js +25 -6
  504. package/dist/cli/main.js.map +1 -1
  505. package/dist/cli/map-evidence.js.map +1 -1
  506. package/dist/cli/numeric-flag.d.ts +12 -0
  507. package/dist/cli/numeric-flag.d.ts.map +1 -0
  508. package/dist/cli/numeric-flag.js +44 -0
  509. package/dist/cli/numeric-flag.js.map +1 -0
  510. package/dist/cli/output.d.ts +23 -6
  511. package/dist/cli/output.d.ts.map +1 -1
  512. package/dist/cli/output.js +15 -0
  513. package/dist/cli/output.js.map +1 -1
  514. package/dist/cli/published-url.js.map +1 -1
  515. package/dist/cli/record-reach.d.ts +6 -0
  516. package/dist/cli/record-reach.d.ts.map +1 -1
  517. package/dist/cli/record-reach.js +17 -11
  518. package/dist/cli/record-reach.js.map +1 -1
  519. package/dist/cli/record-tables.d.ts.map +1 -1
  520. package/dist/cli/record-tables.js +7 -6
  521. package/dist/cli/record-tables.js.map +1 -1
  522. package/dist/cli/record.d.ts +1 -5
  523. package/dist/cli/record.d.ts.map +1 -1
  524. package/dist/cli/record.js +40 -20
  525. package/dist/cli/record.js.map +1 -1
  526. package/dist/cli/search-index.d.ts +5 -0
  527. package/dist/cli/search-index.d.ts.map +1 -1
  528. package/dist/cli/search-index.js +19 -7
  529. package/dist/cli/search-index.js.map +1 -1
  530. package/dist/cli/statuses.d.ts +0 -2
  531. package/dist/cli/statuses.d.ts.map +1 -1
  532. package/dist/cli/statuses.js +0 -7
  533. package/dist/cli/statuses.js.map +1 -1
  534. package/dist/cli/stored-results.d.ts +7 -0
  535. package/dist/cli/stored-results.d.ts.map +1 -0
  536. package/dist/cli/stored-results.js +23 -0
  537. package/dist/cli/stored-results.js.map +1 -0
  538. package/dist/cli/top-level-help.js.map +1 -1
  539. package/dist/cli/version.d.ts.map +1 -1
  540. package/dist/cli/version.js +7 -5
  541. package/dist/cli/version.js.map +1 -1
  542. package/dist/cli-api.d.ts +49 -14
  543. package/dist/cli-api.d.ts.map +1 -1
  544. package/dist/cli-api.js +42 -17
  545. package/dist/cli-api.js.map +1 -1
  546. package/dist/composition/adjudication.js.map +1 -1
  547. package/dist/composition/algebraic-equivalence.d.ts +43 -0
  548. package/dist/composition/algebraic-equivalence.d.ts.map +1 -0
  549. package/dist/composition/algebraic-equivalence.js +115 -0
  550. package/dist/composition/algebraic-equivalence.js.map +1 -0
  551. package/dist/composition/aliases.js.map +1 -1
  552. package/dist/composition/audit-coverage.d.ts +2 -0
  553. package/dist/composition/audit-coverage.d.ts.map +1 -1
  554. package/dist/composition/audit-coverage.js.map +1 -1
  555. package/dist/composition/axes.d.ts +6 -0
  556. package/dist/composition/axes.d.ts.map +1 -1
  557. package/dist/composition/axes.js +18 -6
  558. package/dist/composition/axes.js.map +1 -1
  559. package/dist/composition/axis-audit.d.ts +47 -20
  560. package/dist/composition/axis-audit.d.ts.map +1 -1
  561. package/dist/composition/axis-audit.js +82 -9
  562. package/dist/composition/axis-audit.js.map +1 -1
  563. package/dist/composition/bridge-analysis.d.ts +14 -15
  564. package/dist/composition/bridge-analysis.d.ts.map +1 -1
  565. package/dist/composition/bridge-analysis.js +148 -91
  566. package/dist/composition/bridge-analysis.js.map +1 -1
  567. package/dist/composition/bridge-prediction.d.ts +5 -1
  568. package/dist/composition/bridge-prediction.d.ts.map +1 -1
  569. package/dist/composition/bridge-prediction.js +12 -16
  570. package/dist/composition/bridge-prediction.js.map +1 -1
  571. package/dist/composition/buckingham-filter.js.map +1 -1
  572. package/dist/composition/canonical-compare.d.ts +40 -0
  573. package/dist/composition/canonical-compare.d.ts.map +1 -1
  574. package/dist/composition/canonical-compare.js +134 -26
  575. package/dist/composition/canonical-compare.js.map +1 -1
  576. package/dist/composition/canonical-graph.d.ts +9 -10
  577. package/dist/composition/canonical-graph.d.ts.map +1 -1
  578. package/dist/composition/canonical-graph.js +33 -102
  579. package/dist/composition/canonical-graph.js.map +1 -1
  580. package/dist/composition/canonical-json.js +2 -2
  581. package/dist/composition/canonical-json.js.map +1 -1
  582. package/dist/composition/canonical-prefactors.js.map +1 -1
  583. package/dist/composition/catalog-graph.d.ts.map +1 -1
  584. package/dist/composition/catalog-graph.js +8 -25
  585. package/dist/composition/catalog-graph.js.map +1 -1
  586. package/dist/composition/chain-candidate.d.ts +10 -0
  587. package/dist/composition/chain-candidate.d.ts.map +1 -1
  588. package/dist/composition/chain-candidate.js +11 -2
  589. package/dist/composition/chain-candidate.js.map +1 -1
  590. package/dist/composition/chain-match.d.ts +6 -3
  591. package/dist/composition/chain-match.d.ts.map +1 -1
  592. package/dist/composition/chain-match.js +4 -1
  593. package/dist/composition/chain-match.js.map +1 -1
  594. package/dist/composition/chain-regime.js.map +1 -1
  595. package/dist/composition/chain-result.d.ts.map +1 -1
  596. package/dist/composition/chain-result.js +2 -14
  597. package/dist/composition/chain-result.js.map +1 -1
  598. package/dist/composition/compose-surface.js.map +1 -1
  599. package/dist/composition/compose-symbolic.d.ts.map +1 -1
  600. package/dist/composition/compose-symbolic.js +3 -2
  601. package/dist/composition/compose-symbolic.js.map +1 -1
  602. package/dist/composition/compose.d.ts.map +1 -1
  603. package/dist/composition/compose.js +166 -41
  604. package/dist/composition/compose.js.map +1 -1
  605. package/dist/composition/composition-recovery.d.ts.map +1 -1
  606. package/dist/composition/composition-recovery.js +4 -7
  607. package/dist/composition/composition-recovery.js.map +1 -1
  608. package/dist/composition/consequence.d.ts.map +1 -1
  609. package/dist/composition/consequence.js +15 -6
  610. package/dist/composition/consequence.js.map +1 -1
  611. package/dist/composition/consistency.js.map +1 -1
  612. package/dist/composition/descriptor.d.ts +1 -1
  613. package/dist/composition/descriptor.d.ts.map +1 -1
  614. package/dist/composition/descriptor.js.map +1 -1
  615. package/dist/composition/dimension-adjacency.js.map +1 -1
  616. package/dist/composition/discovery.d.ts +77 -11
  617. package/dist/composition/discovery.d.ts.map +1 -1
  618. package/dist/composition/discovery.js +194 -80
  619. package/dist/composition/discovery.js.map +1 -1
  620. package/dist/composition/edge.d.ts +40 -10
  621. package/dist/composition/edge.d.ts.map +1 -1
  622. package/dist/composition/edge.js +47 -12
  623. package/dist/composition/edge.js.map +1 -1
  624. package/dist/composition/enumerate.d.ts +2 -2
  625. package/dist/composition/enumerate.d.ts.map +1 -1
  626. package/dist/composition/enumerate.js +18 -3
  627. package/dist/composition/enumerate.js.map +1 -1
  628. package/dist/composition/evaluate-relation.d.ts +35 -11
  629. package/dist/composition/evaluate-relation.d.ts.map +1 -1
  630. package/dist/composition/evaluate-relation.js +60 -39
  631. package/dist/composition/evaluate-relation.js.map +1 -1
  632. package/dist/composition/explain.d.ts +5 -9
  633. package/dist/composition/explain.d.ts.map +1 -1
  634. package/dist/composition/explain.js +38 -18
  635. package/dist/composition/explain.js.map +1 -1
  636. package/dist/composition/expr-eval.d.ts.map +1 -1
  637. package/dist/composition/expr-eval.js +2 -11
  638. package/dist/composition/expr-eval.js.map +1 -1
  639. package/dist/composition/expr-simplify.d.ts +16 -0
  640. package/dist/composition/expr-simplify.d.ts.map +1 -1
  641. package/dist/composition/expr-simplify.js +24 -59
  642. package/dist/composition/expr-simplify.js.map +1 -1
  643. package/dist/composition/expr-subst.js.map +1 -1
  644. package/dist/composition/formula-shape.d.ts +28 -0
  645. package/dist/composition/formula-shape.d.ts.map +1 -1
  646. package/dist/composition/formula-shape.js +96 -2
  647. package/dist/composition/formula-shape.js.map +1 -1
  648. package/dist/composition/frontier-account.d.ts +3 -2
  649. package/dist/composition/frontier-account.d.ts.map +1 -1
  650. package/dist/composition/frontier-account.js +7 -3
  651. package/dist/composition/frontier-account.js.map +1 -1
  652. package/dist/composition/graph-structure.d.ts +98 -0
  653. package/dist/composition/graph-structure.d.ts.map +1 -0
  654. package/dist/composition/graph-structure.js +167 -0
  655. package/dist/composition/graph-structure.js.map +1 -0
  656. package/dist/composition/graph-viz-svg.d.ts.map +1 -1
  657. package/dist/composition/graph-viz-svg.js +1 -1
  658. package/dist/composition/graph-viz-svg.js.map +1 -1
  659. package/dist/composition/graph-viz.d.ts.map +1 -1
  660. package/dist/composition/graph-viz.js +8 -37
  661. package/dist/composition/graph-viz.js.map +1 -1
  662. package/dist/composition/grounding.js.map +1 -1
  663. package/dist/composition/identifiability.d.ts +91 -4
  664. package/dist/composition/identifiability.d.ts.map +1 -1
  665. package/dist/composition/identifiability.js +363 -6
  666. package/dist/composition/identifiability.js.map +1 -1
  667. package/dist/composition/index.d.ts +14 -8
  668. package/dist/composition/index.d.ts.map +1 -1
  669. package/dist/composition/index.js +7 -5
  670. package/dist/composition/index.js.map +1 -1
  671. package/dist/composition/mathts-quiet.d.ts +29 -0
  672. package/dist/composition/mathts-quiet.d.ts.map +1 -0
  673. package/dist/composition/mathts-quiet.js +57 -0
  674. package/dist/composition/mathts-quiet.js.map +1 -0
  675. package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -1
  676. package/dist/composition/mathts-scalar-symbols.js +20 -35
  677. package/dist/composition/mathts-scalar-symbols.js.map +1 -1
  678. package/dist/composition/not-composable-seeds.d.ts +3 -1
  679. package/dist/composition/not-composable-seeds.d.ts.map +1 -1
  680. package/dist/composition/not-composable-seeds.js +2 -0
  681. package/dist/composition/not-composable-seeds.js.map +1 -1
  682. package/dist/composition/probe/backend-protocol.js.map +1 -1
  683. package/dist/composition/probe/candidate-store.js.map +1 -1
  684. package/dist/composition/probe/corpus.d.ts +4 -2
  685. package/dist/composition/probe/corpus.d.ts.map +1 -1
  686. package/dist/composition/probe/corpus.js +20 -9
  687. package/dist/composition/probe/corpus.js.map +1 -1
  688. package/dist/composition/probe/dataset.d.ts +17 -0
  689. package/dist/composition/probe/dataset.d.ts.map +1 -1
  690. package/dist/composition/probe/dataset.js +95 -50
  691. package/dist/composition/probe/dataset.js.map +1 -1
  692. package/dist/composition/probe/experiment-design.d.ts +5 -1
  693. package/dist/composition/probe/experiment-design.d.ts.map +1 -1
  694. package/dist/composition/probe/experiment-design.js +44 -24
  695. package/dist/composition/probe/experiment-design.js.map +1 -1
  696. package/dist/composition/probe/expression-gaps.js.map +1 -1
  697. package/dist/composition/probe/falsify.d.ts +14 -3
  698. package/dist/composition/probe/falsify.d.ts.map +1 -1
  699. package/dist/composition/probe/falsify.js +16 -27
  700. package/dist/composition/probe/falsify.js.map +1 -1
  701. package/dist/composition/probe/fingerprint.js.map +1 -1
  702. package/dist/composition/probe/fit.d.ts +7 -1
  703. package/dist/composition/probe/fit.d.ts.map +1 -1
  704. package/dist/composition/probe/fit.js +48 -23
  705. package/dist/composition/probe/fit.js.map +1 -1
  706. package/dist/composition/probe/frontier.d.ts.map +1 -1
  707. package/dist/composition/probe/frontier.js +33 -15
  708. package/dist/composition/probe/frontier.js.map +1 -1
  709. package/dist/composition/probe/generator.d.ts +27 -1
  710. package/dist/composition/probe/generator.d.ts.map +1 -1
  711. package/dist/composition/probe/generator.js +53 -30
  712. package/dist/composition/probe/generator.js.map +1 -1
  713. package/dist/composition/probe/index.d.ts +18 -2
  714. package/dist/composition/probe/index.d.ts.map +1 -1
  715. package/dist/composition/probe/index.js +10 -2
  716. package/dist/composition/probe/index.js.map +1 -1
  717. package/dist/composition/probe/limits.d.ts +24 -1
  718. package/dist/composition/probe/limits.d.ts.map +1 -1
  719. package/dist/composition/probe/limits.js +53 -11
  720. package/dist/composition/probe/limits.js.map +1 -1
  721. package/dist/composition/probe/metadata.js.map +1 -1
  722. package/dist/composition/probe/pipeline.d.ts +5 -0
  723. package/dist/composition/probe/pipeline.d.ts.map +1 -1
  724. package/dist/composition/probe/pipeline.js +22 -9
  725. package/dist/composition/probe/pipeline.js.map +1 -1
  726. package/dist/composition/probe/power-law.d.ts +121 -0
  727. package/dist/composition/probe/power-law.d.ts.map +1 -0
  728. package/dist/composition/probe/power-law.js +255 -0
  729. package/dist/composition/probe/power-law.js.map +1 -0
  730. package/dist/composition/probe/problem.d.ts +12 -1
  731. package/dist/composition/probe/problem.d.ts.map +1 -1
  732. package/dist/composition/probe/problem.js +242 -48
  733. package/dist/composition/probe/problem.js.map +1 -1
  734. package/dist/composition/probe/report.js +1 -1
  735. package/dist/composition/probe/report.js.map +1 -1
  736. package/dist/composition/probe/residual.d.ts +6 -1
  737. package/dist/composition/probe/residual.d.ts.map +1 -1
  738. package/dist/composition/probe/residual.js +9 -7
  739. package/dist/composition/probe/residual.js.map +1 -1
  740. package/dist/composition/probe/run-manifest.js +2 -2
  741. package/dist/composition/probe/run-manifest.js.map +1 -1
  742. package/dist/composition/probe/scoring.d.ts +2 -1
  743. package/dist/composition/probe/scoring.d.ts.map +1 -1
  744. package/dist/composition/probe/scoring.js +21 -7
  745. package/dist/composition/probe/scoring.js.map +1 -1
  746. package/dist/composition/probe/search-budget.js.map +1 -1
  747. package/dist/composition/probe/serialize.js.map +1 -1
  748. package/dist/composition/probe/structure.d.ts +82 -17
  749. package/dist/composition/probe/structure.d.ts.map +1 -1
  750. package/dist/composition/probe/structure.js +129 -55
  751. package/dist/composition/probe/structure.js.map +1 -1
  752. package/dist/composition/probe/study.d.ts +35 -12
  753. package/dist/composition/probe/study.d.ts.map +1 -1
  754. package/dist/composition/probe/study.js +241 -184
  755. package/dist/composition/probe/study.js.map +1 -1
  756. package/dist/composition/probe/t-tail.d.ts +17 -0
  757. package/dist/composition/probe/t-tail.d.ts.map +1 -0
  758. package/dist/composition/probe/t-tail.js +32 -0
  759. package/dist/composition/probe/t-tail.js.map +1 -0
  760. package/dist/composition/probe/types.d.ts +6 -1
  761. package/dist/composition/probe/types.d.ts.map +1 -1
  762. package/dist/composition/probe/types.js +2 -0
  763. package/dist/composition/probe/types.js.map +1 -1
  764. package/dist/composition/proposed-bridges.d.ts +51 -13
  765. package/dist/composition/proposed-bridges.d.ts.map +1 -1
  766. package/dist/composition/proposed-bridges.js +110 -58
  767. package/dist/composition/proposed-bridges.js.map +1 -1
  768. package/dist/composition/quantities.d.ts +0 -4
  769. package/dist/composition/quantities.d.ts.map +1 -1
  770. package/dist/composition/quantities.js +5 -5
  771. package/dist/composition/quantities.js.map +1 -1
  772. package/dist/composition/quantity-clusters.d.ts +48 -0
  773. package/dist/composition/quantity-clusters.d.ts.map +1 -0
  774. package/dist/composition/quantity-clusters.js +98 -0
  775. package/dist/composition/quantity-clusters.js.map +1 -0
  776. package/dist/composition/quantity.d.ts +18 -2
  777. package/dist/composition/quantity.d.ts.map +1 -1
  778. package/dist/composition/quantity.js +35 -6
  779. package/dist/composition/quantity.js.map +1 -1
  780. package/dist/composition/rational-exponent.d.ts +40 -0
  781. package/dist/composition/rational-exponent.d.ts.map +1 -0
  782. package/dist/composition/rational-exponent.js +65 -0
  783. package/dist/composition/rational-exponent.js.map +1 -0
  784. package/dist/composition/representative-values.d.ts +22 -0
  785. package/dist/composition/representative-values.d.ts.map +1 -1
  786. package/dist/composition/representative-values.js +23 -0
  787. package/dist/composition/representative-values.js.map +1 -1
  788. package/dist/composition/retrodiction.d.ts +16 -6
  789. package/dist/composition/retrodiction.d.ts.map +1 -1
  790. package/dist/composition/retrodiction.js +36 -10
  791. package/dist/composition/retrodiction.js.map +1 -1
  792. package/dist/composition/uncertainty.js.map +1 -1
  793. package/dist/composition/user-equation.d.ts.map +1 -1
  794. package/dist/composition/user-equation.js +2 -2
  795. package/dist/composition/user-equation.js.map +1 -1
  796. package/dist/core/assignment.d.ts +19 -0
  797. package/dist/core/assignment.d.ts.map +1 -0
  798. package/dist/core/assignment.js +19 -0
  799. package/dist/core/assignment.js.map +1 -0
  800. package/dist/core/axes-registry.d.ts +8 -5
  801. package/dist/core/axes-registry.d.ts.map +1 -1
  802. package/dist/core/axes-registry.js.map +1 -1
  803. package/dist/core/cell.js.map +1 -1
  804. package/dist/core/compare.d.ts +32 -0
  805. package/dist/core/compare.d.ts.map +1 -0
  806. package/dist/core/compare.js +46 -0
  807. package/dist/core/compare.js.map +1 -0
  808. package/dist/core/constants.d.ts +35 -35
  809. package/dist/core/constants.d.ts.map +1 -1
  810. package/dist/core/constants.js +52 -37
  811. package/dist/core/constants.js.map +1 -1
  812. package/dist/core/data-file.d.ts +7 -0
  813. package/dist/core/data-file.d.ts.map +1 -1
  814. package/dist/core/data-file.js +17 -0
  815. package/dist/core/data-file.js.map +1 -1
  816. package/dist/core/flux-rules.js +1 -1
  817. package/dist/core/flux-rules.js.map +1 -1
  818. package/dist/core/format.d.ts +36 -0
  819. package/dist/core/format.d.ts.map +1 -0
  820. package/dist/core/format.js +39 -0
  821. package/dist/core/format.js.map +1 -0
  822. package/dist/core/hash.d.ts +14 -0
  823. package/dist/core/hash.d.ts.map +1 -0
  824. package/dist/core/hash.js +17 -0
  825. package/dist/core/hash.js.map +1 -0
  826. package/dist/core/json-schema.d.ts +3 -1
  827. package/dist/core/json-schema.d.ts.map +1 -1
  828. package/dist/core/json-schema.js +41 -16
  829. package/dist/core/json-schema.js.map +1 -1
  830. package/dist/core/labeled-tensor.d.ts +6 -1
  831. package/dist/core/labeled-tensor.d.ts.map +1 -1
  832. package/dist/core/labeled-tensor.js +18 -16
  833. package/dist/core/labeled-tensor.js.map +1 -1
  834. package/dist/core/mathts-read.d.ts +25 -0
  835. package/dist/core/mathts-read.d.ts.map +1 -0
  836. package/dist/core/mathts-read.js +51 -0
  837. package/dist/core/mathts-read.js.map +1 -0
  838. package/dist/core/regime-registry.d.ts +6 -2
  839. package/dist/core/regime-registry.d.ts.map +1 -1
  840. package/dist/core/regime-registry.js.map +1 -1
  841. package/dist/core/regime-rule-install.js.map +1 -1
  842. package/dist/core/regimes-builtins.js.map +1 -1
  843. package/dist/core/tensor.d.ts +7 -4
  844. package/dist/core/tensor.d.ts.map +1 -1
  845. package/dist/core/tensor.js +64 -8
  846. package/dist/core/tensor.js.map +1 -1
  847. package/dist/core/types.d.ts +5 -5
  848. package/dist/core/types.js.map +1 -1
  849. package/dist/core/universal-index.js.map +1 -1
  850. package/dist/diff/bridge-ast-gradient.d.ts +4 -5
  851. package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
  852. package/dist/diff/bridge-ast-gradient.js +10 -6
  853. package/dist/diff/bridge-ast-gradient.js.map +1 -1
  854. package/dist/diff/bridge-gradient.d.ts +43 -86
  855. package/dist/diff/bridge-gradient.d.ts.map +1 -1
  856. package/dist/diff/bridge-gradient.js +40 -109
  857. package/dist/diff/bridge-gradient.js.map +1 -1
  858. package/dist/diff/bridge-specs.d.ts +16 -5
  859. package/dist/diff/bridge-specs.d.ts.map +1 -1
  860. package/dist/diff/bridge-specs.js +19 -4
  861. package/dist/diff/bridge-specs.js.map +1 -1
  862. package/dist/dimensional/algebra.d.ts +18 -0
  863. package/dist/dimensional/algebra.d.ts.map +1 -1
  864. package/dist/dimensional/algebra.js +41 -1
  865. package/dist/dimensional/algebra.js.map +1 -1
  866. package/dist/dimensional/ast-builders.d.ts +12 -4
  867. package/dist/dimensional/ast-builders.d.ts.map +1 -1
  868. package/dist/dimensional/ast-builders.js +17 -5
  869. package/dist/dimensional/ast-builders.js.map +1 -1
  870. package/dist/dimensional/ast-leaves.d.ts +81 -0
  871. package/dist/dimensional/ast-leaves.d.ts.map +1 -0
  872. package/dist/dimensional/ast-leaves.js +146 -0
  873. package/dist/dimensional/ast-leaves.js.map +1 -0
  874. package/dist/dimensional/ast-types.js.map +1 -1
  875. package/dist/dimensional/bridge-check.js.map +1 -1
  876. package/dist/dimensional/buckingham.d.ts.map +1 -1
  877. package/dist/dimensional/buckingham.js +15 -27
  878. package/dist/dimensional/buckingham.js.map +1 -1
  879. package/dist/dimensional/connection-validators.d.ts +2 -1
  880. package/dist/dimensional/connection-validators.d.ts.map +1 -1
  881. package/dist/dimensional/connection-validators.js.map +1 -1
  882. package/dist/dimensional/connection.js.map +1 -1
  883. package/dist/dimensional/constant-rows.d.ts.map +1 -1
  884. package/dist/dimensional/constant-rows.js +17 -13
  885. package/dist/dimensional/constant-rows.js.map +1 -1
  886. package/dist/dimensional/constants.d.ts +5 -6
  887. package/dist/dimensional/constants.d.ts.map +1 -1
  888. package/dist/dimensional/constants.js +5 -6
  889. package/dist/dimensional/constants.js.map +1 -1
  890. package/dist/dimensional/curvature-composite.js.map +1 -1
  891. package/dist/dimensional/curvature-invariants.js.map +1 -1
  892. package/dist/dimensional/curvature.js.map +1 -1
  893. package/dist/dimensional/dimension-inference.d.ts.map +1 -1
  894. package/dist/dimensional/dimension-inference.js +1 -2
  895. package/dist/dimensional/dimension-inference.js.map +1 -1
  896. package/dist/dimensional/dimension-spec.d.ts +13 -7
  897. package/dist/dimensional/dimension-spec.d.ts.map +1 -1
  898. package/dist/dimensional/dimension-spec.js +49 -23
  899. package/dist/dimensional/dimension-spec.js.map +1 -1
  900. package/dist/dimensional/einstein-equation.js.map +1 -1
  901. package/dist/dimensional/errors.d.ts +4 -2
  902. package/dist/dimensional/errors.d.ts.map +1 -1
  903. package/dist/dimensional/errors.js +3 -17
  904. package/dist/dimensional/errors.js.map +1 -1
  905. package/dist/dimensional/exact-scale.d.ts +0 -17
  906. package/dist/dimensional/exact-scale.d.ts.map +1 -1
  907. package/dist/dimensional/exact-scale.js +8 -8
  908. package/dist/dimensional/exact-scale.js.map +1 -1
  909. package/dist/dimensional/field-equation-helpers.js.map +1 -1
  910. package/dist/dimensional/formula-names.js.map +1 -1
  911. package/dist/dimensional/fresh-label.js.map +1 -1
  912. package/dist/dimensional/friedmann-equation.d.ts +3 -3
  913. package/dist/dimensional/friedmann-equation.js +3 -3
  914. package/dist/dimensional/friedmann-equation.js.map +1 -1
  915. package/dist/dimensional/gauge-field.d.ts +2 -3
  916. package/dist/dimensional/gauge-field.d.ts.map +1 -1
  917. package/dist/dimensional/gauge-field.js +2 -3
  918. package/dist/dimensional/gauge-field.js.map +1 -1
  919. package/dist/dimensional/hyphen-names.d.ts +12 -2
  920. package/dist/dimensional/hyphen-names.d.ts.map +1 -1
  921. package/dist/dimensional/hyphen-names.js +45 -12
  922. package/dist/dimensional/hyphen-names.js.map +1 -1
  923. package/dist/dimensional/killing-validators.js.map +1 -1
  924. package/dist/dimensional/klein-gordon-equation.js.map +1 -1
  925. package/dist/dimensional/metric-validators.d.ts +2 -1
  926. package/dist/dimensional/metric-validators.d.ts.map +1 -1
  927. package/dist/dimensional/metric-validators.js.map +1 -1
  928. package/dist/dimensional/metric.d.ts.map +1 -1
  929. package/dist/dimensional/metric.js +0 -1
  930. package/dist/dimensional/metric.js.map +1 -1
  931. package/dist/dimensional/natural-units.js.map +1 -1
  932. package/dist/dimensional/quantity-registry.d.ts +13 -0
  933. package/dist/dimensional/quantity-registry.d.ts.map +1 -1
  934. package/dist/dimensional/quantity-registry.js +14 -6
  935. package/dist/dimensional/quantity-registry.js.map +1 -1
  936. package/dist/dimensional/rg-flow.js.map +1 -1
  937. package/dist/dimensional/stress-energy-validators.js.map +1 -1
  938. package/dist/dimensional/symbolic-constants.d.ts +9 -0
  939. package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
  940. package/dist/dimensional/symbolic-constants.js +20 -3
  941. package/dist/dimensional/symbolic-constants.js.map +1 -1
  942. package/dist/dimensional/tensor-trace.js.map +1 -1
  943. package/dist/dimensional/tensor.js.map +1 -1
  944. package/dist/dimensional/types.d.ts +36 -0
  945. package/dist/dimensional/types.d.ts.map +1 -1
  946. package/dist/dimensional/types.js +45 -7
  947. package/dist/dimensional/types.js.map +1 -1
  948. package/dist/dimensional/unit-convention.d.ts +0 -2
  949. package/dist/dimensional/unit-convention.d.ts.map +1 -1
  950. package/dist/dimensional/unit-convention.js +2 -2
  951. package/dist/dimensional/unit-convention.js.map +1 -1
  952. package/dist/dimensional/unit-data.d.ts.map +1 -1
  953. package/dist/dimensional/unit-data.js +11 -7
  954. package/dist/dimensional/unit-data.js.map +1 -1
  955. package/dist/dimensional/units.d.ts.map +1 -1
  956. package/dist/dimensional/units.js +38 -20
  957. package/dist/dimensional/units.js.map +1 -1
  958. package/dist/dimensional/validator-registry.js.map +1 -1
  959. package/dist/dimensional/validator.d.ts +0 -16
  960. package/dist/dimensional/validator.d.ts.map +1 -1
  961. package/dist/dimensional/validator.js +65 -29
  962. package/dist/dimensional/validator.js.map +1 -1
  963. package/dist/dimensional/weyl-validators.js.map +1 -1
  964. package/dist/index.d.ts +59 -8
  965. package/dist/index.d.ts.map +1 -1
  966. package/dist/index.js +22 -24
  967. package/dist/index.js.map +1 -1
  968. package/dist/numerical/bianchi-residual.js.map +1 -1
  969. package/dist/numerical/binding-value.d.ts +11 -6
  970. package/dist/numerical/binding-value.d.ts.map +1 -1
  971. package/dist/numerical/binding-value.js +126 -122
  972. package/dist/numerical/binding-value.js.map +1 -1
  973. package/dist/numerical/christoffel-flat.d.ts.map +1 -1
  974. package/dist/numerical/christoffel-flat.js +3 -2
  975. package/dist/numerical/christoffel-flat.js.map +1 -1
  976. package/dist/numerical/connection-lowering-helpers.js.map +1 -1
  977. package/dist/numerical/covariant-eikonal.d.ts.map +1 -1
  978. package/dist/numerical/covariant-eikonal.js +36 -13
  979. package/dist/numerical/covariant-eikonal.js.map +1 -1
  980. package/dist/numerical/curvature-lowering-helpers.d.ts +20 -0
  981. package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
  982. package/dist/numerical/curvature-lowering-helpers.js +9 -5
  983. package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
  984. package/dist/numerical/derivative-lowering.js.map +1 -1
  985. package/dist/numerical/einstein-equation.js.map +1 -1
  986. package/dist/numerical/engine-registry.js.map +1 -1
  987. package/dist/numerical/errors.d.ts +7 -3
  988. package/dist/numerical/errors.d.ts.map +1 -1
  989. package/dist/numerical/errors.js +5 -8
  990. package/dist/numerical/errors.js.map +1 -1
  991. package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -1
  992. package/dist/numerical/evaluator-uncertainty.js +19 -2
  993. package/dist/numerical/evaluator-uncertainty.js.map +1 -1
  994. package/dist/numerical/finite-difference.d.ts +22 -0
  995. package/dist/numerical/finite-difference.d.ts.map +1 -0
  996. package/dist/numerical/finite-difference.js +27 -0
  997. package/dist/numerical/finite-difference.js.map +1 -0
  998. package/dist/numerical/formula-contract.d.ts +63 -7
  999. package/dist/numerical/formula-contract.d.ts.map +1 -1
  1000. package/dist/numerical/formula-contract.js +61 -42
  1001. package/dist/numerical/formula-contract.js.map +1 -1
  1002. package/dist/numerical/formula-dimension.d.ts +8 -7
  1003. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  1004. package/dist/numerical/formula-dimension.js +58 -36
  1005. package/dist/numerical/formula-dimension.js.map +1 -1
  1006. package/dist/numerical/formula-mathts.d.ts.map +1 -1
  1007. package/dist/numerical/formula-mathts.js +5 -2
  1008. package/dist/numerical/formula-mathts.js.map +1 -1
  1009. package/dist/numerical/formula-registry.d.ts +13 -3
  1010. package/dist/numerical/formula-registry.d.ts.map +1 -1
  1011. package/dist/numerical/formula-registry.js +7 -2
  1012. package/dist/numerical/formula-registry.js.map +1 -1
  1013. package/dist/numerical/geodesic-integrator.d.ts.map +1 -1
  1014. package/dist/numerical/geodesic-integrator.js +22 -14
  1015. package/dist/numerical/geodesic-integrator.js.map +1 -1
  1016. package/dist/numerical/geometrized.d.ts.map +1 -1
  1017. package/dist/numerical/geometrized.js +0 -1
  1018. package/dist/numerical/geometrized.js.map +1 -1
  1019. package/dist/numerical/gl4-integrator.d.ts +28 -27
  1020. package/dist/numerical/gl4-integrator.d.ts.map +1 -1
  1021. package/dist/numerical/gl4-integrator.js +41 -42
  1022. package/dist/numerical/gl4-integrator.js.map +1 -1
  1023. package/dist/numerical/grid-field.js.map +1 -1
  1024. package/dist/numerical/index.js.map +1 -1
  1025. package/dist/numerical/input-validation.d.ts +3 -6
  1026. package/dist/numerical/input-validation.d.ts.map +1 -1
  1027. package/dist/numerical/input-validation.js +4 -8
  1028. package/dist/numerical/input-validation.js.map +1 -1
  1029. package/dist/numerical/killing.d.ts +8 -5
  1030. package/dist/numerical/killing.d.ts.map +1 -1
  1031. package/dist/numerical/killing.js.map +1 -1
  1032. package/dist/numerical/klein-gordon.js.map +1 -1
  1033. package/dist/numerical/kretschmann.js.map +1 -1
  1034. package/dist/numerical/lowering-utils.js.map +1 -1
  1035. package/dist/numerical/lowering.d.ts.map +1 -1
  1036. package/dist/numerical/lowering.js +7 -17
  1037. package/dist/numerical/lowering.js.map +1 -1
  1038. package/dist/numerical/mathts-engine.d.ts.map +1 -1
  1039. package/dist/numerical/mathts-engine.js +16 -25
  1040. package/dist/numerical/mathts-engine.js.map +1 -1
  1041. package/dist/numerical/metric-inverse.d.ts.map +1 -1
  1042. package/dist/numerical/metric-inverse.js +83 -46
  1043. package/dist/numerical/metric-inverse.js.map +1 -1
  1044. package/dist/numerical/null-ic.js.map +1 -1
  1045. package/dist/numerical/null-ray-integrator.d.ts +2 -1
  1046. package/dist/numerical/null-ray-integrator.d.ts.map +1 -1
  1047. package/dist/numerical/null-ray-integrator.js +12 -12
  1048. package/dist/numerical/null-ray-integrator.js.map +1 -1
  1049. package/dist/numerical/painleve-gullstrand-metric.js +2 -2
  1050. package/dist/numerical/painleve-gullstrand-metric.js.map +1 -1
  1051. package/dist/numerical/pderiv.d.ts.map +1 -1
  1052. package/dist/numerical/pderiv.js +9 -2
  1053. package/dist/numerical/pderiv.js.map +1 -1
  1054. package/dist/numerical/perihelion-finder.d.ts +0 -36
  1055. package/dist/numerical/perihelion-finder.d.ts.map +1 -1
  1056. package/dist/numerical/perihelion-finder.js +41 -87
  1057. package/dist/numerical/perihelion-finder.js.map +1 -1
  1058. package/dist/numerical/quadrature.d.ts +5 -2
  1059. package/dist/numerical/quadrature.d.ts.map +1 -1
  1060. package/dist/numerical/quadrature.js +19 -4
  1061. package/dist/numerical/quadrature.js.map +1 -1
  1062. package/dist/numerical/rk4-trajectory.d.ts +10 -0
  1063. package/dist/numerical/rk4-trajectory.d.ts.map +1 -0
  1064. package/dist/numerical/rk4-trajectory.js +37 -0
  1065. package/dist/numerical/rk4-trajectory.js.map +1 -0
  1066. package/dist/numerical/schwarzschild.d.ts +14 -0
  1067. package/dist/numerical/schwarzschild.d.ts.map +1 -0
  1068. package/dist/numerical/schwarzschild.js +17 -0
  1069. package/dist/numerical/schwarzschild.js.map +1 -0
  1070. package/dist/numerical/spacetime-metrics.d.ts +25 -19
  1071. package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
  1072. package/dist/numerical/spacetime-metrics.js +180 -286
  1073. package/dist/numerical/spacetime-metrics.js.map +1 -1
  1074. package/dist/numerical/statistics.d.ts +24 -0
  1075. package/dist/numerical/statistics.d.ts.map +1 -0
  1076. package/dist/numerical/statistics.js +52 -0
  1077. package/dist/numerical/statistics.js.map +1 -0
  1078. package/dist/numerical/strides.js.map +1 -1
  1079. package/dist/numerical/tensor-engine.d.ts +30 -5
  1080. package/dist/numerical/tensor-engine.d.ts.map +1 -1
  1081. package/dist/numerical/tensor-engine.js +12 -0
  1082. package/dist/numerical/tensor-engine.js.map +1 -1
  1083. package/dist/numerical/types.js.map +1 -1
  1084. package/dist/numerical/weyl-lowering.js.map +1 -1
  1085. package/dist/relations/category.js.map +1 -1
  1086. package/dist/relations/composition-table.d.ts +4 -4
  1087. package/dist/relations/composition-table.js +4 -4
  1088. package/dist/relations/composition-table.js.map +1 -1
  1089. package/dist/relations/conventions.js.map +1 -1
  1090. package/dist/relations/domain-regimes.js.map +1 -1
  1091. package/dist/relations/regime-registration.js.map +1 -1
  1092. package/dist/relations/regime-vocabularies.js.map +1 -1
  1093. package/dist/relations/regime.d.ts +28 -8
  1094. package/dist/relations/regime.d.ts.map +1 -1
  1095. package/dist/relations/regime.js +44 -15
  1096. package/dist/relations/regime.js.map +1 -1
  1097. package/dist/relations/types.d.ts +18 -5
  1098. package/dist/relations/types.d.ts.map +1 -1
  1099. package/dist/relations/types.js +5 -3
  1100. package/dist/relations/types.js.map +1 -1
  1101. package/package.json +16 -20
  1102. package/dist/bridges/registry.d.ts +0 -60
  1103. package/dist/bridges/registry.d.ts.map +0 -1
  1104. package/dist/bridges/registry.js +0 -87
  1105. package/dist/bridges/registry.js.map +0 -1
  1106. package/dist/cli/poster-source.d.ts +0 -154
  1107. package/dist/cli/poster-source.d.ts.map +0 -1
  1108. package/dist/cli/poster-source.js +0 -184
  1109. package/dist/cli/poster-source.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/atlas/benchmark/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/atlas/benchmark/loader.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 5, S5.1 — load and validate benchmark items.\n *\n * Design note: `docs/planning/Atlas-Phase-5-Design.md` §0, §2.\n *\n * This module reads the PUBLIC half of a benchmark directory and nothing else.\n * The answers live in a sibling half that no `src/` file may read;\n * `tests/atlas/benchmark.test.ts` holds the import guard, with a positive\n * control proving the guard can fire.\n *\n * **The loader enforces the one part of the independence rule that code CAN\n * enforce: a frozen item whose `authorship` is not `'independent'` is refused.**\n * Whether the author really was independent is a fact about people, recorded in\n * the pre-registration note and checked by review.\n *\n * @module atlas/benchmark/loader\n * @internal\n */\n\nimport { readJsonFile } from '../../core/data-file.js';\nimport { join } from 'node:path';\nimport { HELD_OUT_FAMILY } from './types.js';\nimport type { BenchmarkItem } from './types.js';\n\n/** One reason an item set is not admissible. @internal */\nexport interface ItemProblem {\n readonly id: string;\n readonly problem: string;\n}\n\n/**\n * Validate an item set against the schema and the rules that make it a benchmark.\n *\n * @param items - the items, as parsed.\n * @param frozen - true for the frozen set (authorship must be `'independent'`),\n * false for the contested staging area (authorship must be `'contested-draft'`).\n * @returns every problem found; empty means admissible. Never throws, so a\n * caller sees ALL problems at once rather than the first.\n * @internal\n */\nexport function validateItems(items: readonly BenchmarkItem[], frozen: boolean): ItemProblem[] {\n const problems: ItemProblem[] = [];\n const seen = new Set<string>();\n for (const item of items) {\n const p = (problem: string): void => {\n problems.push({ id: item.id, problem });\n };\n if (seen.has(item.id)) p('duplicate id');\n seen.add(item.id);\n\n const wanted = frozen ? 'independent' : 'contested-draft';\n if (item.authorship !== wanted) {\n p(`authorship '${item.authorship}' where the ${frozen ? 'frozen' : 'contested'} set requires '${wanted}'`);\n }\n // The answer lives in the scorer half. A public item that carries it would\n // hand the key to any condition that reads the public file.\n if ('kind' in item || 'failureKind' in item) {\n p('the public half carries the answer (kind/failureKind); it belongs in scorer/labels.json');\n }\n if ((item.family === HELD_OUT_FAMILY) !== (item.split === 'held-out')) {\n p(`the held-out split is exactly the '${HELD_OUT_FAMILY}' family; got family '${item.family}' in split '${item.split}'`);\n }\n if (item.premises.length === 0) p('no premises');\n if (item.source.trim() === '') p('no source');\n }\n return problems;\n}\n\n/** Thrown when a benchmark directory holds an inadmissible item set. @internal */\nexport class BenchmarkAdmissionError extends Error {\n constructor(readonly problems: readonly ItemProblem[]) {\n super(\n `benchmark items are not admissible: ${problems\n .map((p) => `${p.id}: ${p.problem}`)\n .join('; ')}`,\n );\n }\n}\n\nfunction readItems(file: string): BenchmarkItem[] {\n const parsed = readJsonFile(file);\n if (!Array.isArray(parsed)) throw new Error(`${file}: expected a JSON array of items`);\n return parsed as BenchmarkItem[];\n}\n\n/**\n * Load the FROZEN items from `<benchmarkDir>/public/items.json`.\n *\n * @throws BenchmarkAdmissionError when any item is inadmissible — a frozen set\n * with one contested draft in it is not a smaller benchmark, it is a broken one.\n * @internal\n */\nexport function loadFrozenItems(benchmarkDir: string): BenchmarkItem[] {\n const items = readItems(join(benchmarkDir, 'public', 'items.json'));\n const problems = validateItems(items, true);\n if (problems.length > 0) throw new BenchmarkAdmissionError(problems);\n return items;\n}\n\n/**\n * Load the CONTESTED drafts from `<benchmarkDir>/contested/items.json`. These are\n * never scored; they wait for an independent author to accept or rewrite them.\n *\n * @internal\n */\nexport function loadContestedDrafts(benchmarkDir: string): BenchmarkItem[] {\n const items = readItems(join(benchmarkDir, 'contested', 'items.json'));\n const problems = validateItems(items, false);\n if (problems.length > 0) throw new BenchmarkAdmissionError(problems);\n return items;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"run-atlas.d.ts","sourceRoot":"","sources":["../../../src/atlas/benchmark/run-atlas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAOH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE7D,mEAAmE;AACnE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAClD,2EAA2E;IAC3E,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC;IACvC,qFAAqF;IACrF,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,wDAAwD;IACxD,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC;IAC3C,wCAAwC;IACxC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,oEAAoE;AACpE,eAAO,MAAM,WAAW,EAAE,cAKzB,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,CAK7E,CAAC;AA6CF;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,GAAE,cAA4B,GAAG,YAAY,CAoHtG;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS,aAAa,EAAE,EAC/B,MAAM,GAAE,cAA4B,GACnC,YAAY,EAAE,CAEhB"}
1
+ {"version":3,"file":"run-atlas.d.ts","sourceRoot":"","sources":["../../../src/atlas/benchmark/run-atlas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAOH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE7D,mEAAmE;AACnE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAClD,2EAA2E;IAC3E,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC;IACvC,qFAAqF;IACrF,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,wDAAwD;IACxD,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC;IAC3C,wCAAwC;IACxC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,oEAAoE;AACpE,eAAO,MAAM,WAAW,EAAE,cAKzB,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,CAK7E,CAAC;AAwDF;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,GAAE,cAA4B,GAAG,YAAY,CAuHtG;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS,aAAa,EAAE,EAC/B,MAAM,GAAE,cAA4B,GACnC,YAAY,EAAE,CAEhB"}
@@ -48,7 +48,17 @@ export const ABLATION_CONFIGS = [
48
48
  ['+ dimensions & conventions', { types: true, assumptions: true, dimensionsAndConventions: true, regimes: false }],
49
49
  ['+ regimes', FULL_CONFIG],
50
50
  ];
51
- /** The instrument each applicability finding belongs to. */
51
+ /**
52
+ * The instrument each applicability finding belongs to.
53
+ *
54
+ * `model-incompatibility` has no entry: a benchmark item carries model IDS,
55
+ * not model records with families, so this runner never passes `premises`
56
+ * or `conclusion` to `checkApplicability` and that finding cannot arise
57
+ * here. The sentence that it mapped to a `'models'` instrument no config
58
+ * field gated is the record from before this map was narrowed; a finding of
59
+ * that kind now throws below, because it would mean the instrument changed
60
+ * without this map.
61
+ */
52
62
  const FINDING_INSTRUMENT = {
53
63
  'dimensional-inconsistency': 'dimensionsAndConventions',
54
64
  'convention-mismatch': 'dimensionsAndConventions',
@@ -56,7 +66,6 @@ const FINDING_INSTRUMENT = {
56
66
  'division-unguarded': 'assumptions',
57
67
  'division-by-zero': 'assumptions',
58
68
  'squaring-adds-solutions': 'assumptions',
59
- 'model-incompatibility': 'models',
60
69
  };
61
70
  /** Which failure kind a BLOCKING applicability finding points to. */
62
71
  const FINDING_TO_FAILURE = {
@@ -127,6 +136,9 @@ export function runAtlasOnItem(item, config = FULL_CONFIG) {
127
136
  : { conclusionConventions: item.conventions.conclusion }),
128
137
  });
129
138
  for (const f of findings) {
139
+ if (f.kind === 'model-incompatibility') {
140
+ throw new Error('runAtlasItem: checkApplicability reported model-incompatibility without being given models');
141
+ }
130
142
  const instrument = FINDING_INSTRUMENT[f.kind];
131
143
  if (instrument === 'assumptions' && !config.assumptions)
132
144
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"run-atlas.js","sourceRoot":"","sources":["../../../src/atlas/benchmark/run-atlas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-atlas.js","sourceRoot":"","sources":["../../../src/atlas/benchmark/run-atlas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 5, S5.2 — the ATLAS condition of the invalid-bridge benchmark.\n *\n * Design note: `docs/planning/Atlas-Phase-5-Design.md` §6.\n *\n * For each item the runner applies three atlas instruments — the applicability\n * checker (S4.1), the composition table (S3) and the regime check (S2) — and\n * emits `accept`, `reject` or `abstain`.\n *\n * ## The decision rule, and why accept is the HARDEST outcome to reach\n *\n * - **reject** when an instrument DEMONSTRABLY fires: a blocking applicability\n * finding, a chain OVERCLAIMED as an exact equivalence, a structural analogy\n * promoted to an equivalence, or a regime inequality checked and violated.\n * - **accept** only when EVERY ENABLED instrument RAN and CLEARED: side conditions were\n * stated, the applicability checker found nothing, the regime was supplied and\n * every inequality was checked and held, and any claimed chain agrees with the\n * table. At least one instrument must have RUN: an item that no enabled\n * instrument applies to abstains, because nothing cleared it. S4.1 already fixed the principle: an empty finding list means \"no rule\n * fired\", which is weaker than \"valid\". An item that leaves a check unrun has\n * not been cleared by it.\n * - **abstain** otherwise. Abstention is a first-class outcome and is preferred\n * to a wrong accept (ROADMAP Phase 5, pre-stated criteria).\n *\n * The failure kind a rejection names is a MAPPING from the rule that fired, and\n * it is only as good as that mapping: a dimensional inconsistency is reported as\n * `notation-collision` because that is its commonest cause, not because the rule\n * can see notation. The scorer grades \"rejected\" and \"named the right kind\"\n * separately, so an imperfect mapping costs the second score only.\n *\n * @module atlas/benchmark/run-atlas\n * @internal\n */\n\nimport { checkApplicability } from '../applicability.js';\nimport type { ApplicabilityFindingKind } from '../applicability.js';\nimport { composeRelation, NO_COMPOSITE_CLAIM } from '../composition-table.js';\nimport { regimeHolds } from '../regime.js';\nimport type { RelationType } from '../types.js';\nimport type { BenchmarkItem, FailureKind } from './types.js';\n\n/** What the atlas condition concluded about one item. @internal */\nexport interface AtlasVerdict {\n readonly itemId: string;\n readonly outcome: 'accept' | 'reject' | 'abstain';\n /** Present on a reject when the rule that fired maps to a failure kind. */\n readonly detectedFailure?: FailureKind;\n /** Every reason, in rule order — including the unrun checks behind an abstention. */\n readonly reasons: readonly string[];\n}\n\n/**\n * Which instruments a run uses — the S6.2 ablation. The four named\n * configurations in {@link ABLATION_CONFIGS} are CUMULATIVE.\n *\n * @internal\n */\nexport interface AtlasRunConfig {\n /** The composition table over relation types. */\n readonly types: boolean;\n /** Side-condition rules: unguarded / zero divisors, squaring. */\n readonly assumptions: boolean;\n /** Dimensional consistency and convention agreement. */\n readonly dimensionsAndConventions: boolean;\n /** The regime check at the use site. */\n readonly regimes: boolean;\n}\n\n/** Every instrument on: the atlas condition as scored. @internal */\nexport const FULL_CONFIG: AtlasRunConfig = {\n types: true,\n assumptions: true,\n dimensionsAndConventions: true,\n regimes: true,\n};\n\n/** The four cumulative ablation configurations, in the plan's order. @internal */\nexport const ABLATION_CONFIGS: ReadonlyArray<readonly [string, AtlasRunConfig]> = [\n ['types only', { types: true, assumptions: false, dimensionsAndConventions: false, regimes: false }],\n ['+ assumptions', { types: true, assumptions: true, dimensionsAndConventions: false, regimes: false }],\n ['+ dimensions & conventions', { types: true, assumptions: true, dimensionsAndConventions: true, regimes: false }],\n ['+ regimes', FULL_CONFIG],\n];\n\n/**\n * The instrument each applicability finding belongs to.\n *\n * `model-incompatibility` has no entry: a benchmark item carries model IDS,\n * not model records with families, so this runner never passes `premises`\n * or `conclusion` to `checkApplicability` and that finding cannot arise\n * here. The sentence that it mapped to a `'models'` instrument no config\n * field gated is the record from before this map was narrowed; a finding of\n * that kind now throws below, because it would mean the instrument changed\n * without this map.\n */\nconst FINDING_INSTRUMENT: Readonly<\n Record<Exclude<ApplicabilityFindingKind, 'model-incompatibility'>, 'assumptions' | 'dimensionsAndConventions'>\n> = {\n 'dimensional-inconsistency': 'dimensionsAndConventions',\n 'convention-mismatch': 'dimensionsAndConventions',\n 'convention-undeclared': 'dimensionsAndConventions',\n 'division-unguarded': 'assumptions',\n 'division-by-zero': 'assumptions',\n 'squaring-adds-solutions': 'assumptions',\n};\n\n/** Which failure kind a BLOCKING applicability finding points to. */\nconst FINDING_TO_FAILURE: Readonly<Partial<Record<ApplicabilityFindingKind, FailureKind>>> = {\n 'dimensional-inconsistency': 'notation-collision',\n 'convention-mismatch': 'convention-mismatch',\n 'division-by-zero': 'domain-violation',\n};\n\n/** Relations that assert more than an analogy can carry. */\nconst STRONG: ReadonlySet<RelationType> = new Set(['exact-equivalence', 'derivation']);\n\n/**\n * The failure kind an OVERCLAIMED chain points to: a chain claimed as an exact\n * equivalence that the table composes to something weaker.\n *\n * - through a restriction ⇒ the restriction's condition was dropped:\n * `omitted-premise`;\n * - to a derivation or a coarse-graining ⇒ the claim asserts an inverse the\n * one-way step does not have: `false-inverse`.\n */\nfunction overclaimFailure(chain: readonly RelationType[]): FailureKind {\n return chain.includes('restriction') ? 'omitted-premise' : 'false-inverse';\n}\n\n/**\n * Whether `claimed` follows from `composed`. The table's own non-declined\n * results are exact-equivalence, derivation, restriction and coarse-graining;\n * of these only exact-equivalence ⇒ derivation is an implication this module\n * asserts. Anything else unequal is \"not shown\", never \"shown\".\n */\nconst implies = (composed: RelationType, claimed: RelationType): boolean =>\n composed === claimed || (composed === 'exact-equivalence' && claimed === 'derivation');\n\n/**\n * Run the atlas condition on one item. Pure and deterministic; never throws.\n *\n * @internal\n */\nexport function runAtlasOnItem(item: BenchmarkItem, config: AtlasRunConfig = FULL_CONFIG): AtlasVerdict {\n const reasons: string[] = [];\n let rejectKind: FailureKind | undefined;\n let rejected = false;\n const reject = (reason: string, kind?: FailureKind): void => {\n reasons.push(`REJECT: ${reason}`);\n if (!rejected) rejectKind = kind;\n rejected = true;\n };\n let allRanAndCleared = true;\n // An accept needs at least one instrument that actually RAN. Without this,\n // an item no enabled instrument applies to is accepted with nothing checked.\n let ranAny = false;\n const unrun = (reason: string): void => {\n reasons.push(`UNRUN: ${reason}`);\n allRanAndCleared = false;\n };\n\n // 1. Applicability — split by instrument so the ablation can switch each off.\n const applicabilityOn = config.assumptions || config.dimensionsAndConventions;\n if (!applicabilityOn) {\n // Instrument disabled: neither run nor required.\n } else if (item.sideConditions === undefined) {\n unrun('no side conditions stated, so the applicability checker has nothing to check against');\n } else {\n ranAny = true;\n const findings = checkApplicability({\n ast: item.expr,\n sideConditions: item.sideConditions,\n ...(item.conventions?.premise === undefined ? {} : { premiseConventions: item.conventions.premise }),\n ...(item.conventions?.conclusion === undefined\n ? {}\n : { conclusionConventions: item.conventions.conclusion }),\n });\n for (const f of findings) {\n if (f.kind === 'model-incompatibility') {\n throw new Error('runAtlasItem: checkApplicability reported model-incompatibility without being given models');\n }\n const instrument = FINDING_INSTRUMENT[f.kind];\n if (instrument === 'assumptions' && !config.assumptions) continue;\n if (instrument === 'dimensionsAndConventions' && !config.dimensionsAndConventions) continue;\n if (f.severity === 'blocking') reject(`${f.kind}: ${f.detail}`, FINDING_TO_FAILURE[f.kind]);\n else {\n reasons.push(`QUESTION: ${f.kind}: ${f.detail}`);\n allRanAndCleared = false;\n }\n }\n }\n\n // 2. Composition. Only for items that claim a chain.\n if (config.types && item.composedFrom !== undefined) {\n ranAny = true;\n const [first, second] = item.composedFrom;\n const composed = composeRelation(first, second);\n if (item.composedFrom.includes('structural-analogy') && STRONG.has(item.claimedRelation)) {\n reject(\n `a chain through structural-analogy is claimed as ${item.claimedRelation}`,\n 'analogy-promoted',\n );\n } else if (composed === NO_COMPOSITE_CLAIM) {\n reasons.push(`QUESTION: the table declines to compose ${first} ∘ ${second}`);\n allRanAndCleared = false;\n } else if (implies(composed, item.claimedRelation)) {\n reasons.push(`CLEARED: ${first} ∘ ${second} composes to ${composed}, which gives ${item.claimedRelation}`);\n } else if (item.claimedRelation === 'exact-equivalence') {\n reject(\n `${first} ∘ ${second} composes only to ${composed}; the exact equivalence is overclaimed`,\n overclaimFailure(item.composedFrom),\n );\n } else {\n reasons.push(\n `QUESTION: ${first} ∘ ${second} composes to ${composed}; the table does not show ${item.claimedRelation}`,\n );\n allRanAndCleared = false;\n }\n }\n\n // 3. Regime.\n if (!config.regimes) {\n // Instrument disabled: neither run nor required.\n } else if (item.regime === undefined) {\n unrun('no regime supplied, so the use site was never checked against a domain');\n } else {\n ranAny = true;\n const check = regimeHolds(\n { family: item.family, inequalities: item.regime.inequalities, groupDefinitions: {} },\n item.regime.values,\n );\n if (check.ok === false) {\n reject(\n `regime violated: ${check.violated.map((i) => `${i.group} ${i.op} ${i.bound}`).join(', ')}`,\n 'domain-violation',\n );\n } else if (check.ok === 'unknown') {\n unrun(`regime unchecked for ${check.unchecked.map((i) => i.group).join(', ')}`);\n } else if (item.regime.inequalities.length === 0) {\n // regimeHolds returns true for an empty list; that is \"nothing to check\",\n // not \"checked and held\" — the silent pass RegimeCheck warns about.\n unrun('the regime states no inequality, so nothing was checked');\n }\n }\n\n if (rejected) {\n return {\n itemId: item.id,\n outcome: 'reject',\n ...(rejectKind === undefined ? {} : { detectedFailure: rejectKind }),\n reasons,\n };\n }\n if (allRanAndCleared && !ranAny) {\n reasons.push('UNRUN: no enabled instrument applies to this item, so nothing was checked');\n return { itemId: item.id, outcome: 'abstain', reasons };\n }\n if (allRanAndCleared) {\n reasons.push('ACCEPT: every instrument ran and cleared');\n return { itemId: item.id, outcome: 'accept', reasons };\n }\n return { itemId: item.id, outcome: 'abstain', reasons };\n}\n\n/** Run the atlas condition over a set of items, in order. @internal */\nexport function runAtlasCondition(\n items: readonly BenchmarkItem[],\n config: AtlasRunConfig = FULL_CONFIG,\n): AtlasVerdict[] {\n return items.map((item) => runAtlasOnItem(item, config));\n}\n"]}
@@ -13,8 +13,8 @@
13
13
  * @module atlas/benchmark/stats
14
14
  * @internal
15
15
  */
16
- /** The two-sided 95% normal quantile. @internal */
17
- export declare const Z95 = 1.959963984540054;
16
+ /** The two-sided 95% normal quantile, MathTS `normalQuantile(0.975)` (1.959963984540054). @internal */
17
+ export declare const Z95: number;
18
18
  /** A closed interval. @internal */
19
19
  export interface Interval {
20
20
  readonly lower: number;
@@ -36,7 +36,7 @@ export interface PairedTable {
36
36
  }
37
37
  /** McNemar's test on the discordant cells. @internal */
38
38
  export interface McNemarResult {
39
- /** Continuity-corrected χ² = (|b − c| − 1)² / (b + c); 0 when b + c = 0. */
39
+ /** Continuity-corrected χ² = max(0, |b − c| − 1)² / (b + c); 0 when b + c = 0. The correction never goes negative (Edwards 1948). */
40
40
  readonly chiSquared: number;
41
41
  /** Exact two-sided p-value from Binomial(b + c, ½); 1 when b + c = 0. */
42
42
  readonly exactP: number;
@@ -1 +1 @@
1
- {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/atlas/benchmark/stats.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,mDAAmD;AACnD,eAAO,MAAM,GAAG,oBAAoB,CAAC;AAErC,mCAAmC;AACnC,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,SAAM,GAAG,QAAQ,CAgB9E;AAED,wGAAwG;AACxG,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wDAAwD;AACxD,MAAM,WAAW,aAAa;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AASD;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,aAAa,CAQzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,SAAM,GAAG,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAuB1G;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,CAsB1E;AAED,0EAA0E;AAC1E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,kEAAkE;IAClE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,6FAA6F;IAC7F,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,SAAM,GAAG,WAAW,CAgBjF"}
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/atlas/benchmark/stats.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,uGAAuG;AACvG,eAAO,MAAM,GAAG,EAAE,MAA8B,CAAC;AAEjD,mCAAmC;AACnC,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,SAAM,GAAG,QAAQ,CAgB9E;AAED,wGAAwG;AACxG,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wDAAwD;AACxD,MAAM,WAAW,aAAa;IAC5B,qIAAqI;IACrI,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAiBD;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,aAAa,CAQzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,SAAM,GAAG,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAuB1G;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,CAsB1E;AAED,0EAA0E;AAC1E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,kEAAkE;IAClE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,6FAA6F;IAC7F,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,SAAM,GAAG,WAAW,CAgBjF"}
@@ -13,8 +13,10 @@
13
13
  * @module atlas/benchmark/stats
14
14
  * @internal
15
15
  */
16
- /** The two-sided 95% normal quantile. @internal */
17
- export const Z95 = 1.959963984540054;
16
+ import { lgamma, normalQuantile } from '@danielsimonjr/mathts-functions';
17
+ import { numberFrom } from '../../core/mathts-read.js';
18
+ /** The two-sided 95% normal quantile, MathTS `normalQuantile(0.975)` (1.959963984540054). @internal */
19
+ export const Z95 = normalQuantile(0.975);
18
20
  /**
19
21
  * Wilson score interval for a binomial proportion.
20
22
  *
@@ -39,12 +41,18 @@ export function wilsonInterval(successes, n, z = Z95) {
39
41
  upper: successes === n ? 1 : Math.min(1, centre + half),
40
42
  };
41
43
  }
42
- /** `ln C(n, k)`, summed; exact enough for the n here. */
44
+ /** `log Γ(z)`, MathTS `lgamma`, read back as the number it is for a number. */
45
+ function logGamma(z) {
46
+ return numberFrom('lgamma', lgamma(z));
47
+ }
48
+ /**
49
+ * `ln C(n, k) = ln Γ(n+1) − ln Γ(k+1) − ln Γ(n−k+1)`, through MathTS `lgamma`:
50
+ * the same three terms as `logChoose` in `numerical/statistics`, the owner
51
+ * the lattice random walk reads. This copy stays because the delegation scan
52
+ * (`tests/numerical/mathts-delegation.test.ts`) pins this file's body text.
53
+ */
43
54
  function logChoose(n, k) {
44
- let s = 0;
45
- for (let i = 1; i <= k; i++)
46
- s += Math.log(n - k + i) - Math.log(i);
47
- return s;
55
+ return logGamma(n + 1) - logGamma(k + 1) - logGamma(n - k + 1);
48
56
  }
49
57
  /**
50
58
  * McNemar's paired test. The EXACT binomial p-value is the one to report at
@@ -56,7 +64,7 @@ export function mcnemar(table) {
56
64
  const n = table.b + table.c;
57
65
  if (n === 0)
58
66
  return { chiSquared: 0, exactP: 1 };
59
- const chiSquared = (Math.abs(table.b - table.c) - 1) ** 2 / n;
67
+ const chiSquared = Math.max(0, Math.abs(table.b - table.c) - 1) ** 2 / n;
60
68
  const k = Math.min(table.b, table.c);
61
69
  let tail = 0;
62
70
  for (let i = 0; i <= k; i++)
@@ -1 +1 @@
1
- {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/atlas/benchmark/stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/atlas/benchmark/stats.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 5, S5.4 — the benchmark's statistics and power report.\n *\n * Design note: `docs/planning/Atlas-Phase-5-Design.md` §8.\n *\n * Every function here is tested against a value computed independently, not\n * against its own output: the Wilson intervals against the plan's textbook\n * values, McNemar against a hand-computed 2×2 table, and κ against a hand-computed\n * confusion matrix. The paired-difference interval (Newcombe's method 10) has no\n * textbook value in the repository; it is tested by properties that pin it to\n * Wilson and to the unpaired square-and-add interval where those must agree.\n *\n * @module atlas/benchmark/stats\n * @internal\n */\n\nimport { lgamma, normalQuantile } from '@danielsimonjr/mathts-functions';\nimport { numberFrom } from '../../core/mathts-read.js';\n\n/** The two-sided 95% normal quantile, MathTS `normalQuantile(0.975)` (1.959963984540054). @internal */\nexport const Z95: number = normalQuantile(0.975);\n\n/** A closed interval. @internal */\nexport interface Interval {\n readonly lower: number;\n readonly upper: number;\n}\n\n/**\n * Wilson score interval for a binomial proportion.\n *\n * @throws Error when `n` is not a positive integer or `successes` is outside `[0, n]`.\n * @internal\n */\nexport function wilsonInterval(successes: number, n: number, z = Z95): Interval {\n if (!Number.isInteger(n) || n <= 0) throw new Error(`wilsonInterval: n must be a positive integer, got ${n}`);\n if (!Number.isInteger(successes) || successes < 0 || successes > n) {\n throw new Error(`wilsonInterval: successes must be an integer in [0, n], got ${successes}`);\n }\n const p = successes / n;\n const z2 = z * z;\n const denom = 1 + z2 / n;\n const centre = (p + z2 / (2 * n)) / denom;\n const half = (z / denom) * Math.sqrt((p * (1 - p)) / n + z2 / (4 * n * n));\n // At x = 0 the lower bound, and at x = n the upper bound, are EXACTLY 0 and 1\n // analytically; the formula reaches them only to within float rounding.\n return {\n lower: successes === 0 ? 0 : Math.max(0, centre - half),\n upper: successes === n ? 1 : Math.min(1, centre + half),\n };\n}\n\n/** A paired 2×2 table: a = both right, b = only A right, c = only B right, d = both wrong. @internal */\nexport interface PairedTable {\n readonly a: number;\n readonly b: number;\n readonly c: number;\n readonly d: number;\n}\n\n/** McNemar's test on the discordant cells. @internal */\nexport interface McNemarResult {\n /** Continuity-corrected χ² = max(0, |b − c| − 1)² / (b + c); 0 when b + c = 0. The correction never goes negative (Edwards 1948). */\n readonly chiSquared: number;\n /** Exact two-sided p-value from Binomial(b + c, ½); 1 when b + c = 0. */\n readonly exactP: number;\n}\n\n/** `log Γ(z)`, MathTS `lgamma`, read back as the number it is for a number. */\nfunction logGamma(z: number): number {\n return numberFrom('lgamma', lgamma(z));\n}\n\n/**\n * `ln C(n, k) = ln Γ(n+1) − ln Γ(k+1) − ln Γ(n−k+1)`, through MathTS `lgamma`:\n * the same three terms as `logChoose` in `numerical/statistics`, the owner\n * the lattice random walk reads. This copy stays because the delegation scan\n * (`tests/numerical/mathts-delegation.test.ts`) pins this file's body text.\n */\nfunction logChoose(n: number, k: number): number {\n return logGamma(n + 1) - logGamma(k + 1) - logGamma(n - k + 1);\n}\n\n/**\n * McNemar's paired test. The EXACT binomial p-value is the one to report at\n * these sample sizes; the χ² is given because readers expect it.\n *\n * @internal\n */\nexport function mcnemar(table: PairedTable): McNemarResult {\n const n = table.b + table.c;\n if (n === 0) return { chiSquared: 0, exactP: 1 };\n const chiSquared = Math.max(0, Math.abs(table.b - table.c) - 1) ** 2 / n;\n const k = Math.min(table.b, table.c);\n let tail = 0;\n for (let i = 0; i <= k; i++) tail += Math.exp(logChoose(n, i) - n * Math.LN2);\n return { chiSquared, exactP: Math.min(1, 2 * tail) };\n}\n\n/**\n * Newcombe's method 10: a 95% interval for the PAIRED difference in proportions\n * p_A − p_B = (b − c)/n, built from the two marginal Wilson intervals and a\n * correlation correction φ. Pre-registered criterion: the interval for the\n * atlas-minus-baseline difference must exclude zero.\n *\n * Newcombe, Statistics in Medicine 17 (1998) 2635.\n *\n * @internal\n */\nexport function pairedDifferenceInterval(table: PairedTable, z = Z95): Interval & { readonly diff: number } {\n const { a, b, c, d } = table;\n const n = a + b + c + d;\n if (n === 0) throw new Error('pairedDifferenceInterval: empty table');\n const p1 = (a + b) / n;\n const p2 = (a + c) / n;\n const w1 = wilsonInterval(a + b, n, z);\n const w2 = wilsonInterval(a + c, n, z);\n const denom = Math.sqrt((a + b) * (c + d) * (a + c) * (b + d));\n let phi = 0;\n if (denom > 0) {\n const cross = a * d - b * c;\n // Newcombe's continuity adjustment of φ, applied only when ad > bc.\n phi = (cross > 0 ? Math.max(cross - n / 2, 0) : cross) / denom;\n }\n const diff = p1 - p2;\n const dl1 = p1 - w1.lower;\n const du1 = w1.upper - p1;\n const dl2 = p2 - w2.lower;\n const du2 = w2.upper - p2;\n const lower = diff - Math.sqrt(Math.max(0, dl1 * dl1 - 2 * phi * dl1 * du2 + du2 * du2));\n const upper = diff + Math.sqrt(Math.max(0, du1 * du1 - 2 * phi * du1 * dl2 + dl2 * dl2));\n return { diff, lower: Math.max(-1, lower), upper: Math.min(1, upper) };\n}\n\n/**\n * Cohen's κ for two raters over the same items, from a square confusion matrix\n * (`matrix[i][j]` = items rater 1 put in category i and rater 2 in category j).\n *\n * @returns NaN when chance agreement is 1 (κ is undefined there), never 1.\n * @internal\n */\nexport function cohensKappa(matrix: readonly (readonly number[])[]): number {\n const k = matrix.length;\n if (k === 0 || matrix.some((row) => row.length !== k)) throw new Error('cohensKappa: matrix must be square and non-empty');\n let n = 0;\n let agree = 0;\n const rows = new Array<number>(k).fill(0);\n const cols = new Array<number>(k).fill(0);\n for (let i = 0; i < k; i++) {\n for (let j = 0; j < k; j++) {\n const v = matrix[i]![j]!;\n n += v;\n rows[i]! += v;\n cols[j]! += v;\n if (i === j) agree += v;\n }\n }\n if (n === 0) throw new Error('cohensKappa: no ratings');\n const po = agree / n;\n let pe = 0;\n for (let i = 0; i < k; i++) pe += (rows[i]! / n) * (cols[i]! / n);\n if (pe === 1) return Number.NaN;\n return (po - pe) / (1 - pe);\n}\n\n/** What a frozen set of a given size can and cannot resolve. @internal */\nexport interface PowerReport {\n readonly nPerClass: number;\n /** The assumed per-class accuracy the interval is computed at. */\n readonly assumedAccuracy: number;\n readonly interval: Interval;\n /** Half the interval width: differences smaller than about twice this are not resolvable. */\n readonly halfWidth: number;\n readonly statement: string;\n}\n\n/**\n * The interval a frozen set of `nPerClass` items per class can afford at an\n * assumed accuracy. This is the \"report the interval it can afford rather than\n * the claim it cannot\" line of ROADMAP Phase 5.\n *\n * @internal\n */\nexport function powerReport(nPerClass: number, assumedAccuracy = 0.8): PowerReport {\n const successes = Math.round(assumedAccuracy * nPerClass);\n const interval = wilsonInterval(successes, nPerClass);\n const halfWidth = (interval.upper - interval.lower) / 2;\n const pct = (x: number): string => `${(100 * x).toFixed(1)}%`;\n return {\n nPerClass,\n assumedAccuracy,\n interval,\n halfWidth,\n statement:\n `With ${nPerClass} items per class at ${pct(assumedAccuracy)} accuracy, the 95% Wilson interval ` +\n `is [${pct(interval.lower)}, ${pct(interval.upper)}] (±${pct(halfWidth)}). Two methods whose ` +\n `accuracies differ by less than about ${pct(2 * halfWidth)} cannot be separated on this set ` +\n 'by unpaired intervals; the paired McNemar design is what narrows it.',\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"study.js","sourceRoot":"","sources":["../../../src/atlas/benchmark/study.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"study.js","sourceRoot":"","sources":["../../../src/atlas/benchmark/study.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAwB/E,MAAM,cAAc,GAAG,IAAI,GAAG,CAAS,aAAa,CAAC,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,OAA0B,EAAE,MAA4B;IACrF,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,OAAe,EAAQ,EAAE;YAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,CAAC,CAAC,kCAAkC,CAAC,CAAC;QAC9D,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;gBAAE,CAAC,CAAC,4CAA4C,CAAC,CAAC;iBAC5E,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;gBAAE,CAAC,CAAC,wBAAwB,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC;QAC3F,CAAC;aAAM,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACvC,CAAC,CAAC,4CAA4C,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,OAAO;QAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IACxF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAwBD;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,SAAiB,EACjB,OAAmC,EACnC,MAA4B;IAE5B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,kBAAkB,SAAS,0DAA0D,CAAC,CAAC;IACzG,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACtD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,SAAS,8BAA8B,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACpH,CAAC;IACD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,MAAM,KAAK,SAAS;YAAE,UAAU,EAAE,CAAC;aAClC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;YAAE,WAAW,EAAE,CAAC;QACrD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,EAAE,CAAC;YACT,IAAI,MAAM,EAAE,OAAO,KAAK,QAAQ;gBAAE,aAAa,EAAE,CAAC;YAClD,IAAI,MAAM,EAAE,OAAO,KAAK,QAAQ;gBAAE,YAAY,EAAE,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,QAAQ,EAAE,CAAC;YACX,IAAI,MAAM,EAAE,OAAO,KAAK,QAAQ;gBAAE,YAAY,EAAE,CAAC;YACjD,IAAI,MAAM,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACjC,eAAe,EAAE,CAAC;gBAClB,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI,MAAM,CAAC,eAAe,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;oBACzF,kBAAkB,EAAE,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO;QACL,SAAS;QACT,MAAM;QACN,QAAQ;QACR,eAAe;QACf,wBAAwB,EACtB,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,EAAE,QAAQ,CAAC;QACvG,kBAAkB;QAClB,YAAY;QACZ,aAAa;QACb,YAAY;QACZ,WAAW;QACX,UAAU;KACX,CAAC;AACJ,CAAC;AAaD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAkB,EAClB,QAAoC,EACpC,UAAkB,EAClB,QAAoC,EACpC,MAA4B;IAE5B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC3D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAC7F,MAAM,UAAU,GAAG,CAAC,OAAmC,EAAe,EAAE,CACtE,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC;YAAE,CAAC,EAAE,CAAC;aACX,IAAI,CAAC;YAAE,CAAC,EAAE,CAAC;aACX,IAAI,CAAC;YAAE,CAAC,EAAE,CAAC;;YACX,CAAC,EAAE,CAAC;IACX,CAAC;IACD,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACnD,OAAO;QACL,UAAU;QACV,UAAU;QACV,KAAK;QACL,UAAU;QACV,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;QACvB,oBAAoB,EAAE,UAAU,CAAC,KAAK,GAAG,CAAC;KAC3C,CAAC;AACJ,CAAC;AAUD;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAkE,EAClE,MAA4B;IAE5B,MAAM,IAAI,GAAkB,EAAE,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACjC,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;aACpD,CAAC;YACJ,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC;gBACR,aAAa,EAAE,IAAI;gBACnB,OAAO;gBACP,gBAAgB,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC;aAChF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["/**\n * Atlas Phase 6, S6.1 — scoring a benchmark condition against the answer key.\n *\n * Design note: `docs/planning/Atlas-Phase-5-Design.md` §9.\n *\n * This module receives the answer key as an ARGUMENT. It never reads the scorer\n * half of the fixture tree itself: the import guard forbids any `src/` path into\n * it. The orchestration script (`scripts/run-atlas-study.mjs`) loads the labels\n * and passes them in.\n *\n * **An empty item set produces NO metrics, not zero metrics.** `scoreCondition`\n * throws on it: a table of zeros and NaNs from an empty set is indistinguishable,\n * at a glance, from a condition that failed everything.\n *\n * @module atlas/benchmark/study\n * @internal\n */\n\nimport { FAILURE_KINDS } from './types.js';\nimport type { FailureKind } from './types.js';\nimport { mcnemar, pairedDifferenceInterval, wilsonInterval } from './stats.js';\nimport type { Interval, McNemarResult } from './stats.js';\n\n/** One condition's answer for one item. @internal */\nexport interface ConditionAnswer {\n readonly itemId: string;\n readonly outcome: 'accept' | 'reject' | 'abstain';\n readonly detectedFailure?: FailureKind;\n}\n\n/** The answer key for one item — scorer-side, never in the public half. @internal */\nexport interface ItemLabel {\n readonly itemId: string;\n readonly kind: 'valid' | 'invalid';\n /** For an invalid item: the failure kind a correct rejection names. */\n readonly failureKind?: FailureKind;\n}\n\n/** One reason an answer key does not fit its item set. @internal */\nexport interface LabelProblem {\n readonly id: string;\n readonly problem: string;\n}\n\nconst KNOWN_FAILURES = new Set<string>(FAILURE_KINDS);\n\n/**\n * Check an answer key against the item ids it must cover: exactly one label per\n * item, no label for an unknown item, a known failure kind on every invalid\n * label and none on a valid one. Takes the key as an ARGUMENT, like everything\n * here, because no `src/` file may read the scorer half.\n *\n * @param itemIds - the ids of the frozen items.\n * @param labels - the answer key.\n * @returns every problem found, labels first in key order, then missing labels\n * in item order; empty means the key fits.\n * @internal\n */\nexport function validateLabels(itemIds: readonly string[], labels: readonly ItemLabel[]): LabelProblem[] {\n const problems: LabelProblem[] = [];\n const ids = new Set(itemIds);\n const seen = new Set<string>();\n for (const l of labels) {\n const p = (problem: string): void => {\n problems.push({ id: l.itemId, problem });\n };\n if (seen.has(l.itemId)) p('duplicate label');\n seen.add(l.itemId);\n if (!ids.has(l.itemId)) p('label for an item not in the set');\n if (l.kind === 'invalid') {\n if (l.failureKind === undefined) p('an invalid label must name its failureKind');\n else if (!KNOWN_FAILURES.has(l.failureKind)) p(`unknown failureKind '${l.failureKind}'`);\n } else if (l.failureKind !== undefined) {\n p('a valid label must not carry a failureKind');\n }\n }\n for (const id of itemIds) if (!seen.has(id)) problems.push({ id, problem: 'no label' });\n return problems;\n}\n\n/** A condition's metrics on the frozen set. @internal */\nexport interface ConditionMetrics {\n readonly condition: string;\n readonly nValid: number;\n readonly nInvalid: number;\n /** Invalid items rejected, with its Wilson interval. */\n readonly invalidRejected: number;\n readonly invalidRejectionInterval: Interval;\n /** Of the rejected invalid items, how many named the right failure kind. */\n readonly kindNamedCorrectly: number;\n /** Invalid items ACCEPTED: the error the benchmark exists to count. */\n readonly wrongAccepts: number;\n /** Valid items accepted. */\n readonly validAccepted: number;\n /** Valid items rejected. */\n readonly falseRejects: number;\n /** All abstentions, reported and never folded into accuracy. */\n readonly abstentions: number;\n /** Items the condition did not answer at all: counted, never dropped. */\n readonly unanswered: number;\n}\n\n/**\n * Score one condition against the answer key.\n *\n * @throws Error when the key is empty (no measurement exists), or when an answer\n * names an item the key does not contain.\n * @internal\n */\nexport function scoreCondition(\n condition: string,\n answers: readonly ConditionAnswer[],\n labels: readonly ItemLabel[],\n): ConditionMetrics {\n if (labels.length === 0) {\n throw new Error(`scoreCondition(${condition}): the answer key is empty — there is nothing to measure`);\n }\n const byId = new Map(answers.map((a) => [a.itemId, a]));\n const labelIds = new Set(labels.map((l) => l.itemId));\n for (const a of answers) {\n if (!labelIds.has(a.itemId)) throw new Error(`scoreCondition(${condition}): answer for unknown item ${a.itemId}`);\n }\n let nValid = 0;\n let nInvalid = 0;\n let invalidRejected = 0;\n let kindNamedCorrectly = 0;\n let wrongAccepts = 0;\n let validAccepted = 0;\n let falseRejects = 0;\n let abstentions = 0;\n let unanswered = 0;\n for (const label of labels) {\n const answer = byId.get(label.itemId);\n if (answer === undefined) unanswered++;\n else if (answer.outcome === 'abstain') abstentions++;\n if (label.kind === 'valid') {\n nValid++;\n if (answer?.outcome === 'accept') validAccepted++;\n if (answer?.outcome === 'reject') falseRejects++;\n } else {\n nInvalid++;\n if (answer?.outcome === 'accept') wrongAccepts++;\n if (answer?.outcome === 'reject') {\n invalidRejected++;\n if (answer.detectedFailure !== undefined && answer.detectedFailure === label.failureKind) {\n kindNamedCorrectly++;\n }\n }\n }\n }\n return {\n condition,\n nValid,\n nInvalid,\n invalidRejected,\n invalidRejectionInterval:\n nInvalid === 0 ? { lower: Number.NaN, upper: Number.NaN } : wilsonInterval(invalidRejected, nInvalid),\n kindNamedCorrectly,\n wrongAccepts,\n validAccepted,\n falseRejects,\n abstentions,\n unanswered,\n };\n}\n\n/** The paired comparison of two conditions' rejection of invalid items. @internal */\nexport interface PairedRejection {\n readonly conditionA: string;\n readonly conditionB: string;\n readonly table: { readonly a: number; readonly b: number; readonly c: number; readonly d: number };\n readonly difference: Interval & { readonly diff: number };\n readonly mcnemar: McNemarResult;\n /** The pre-registered criterion: the interval for A − B excludes zero, above it. */\n readonly aBetterExcludingZero: boolean;\n}\n\n/**\n * Compare two conditions on the SAME invalid items. An item counts as \"right\"\n * for a condition when it was rejected; an unanswered item is \"wrong\", not dropped.\n *\n * @throws Error when there are no invalid items.\n * @internal\n */\nexport function pairedRejection(\n conditionA: string,\n answersA: readonly ConditionAnswer[],\n conditionB: string,\n answersB: readonly ConditionAnswer[],\n labels: readonly ItemLabel[],\n): PairedRejection {\n const invalid = labels.filter((l) => l.kind === 'invalid');\n if (invalid.length === 0) throw new Error('pairedRejection: no invalid items to compare on');\n const rejectedBy = (answers: readonly ConditionAnswer[]): Set<string> =>\n new Set(answers.filter((x) => x.outcome === 'reject').map((x) => x.itemId));\n const ra = rejectedBy(answersA);\n const rb = rejectedBy(answersB);\n let a = 0;\n let b = 0;\n let c = 0;\n let d = 0;\n for (const l of invalid) {\n const x = ra.has(l.itemId);\n const y = rb.has(l.itemId);\n if (x && y) a++;\n else if (x) b++;\n else if (y) c++;\n else d++;\n }\n const table = { a, b, c, d };\n const difference = pairedDifferenceInterval(table);\n return {\n conditionA,\n conditionB,\n table,\n difference,\n mcnemar: mcnemar(table),\n aBetterExcludingZero: difference.lower > 0,\n };\n}\n\n/** One row of the ablation: a configuration's metrics and its step over the previous one. @internal */\nexport interface AblationRow {\n readonly configuration: string;\n readonly metrics: ConditionMetrics;\n /** Paired rejection of THIS configuration vs the previous one; absent for the first. */\n readonly stepOverPrevious?: PairedRejection;\n}\n\n/**\n * Score a sequence of named condition runs as an ablation: each row is scored,\n * and each row after the first is compared, paired on the same invalid items,\n * against the row before it — so the table shows what each added layer bought.\n *\n * @internal\n */\nexport function scoreAblation(\n runs: ReadonlyArray<readonly [string, readonly ConditionAnswer[]]>,\n labels: readonly ItemLabel[],\n): AblationRow[] {\n const rows: AblationRow[] = [];\n for (let i = 0; i < runs.length; i++) {\n const [name, answers] = runs[i]!;\n const metrics = scoreCondition(name, answers, labels);\n if (i === 0) rows.push({ configuration: name, metrics });\n else {\n const [prevName, prevAnswers] = runs[i - 1]!;\n rows.push({\n configuration: name,\n metrics,\n stepOverPrevious: pairedRejection(name, answers, prevName, prevAnswers, labels),\n });\n }\n }\n return rows;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/atlas/benchmark/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,iBAAiB;IACjB,kBAAkB;IAClB,qBAAqB;IACrB,oBAAoB;IACpB,yBAAyB;IACzB,mBAAmB;IACnB,eAAe;IACf,kBAAkB;CACV,CAAC;AAgBX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IACjD,WAAW;IACX,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,cAAc;IACd,eAAe;CAChB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/atlas/benchmark/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,iBAAiB;IACjB,kBAAkB;IAClB,qBAAqB;IACrB,oBAAoB;IACpB,yBAAyB;IACzB,mBAAmB;IACnB,eAAe;IACf,kBAAkB;CACV,CAAC;AAgBX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IACjD,WAAW;IACX,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,cAAc;IACd,eAAe;CAChB,CAAC","sourcesContent":["/**\n * Atlas Phase 5, S5.1 — the invalid-bridge benchmark's item schema.\n *\n * Design note: `docs/planning/Atlas-Phase-5-Design.md` §2.\n *\n * ⚠ **No agent authors a frozen item** (design note §0). This file defines the\n * SHAPE an independent author fills in; it contains no items.\n *\n * @module atlas/benchmark/types\n * @internal\n */\n\nimport type { ExprNode } from '../../dimensional/ast-types.js';\nimport type { Conventions, RegimeInequality, RelationType } from '../types.js';\n\n/** The eight failure kinds, sampled evenly (ROADMAP Phase 5). @internal */\nexport const FAILURE_KINDS = [\n 'omitted-premise',\n 'domain-violation',\n 'convention-mismatch',\n 'notation-collision',\n 'dimensional-coincidence',\n 'non-uniform-limit',\n 'false-inverse',\n 'analogy-promoted',\n] as const;\n\n/** One failure kind. @internal */\nexport type FailureKind = (typeof FAILURE_KINDS)[number];\n\n/**\n * Who wrote an item. Only `'independent'` may be frozen; `'contested-draft'`\n * is what an agent may produce, into `contested/`, and nothing else.\n *\n * @internal\n */\nexport type Authorship = 'independent' | 'contested-draft';\n\n/** Which split an item scores in. @internal */\nexport type BenchmarkSplit = 'in-distribution' | 'held-out';\n\n/**\n * The held-out family. Corrected from the plan's \"first-order relaxation\",\n * which Phase 0 already encodes as `model-first-order` (design note §4).\n *\n * @internal\n */\nexport const HELD_OUT_FAMILY = 'fluid-statics';\n\n/**\n * Markers that identify the held-out family in model ids, dynamics and bridge\n * ids. `tests/atlas/benchmark.test.ts` scans the atlas for them, and proves the\n * scan can fire with the ORIGINAL family's markers as a positive control.\n *\n * @internal\n */\nexport const HELD_OUT_MARKERS: readonly string[] = [\n 'hydrostat',\n 'buoyan',\n 'archimed',\n 'pascal',\n 'barometric',\n 'fluid-static',\n 'fluid statics',\n];\n\n/**\n * One benchmark item, as its PUBLIC half carries it — never the answer. Whether\n * the item is valid, and which failure kind it has, live only in the scorer\n * half (`ItemLabel` in `study.ts`), so a condition that reads the public file\n * cannot read the key.\n *\n * @internal\n */\nexport interface BenchmarkItem {\n readonly id: string;\n readonly premises: readonly string[];\n readonly conclusion: string;\n readonly claimedRelation: RelationType;\n readonly family: string;\n readonly split: BenchmarkSplit;\n /** The claimed relation as an AST, so the leakage check can run. */\n readonly expr: ExprNode;\n /** The id of the item this one renames, when it is a renamed-variable variant. */\n readonly renamedVariant?: string;\n readonly authorship: Authorship;\n /** Where the item came from: an erratum, a documented misconception, a textbook. */\n readonly source: string;\n\n // ── Machine fields (S5.2), all OPTIONAL. The atlas condition can decide only\n // what an item states; an absent field makes its check UNRUN, and an unrun\n // check can never support an accept. ────────────────────────────────────────\n\n /** The claim's stated side conditions, as prose. `[]` states \"none\". */\n readonly sideConditions?: readonly string[];\n /** Conventions declared by the premises and by the conclusion. */\n readonly conventions?: {\n readonly premise?: Conventions;\n readonly conclusion?: Conventions;\n };\n /** When the claim is a CHAIN: the two relations composed to reach `claimedRelation`. */\n readonly composedFrom?: readonly [RelationType, RelationType];\n /** The regime the claim is used in: its inequalities and the π-group values at the use site. */\n readonly regime?: {\n readonly inequalities: readonly RegimeInequality[];\n readonly values: Readonly<Record<string, number>>;\n };\n}\n"]}
@@ -2,9 +2,9 @@
2
2
  * One catalog bridge, joined to the canonical foreign key and the generated
3
3
  * formal reference.
4
4
  *
5
- * The catalog row, the right-hand side, the edges, and the evaluator stay
6
- * projections of `registerBridge`. This function reads them. It does not
7
- * store a second copy.
5
+ * The catalog row, the right-hand side, the edges, and the evaluator are
6
+ * projections of `data/bridge-catalog.json`. This function reads them. It
7
+ * does not store a second copy.
8
8
  *
9
9
  * @module atlas/bridge-record
10
10
  */
@@ -14,7 +14,7 @@
14
14
  *
15
15
  * @internal
16
16
  */
17
- export declare function getBridge(bridgeId: number | string): {
17
+ export declare function catalogBridgeRecord(bridgeId: number | string): {
18
18
  id: number;
19
19
  entry: import("../index.js").BridgeEquationEntry;
20
20
  rhs: import("../index.js").ExprNode | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-record.d.ts","sourceRoot":"","sources":["../../src/atlas/bridge-record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;;;;;;;;EAWlD"}
1
+ {"version":3,"file":"bridge-record.d.ts","sourceRoot":"","sources":["../../src/atlas/bridge-record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;;;;;;;;EAW5D"}
@@ -2,15 +2,15 @@
2
2
  * One catalog bridge, joined to the canonical foreign key and the generated
3
3
  * formal reference.
4
4
  *
5
- * The catalog row, the right-hand side, the edges, and the evaluator stay
6
- * projections of `registerBridge`. This function reads them. It does not
7
- * store a second copy.
5
+ * The catalog row, the right-hand side, the edges, and the evaluator are
6
+ * projections of `data/bridge-catalog.json`. This function reads them. It
7
+ * does not store a second copy.
8
8
  *
9
9
  * @module atlas/bridge-record
10
10
  */
11
11
  import { BRIDGE_EVALUATORS } from '../bridges/evaluators.js';
12
12
  import { CANONICAL_EQUATIONS } from '../canonical/registry.js';
13
- import { getBridge as joinBridge } from '../composition/descriptor.js';
13
+ import { getBridge } from '../composition/descriptor.js';
14
14
  import { catalogFormalRef } from './catalog-formal-ref.js';
15
15
  /**
16
16
  * The joined catalog record, plus the canonical id that restates it and the
@@ -18,8 +18,8 @@ import { catalogFormalRef } from './catalog-formal-ref.js';
18
18
  *
19
19
  * @internal
20
20
  */
21
- export function getBridge(bridgeId) {
22
- const joined = joinBridge(bridgeId);
21
+ export function catalogBridgeRecord(bridgeId) {
22
+ const joined = getBridge(bridgeId);
23
23
  const canonicalId = CANONICAL_EQUATIONS.find((equation) => equation.restatesBridge === String(joined.id))?.id;
24
24
  return {
25
25
  ...joined,
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-record.js","sourceRoot":"","sources":["../../src/atlas/bridge-record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,SAAS,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,QAAyB;IACjD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAC1C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAC5D,EAAE,EAAE,CAAC;IACN,OAAO;QACL,GAAG,MAAM;QACT,WAAW;QACX,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,SAAS,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"bridge-record.js","sourceRoot":"","sources":["../../src/atlas/bridge-record.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAyB;IAC3D,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAC1C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAC5D,EAAE,EAAE,CAAC;IACN,OAAO;QACL,GAAG,MAAM;QACT,WAAW;QACX,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,SAAS,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC","sourcesContent":["/**\n * One catalog bridge, joined to the canonical foreign key and the generated\n * formal reference.\n *\n * The catalog row, the right-hand side, the edges, and the evaluator are\n * projections of `data/bridge-catalog.json`. This function reads them. It\n * does not store a second copy.\n *\n * @module atlas/bridge-record\n */\n\nimport { BRIDGE_EVALUATORS } from '../bridges/evaluators.js';\nimport { CANONICAL_EQUATIONS } from '../canonical/registry.js';\nimport { getBridge } from '../composition/descriptor.js';\nimport { catalogFormalRef } from './catalog-formal-ref.js';\n\n/**\n * The joined catalog record, plus the canonical id that restates it and the\n * generated formal reference.\n *\n * @internal\n */\nexport function catalogBridgeRecord(bridgeId: number | string) {\n const joined = getBridge(bridgeId);\n const canonicalId = CANONICAL_EQUATIONS.find(\n (equation) => equation.restatesBridge === String(joined.id),\n )?.id;\n return {\n ...joined,\n canonicalId,\n formalRef: catalogFormalRef(joined.id),\n evaluator: BRIDGE_EVALUATORS.get(joined.id),\n };\n}\n"]}
@@ -1,13 +1,17 @@
1
1
  /**
2
2
  * Catalog formal references.
3
3
  *
4
- * The catalog row stores the manifest key. This module asks PhysJS for that
5
- * key. It does not parse an id out of text, and it does not store an evidence
6
- * tag.
4
+ * The catalog row stores the manifest key, and beside it two projections of
5
+ * the manifest: the theorem that key names and the record's proof status.
6
+ * This module builds the reference from the key, derives the status from
7
+ * that reference, and reports a row whose stored projections disagree with
8
+ * the derivation. It does not parse an id out of text, and it does not store
9
+ * an evidence tag.
7
10
  *
8
11
  * @module atlas/catalog-formal-ref
9
12
  */
10
13
  import type { FormalRef } from '../relations/types.js';
14
+ import type { CatalogEntry, ProofStatus } from '../bridges/catalog-types.js';
11
15
  /**
12
16
  * The reviewed PhysJS reference for a catalog id, or `undefined` when the
13
17
  * row records no manifest key.
@@ -15,4 +19,23 @@ import type { FormalRef } from '../relations/types.js';
15
19
  * @internal
16
20
  */
17
21
  export declare function catalogFormalRef(id: number): FormalRef | undefined;
22
+ /**
23
+ * The proof status a record earns, derived from its reference: `pending` with
24
+ * no formalKey, `full` for a reviewed kind-`bridge` reference, `weak` for any
25
+ * other reference. `reference` is the record's {@link catalogFormalRef}.
26
+ *
27
+ * @internal
28
+ */
29
+ export declare function deriveProofStatus(reference: FormalRef | undefined): ProofStatus;
30
+ /**
31
+ * Records whose stored `theorem` or `proofStatus` disagree with the manifest:
32
+ * a theorem that is not the one the manifest entry of `formalKey` names, a
33
+ * theorem on a record with no `formalKey` (or none on a record with one), and
34
+ * a status other than {@link deriveProofStatus}. Empty means every record's
35
+ * projections are the manifest's. `referenceOf` defaults to the manifest's
36
+ * reference for the key; a test passes a changed one.
37
+ *
38
+ * @internal
39
+ */
40
+ export declare function catalogProofProblems(entries?: readonly CatalogEntry[], referenceOf?: (key: string) => FormalRef): string[];
18
41
  //# sourceMappingURL=catalog-formal-ref.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-formal-ref.d.ts","sourceRoot":"","sources":["../../src/atlas/catalog-formal-ref.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAOvD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAMlE"}
1
+ {"version":3,"file":"catalog-formal-ref.d.ts","sourceRoot":"","sources":["../../src/atlas/catalog-formal-ref.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAO7E;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAUlE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAG/E;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,GAAE,SAAS,YAAY,EAAqB,EACnD,WAAW,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAA2B,GACxD,MAAM,EAAE,CAeV"}
@@ -1,13 +1,16 @@
1
1
  /**
2
2
  * Catalog formal references.
3
3
  *
4
- * The catalog row stores the manifest key. This module asks PhysJS for that
5
- * key. It does not parse an id out of text, and it does not store an evidence
6
- * tag.
4
+ * The catalog row stores the manifest key, and beside it two projections of
5
+ * the manifest: the theorem that key names and the record's proof status.
6
+ * This module builds the reference from the key, derives the status from
7
+ * that reference, and reports a row whose stored projections disagree with
8
+ * the derivation. It does not parse an id out of text, and it does not store
9
+ * an evidence tag.
7
10
  *
8
11
  * @module atlas/catalog-formal-ref
9
12
  */
10
- import { catalogEntry } from '../bridges/catalog-load.js';
13
+ import { catalogEntries, catalogEntry } from '../bridges/catalog-load.js';
11
14
  import { physjsFormalRef } from './physjs-ref.js';
12
15
  /** Memo of the PhysJS reference already built for a catalog id. */
13
16
  const byId = new Map();
@@ -20,9 +23,53 @@ const byId = new Map();
20
23
  export function catalogFormalRef(id) {
21
24
  if (byId.has(id))
22
25
  return byId.get(id);
23
- const key = catalogEntry(id)?.formalKey;
26
+ const entry = catalogEntry(id);
27
+ const key = entry?.formalKey;
24
28
  const ref = key === undefined ? undefined : physjsFormalRef(key);
29
+ if (ref !== undefined && entry?.theorem !== ref.statement) {
30
+ throw new Error(`catalog id ${id} names theorem '${entry?.theorem}', the manifest entry '${key}' names '${ref.statement}'`);
31
+ }
25
32
  byId.set(id, ref);
26
33
  return ref;
27
34
  }
35
+ /**
36
+ * The proof status a record earns, derived from its reference: `pending` with
37
+ * no formalKey, `full` for a reviewed kind-`bridge` reference, `weak` for any
38
+ * other reference. `reference` is the record's {@link catalogFormalRef}.
39
+ *
40
+ * @internal
41
+ */
42
+ export function deriveProofStatus(reference) {
43
+ if (reference === undefined)
44
+ return 'pending';
45
+ return reference.kind === 'bridge' && reference.fidelity !== 'unreviewed' ? 'full' : 'weak';
46
+ }
47
+ /**
48
+ * Records whose stored `theorem` or `proofStatus` disagree with the manifest:
49
+ * a theorem that is not the one the manifest entry of `formalKey` names, a
50
+ * theorem on a record with no `formalKey` (or none on a record with one), and
51
+ * a status other than {@link deriveProofStatus}. Empty means every record's
52
+ * projections are the manifest's. `referenceOf` defaults to the manifest's
53
+ * reference for the key; a test passes a changed one.
54
+ *
55
+ * @internal
56
+ */
57
+ export function catalogProofProblems(entries = catalogEntries(), referenceOf = physjsFormalRef) {
58
+ const problems = [];
59
+ for (const entry of entries) {
60
+ const reference = entry.formalKey === undefined ? undefined : referenceOf(entry.formalKey);
61
+ if (reference === undefined) {
62
+ if (entry.theorem !== undefined)
63
+ problems.push(`catalog id ${entry.id} names theorem '${entry.theorem}' and has no formalKey`);
64
+ }
65
+ else if (entry.theorem !== reference.statement) {
66
+ problems.push(`catalog id ${entry.id} theorem is '${entry.theorem ?? '(none)'}', the manifest entry '${entry.formalKey}' names '${reference.statement}'`);
67
+ }
68
+ const derived = deriveProofStatus(reference);
69
+ if (entry.proofStatus !== derived) {
70
+ problems.push(`catalog id ${entry.id} proofStatus is '${entry.proofStatus}', derived '${derived}'`);
71
+ }
72
+ }
73
+ return problems;
74
+ }
28
75
  //# sourceMappingURL=catalog-formal-ref.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-formal-ref.js","sourceRoot":"","sources":["../../src/atlas/catalog-formal-ref.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,mEAAmE;AACnE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAiC,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAU;IACzC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC;IACxC,MAAM,GAAG,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACjE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAClB,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"catalog-formal-ref.js","sourceRoot":"","sources":["../../src/atlas/catalog-formal-ref.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,mEAAmE;AACnE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAiC,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAU;IACzC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,KAAK,EAAE,SAAS,CAAC;IAC7B,MAAM,GAAG,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACjE,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,EAAE,OAAO,KAAK,GAAG,CAAC,SAAS,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,cAAc,EAAE,mBAAmB,KAAK,EAAE,OAAO,0BAA0B,GAAG,YAAY,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;IAC9H,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAClB,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAgC;IAChE,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC9C,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAC9F,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAO,GAA4B,cAAc,EAAE,EACnD,WAAW,GAA+B,eAAe;IAEzD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3F,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;gBAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,EAAE,mBAAmB,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;QACjI,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,SAAS,EAAE,CAAC;YACjD,QAAQ,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,EAAE,gBAAgB,KAAK,CAAC,OAAO,IAAI,QAAQ,0BAA0B,KAAK,CAAC,SAAS,YAAY,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC;QAC5J,CAAC;QACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,EAAE,oBAAoB,KAAK,CAAC,WAAW,eAAe,OAAO,GAAG,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC","sourcesContent":["/**\n * Catalog formal references.\n *\n * The catalog row stores the manifest key, and beside it two projections of\n * the manifest: the theorem that key names and the record's proof status.\n * This module builds the reference from the key, derives the status from\n * that reference, and reports a row whose stored projections disagree with\n * the derivation. It does not parse an id out of text, and it does not store\n * an evidence tag.\n *\n * @module atlas/catalog-formal-ref\n */\n\nimport type { FormalRef } from '../relations/types.js';\nimport type { CatalogEntry, ProofStatus } from '../bridges/catalog-types.js';\nimport { catalogEntries, catalogEntry } from '../bridges/catalog-load.js';\nimport { physjsFormalRef } from './physjs-ref.js';\n\n/** Memo of the PhysJS reference already built for a catalog id. */\nconst byId = new Map<number, FormalRef | undefined>();\n\n/**\n * The reviewed PhysJS reference for a catalog id, or `undefined` when the\n * row records no manifest key.\n *\n * @internal\n */\nexport function catalogFormalRef(id: number): FormalRef | undefined {\n if (byId.has(id)) return byId.get(id);\n const entry = catalogEntry(id);\n const key = entry?.formalKey;\n const ref = key === undefined ? undefined : physjsFormalRef(key);\n if (ref !== undefined && entry?.theorem !== ref.statement) {\n throw new Error(`catalog id ${id} names theorem '${entry?.theorem}', the manifest entry '${key}' names '${ref.statement}'`);\n }\n byId.set(id, ref);\n return ref;\n}\n\n/**\n * The proof status a record earns, derived from its reference: `pending` with\n * no formalKey, `full` for a reviewed kind-`bridge` reference, `weak` for any\n * other reference. `reference` is the record's {@link catalogFormalRef}.\n *\n * @internal\n */\nexport function deriveProofStatus(reference: FormalRef | undefined): ProofStatus {\n if (reference === undefined) return 'pending';\n return reference.kind === 'bridge' && reference.fidelity !== 'unreviewed' ? 'full' : 'weak';\n}\n\n/**\n * Records whose stored `theorem` or `proofStatus` disagree with the manifest:\n * a theorem that is not the one the manifest entry of `formalKey` names, a\n * theorem on a record with no `formalKey` (or none on a record with one), and\n * a status other than {@link deriveProofStatus}. Empty means every record's\n * projections are the manifest's. `referenceOf` defaults to the manifest's\n * reference for the key; a test passes a changed one.\n *\n * @internal\n */\nexport function catalogProofProblems(\n entries: readonly CatalogEntry[] = catalogEntries(),\n referenceOf: (key: string) => FormalRef = physjsFormalRef,\n): string[] {\n const problems: string[] = [];\n for (const entry of entries) {\n const reference = entry.formalKey === undefined ? undefined : referenceOf(entry.formalKey);\n if (reference === undefined) {\n if (entry.theorem !== undefined) problems.push(`catalog id ${entry.id} names theorem '${entry.theorem}' and has no formalKey`);\n } else if (entry.theorem !== reference.statement) {\n problems.push(`catalog id ${entry.id} theorem is '${entry.theorem ?? '(none)'}', the manifest entry '${entry.formalKey}' names '${reference.statement}'`);\n }\n const derived = deriveProofStatus(reference);\n if (entry.proofStatus !== derived) {\n problems.push(`catalog id ${entry.id} proofStatus is '${entry.proofStatus}', derived '${derived}'`);\n }\n }\n return problems;\n}\n"]}
@@ -16,7 +16,6 @@
16
16
  import type { ExprNode } from '../dimensional/validator.js';
17
17
  import type { Dimension } from '../dimensional/types.js';
18
18
  import type { BridgeEdge } from '../composition/edge.js';
19
- import type { CompositionResult } from '../relations/composition-table.js';
20
19
  import { type ChainRecord } from '../composition/chain-result.js';
21
20
  import { type ChainRegimeMismatch } from '../composition/chain-regime.js';
22
21
  /** A chain whose normal form matches a catalog equation. Nothing was written. @internal */
@@ -66,16 +65,6 @@ export declare function governingOf(expr: ExprNode, targetName: string): {
66
65
  name: string;
67
66
  dim: Dimension;
68
67
  }[];
69
- /**
70
- * The category claim recorded for two quantity edges.
71
- *
72
- * A quantity edge stores a quantity name, not a category object id.
73
- * This step does not invent that id, so the recorded result is unset
74
- * even when both edges store a relation. The pair is not dropped.
75
- *
76
- * @internal
77
- */
78
- export declare function categoryCompositionForChain(first: BridgeEdge, second: BridgeEdge): CompositionResult | undefined;
79
68
  /**
80
69
  * The orchestrator view of one {@link ChainRecord}.
81
70
  *
@@ -1 +1 @@
1
- {"version":3,"file":"chain-pipeline.d.ts","sourceRoot":"","sources":["../../src/atlas/chain-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAIzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAI3E,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAK9F,2FAA2F;AAC3F,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,6FAA6F;AAC7F,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,0FAA0F;AAC1F,MAAM,MAAM,mBAAmB,GAC3B,uBAAuB,GACvB,sBAAsB,GACtB,eAAe,GACf,mBAAmB,GACnB,uBAAuB,CAAC;AAY5B;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,SAAS,CAAA;CAAE,EAAE,CASlG;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,GACjB,iBAAiB,GAAG,SAAS,CAI/B;AAyCD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,YAAY,GAAE,SAAS,MAAM,EAAO,GACnC,mBAAmB,CAyBrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,mBAAmB,EAAE,CAiD7F"}
1
+ {"version":3,"file":"chain-pipeline.d.ts","sourceRoot":"","sources":["../../src/atlas/chain-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAKzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKzD,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAK9F,2FAA2F;AAC3F,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,6FAA6F;AAC7F,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,0FAA0F;AAC1F,MAAM,MAAM,mBAAmB,GAC3B,uBAAuB,GACvB,sBAAsB,GACtB,eAAe,GACf,mBAAmB,GACnB,uBAAuB,CAAC;AAQ5B;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,SAAS,CAAA;CAAE,EAAE,CASlG;AAyCD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,YAAY,GAAE,SAAS,MAAM,EAAO,GACnC,mBAAmB,CAyBrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,mBAAmB,EAAE,CAqD7F"}