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.
- package/README.md +21 -17
- package/bin/upt.mjs +13 -1
- package/data/atlas/atlas.json +79 -68
- package/data/atlas/atlas.jsonld +1 -1
- package/data/atlas/diffusion.json +24 -23
- package/data/atlas/oscillators.json +21 -16
- package/data/atlas/waves.json +36 -31
- package/data/atlas/witness-results.json +11 -11
- package/data/bridge-catalog.json +1192 -1636
- package/data/bridge-catalog.schema.json +390 -135
- package/data/quantities.json +53 -19
- package/data/schemas/atlas-record.v0.json +184 -46
- package/data/units.json +33 -4
- package/dist/atlas/applicability.d.ts.map +1 -1
- package/dist/atlas/applicability.js +35 -18
- package/dist/atlas/applicability.js.map +1 -1
- package/dist/atlas/association.js.map +1 -1
- package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -1
- package/dist/atlas/benchmark/backend-shapes.js +5 -1
- package/dist/atlas/benchmark/backend-shapes.js.map +1 -1
- package/dist/atlas/benchmark/baselines.d.ts.map +1 -1
- package/dist/atlas/benchmark/baselines.js +8 -0
- package/dist/atlas/benchmark/baselines.js.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts +12 -3
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.js +30 -21
- package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
- package/dist/atlas/benchmark/leakage.js.map +1 -1
- package/dist/atlas/benchmark/loader.js +2 -2
- package/dist/atlas/benchmark/loader.js.map +1 -1
- package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -1
- package/dist/atlas/benchmark/run-atlas.js +14 -2
- package/dist/atlas/benchmark/run-atlas.js.map +1 -1
- package/dist/atlas/benchmark/stats.d.ts +3 -3
- package/dist/atlas/benchmark/stats.d.ts.map +1 -1
- package/dist/atlas/benchmark/stats.js +16 -8
- package/dist/atlas/benchmark/stats.js.map +1 -1
- package/dist/atlas/benchmark/study.js.map +1 -1
- package/dist/atlas/benchmark/types.js.map +1 -1
- package/dist/atlas/bridge-record.d.ts +4 -4
- package/dist/atlas/bridge-record.d.ts.map +1 -1
- package/dist/atlas/bridge-record.js +6 -6
- package/dist/atlas/bridge-record.js.map +1 -1
- package/dist/atlas/catalog-formal-ref.d.ts +26 -3
- package/dist/atlas/catalog-formal-ref.d.ts.map +1 -1
- package/dist/atlas/catalog-formal-ref.js +52 -5
- package/dist/atlas/catalog-formal-ref.js.map +1 -1
- package/dist/atlas/chain-pipeline.d.ts +0 -11
- package/dist/atlas/chain-pipeline.d.ts.map +1 -1
- package/dist/atlas/chain-pipeline.js +12 -24
- package/dist/atlas/chain-pipeline.js.map +1 -1
- package/dist/atlas/composition-table.js.map +1 -1
- package/dist/atlas/conventions.js.map +1 -1
- package/dist/atlas/coverage.d.ts +2 -2
- package/dist/atlas/coverage.js.map +1 -1
- package/dist/atlas/derivation.js.map +1 -1
- package/dist/atlas/derive-evidence.d.ts +6 -4
- package/dist/atlas/derive-evidence.d.ts.map +1 -1
- package/dist/atlas/derive-evidence.js +7 -2
- package/dist/atlas/derive-evidence.js.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.d.ts +0 -4
- package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.js +8 -17
- package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
- package/dist/atlas/diffusion/bridges.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges.js +27 -42
- package/dist/atlas/diffusion/bridges.js.map +1 -1
- package/dist/atlas/diffusion/dimensions.d.ts +6 -14
- package/dist/atlas/diffusion/dimensions.d.ts.map +1 -1
- package/dist/atlas/diffusion/dimensions.js +8 -16
- package/dist/atlas/diffusion/dimensions.js.map +1 -1
- package/dist/atlas/diffusion/index.d.ts +1 -1
- package/dist/atlas/diffusion/index.d.ts.map +1 -1
- package/dist/atlas/diffusion/index.js.map +1 -1
- package/dist/atlas/diffusion/models.d.ts +3 -3
- package/dist/atlas/diffusion/models.d.ts.map +1 -1
- package/dist/atlas/diffusion/models.js +5 -10
- package/dist/atlas/diffusion/models.js.map +1 -1
- package/dist/atlas/diffusion/numerics.d.ts +16 -4
- package/dist/atlas/diffusion/numerics.d.ts.map +1 -1
- package/dist/atlas/diffusion/numerics.js +38 -24
- package/dist/atlas/diffusion/numerics.js.map +1 -1
- package/dist/atlas/error-algebra.d.ts +6 -0
- package/dist/atlas/error-algebra.d.ts.map +1 -1
- package/dist/atlas/error-algebra.js +26 -0
- package/dist/atlas/error-algebra.js.map +1 -1
- package/dist/atlas/export.d.ts +18 -2
- package/dist/atlas/export.d.ts.map +1 -1
- package/dist/atlas/export.js +9 -3
- package/dist/atlas/export.js.map +1 -1
- package/dist/atlas/families.d.ts +19 -2
- package/dist/atlas/families.d.ts.map +1 -1
- package/dist/atlas/families.js +26 -3
- package/dist/atlas/families.js.map +1 -1
- package/dist/atlas/family.d.ts +27 -0
- package/dist/atlas/family.d.ts.map +1 -0
- package/dist/atlas/family.js +12 -0
- package/dist/atlas/family.js.map +1 -0
- package/dist/atlas/index.d.ts +3 -2
- package/dist/atlas/index.d.ts.map +1 -1
- package/dist/atlas/index.js +2 -1
- package/dist/atlas/index.js.map +1 -1
- package/dist/atlas/link-prediction.d.ts +107 -4
- package/dist/atlas/link-prediction.d.ts.map +1 -1
- package/dist/atlas/link-prediction.js +212 -66
- package/dist/atlas/link-prediction.js.map +1 -1
- package/dist/atlas/model.js.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.js +7 -12
- package/dist/atlas/oscillators/bridges-coarse.js.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.js +6 -10
- package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.d.ts +3 -16
- package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.js +23 -36
- package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
- package/dist/atlas/oscillators/dimensions.d.ts +9 -21
- package/dist/atlas/oscillators/dimensions.d.ts.map +1 -1
- package/dist/atlas/oscillators/dimensions.js +9 -21
- package/dist/atlas/oscillators/dimensions.js.map +1 -1
- package/dist/atlas/oscillators/index.d.ts +1 -16
- package/dist/atlas/oscillators/index.d.ts.map +1 -1
- package/dist/atlas/oscillators/index.js.map +1 -1
- package/dist/atlas/oscillators/limit-witnesses.d.ts +2 -2
- package/dist/atlas/oscillators/limit-witnesses.d.ts.map +1 -1
- package/dist/atlas/oscillators/limit-witnesses.js +17 -15
- package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
- package/dist/atlas/oscillators/models.d.ts.map +1 -1
- package/dist/atlas/oscillators/models.js +2 -6
- package/dist/atlas/oscillators/models.js.map +1 -1
- package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -1
- package/dist/atlas/oscillators/norm-transport.js.map +1 -1
- package/dist/atlas/oscillators/norms.js.map +1 -1
- package/dist/atlas/oscillators/pendulum-motion.d.ts +29 -6
- package/dist/atlas/oscillators/pendulum-motion.d.ts.map +1 -1
- package/dist/atlas/oscillators/pendulum-motion.js +60 -40
- package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
- package/dist/atlas/oscillators/phase-carriage.js.map +1 -1
- package/dist/atlas/oscillators/phase-translation.d.ts +0 -11
- package/dist/atlas/oscillators/phase-translation.d.ts.map +1 -1
- package/dist/atlas/oscillators/phase-translation.js +3 -4
- package/dist/atlas/oscillators/phase-translation.js.map +1 -1
- package/dist/atlas/oscillators/position-translation.d.ts +68 -7
- package/dist/atlas/oscillators/position-translation.d.ts.map +1 -1
- package/dist/atlas/oscillators/position-translation.js +123 -12
- package/dist/atlas/oscillators/position-translation.js.map +1 -1
- package/dist/atlas/oscillators/rejections.d.ts +0 -2
- package/dist/atlas/oscillators/rejections.d.ts.map +1 -1
- package/dist/atlas/oscillators/rejections.js +0 -7
- package/dist/atlas/oscillators/rejections.js.map +1 -1
- package/dist/atlas/path-bound.js.map +1 -1
- package/dist/atlas/physjs-entries.generated.d.ts +25 -24
- package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
- package/dist/atlas/physjs-entries.generated.js +25 -24
- package/dist/atlas/physjs-entries.generated.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +107 -70
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +184 -101
- package/dist/atlas/physjs-ref.js.map +1 -1
- package/dist/atlas/physjs-reviewed.d.ts +31 -0
- package/dist/atlas/physjs-reviewed.d.ts.map +1 -0
- package/dist/atlas/physjs-reviewed.js +194 -0
- package/dist/atlas/physjs-reviewed.js.map +1 -0
- package/dist/atlas/poster/associations.js.map +1 -1
- package/dist/atlas/poster/derivations.js.map +1 -1
- package/dist/atlas/poster/statements.d.ts +0 -19
- package/dist/atlas/poster/statements.d.ts.map +1 -1
- package/dist/atlas/poster/statements.js +1 -1
- package/dist/atlas/poster/statements.js.map +1 -1
- package/dist/atlas/proof-target.d.ts +1 -1
- package/dist/atlas/proof-target.js +1 -1
- package/dist/atlas/proof-target.js.map +1 -1
- package/dist/atlas/public.d.ts +2 -1
- package/dist/atlas/public.d.ts.map +1 -1
- package/dist/atlas/public.js +2 -1
- package/dist/atlas/public.js.map +1 -1
- package/dist/atlas/regime.d.ts +1 -1
- package/dist/atlas/regime.d.ts.map +1 -1
- package/dist/atlas/regime.js +1 -1
- package/dist/atlas/regime.js.map +1 -1
- package/dist/atlas/serialize.d.ts +18 -12
- package/dist/atlas/serialize.d.ts.map +1 -1
- package/dist/atlas/serialize.js +28 -18
- package/dist/atlas/serialize.js.map +1 -1
- package/dist/atlas/statement.js.map +1 -1
- package/dist/atlas/text-overlap.d.ts +23 -0
- package/dist/atlas/text-overlap.d.ts.map +1 -0
- package/dist/atlas/text-overlap.js +41 -0
- package/dist/atlas/text-overlap.js.map +1 -0
- package/dist/atlas/translation-registry.js.map +1 -1
- package/dist/atlas/translation.js.map +1 -1
- package/dist/atlas/types.d.ts +9 -2
- package/dist/atlas/types.d.ts.map +1 -1
- package/dist/atlas/types.js +1 -1
- package/dist/atlas/types.js.map +1 -1
- package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/waves/bridges-closure.js +2 -9
- package/dist/atlas/waves/bridges-closure.js.map +1 -1
- package/dist/atlas/waves/bridges.d.ts.map +1 -1
- package/dist/atlas/waves/bridges.js +32 -52
- package/dist/atlas/waves/bridges.js.map +1 -1
- package/dist/atlas/waves/index.d.ts +1 -1
- package/dist/atlas/waves/index.d.ts.map +1 -1
- package/dist/atlas/waves/index.js.map +1 -1
- package/dist/atlas/waves/models.d.ts +5 -6
- package/dist/atlas/waves/models.d.ts.map +1 -1
- package/dist/atlas/waves/models.js +7 -13
- package/dist/atlas/waves/models.js.map +1 -1
- package/dist/atlas/waves/numerics.d.ts.map +1 -1
- package/dist/atlas/waves/numerics.js +10 -3
- package/dist/atlas/waves/numerics.js.map +1 -1
- package/dist/atlas/witness-artifact.js.map +1 -1
- package/dist/atlas/witness-dominance.d.ts +4 -3
- package/dist/atlas/witness-dominance.d.ts.map +1 -1
- package/dist/atlas/witness-dominance.js +15 -5
- package/dist/atlas/witness-dominance.js.map +1 -1
- package/dist/atlas/witness-numeric.d.ts +38 -4
- package/dist/atlas/witness-numeric.d.ts.map +1 -1
- package/dist/atlas/witness-numeric.js +80 -2
- package/dist/atlas/witness-numeric.js.map +1 -1
- package/dist/atlas/witness-result.d.ts +7 -1
- package/dist/atlas/witness-result.d.ts.map +1 -1
- package/dist/atlas/witness-result.js.map +1 -1
- package/dist/atlas/witness-specs.d.ts.map +1 -1
- package/dist/atlas/witness-specs.js +19 -0
- package/dist/atlas/witness-specs.js.map +1 -1
- package/dist/atlas/witness-symbolic.d.ts +75 -3
- package/dist/atlas/witness-symbolic.d.ts.map +1 -1
- package/dist/atlas/witness-symbolic.js +116 -10
- package/dist/atlas/witness-symbolic.js.map +1 -1
- package/dist/atlas/witnesses/quantum-support.js.map +1 -1
- package/dist/bridges/caller-table.d.ts +1 -1
- package/dist/bridges/caller-table.d.ts.map +1 -1
- package/dist/bridges/caller-table.js.map +1 -1
- package/dist/bridges/carrier-sign.d.ts.map +1 -1
- package/dist/bridges/carrier-sign.js +8 -3
- package/dist/bridges/carrier-sign.js.map +1 -1
- package/dist/bridges/catalog-adapter.d.ts +12 -3
- package/dist/bridges/catalog-adapter.d.ts.map +1 -1
- package/dist/bridges/catalog-adapter.js +17 -9
- package/dist/bridges/catalog-adapter.js.map +1 -1
- package/dist/bridges/catalog-load.d.ts +12 -2
- package/dist/bridges/catalog-load.d.ts.map +1 -1
- package/dist/bridges/catalog-load.js +181 -13
- package/dist/bridges/catalog-load.js.map +1 -1
- package/dist/bridges/catalog-types.d.ts +74 -26
- package/dist/bridges/catalog-types.d.ts.map +1 -1
- package/dist/bridges/catalog-types.js +11 -1
- package/dist/bridges/catalog-types.js.map +1 -1
- package/dist/bridges/coefficient-statement.js +1 -5
- package/dist/bridges/coefficient-statement.js.map +1 -1
- package/dist/bridges/confrontation-coverage.js.map +1 -1
- package/dist/bridges/confrontations.d.ts +1 -1
- package/dist/bridges/confrontations.d.ts.map +1 -1
- package/dist/bridges/confrontations.js +1 -1
- package/dist/bridges/confrontations.js.map +1 -1
- package/dist/bridges/evaluation-errors.d.ts +46 -3
- package/dist/bridges/evaluation-errors.d.ts.map +1 -1
- package/dist/bridges/evaluation-errors.js +40 -4
- package/dist/bridges/evaluation-errors.js.map +1 -1
- package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
- package/dist/bridges/evaluator-inputs.js +7 -5
- package/dist/bridges/evaluator-inputs.js.map +1 -1
- package/dist/bridges/evaluators.d.ts +17 -2
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +76 -28
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/expr-parse.d.ts +38 -4
- package/dist/bridges/expr-parse.d.ts.map +1 -1
- package/dist/bridges/expr-parse.js +101 -12
- package/dist/bridges/expr-parse.js.map +1 -1
- package/dist/bridges/holds.d.ts +40 -4
- package/dist/bridges/holds.d.ts.map +1 -1
- package/dist/bridges/holds.js +128 -19
- package/dist/bridges/holds.js.map +1 -1
- package/dist/bridges/index.d.ts +15 -14
- package/dist/bridges/index.d.ts.map +1 -1
- package/dist/bridges/index.js +14 -15
- package/dist/bridges/index.js.map +1 -1
- package/dist/bridges/input-contract.js.map +1 -1
- package/dist/bridges/membership.d.ts +5 -3
- package/dist/bridges/membership.d.ts.map +1 -1
- package/dist/bridges/membership.js +5 -6
- package/dist/bridges/membership.js.map +1 -1
- package/dist/bridges/notices.d.ts.map +1 -1
- package/dist/bridges/notices.js +5 -5
- package/dist/bridges/notices.js.map +1 -1
- package/dist/bridges/observations/types.js.map +1 -1
- package/dist/bridges/rejected.d.ts +11 -17
- package/dist/bridges/rejected.d.ts.map +1 -1
- package/dist/bridges/rejected.js +13 -68
- package/dist/bridges/rejected.js.map +1 -1
- package/dist/bridges/relation-eval.d.ts +6 -7
- package/dist/bridges/relation-eval.d.ts.map +1 -1
- package/dist/bridges/relation-eval.js +20 -50
- package/dist/bridges/relation-eval.js.map +1 -1
- package/dist/bridges/rhs-registry.js.map +1 -1
- package/dist/bridges/sensitivity.d.ts +11 -3
- package/dist/bridges/sensitivity.d.ts.map +1 -1
- package/dist/bridges/sensitivity.js +27 -13
- package/dist/bridges/sensitivity.js.map +1 -1
- package/dist/bridges/tensor-index.js.map +1 -1
- package/dist/bridges/types.d.ts +1 -7
- package/dist/bridges/types.d.ts.map +1 -1
- package/dist/bridges/types.js +1 -4
- package/dist/bridges/types.js.map +1 -1
- package/dist/bridges/validity.d.ts +33 -0
- package/dist/bridges/validity.d.ts.map +1 -0
- package/dist/bridges/validity.js +67 -0
- package/dist/bridges/validity.js.map +1 -0
- package/dist/canonical/canonical-equation.js.map +1 -1
- package/dist/canonical/dimensional-fields.js.map +1 -1
- package/dist/canonical/entries/_l1-build.js.map +1 -1
- package/dist/canonical/entries/atomic.js +1 -3
- package/dist/canonical/entries/atomic.js.map +1 -1
- package/dist/canonical/entries/condensed-matter.d.ts.map +1 -1
- package/dist/canonical/entries/condensed-matter.js +8 -9
- package/dist/canonical/entries/condensed-matter.js.map +1 -1
- package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
- package/dist/canonical/entries/dimensional-classics.js +5 -6
- package/dist/canonical/entries/dimensional-classics.js.map +1 -1
- package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
- package/dist/canonical/entries/electromagnetism.js +6 -12
- package/dist/canonical/entries/electromagnetism.js.map +1 -1
- package/dist/canonical/entries/fluids-waves.d.ts.map +1 -1
- package/dist/canonical/entries/fluids-waves.js +3 -7
- package/dist/canonical/entries/fluids-waves.js.map +1 -1
- package/dist/canonical/entries/mechanics.d.ts.map +1 -1
- package/dist/canonical/entries/mechanics.js +4 -6
- package/dist/canonical/entries/mechanics.js.map +1 -1
- package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
- package/dist/canonical/entries/nonmonomial.js +38 -39
- package/dist/canonical/entries/nonmonomial.js.map +1 -1
- package/dist/canonical/entries/relativity.d.ts.map +1 -1
- package/dist/canonical/entries/relativity.js +6 -6
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.js +5 -5
- package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.js +6 -10
- package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
- package/dist/canonical/fixed-points.d.ts +94 -0
- package/dist/canonical/fixed-points.d.ts.map +1 -0
- package/dist/canonical/fixed-points.js +81 -0
- package/dist/canonical/fixed-points.js.map +1 -0
- package/dist/canonical/linkage.d.ts +29 -4
- package/dist/canonical/linkage.d.ts.map +1 -1
- package/dist/canonical/linkage.js +47 -64
- package/dist/canonical/linkage.js.map +1 -1
- package/dist/canonical/normal-form.d.ts +0 -8
- package/dist/canonical/normal-form.d.ts.map +1 -1
- package/dist/canonical/normal-form.js +22 -23
- package/dist/canonical/normal-form.js.map +1 -1
- package/dist/canonical/registry.js.map +1 -1
- package/dist/canonical/residual.js.map +1 -1
- package/dist/canonical/seed-l-layer.d.ts +7 -1
- package/dist/canonical/seed-l-layer.d.ts.map +1 -1
- package/dist/canonical/seed-l-layer.js +7 -1
- package/dist/canonical/seed-l-layer.js.map +1 -1
- package/dist/canonical/structural.d.ts +42 -21
- package/dist/canonical/structural.d.ts.map +1 -1
- package/dist/canonical/structural.js +64 -23
- package/dist/canonical/structural.js.map +1 -1
- package/dist/cases/brownian-sphere.d.ts +3 -3
- package/dist/cases/brownian-sphere.d.ts.map +1 -1
- package/dist/cases/brownian-sphere.js +10 -9
- package/dist/cases/brownian-sphere.js.map +1 -1
- package/dist/cases/damped-resonator.d.ts.map +1 -1
- package/dist/cases/damped-resonator.js +8 -11
- package/dist/cases/damped-resonator.js.map +1 -1
- package/dist/cases/index.js.map +1 -1
- package/dist/cases/kepler-rv.d.ts +1 -1
- package/dist/cases/kepler-rv.d.ts.map +1 -1
- package/dist/cases/kepler-rv.js +3 -2
- package/dist/cases/kepler-rv.js.map +1 -1
- package/dist/cases/lumped-cooling.d.ts +8 -3
- package/dist/cases/lumped-cooling.d.ts.map +1 -1
- package/dist/cases/lumped-cooling.js +22 -24
- package/dist/cases/lumped-cooling.js.map +1 -1
- package/dist/cases/quadrature.d.ts +7 -9
- package/dist/cases/quadrature.d.ts.map +1 -1
- package/dist/cases/quadrature.js +28 -32
- package/dist/cases/quadrature.js.map +1 -1
- package/dist/cases/resistor-noise.js +7 -7
- package/dist/cases/resistor-noise.js.map +1 -1
- package/dist/cases/skin-depth.d.ts +0 -4
- package/dist/cases/skin-depth.d.ts.map +1 -1
- package/dist/cases/skin-depth.js +3 -7
- package/dist/cases/skin-depth.js.map +1 -1
- package/dist/cases/types.js.map +1 -1
- package/dist/cli/args.d.ts +30 -3
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +47 -9
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/bindings.d.ts +13 -0
- package/dist/cli/bindings.d.ts.map +1 -0
- package/dist/cli/bindings.js +33 -0
- package/dist/cli/bindings.js.map +1 -0
- package/dist/cli/closed-form-range.js.map +1 -1
- package/dist/cli/command.d.ts +8 -1
- package/dist/cli/command.d.ts.map +1 -1
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/commands/_atlas-map.d.ts +2 -11
- package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
- package/dist/cli/commands/_atlas-map.js +50 -35
- package/dist/cli/commands/_atlas-map.js.map +1 -1
- package/dist/cli/commands/_atlas-route.d.ts.map +1 -1
- package/dist/cli/commands/_atlas-route.js +6 -2
- package/dist/cli/commands/_atlas-route.js.map +1 -1
- package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +48 -14
- package/dist/cli/commands/_discovery-opts.js.map +1 -1
- package/dist/cli/commands/atlas.d.ts.map +1 -1
- package/dist/cli/commands/atlas.js +9 -8
- package/dist/cli/commands/atlas.js.map +1 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +20 -20
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/axes.d.ts.map +1 -1
- package/dist/cli/commands/axes.js +20 -1
- package/dist/cli/commands/axes.js.map +1 -1
- package/dist/cli/commands/candidates.d.ts.map +1 -1
- package/dist/cli/commands/candidates.js +16 -8
- package/dist/cli/commands/candidates.js.map +1 -1
- package/dist/cli/commands/canonical.js.map +1 -1
- package/dist/cli/commands/chain.js +1 -1
- package/dist/cli/commands/chain.js.map +1 -1
- package/dist/cli/commands/confront.d.ts.map +1 -1
- package/dist/cli/commands/confront.js +22 -20
- package/dist/cli/commands/confront.js.map +1 -1
- package/dist/cli/commands/connectors.js.map +1 -1
- package/dist/cli/commands/coverage.js.map +1 -1
- package/dist/cli/commands/derive.d.ts.map +1 -1
- package/dist/cli/commands/derive.js +60 -35
- package/dist/cli/commands/derive.js.map +1 -1
- package/dist/cli/commands/discover.d.ts.map +1 -1
- package/dist/cli/commands/discover.js +20 -10
- package/dist/cli/commands/discover.js.map +1 -1
- package/dist/cli/commands/eval.d.ts.map +1 -1
- package/dist/cli/commands/eval.js +14 -10
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +108 -58
- package/dist/cli/commands/evaluate.js.map +1 -1
- package/dist/cli/commands/explain.d.ts.map +1 -1
- package/dist/cli/commands/explain.js +16 -8
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/frontier.js.map +1 -1
- package/dist/cli/commands/ground.d.ts.map +1 -1
- package/dist/cli/commands/ground.js +41 -10
- package/dist/cli/commands/ground.js.map +1 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/map.d.ts.map +1 -1
- package/dist/cli/commands/map.js +155 -92
- package/dist/cli/commands/map.js.map +1 -1
- package/dist/cli/commands/metric.d.ts.map +1 -1
- package/dist/cli/commands/metric.js +58 -20
- package/dist/cli/commands/metric.js.map +1 -1
- package/dist/cli/commands/path.d.ts +10 -0
- package/dist/cli/commands/path.d.ts.map +1 -1
- package/dist/cli/commands/path.js +29 -7
- package/dist/cli/commands/path.js.map +1 -1
- package/dist/cli/commands/predict.js.map +1 -1
- package/dist/cli/commands/priority.js.map +1 -1
- package/dist/cli/commands/probe.d.ts.map +1 -1
- package/dist/cli/commands/probe.js +105 -38
- package/dist/cli/commands/probe.js.map +1 -1
- package/dist/cli/commands/recover.js +1 -1
- package/dist/cli/commands/recover.js.map +1 -1
- package/dist/cli/commands/regime.d.ts +5 -4
- package/dist/cli/commands/regime.d.ts.map +1 -1
- package/dist/cli/commands/regime.js +25 -26
- package/dist/cli/commands/regime.js.map +1 -1
- package/dist/cli/commands/retrieve.d.ts.map +1 -1
- package/dist/cli/commands/retrieve.js +23 -14
- package/dist/cli/commands/retrieve.js.map +1 -1
- package/dist/cli/commands/search.d.ts.map +1 -1
- package/dist/cli/commands/search.js +9 -4
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/symbolic.js +31 -36
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/commands/testplan.d.ts.map +1 -1
- package/dist/cli/commands/testplan.js +5 -3
- package/dist/cli/commands/testplan.js.map +1 -1
- package/dist/cli/conventions.js.map +1 -1
- package/dist/cli/determination.js.map +1 -1
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/euler-guard.js.map +1 -1
- package/dist/cli/eval-numbers.js.map +1 -1
- package/dist/cli/expr-print.d.ts +28 -3
- package/dist/cli/expr-print.d.ts.map +1 -1
- package/dist/cli/expr-print.js +42 -22
- package/dist/cli/expr-print.js.map +1 -1
- package/dist/cli/flag-help.js.map +1 -1
- package/dist/cli/graphs.js.map +1 -1
- package/dist/cli/library-defaults.d.ts +19 -0
- package/dist/cli/library-defaults.d.ts.map +1 -0
- package/dist/cli/library-defaults.js +22 -0
- package/dist/cli/library-defaults.js.map +1 -0
- package/dist/cli/main.d.ts +7 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +25 -6
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/map-evidence.js.map +1 -1
- package/dist/cli/numeric-flag.d.ts +12 -0
- package/dist/cli/numeric-flag.d.ts.map +1 -0
- package/dist/cli/numeric-flag.js +44 -0
- package/dist/cli/numeric-flag.js.map +1 -0
- package/dist/cli/output.d.ts +23 -6
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +15 -0
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/published-url.js.map +1 -1
- package/dist/cli/record-reach.d.ts +6 -0
- package/dist/cli/record-reach.d.ts.map +1 -1
- package/dist/cli/record-reach.js +17 -11
- package/dist/cli/record-reach.js.map +1 -1
- package/dist/cli/record-tables.d.ts.map +1 -1
- package/dist/cli/record-tables.js +7 -6
- package/dist/cli/record-tables.js.map +1 -1
- package/dist/cli/record.d.ts +1 -5
- package/dist/cli/record.d.ts.map +1 -1
- package/dist/cli/record.js +40 -20
- package/dist/cli/record.js.map +1 -1
- package/dist/cli/search-index.d.ts +5 -0
- package/dist/cli/search-index.d.ts.map +1 -1
- package/dist/cli/search-index.js +19 -7
- package/dist/cli/search-index.js.map +1 -1
- package/dist/cli/statuses.d.ts +0 -2
- package/dist/cli/statuses.d.ts.map +1 -1
- package/dist/cli/statuses.js +0 -7
- package/dist/cli/statuses.js.map +1 -1
- package/dist/cli/stored-results.d.ts +7 -0
- package/dist/cli/stored-results.d.ts.map +1 -0
- package/dist/cli/stored-results.js +23 -0
- package/dist/cli/stored-results.js.map +1 -0
- package/dist/cli/top-level-help.js.map +1 -1
- package/dist/cli/version.d.ts.map +1 -1
- package/dist/cli/version.js +7 -5
- package/dist/cli/version.js.map +1 -1
- package/dist/cli-api.d.ts +49 -14
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +42 -17
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/adjudication.js.map +1 -1
- package/dist/composition/algebraic-equivalence.d.ts +43 -0
- package/dist/composition/algebraic-equivalence.d.ts.map +1 -0
- package/dist/composition/algebraic-equivalence.js +115 -0
- package/dist/composition/algebraic-equivalence.js.map +1 -0
- package/dist/composition/aliases.js.map +1 -1
- package/dist/composition/audit-coverage.d.ts +2 -0
- package/dist/composition/audit-coverage.d.ts.map +1 -1
- package/dist/composition/audit-coverage.js.map +1 -1
- package/dist/composition/axes.d.ts +6 -0
- package/dist/composition/axes.d.ts.map +1 -1
- package/dist/composition/axes.js +18 -6
- package/dist/composition/axes.js.map +1 -1
- package/dist/composition/axis-audit.d.ts +47 -20
- package/dist/composition/axis-audit.d.ts.map +1 -1
- package/dist/composition/axis-audit.js +82 -9
- package/dist/composition/axis-audit.js.map +1 -1
- package/dist/composition/bridge-analysis.d.ts +14 -15
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +148 -91
- package/dist/composition/bridge-analysis.js.map +1 -1
- package/dist/composition/bridge-prediction.d.ts +5 -1
- package/dist/composition/bridge-prediction.d.ts.map +1 -1
- package/dist/composition/bridge-prediction.js +12 -16
- package/dist/composition/bridge-prediction.js.map +1 -1
- package/dist/composition/buckingham-filter.js.map +1 -1
- package/dist/composition/canonical-compare.d.ts +40 -0
- package/dist/composition/canonical-compare.d.ts.map +1 -1
- package/dist/composition/canonical-compare.js +134 -26
- package/dist/composition/canonical-compare.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +9 -10
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +33 -102
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-json.js +2 -2
- package/dist/composition/canonical-json.js.map +1 -1
- package/dist/composition/canonical-prefactors.js.map +1 -1
- package/dist/composition/catalog-graph.d.ts.map +1 -1
- package/dist/composition/catalog-graph.js +8 -25
- package/dist/composition/catalog-graph.js.map +1 -1
- package/dist/composition/chain-candidate.d.ts +10 -0
- package/dist/composition/chain-candidate.d.ts.map +1 -1
- package/dist/composition/chain-candidate.js +11 -2
- package/dist/composition/chain-candidate.js.map +1 -1
- package/dist/composition/chain-match.d.ts +6 -3
- package/dist/composition/chain-match.d.ts.map +1 -1
- package/dist/composition/chain-match.js +4 -1
- package/dist/composition/chain-match.js.map +1 -1
- package/dist/composition/chain-regime.js.map +1 -1
- package/dist/composition/chain-result.d.ts.map +1 -1
- package/dist/composition/chain-result.js +2 -14
- package/dist/composition/chain-result.js.map +1 -1
- package/dist/composition/compose-surface.js.map +1 -1
- package/dist/composition/compose-symbolic.d.ts.map +1 -1
- package/dist/composition/compose-symbolic.js +3 -2
- package/dist/composition/compose-symbolic.js.map +1 -1
- package/dist/composition/compose.d.ts.map +1 -1
- package/dist/composition/compose.js +166 -41
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/composition-recovery.d.ts.map +1 -1
- package/dist/composition/composition-recovery.js +4 -7
- package/dist/composition/composition-recovery.js.map +1 -1
- package/dist/composition/consequence.d.ts.map +1 -1
- package/dist/composition/consequence.js +15 -6
- package/dist/composition/consequence.js.map +1 -1
- package/dist/composition/consistency.js.map +1 -1
- package/dist/composition/descriptor.d.ts +1 -1
- package/dist/composition/descriptor.d.ts.map +1 -1
- package/dist/composition/descriptor.js.map +1 -1
- package/dist/composition/dimension-adjacency.js.map +1 -1
- package/dist/composition/discovery.d.ts +77 -11
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +194 -80
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +40 -10
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +47 -12
- package/dist/composition/edge.js.map +1 -1
- package/dist/composition/enumerate.d.ts +2 -2
- package/dist/composition/enumerate.d.ts.map +1 -1
- package/dist/composition/enumerate.js +18 -3
- package/dist/composition/enumerate.js.map +1 -1
- package/dist/composition/evaluate-relation.d.ts +35 -11
- package/dist/composition/evaluate-relation.d.ts.map +1 -1
- package/dist/composition/evaluate-relation.js +60 -39
- package/dist/composition/evaluate-relation.js.map +1 -1
- package/dist/composition/explain.d.ts +5 -9
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +38 -18
- package/dist/composition/explain.js.map +1 -1
- package/dist/composition/expr-eval.d.ts.map +1 -1
- package/dist/composition/expr-eval.js +2 -11
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/expr-simplify.d.ts +16 -0
- package/dist/composition/expr-simplify.d.ts.map +1 -1
- package/dist/composition/expr-simplify.js +24 -59
- package/dist/composition/expr-simplify.js.map +1 -1
- package/dist/composition/expr-subst.js.map +1 -1
- package/dist/composition/formula-shape.d.ts +28 -0
- package/dist/composition/formula-shape.d.ts.map +1 -1
- package/dist/composition/formula-shape.js +96 -2
- package/dist/composition/formula-shape.js.map +1 -1
- package/dist/composition/frontier-account.d.ts +3 -2
- package/dist/composition/frontier-account.d.ts.map +1 -1
- package/dist/composition/frontier-account.js +7 -3
- package/dist/composition/frontier-account.js.map +1 -1
- package/dist/composition/graph-structure.d.ts +98 -0
- package/dist/composition/graph-structure.d.ts.map +1 -0
- package/dist/composition/graph-structure.js +167 -0
- package/dist/composition/graph-structure.js.map +1 -0
- package/dist/composition/graph-viz-svg.d.ts.map +1 -1
- package/dist/composition/graph-viz-svg.js +1 -1
- package/dist/composition/graph-viz-svg.js.map +1 -1
- package/dist/composition/graph-viz.d.ts.map +1 -1
- package/dist/composition/graph-viz.js +8 -37
- package/dist/composition/graph-viz.js.map +1 -1
- package/dist/composition/grounding.js.map +1 -1
- package/dist/composition/identifiability.d.ts +91 -4
- package/dist/composition/identifiability.d.ts.map +1 -1
- package/dist/composition/identifiability.js +363 -6
- package/dist/composition/identifiability.js.map +1 -1
- package/dist/composition/index.d.ts +14 -8
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +7 -5
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/mathts-quiet.d.ts +29 -0
- package/dist/composition/mathts-quiet.d.ts.map +1 -0
- package/dist/composition/mathts-quiet.js +57 -0
- package/dist/composition/mathts-quiet.js.map +1 -0
- package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -1
- package/dist/composition/mathts-scalar-symbols.js +20 -35
- package/dist/composition/mathts-scalar-symbols.js.map +1 -1
- package/dist/composition/not-composable-seeds.d.ts +3 -1
- package/dist/composition/not-composable-seeds.d.ts.map +1 -1
- package/dist/composition/not-composable-seeds.js +2 -0
- package/dist/composition/not-composable-seeds.js.map +1 -1
- package/dist/composition/probe/backend-protocol.js.map +1 -1
- package/dist/composition/probe/candidate-store.js.map +1 -1
- package/dist/composition/probe/corpus.d.ts +4 -2
- package/dist/composition/probe/corpus.d.ts.map +1 -1
- package/dist/composition/probe/corpus.js +20 -9
- package/dist/composition/probe/corpus.js.map +1 -1
- package/dist/composition/probe/dataset.d.ts +17 -0
- package/dist/composition/probe/dataset.d.ts.map +1 -1
- package/dist/composition/probe/dataset.js +95 -50
- package/dist/composition/probe/dataset.js.map +1 -1
- package/dist/composition/probe/experiment-design.d.ts +5 -1
- package/dist/composition/probe/experiment-design.d.ts.map +1 -1
- package/dist/composition/probe/experiment-design.js +44 -24
- package/dist/composition/probe/experiment-design.js.map +1 -1
- package/dist/composition/probe/expression-gaps.js.map +1 -1
- package/dist/composition/probe/falsify.d.ts +14 -3
- package/dist/composition/probe/falsify.d.ts.map +1 -1
- package/dist/composition/probe/falsify.js +16 -27
- package/dist/composition/probe/falsify.js.map +1 -1
- package/dist/composition/probe/fingerprint.js.map +1 -1
- package/dist/composition/probe/fit.d.ts +7 -1
- package/dist/composition/probe/fit.d.ts.map +1 -1
- package/dist/composition/probe/fit.js +48 -23
- package/dist/composition/probe/fit.js.map +1 -1
- package/dist/composition/probe/frontier.d.ts.map +1 -1
- package/dist/composition/probe/frontier.js +33 -15
- package/dist/composition/probe/frontier.js.map +1 -1
- package/dist/composition/probe/generator.d.ts +27 -1
- package/dist/composition/probe/generator.d.ts.map +1 -1
- package/dist/composition/probe/generator.js +53 -30
- package/dist/composition/probe/generator.js.map +1 -1
- package/dist/composition/probe/index.d.ts +18 -2
- package/dist/composition/probe/index.d.ts.map +1 -1
- package/dist/composition/probe/index.js +10 -2
- package/dist/composition/probe/index.js.map +1 -1
- package/dist/composition/probe/limits.d.ts +24 -1
- package/dist/composition/probe/limits.d.ts.map +1 -1
- package/dist/composition/probe/limits.js +53 -11
- package/dist/composition/probe/limits.js.map +1 -1
- package/dist/composition/probe/metadata.js.map +1 -1
- package/dist/composition/probe/pipeline.d.ts +5 -0
- package/dist/composition/probe/pipeline.d.ts.map +1 -1
- package/dist/composition/probe/pipeline.js +22 -9
- package/dist/composition/probe/pipeline.js.map +1 -1
- package/dist/composition/probe/power-law.d.ts +121 -0
- package/dist/composition/probe/power-law.d.ts.map +1 -0
- package/dist/composition/probe/power-law.js +255 -0
- package/dist/composition/probe/power-law.js.map +1 -0
- package/dist/composition/probe/problem.d.ts +12 -1
- package/dist/composition/probe/problem.d.ts.map +1 -1
- package/dist/composition/probe/problem.js +242 -48
- package/dist/composition/probe/problem.js.map +1 -1
- package/dist/composition/probe/report.js +1 -1
- package/dist/composition/probe/report.js.map +1 -1
- package/dist/composition/probe/residual.d.ts +6 -1
- package/dist/composition/probe/residual.d.ts.map +1 -1
- package/dist/composition/probe/residual.js +9 -7
- package/dist/composition/probe/residual.js.map +1 -1
- package/dist/composition/probe/run-manifest.js +2 -2
- package/dist/composition/probe/run-manifest.js.map +1 -1
- package/dist/composition/probe/scoring.d.ts +2 -1
- package/dist/composition/probe/scoring.d.ts.map +1 -1
- package/dist/composition/probe/scoring.js +21 -7
- package/dist/composition/probe/scoring.js.map +1 -1
- package/dist/composition/probe/search-budget.js.map +1 -1
- package/dist/composition/probe/serialize.js.map +1 -1
- package/dist/composition/probe/structure.d.ts +82 -17
- package/dist/composition/probe/structure.d.ts.map +1 -1
- package/dist/composition/probe/structure.js +129 -55
- package/dist/composition/probe/structure.js.map +1 -1
- package/dist/composition/probe/study.d.ts +35 -12
- package/dist/composition/probe/study.d.ts.map +1 -1
- package/dist/composition/probe/study.js +241 -184
- package/dist/composition/probe/study.js.map +1 -1
- package/dist/composition/probe/t-tail.d.ts +17 -0
- package/dist/composition/probe/t-tail.d.ts.map +1 -0
- package/dist/composition/probe/t-tail.js +32 -0
- package/dist/composition/probe/t-tail.js.map +1 -0
- package/dist/composition/probe/types.d.ts +6 -1
- package/dist/composition/probe/types.d.ts.map +1 -1
- package/dist/composition/probe/types.js +2 -0
- package/dist/composition/probe/types.js.map +1 -1
- package/dist/composition/proposed-bridges.d.ts +51 -13
- package/dist/composition/proposed-bridges.d.ts.map +1 -1
- package/dist/composition/proposed-bridges.js +110 -58
- package/dist/composition/proposed-bridges.js.map +1 -1
- package/dist/composition/quantities.d.ts +0 -4
- package/dist/composition/quantities.d.ts.map +1 -1
- package/dist/composition/quantities.js +5 -5
- package/dist/composition/quantities.js.map +1 -1
- package/dist/composition/quantity-clusters.d.ts +48 -0
- package/dist/composition/quantity-clusters.d.ts.map +1 -0
- package/dist/composition/quantity-clusters.js +98 -0
- package/dist/composition/quantity-clusters.js.map +1 -0
- package/dist/composition/quantity.d.ts +18 -2
- package/dist/composition/quantity.d.ts.map +1 -1
- package/dist/composition/quantity.js +35 -6
- package/dist/composition/quantity.js.map +1 -1
- package/dist/composition/rational-exponent.d.ts +40 -0
- package/dist/composition/rational-exponent.d.ts.map +1 -0
- package/dist/composition/rational-exponent.js +65 -0
- package/dist/composition/rational-exponent.js.map +1 -0
- package/dist/composition/representative-values.d.ts +22 -0
- package/dist/composition/representative-values.d.ts.map +1 -1
- package/dist/composition/representative-values.js +23 -0
- package/dist/composition/representative-values.js.map +1 -1
- package/dist/composition/retrodiction.d.ts +16 -6
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +36 -10
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/uncertainty.js.map +1 -1
- package/dist/composition/user-equation.d.ts.map +1 -1
- package/dist/composition/user-equation.js +2 -2
- package/dist/composition/user-equation.js.map +1 -1
- package/dist/core/assignment.d.ts +19 -0
- package/dist/core/assignment.d.ts.map +1 -0
- package/dist/core/assignment.js +19 -0
- package/dist/core/assignment.js.map +1 -0
- package/dist/core/axes-registry.d.ts +8 -5
- package/dist/core/axes-registry.d.ts.map +1 -1
- package/dist/core/axes-registry.js.map +1 -1
- package/dist/core/cell.js.map +1 -1
- package/dist/core/compare.d.ts +32 -0
- package/dist/core/compare.d.ts.map +1 -0
- package/dist/core/compare.js +46 -0
- package/dist/core/compare.js.map +1 -0
- package/dist/core/constants.d.ts +35 -35
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +52 -37
- package/dist/core/constants.js.map +1 -1
- package/dist/core/data-file.d.ts +7 -0
- package/dist/core/data-file.d.ts.map +1 -1
- package/dist/core/data-file.js +17 -0
- package/dist/core/data-file.js.map +1 -1
- package/dist/core/flux-rules.js +1 -1
- package/dist/core/flux-rules.js.map +1 -1
- package/dist/core/format.d.ts +36 -0
- package/dist/core/format.d.ts.map +1 -0
- package/dist/core/format.js +39 -0
- package/dist/core/format.js.map +1 -0
- package/dist/core/hash.d.ts +14 -0
- package/dist/core/hash.d.ts.map +1 -0
- package/dist/core/hash.js +17 -0
- package/dist/core/hash.js.map +1 -0
- package/dist/core/json-schema.d.ts +3 -1
- package/dist/core/json-schema.d.ts.map +1 -1
- package/dist/core/json-schema.js +41 -16
- package/dist/core/json-schema.js.map +1 -1
- package/dist/core/labeled-tensor.d.ts +6 -1
- package/dist/core/labeled-tensor.d.ts.map +1 -1
- package/dist/core/labeled-tensor.js +18 -16
- package/dist/core/labeled-tensor.js.map +1 -1
- package/dist/core/mathts-read.d.ts +25 -0
- package/dist/core/mathts-read.d.ts.map +1 -0
- package/dist/core/mathts-read.js +51 -0
- package/dist/core/mathts-read.js.map +1 -0
- package/dist/core/regime-registry.d.ts +6 -2
- package/dist/core/regime-registry.d.ts.map +1 -1
- package/dist/core/regime-registry.js.map +1 -1
- package/dist/core/regime-rule-install.js.map +1 -1
- package/dist/core/regimes-builtins.js.map +1 -1
- package/dist/core/tensor.d.ts +7 -4
- package/dist/core/tensor.d.ts.map +1 -1
- package/dist/core/tensor.js +64 -8
- package/dist/core/tensor.js.map +1 -1
- package/dist/core/types.d.ts +5 -5
- package/dist/core/types.js.map +1 -1
- package/dist/core/universal-index.js.map +1 -1
- package/dist/diff/bridge-ast-gradient.d.ts +4 -5
- package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-ast-gradient.js +10 -6
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/diff/bridge-gradient.d.ts +43 -86
- package/dist/diff/bridge-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-gradient.js +40 -109
- package/dist/diff/bridge-gradient.js.map +1 -1
- package/dist/diff/bridge-specs.d.ts +16 -5
- package/dist/diff/bridge-specs.d.ts.map +1 -1
- package/dist/diff/bridge-specs.js +19 -4
- package/dist/diff/bridge-specs.js.map +1 -1
- package/dist/dimensional/algebra.d.ts +18 -0
- package/dist/dimensional/algebra.d.ts.map +1 -1
- package/dist/dimensional/algebra.js +41 -1
- package/dist/dimensional/algebra.js.map +1 -1
- package/dist/dimensional/ast-builders.d.ts +12 -4
- package/dist/dimensional/ast-builders.d.ts.map +1 -1
- package/dist/dimensional/ast-builders.js +17 -5
- package/dist/dimensional/ast-builders.js.map +1 -1
- package/dist/dimensional/ast-leaves.d.ts +81 -0
- package/dist/dimensional/ast-leaves.d.ts.map +1 -0
- package/dist/dimensional/ast-leaves.js +146 -0
- package/dist/dimensional/ast-leaves.js.map +1 -0
- package/dist/dimensional/ast-types.js.map +1 -1
- package/dist/dimensional/bridge-check.js.map +1 -1
- package/dist/dimensional/buckingham.d.ts.map +1 -1
- package/dist/dimensional/buckingham.js +15 -27
- package/dist/dimensional/buckingham.js.map +1 -1
- package/dist/dimensional/connection-validators.d.ts +2 -1
- package/dist/dimensional/connection-validators.d.ts.map +1 -1
- package/dist/dimensional/connection-validators.js.map +1 -1
- package/dist/dimensional/connection.js.map +1 -1
- package/dist/dimensional/constant-rows.d.ts.map +1 -1
- package/dist/dimensional/constant-rows.js +17 -13
- package/dist/dimensional/constant-rows.js.map +1 -1
- package/dist/dimensional/constants.d.ts +5 -6
- package/dist/dimensional/constants.d.ts.map +1 -1
- package/dist/dimensional/constants.js +5 -6
- package/dist/dimensional/constants.js.map +1 -1
- package/dist/dimensional/curvature-composite.js.map +1 -1
- package/dist/dimensional/curvature-invariants.js.map +1 -1
- package/dist/dimensional/curvature.js.map +1 -1
- package/dist/dimensional/dimension-inference.d.ts.map +1 -1
- package/dist/dimensional/dimension-inference.js +1 -2
- package/dist/dimensional/dimension-inference.js.map +1 -1
- package/dist/dimensional/dimension-spec.d.ts +13 -7
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/dimension-spec.js +49 -23
- package/dist/dimensional/dimension-spec.js.map +1 -1
- package/dist/dimensional/einstein-equation.js.map +1 -1
- package/dist/dimensional/errors.d.ts +4 -2
- package/dist/dimensional/errors.d.ts.map +1 -1
- package/dist/dimensional/errors.js +3 -17
- package/dist/dimensional/errors.js.map +1 -1
- package/dist/dimensional/exact-scale.d.ts +0 -17
- package/dist/dimensional/exact-scale.d.ts.map +1 -1
- package/dist/dimensional/exact-scale.js +8 -8
- package/dist/dimensional/exact-scale.js.map +1 -1
- package/dist/dimensional/field-equation-helpers.js.map +1 -1
- package/dist/dimensional/formula-names.js.map +1 -1
- package/dist/dimensional/fresh-label.js.map +1 -1
- package/dist/dimensional/friedmann-equation.d.ts +3 -3
- package/dist/dimensional/friedmann-equation.js +3 -3
- package/dist/dimensional/friedmann-equation.js.map +1 -1
- package/dist/dimensional/gauge-field.d.ts +2 -3
- package/dist/dimensional/gauge-field.d.ts.map +1 -1
- package/dist/dimensional/gauge-field.js +2 -3
- package/dist/dimensional/gauge-field.js.map +1 -1
- package/dist/dimensional/hyphen-names.d.ts +12 -2
- package/dist/dimensional/hyphen-names.d.ts.map +1 -1
- package/dist/dimensional/hyphen-names.js +45 -12
- package/dist/dimensional/hyphen-names.js.map +1 -1
- package/dist/dimensional/killing-validators.js.map +1 -1
- package/dist/dimensional/klein-gordon-equation.js.map +1 -1
- package/dist/dimensional/metric-validators.d.ts +2 -1
- package/dist/dimensional/metric-validators.d.ts.map +1 -1
- package/dist/dimensional/metric-validators.js.map +1 -1
- package/dist/dimensional/metric.d.ts.map +1 -1
- package/dist/dimensional/metric.js +0 -1
- package/dist/dimensional/metric.js.map +1 -1
- package/dist/dimensional/natural-units.js.map +1 -1
- package/dist/dimensional/quantity-registry.d.ts +13 -0
- package/dist/dimensional/quantity-registry.d.ts.map +1 -1
- package/dist/dimensional/quantity-registry.js +14 -6
- package/dist/dimensional/quantity-registry.js.map +1 -1
- package/dist/dimensional/rg-flow.js.map +1 -1
- package/dist/dimensional/stress-energy-validators.js.map +1 -1
- package/dist/dimensional/symbolic-constants.d.ts +9 -0
- package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
- package/dist/dimensional/symbolic-constants.js +20 -3
- package/dist/dimensional/symbolic-constants.js.map +1 -1
- package/dist/dimensional/tensor-trace.js.map +1 -1
- package/dist/dimensional/tensor.js.map +1 -1
- package/dist/dimensional/types.d.ts +36 -0
- package/dist/dimensional/types.d.ts.map +1 -1
- package/dist/dimensional/types.js +45 -7
- package/dist/dimensional/types.js.map +1 -1
- package/dist/dimensional/unit-convention.d.ts +0 -2
- package/dist/dimensional/unit-convention.d.ts.map +1 -1
- package/dist/dimensional/unit-convention.js +2 -2
- package/dist/dimensional/unit-convention.js.map +1 -1
- package/dist/dimensional/unit-data.d.ts.map +1 -1
- package/dist/dimensional/unit-data.js +11 -7
- package/dist/dimensional/unit-data.js.map +1 -1
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +38 -20
- package/dist/dimensional/units.js.map +1 -1
- package/dist/dimensional/validator-registry.js.map +1 -1
- package/dist/dimensional/validator.d.ts +0 -16
- package/dist/dimensional/validator.d.ts.map +1 -1
- package/dist/dimensional/validator.js +65 -29
- package/dist/dimensional/validator.js.map +1 -1
- package/dist/dimensional/weyl-validators.js.map +1 -1
- package/dist/index.d.ts +59 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -24
- package/dist/index.js.map +1 -1
- package/dist/numerical/bianchi-residual.js.map +1 -1
- package/dist/numerical/binding-value.d.ts +11 -6
- package/dist/numerical/binding-value.d.ts.map +1 -1
- package/dist/numerical/binding-value.js +126 -122
- package/dist/numerical/binding-value.js.map +1 -1
- package/dist/numerical/christoffel-flat.d.ts.map +1 -1
- package/dist/numerical/christoffel-flat.js +3 -2
- package/dist/numerical/christoffel-flat.js.map +1 -1
- package/dist/numerical/connection-lowering-helpers.js.map +1 -1
- package/dist/numerical/covariant-eikonal.d.ts.map +1 -1
- package/dist/numerical/covariant-eikonal.js +36 -13
- package/dist/numerical/covariant-eikonal.js.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.d.ts +20 -0
- package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.js +9 -5
- package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
- package/dist/numerical/derivative-lowering.js.map +1 -1
- package/dist/numerical/einstein-equation.js.map +1 -1
- package/dist/numerical/engine-registry.js.map +1 -1
- package/dist/numerical/errors.d.ts +7 -3
- package/dist/numerical/errors.d.ts.map +1 -1
- package/dist/numerical/errors.js +5 -8
- package/dist/numerical/errors.js.map +1 -1
- package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -1
- package/dist/numerical/evaluator-uncertainty.js +19 -2
- package/dist/numerical/evaluator-uncertainty.js.map +1 -1
- package/dist/numerical/finite-difference.d.ts +22 -0
- package/dist/numerical/finite-difference.d.ts.map +1 -0
- package/dist/numerical/finite-difference.js +27 -0
- package/dist/numerical/finite-difference.js.map +1 -0
- package/dist/numerical/formula-contract.d.ts +63 -7
- package/dist/numerical/formula-contract.d.ts.map +1 -1
- package/dist/numerical/formula-contract.js +61 -42
- package/dist/numerical/formula-contract.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts +8 -7
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js +58 -36
- package/dist/numerical/formula-dimension.js.map +1 -1
- package/dist/numerical/formula-mathts.d.ts.map +1 -1
- package/dist/numerical/formula-mathts.js +5 -2
- package/dist/numerical/formula-mathts.js.map +1 -1
- package/dist/numerical/formula-registry.d.ts +13 -3
- package/dist/numerical/formula-registry.d.ts.map +1 -1
- package/dist/numerical/formula-registry.js +7 -2
- package/dist/numerical/formula-registry.js.map +1 -1
- package/dist/numerical/geodesic-integrator.d.ts.map +1 -1
- package/dist/numerical/geodesic-integrator.js +22 -14
- package/dist/numerical/geodesic-integrator.js.map +1 -1
- package/dist/numerical/geometrized.d.ts.map +1 -1
- package/dist/numerical/geometrized.js +0 -1
- package/dist/numerical/geometrized.js.map +1 -1
- package/dist/numerical/gl4-integrator.d.ts +28 -27
- package/dist/numerical/gl4-integrator.d.ts.map +1 -1
- package/dist/numerical/gl4-integrator.js +41 -42
- package/dist/numerical/gl4-integrator.js.map +1 -1
- package/dist/numerical/grid-field.js.map +1 -1
- package/dist/numerical/index.js.map +1 -1
- package/dist/numerical/input-validation.d.ts +3 -6
- package/dist/numerical/input-validation.d.ts.map +1 -1
- package/dist/numerical/input-validation.js +4 -8
- package/dist/numerical/input-validation.js.map +1 -1
- package/dist/numerical/killing.d.ts +8 -5
- package/dist/numerical/killing.d.ts.map +1 -1
- package/dist/numerical/killing.js.map +1 -1
- package/dist/numerical/klein-gordon.js.map +1 -1
- package/dist/numerical/kretschmann.js.map +1 -1
- package/dist/numerical/lowering-utils.js.map +1 -1
- package/dist/numerical/lowering.d.ts.map +1 -1
- package/dist/numerical/lowering.js +7 -17
- package/dist/numerical/lowering.js.map +1 -1
- package/dist/numerical/mathts-engine.d.ts.map +1 -1
- package/dist/numerical/mathts-engine.js +16 -25
- package/dist/numerical/mathts-engine.js.map +1 -1
- package/dist/numerical/metric-inverse.d.ts.map +1 -1
- package/dist/numerical/metric-inverse.js +83 -46
- package/dist/numerical/metric-inverse.js.map +1 -1
- package/dist/numerical/null-ic.js.map +1 -1
- package/dist/numerical/null-ray-integrator.d.ts +2 -1
- package/dist/numerical/null-ray-integrator.d.ts.map +1 -1
- package/dist/numerical/null-ray-integrator.js +12 -12
- package/dist/numerical/null-ray-integrator.js.map +1 -1
- package/dist/numerical/painleve-gullstrand-metric.js +2 -2
- package/dist/numerical/painleve-gullstrand-metric.js.map +1 -1
- package/dist/numerical/pderiv.d.ts.map +1 -1
- package/dist/numerical/pderiv.js +9 -2
- package/dist/numerical/pderiv.js.map +1 -1
- package/dist/numerical/perihelion-finder.d.ts +0 -36
- package/dist/numerical/perihelion-finder.d.ts.map +1 -1
- package/dist/numerical/perihelion-finder.js +41 -87
- package/dist/numerical/perihelion-finder.js.map +1 -1
- package/dist/numerical/quadrature.d.ts +5 -2
- package/dist/numerical/quadrature.d.ts.map +1 -1
- package/dist/numerical/quadrature.js +19 -4
- package/dist/numerical/quadrature.js.map +1 -1
- package/dist/numerical/rk4-trajectory.d.ts +10 -0
- package/dist/numerical/rk4-trajectory.d.ts.map +1 -0
- package/dist/numerical/rk4-trajectory.js +37 -0
- package/dist/numerical/rk4-trajectory.js.map +1 -0
- package/dist/numerical/schwarzschild.d.ts +14 -0
- package/dist/numerical/schwarzschild.d.ts.map +1 -0
- package/dist/numerical/schwarzschild.js +17 -0
- package/dist/numerical/schwarzschild.js.map +1 -0
- package/dist/numerical/spacetime-metrics.d.ts +25 -19
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
- package/dist/numerical/spacetime-metrics.js +180 -286
- package/dist/numerical/spacetime-metrics.js.map +1 -1
- package/dist/numerical/statistics.d.ts +24 -0
- package/dist/numerical/statistics.d.ts.map +1 -0
- package/dist/numerical/statistics.js +52 -0
- package/dist/numerical/statistics.js.map +1 -0
- package/dist/numerical/strides.js.map +1 -1
- package/dist/numerical/tensor-engine.d.ts +30 -5
- package/dist/numerical/tensor-engine.d.ts.map +1 -1
- package/dist/numerical/tensor-engine.js +12 -0
- package/dist/numerical/tensor-engine.js.map +1 -1
- package/dist/numerical/types.js.map +1 -1
- package/dist/numerical/weyl-lowering.js.map +1 -1
- package/dist/relations/category.js.map +1 -1
- package/dist/relations/composition-table.d.ts +4 -4
- package/dist/relations/composition-table.js +4 -4
- package/dist/relations/composition-table.js.map +1 -1
- package/dist/relations/conventions.js.map +1 -1
- package/dist/relations/domain-regimes.js.map +1 -1
- package/dist/relations/regime-registration.js.map +1 -1
- package/dist/relations/regime-vocabularies.js.map +1 -1
- package/dist/relations/regime.d.ts +28 -8
- package/dist/relations/regime.d.ts.map +1 -1
- package/dist/relations/regime.js +44 -15
- package/dist/relations/regime.js.map +1 -1
- package/dist/relations/types.d.ts +18 -5
- package/dist/relations/types.d.ts.map +1 -1
- package/dist/relations/types.js +5 -3
- package/dist/relations/types.js.map +1 -1
- package/package.json +16 -20
- package/dist/bridges/registry.d.ts +0 -60
- package/dist/bridges/registry.d.ts.map +0 -1
- package/dist/bridges/registry.js +0 -87
- package/dist/bridges/registry.js.map +0 -1
- package/dist/cli/poster-source.d.ts +0 -154
- package/dist/cli/poster-source.d.ts.map +0 -1
- package/dist/cli/poster-source.js +0 -184
- package/dist/cli/poster-source.js.map +0 -1
|
@@ -4,7 +4,15 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @module bridges/catalog-load
|
|
6
6
|
*/
|
|
7
|
-
import type { CatalogConfrontation, CatalogEntry, CatalogEvaluator, CatalogFile, CatalogRelation } from './catalog-types.js';
|
|
7
|
+
import type { CatalogConfrontation, CatalogEntry, CatalogEvaluator, CatalogFile, CatalogFileRecord, CatalogRejection, CatalogRelation } from './catalog-types.js';
|
|
8
|
+
/**
|
|
9
|
+
* The loaded catalog from a file record: the records are in id order, each
|
|
10
|
+
* outcome is checked on its kind, each relation takes its row's status as its
|
|
11
|
+
* confidence, then the sign clauses its evaluator parameters state. The
|
|
12
|
+
* production catalog is this function on `data/bridge-catalog.json`.
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export declare function loadCatalog(file: CatalogFileRecord): CatalogFile;
|
|
8
16
|
/** The loaded catalog. */
|
|
9
17
|
export declare function bridgeCatalog(): CatalogFile;
|
|
10
18
|
/** Catalog rows, in file order. */
|
|
@@ -13,8 +21,10 @@ export declare function catalogEntries(): readonly CatalogEntry[];
|
|
|
13
21
|
export declare function catalogRelations(): readonly CatalogRelation[];
|
|
14
22
|
/** Evaluator input contracts, in file order. */
|
|
15
23
|
export declare function catalogEvaluators(): readonly CatalogEvaluator[];
|
|
16
|
-
/** Confrontations, in file order. */
|
|
24
|
+
/** Confrontations, in file order; one per catalog id. */
|
|
17
25
|
export declare function catalogConfrontations(): readonly CatalogConfrontation[];
|
|
26
|
+
/** The negative catalog, in file order. */
|
|
27
|
+
export declare function catalogRejections(): readonly CatalogRejection[];
|
|
18
28
|
/** The row for a catalog id, or undefined. */
|
|
19
29
|
export declare function catalogEntry(id: number): CatalogEntry | undefined;
|
|
20
30
|
/** Relations whose catalog id is `id`, in file order. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-load.d.ts","sourceRoot":"","sources":["../../src/bridges/catalog-load.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"catalog-load.d.ts","sourceRoot":"","sources":["../../src/bridges/catalog-load.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,oBAAoB,EAEpB,YAAY,EACZ,gBAAgB,EAEhB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAiN5B;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,iBAAiB,GAAG,WAAW,CAGhE;AAID,0BAA0B;AAC1B,wBAAgB,aAAa,IAAI,WAAW,CAE3C;AAED,mCAAmC;AACnC,wBAAgB,cAAc,IAAI,SAAS,YAAY,EAAE,CAExD;AAED,mCAAmC;AACnC,wBAAgB,gBAAgB,IAAI,SAAS,eAAe,EAAE,CAE7D;AAED,gDAAgD;AAChD,wBAAgB,iBAAiB,IAAI,SAAS,gBAAgB,EAAE,CAE/D;AAED,yDAAyD;AACzD,wBAAgB,qBAAqB,IAAI,SAAS,oBAAoB,EAAE,CAEvE;AAED,2CAA2C;AAC3C,wBAAgB,iBAAiB,IAAI,SAAS,gBAAgB,EAAE,CAE/D;AAWD,8CAA8C;AAC9C,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEjE;AAED,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,eAAe,EAAE,CAE1E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAGvE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG/D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAY/D;AAED,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEjD"}
|
|
@@ -4,18 +4,174 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @module bridges/catalog-load
|
|
6
6
|
*/
|
|
7
|
+
import { residualInSigma } from './observations/types.js';
|
|
8
|
+
import { withinMixed } from '../core/compare.js';
|
|
7
9
|
import { checkedDataFile } from '../core/data-file.js';
|
|
8
10
|
/**
|
|
9
11
|
* `data/bridge-catalog.json`, checked against `data/bridge-catalog.schema.json`
|
|
10
12
|
* (every record's `type`, the relation, evaluator, parameter and confrontation
|
|
11
|
-
* shapes)
|
|
13
|
+
* shapes). What a schema cannot state is checked by {@link loadCatalog}.
|
|
12
14
|
*/
|
|
13
15
|
function loadFile() {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
return checkedDataFile('bridge-catalog.json');
|
|
17
|
+
}
|
|
18
|
+
/** Records in ascending id order; a duplicate or a disordered id is refused. */
|
|
19
|
+
function checkOrder(file) {
|
|
20
|
+
for (let i = 1; i < file.entries.length; i += 1) {
|
|
21
|
+
const previous = file.entries[i - 1].id;
|
|
22
|
+
const current = file.entries[i].id;
|
|
23
|
+
if (current <= previous) {
|
|
24
|
+
throw new Error(`data/bridge-catalog.json: entry ${current} follows entry ${previous}; records are in ascending id order`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const seen = new Set();
|
|
28
|
+
for (const row of file.confrontations) {
|
|
29
|
+
if (seen.has(row.catalogId))
|
|
30
|
+
throw new Error(`data/bridge-catalog.json: catalog id ${row.catalogId} has two confrontations`);
|
|
31
|
+
seen.add(row.catalogId);
|
|
32
|
+
}
|
|
33
|
+
const rejected = new Set();
|
|
34
|
+
const ids = new Set(file.entries.map((entry) => entry.id));
|
|
35
|
+
for (const row of file.rejections) {
|
|
36
|
+
if (!ids.has(row.catalogId))
|
|
37
|
+
throw new Error(`data/bridge-catalog.json: rejection ${row.catalogId} names no catalog row`);
|
|
38
|
+
if (rejected.has(row.catalogId))
|
|
39
|
+
throw new Error(`data/bridge-catalog.json: catalog id ${row.catalogId} is rejected twice`);
|
|
40
|
+
rejected.add(row.catalogId);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const number = (o, key, where) => {
|
|
44
|
+
const v = o[key];
|
|
45
|
+
if (typeof v !== 'number' || !Number.isFinite(v))
|
|
46
|
+
throw new Error(`${where}: outcome.${key} must be a finite number`);
|
|
47
|
+
return v;
|
|
48
|
+
};
|
|
49
|
+
const boolean = (o, key, where) => {
|
|
50
|
+
const v = o[key];
|
|
51
|
+
if (typeof v !== 'boolean')
|
|
52
|
+
throw new Error(`${where}: outcome.${key} must be a boolean`);
|
|
53
|
+
return v;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* The outcome of one confrontation, checked arm by arm on its `kind`. The
|
|
57
|
+
* schema states the shared fields (`kind`, `units`, `provenance`, the data
|
|
58
|
+
* handling); the fields each arm must carry are checked here, so the loaded
|
|
59
|
+
* record is a {@link ConfrontationOutcome} by inspection, not by assertion.
|
|
60
|
+
*/
|
|
61
|
+
/** A stored number is written to a few significant digits; it agrees when it rounds to the computed one within 1e-3 relative (or absolute near zero). */
|
|
62
|
+
function agreesToStoredPrecision(stored, computed) {
|
|
63
|
+
return withinMixed(stored, computed, 1e-3);
|
|
64
|
+
}
|
|
65
|
+
/** True when `holds` contains `clause` as a whole clause, not as the tail of a longer name. */
|
|
66
|
+
function holdsStatesClause(holds, clause) {
|
|
67
|
+
let from = 0;
|
|
68
|
+
for (;;) {
|
|
69
|
+
const at = holds.indexOf(clause, from);
|
|
70
|
+
if (at < 0)
|
|
71
|
+
return false;
|
|
72
|
+
const before = at === 0 ? ' ' : holds[at - 1];
|
|
73
|
+
if (!/[A-Za-z0-9_-]/.test(before))
|
|
74
|
+
return true;
|
|
75
|
+
from = at + 1;
|
|
17
76
|
}
|
|
18
|
-
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Checks `row.outcome` arm by arm on the record's `kind` and narrows the row to
|
|
80
|
+
* a loaded {@link CatalogConfrontation}: an assertion guard, so the loaded
|
|
81
|
+
* record is a `ConfrontationOutcome` by inspection, not by a cast. A field
|
|
82
|
+
* that is missing or of the wrong type throws naming the record.
|
|
83
|
+
*/
|
|
84
|
+
function readOutcome(row) {
|
|
85
|
+
const where = `data/bridge-catalog.json: confrontation ${row.catalogId}`;
|
|
86
|
+
const o = row.outcome;
|
|
87
|
+
if (o['kind'] !== row.kind)
|
|
88
|
+
throw new Error(`${where}: outcome.kind ${String(o['kind'])} is not the record kind ${row.kind}`);
|
|
89
|
+
switch (row.kind) {
|
|
90
|
+
case 'value': {
|
|
91
|
+
// The verdict is derived from the numbers, never read as stored (AGENTS law 1): a stored
|
|
92
|
+
// residual or verdict that disagrees with |predicted − observed|/σ is refused.
|
|
93
|
+
const predicted = number(o, 'predicted', where);
|
|
94
|
+
const observed = number(o, 'observed', where);
|
|
95
|
+
const sigma = number(o, 'sigma', where);
|
|
96
|
+
const stored = number(o, 'residualInSigma', where);
|
|
97
|
+
const computed = residualInSigma(predicted, observed, sigma);
|
|
98
|
+
if (!agreesToStoredPrecision(stored, computed)) {
|
|
99
|
+
throw new Error(`${where}: outcome.residualInSigma ${stored} is not |predicted − observed|/sigma = ${computed}`);
|
|
100
|
+
}
|
|
101
|
+
if (boolean(o, 'withinObserved', where) !== computed <= 1) {
|
|
102
|
+
throw new Error(`${where}: outcome.withinObserved must be residualInSigma <= 1 (${computed})`);
|
|
103
|
+
}
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
case 'upper-bound': {
|
|
107
|
+
const predicted = number(o, 'predicted', where);
|
|
108
|
+
const bound = number(o, 'bound', where);
|
|
109
|
+
// `predictedIs` picks the comparison (`observations/types.ts`): a point is satisfied at or
|
|
110
|
+
// below the observed limit; an encoded bound (|x| ≤ predicted) when the limit lies inside it.
|
|
111
|
+
const encodedBound = o['predictedIs'] === 'encoded-bound';
|
|
112
|
+
const expected = encodedBound ? bound <= predicted : predicted <= bound;
|
|
113
|
+
if (boolean(o, 'satisfied', where) !== expected) {
|
|
114
|
+
throw new Error(`${where}: outcome.satisfied must be ${encodedBound ? 'bound <= predicted' : 'predicted <= bound'} (${predicted} vs ${bound})`);
|
|
115
|
+
}
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
case 'consistency': {
|
|
119
|
+
const predicted = number(o, 'predicted', where);
|
|
120
|
+
const approaches = number(o, 'approaches', where);
|
|
121
|
+
const gap = number(o, 'fractionalGap', where);
|
|
122
|
+
if (o['fractionalGapIs'] !== 'agreement-bound' && o['fractionalGapIs'] !== 'observed-difference') {
|
|
123
|
+
throw new Error(`${where}: outcome.fractionalGapIs must name what fractionalGap holds`);
|
|
124
|
+
}
|
|
125
|
+
// An agreement bound is the record's stated tolerance; an observed difference is derived.
|
|
126
|
+
if (o['fractionalGapIs'] === 'observed-difference' && predicted !== 0) {
|
|
127
|
+
const computed = (approaches - predicted) / predicted;
|
|
128
|
+
if (!agreesToStoredPrecision(gap, computed)) {
|
|
129
|
+
throw new Error(`${where}: outcome.fractionalGap ${gap} is not (approaches − predicted)/predicted = ${computed}`);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
case 'table':
|
|
135
|
+
if (!Array.isArray(o['rows']))
|
|
136
|
+
throw new Error(`${where}: outcome.rows must be an array`);
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
function narrowConfrontations(file) {
|
|
141
|
+
return file.confrontations.map((row) => {
|
|
142
|
+
readOutcome(row);
|
|
143
|
+
return row;
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* A relation's confidence is its catalog row's `status`. The row is the one
|
|
148
|
+
* owner, so the file may not store a confidence beside a catalog id; a
|
|
149
|
+
* relation with no row stores its own. A row that is `invalid` has no
|
|
150
|
+
* relation to evaluate.
|
|
151
|
+
*/
|
|
152
|
+
function deriveConfidence(file) {
|
|
153
|
+
const entries = new Map(file.entries.map((entry) => [entry.id, entry]));
|
|
154
|
+
const confrontations = narrowConfrontations(file);
|
|
155
|
+
const relations = file.relations.map((relation) => {
|
|
156
|
+
if (relation.catalogId === null) {
|
|
157
|
+
if (relation.confidence === undefined) {
|
|
158
|
+
throw new Error(`data/bridge-catalog.json: relation ${relation.id} has no catalog row and no confidence`);
|
|
159
|
+
}
|
|
160
|
+
return { ...relation, confidence: relation.confidence };
|
|
161
|
+
}
|
|
162
|
+
if (relation.confidence !== undefined) {
|
|
163
|
+
throw new Error(`data/bridge-catalog.json: relation ${relation.id} stores a confidence; the row's status is the owner`);
|
|
164
|
+
}
|
|
165
|
+
const entry = entries.get(relation.catalogId);
|
|
166
|
+
if (entry === undefined) {
|
|
167
|
+
throw new Error(`data/bridge-catalog.json: relation ${relation.id} names an unknown catalog id ${relation.catalogId}`);
|
|
168
|
+
}
|
|
169
|
+
if (entry.status === 'invalid') {
|
|
170
|
+
throw new Error(`data/bridge-catalog.json: relation ${relation.id} has a closed form but its row is invalid`);
|
|
171
|
+
}
|
|
172
|
+
return { ...relation, confidence: entry.status };
|
|
173
|
+
});
|
|
174
|
+
return { ...file, relations, confrontations };
|
|
19
175
|
}
|
|
20
176
|
/**
|
|
21
177
|
* The validity clause a parameter's sign states, in the relation's own source
|
|
@@ -49,21 +205,29 @@ function deriveDomains(file) {
|
|
|
49
205
|
if (source === undefined)
|
|
50
206
|
continue;
|
|
51
207
|
const clause = signClause(parameter, source);
|
|
52
|
-
|
|
208
|
+
// A whole-clause match: `radius > 0` is not already stated by `near-radius > 0`.
|
|
209
|
+
if (clause !== undefined && !holdsStatesClause(relation.holds, clause))
|
|
53
210
|
clauses.push(clause);
|
|
54
211
|
}
|
|
55
212
|
if (clauses.length === 0)
|
|
56
213
|
return relation;
|
|
57
214
|
const stated = relation.holds.trim() === 'true' ? '' : `${relation.holds} and `;
|
|
58
|
-
return {
|
|
59
|
-
...relation,
|
|
60
|
-
holds: `${stated}${clauses.join(' and ')}`,
|
|
61
|
-
domain: relation.domain === '' ? clauses.join(', ') : `${relation.domain}; ${clauses.join(', ')}`,
|
|
62
|
-
};
|
|
215
|
+
return { ...relation, holds: `${stated}${clauses.join(' and ')}` };
|
|
63
216
|
});
|
|
64
217
|
return { ...file, relations };
|
|
65
218
|
}
|
|
66
|
-
|
|
219
|
+
/**
|
|
220
|
+
* The loaded catalog from a file record: the records are in id order, each
|
|
221
|
+
* outcome is checked on its kind, each relation takes its row's status as its
|
|
222
|
+
* confidence, then the sign clauses its evaluator parameters state. The
|
|
223
|
+
* production catalog is this function on `data/bridge-catalog.json`.
|
|
224
|
+
* @internal
|
|
225
|
+
*/
|
|
226
|
+
export function loadCatalog(file) {
|
|
227
|
+
checkOrder(file);
|
|
228
|
+
return deriveDomains(deriveConfidence(file));
|
|
229
|
+
}
|
|
230
|
+
const CATALOG = loadCatalog(loadFile());
|
|
67
231
|
/** The loaded catalog. */
|
|
68
232
|
export function bridgeCatalog() {
|
|
69
233
|
return CATALOG;
|
|
@@ -80,10 +244,14 @@ export function catalogRelations() {
|
|
|
80
244
|
export function catalogEvaluators() {
|
|
81
245
|
return CATALOG.evaluators;
|
|
82
246
|
}
|
|
83
|
-
/** Confrontations, in file order. */
|
|
247
|
+
/** Confrontations, in file order; one per catalog id. */
|
|
84
248
|
export function catalogConfrontations() {
|
|
85
249
|
return CATALOG.confrontations;
|
|
86
250
|
}
|
|
251
|
+
/** The negative catalog, in file order. */
|
|
252
|
+
export function catalogRejections() {
|
|
253
|
+
return CATALOG.rejections;
|
|
254
|
+
}
|
|
87
255
|
const ENTRY_BY_ID = new Map(CATALOG.entries.map((entry) => [entry.id, entry]));
|
|
88
256
|
const RELATIONS_BY_CATALOG = new Map();
|
|
89
257
|
for (const relation of CATALOG.relations) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-load.js","sourceRoot":"","sources":["../../src/bridges/catalog-load.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"catalog-load.js","sourceRoot":"","sources":["../../src/bridges/catalog-load.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * The catalog loader. This module is the only place that parses a bridge id\n * out of text. Everywhere else reads the loaded records.\n *\n * @module bridges/catalog-load\n */\n\nimport { residualInSigma } from './observations/types.js';\nimport { withinMixed } from '../core/compare.js';\nimport { checkedDataFile } from '../core/data-file.js';\nimport type {\n CatalogConfrontation,\n CatalogConfrontationRecord,\n CatalogEntry,\n CatalogEvaluator,\n CatalogEvaluatorParameter,\n CatalogFile,\n CatalogFileRecord,\n CatalogRejection,\n CatalogRelation,\n} from './catalog-types.js';\nimport type { ConfrontationOutcome } from './observations/types.js';\n\n/**\n * `data/bridge-catalog.json`, checked against `data/bridge-catalog.schema.json`\n * (every record's `type`, the relation, evaluator, parameter and confrontation\n * shapes). What a schema cannot state is checked by {@link loadCatalog}.\n */\nfunction loadFile(): CatalogFileRecord {\n return checkedDataFile('bridge-catalog.json') as CatalogFileRecord;\n}\n\n/** Records in ascending id order; a duplicate or a disordered id is refused. */\nfunction checkOrder(file: CatalogFileRecord): void {\n for (let i = 1; i < file.entries.length; i += 1) {\n const previous = file.entries[i - 1]!.id;\n const current = file.entries[i]!.id;\n if (current <= previous) {\n throw new Error(`data/bridge-catalog.json: entry ${current} follows entry ${previous}; records are in ascending id order`);\n }\n }\n const seen = new Set<number>();\n for (const row of file.confrontations) {\n if (seen.has(row.catalogId)) throw new Error(`data/bridge-catalog.json: catalog id ${row.catalogId} has two confrontations`);\n seen.add(row.catalogId);\n }\n const rejected = new Set<number>();\n const ids = new Set(file.entries.map((entry) => entry.id));\n for (const row of file.rejections) {\n if (!ids.has(row.catalogId)) throw new Error(`data/bridge-catalog.json: rejection ${row.catalogId} names no catalog row`);\n if (rejected.has(row.catalogId)) throw new Error(`data/bridge-catalog.json: catalog id ${row.catalogId} is rejected twice`);\n rejected.add(row.catalogId);\n }\n}\n\nconst number = (o: Readonly<Record<string, unknown>>, key: string, where: string): number => {\n const v = o[key];\n if (typeof v !== 'number' || !Number.isFinite(v)) throw new Error(`${where}: outcome.${key} must be a finite number`);\n return v;\n};\nconst boolean = (o: Readonly<Record<string, unknown>>, key: string, where: string): boolean => {\n const v = o[key];\n if (typeof v !== 'boolean') throw new Error(`${where}: outcome.${key} must be a boolean`);\n return v;\n};\n\n/**\n * The outcome of one confrontation, checked arm by arm on its `kind`. The\n * schema states the shared fields (`kind`, `units`, `provenance`, the data\n * handling); the fields each arm must carry are checked here, so the loaded\n * record is a {@link ConfrontationOutcome} by inspection, not by assertion.\n */\n/** A stored number is written to a few significant digits; it agrees when it rounds to the computed one within 1e-3 relative (or absolute near zero). */\nfunction agreesToStoredPrecision(stored: number, computed: number): boolean {\n return withinMixed(stored, computed, 1e-3);\n}\n\n/** True when `holds` contains `clause` as a whole clause, not as the tail of a longer name. */\nfunction holdsStatesClause(holds: string, clause: string): boolean {\n let from = 0;\n for (;;) {\n const at = holds.indexOf(clause, from);\n if (at < 0) return false;\n const before = at === 0 ? ' ' : holds[at - 1]!;\n if (!/[A-Za-z0-9_-]/.test(before)) return true;\n from = at + 1;\n }\n}\n\n/**\n * Checks `row.outcome` arm by arm on the record's `kind` and narrows the row to\n * a loaded {@link CatalogConfrontation}: an assertion guard, so the loaded\n * record is a `ConfrontationOutcome` by inspection, not by a cast. A field\n * that is missing or of the wrong type throws naming the record.\n */\nfunction readOutcome(row: CatalogConfrontationRecord): asserts row is CatalogConfrontationRecord & CatalogConfrontation {\n const where = `data/bridge-catalog.json: confrontation ${row.catalogId}`;\n const o = row.outcome;\n if (o['kind'] !== row.kind) throw new Error(`${where}: outcome.kind ${String(o['kind'])} is not the record kind ${row.kind}`);\n switch (row.kind) {\n case 'value': {\n // The verdict is derived from the numbers, never read as stored (AGENTS law 1): a stored\n // residual or verdict that disagrees with |predicted − observed|/σ is refused.\n const predicted = number(o, 'predicted', where);\n const observed = number(o, 'observed', where);\n const sigma = number(o, 'sigma', where);\n const stored = number(o, 'residualInSigma', where);\n const computed = residualInSigma(predicted, observed, sigma);\n if (!agreesToStoredPrecision(stored, computed)) {\n throw new Error(`${where}: outcome.residualInSigma ${stored} is not |predicted − observed|/sigma = ${computed}`);\n }\n if (boolean(o, 'withinObserved', where) !== computed <= 1) {\n throw new Error(`${where}: outcome.withinObserved must be residualInSigma <= 1 (${computed})`);\n }\n break;\n }\n case 'upper-bound': {\n const predicted = number(o, 'predicted', where);\n const bound = number(o, 'bound', where);\n // `predictedIs` picks the comparison (`observations/types.ts`): a point is satisfied at or\n // below the observed limit; an encoded bound (|x| ≤ predicted) when the limit lies inside it.\n const encodedBound = o['predictedIs'] === 'encoded-bound';\n const expected = encodedBound ? bound <= predicted : predicted <= bound;\n if (boolean(o, 'satisfied', where) !== expected) {\n throw new Error(\n `${where}: outcome.satisfied must be ${encodedBound ? 'bound <= predicted' : 'predicted <= bound'} (${predicted} vs ${bound})`,\n );\n }\n break;\n }\n case 'consistency': {\n const predicted = number(o, 'predicted', where);\n const approaches = number(o, 'approaches', where);\n const gap = number(o, 'fractionalGap', where);\n if (o['fractionalGapIs'] !== 'agreement-bound' && o['fractionalGapIs'] !== 'observed-difference') {\n throw new Error(`${where}: outcome.fractionalGapIs must name what fractionalGap holds`);\n }\n // An agreement bound is the record's stated tolerance; an observed difference is derived.\n if (o['fractionalGapIs'] === 'observed-difference' && predicted !== 0) {\n const computed = (approaches - predicted) / predicted;\n if (!agreesToStoredPrecision(gap, computed)) {\n throw new Error(`${where}: outcome.fractionalGap ${gap} is not (approaches − predicted)/predicted = ${computed}`);\n }\n }\n break;\n }\n case 'table':\n if (!Array.isArray(o['rows'])) throw new Error(`${where}: outcome.rows must be an array`);\n break;\n }\n}\n\nfunction narrowConfrontations(file: CatalogFileRecord): readonly CatalogConfrontation[] {\n return file.confrontations.map((row) => {\n readOutcome(row);\n return row;\n });\n}\n\n/**\n * A relation's confidence is its catalog row's `status`. The row is the one\n * owner, so the file may not store a confidence beside a catalog id; a\n * relation with no row stores its own. A row that is `invalid` has no\n * relation to evaluate.\n */\nfunction deriveConfidence(file: CatalogFileRecord): CatalogFile {\n const entries = new Map(file.entries.map((entry) => [entry.id, entry]));\n const confrontations = narrowConfrontations(file);\n const relations = file.relations.map((relation): CatalogRelation => {\n if (relation.catalogId === null) {\n if (relation.confidence === undefined) {\n throw new Error(`data/bridge-catalog.json: relation ${relation.id} has no catalog row and no confidence`);\n }\n return { ...relation, confidence: relation.confidence };\n }\n if (relation.confidence !== undefined) {\n throw new Error(`data/bridge-catalog.json: relation ${relation.id} stores a confidence; the row's status is the owner`);\n }\n const entry = entries.get(relation.catalogId);\n if (entry === undefined) {\n throw new Error(`data/bridge-catalog.json: relation ${relation.id} names an unknown catalog id ${relation.catalogId}`);\n }\n if (entry.status === 'invalid') {\n throw new Error(`data/bridge-catalog.json: relation ${relation.id} has a closed form but its row is invalid`);\n }\n return { ...relation, confidence: entry.status };\n });\n return { ...file, relations, confrontations };\n}\n\n/**\n * The validity clause a parameter's sign states, in the relation's own source\n * name. An absolute temperature is nonnegative unless the parameter says `any`.\n */\nfunction signClause(parameter: CatalogEvaluatorParameter, source: string): string | undefined {\n const sign = parameter.sign ?? (parameter.temperature === 'absolute' ? 'nonnegative' : undefined);\n if (sign === 'positive') return `${source} > 0`;\n if (sign === 'nonnegative') return `${source} >= 0`;\n return undefined;\n}\n\n/**\n * Add the sign clauses the evaluator parameters state to the relation they\n * evaluate. The validity domain is derived from the flags, so a new bridge\n * that flags its inputs cannot leave the domain behind. A clause the record\n * already states is not repeated.\n */\nfunction deriveDomains(file: CatalogFile): CatalogFile {\n const relations = file.relations.map((relation) => {\n if (relation.catalogId === null) return relation;\n const evaluator = file.evaluators.find((row) => row.catalogId === relation.catalogId);\n if (evaluator === undefined) return relation;\n const clauses: string[] = [];\n for (const parameter of evaluator.parameters) {\n const source =\n relation.sources.find((name) => name === parameter.key || (relation.aliases[name] ?? []).includes(parameter.key)) ??\n (relation.sources.includes(parameter.quantity) ? parameter.quantity : undefined);\n if (source === undefined) continue;\n const clause = signClause(parameter, source);\n // A whole-clause match: `radius > 0` is not already stated by `near-radius > 0`.\n if (clause !== undefined && !holdsStatesClause(relation.holds, clause)) clauses.push(clause);\n }\n if (clauses.length === 0) return relation;\n const stated = relation.holds.trim() === 'true' ? '' : `${relation.holds} and `;\n return { ...relation, holds: `${stated}${clauses.join(' and ')}` };\n });\n return { ...file, relations };\n}\n\n/**\n * The loaded catalog from a file record: the records are in id order, each\n * outcome is checked on its kind, each relation takes its row's status as its\n * confidence, then the sign clauses its evaluator parameters state. The\n * production catalog is this function on `data/bridge-catalog.json`.\n * @internal\n */\nexport function loadCatalog(file: CatalogFileRecord): CatalogFile {\n checkOrder(file);\n return deriveDomains(deriveConfidence(file));\n}\n\nconst CATALOG = loadCatalog(loadFile());\n\n/** The loaded catalog. */\nexport function bridgeCatalog(): CatalogFile {\n return CATALOG;\n}\n\n/** Catalog rows, in file order. */\nexport function catalogEntries(): readonly CatalogEntry[] {\n return CATALOG.entries;\n}\n\n/** Closed forms, in file order. */\nexport function catalogRelations(): readonly CatalogRelation[] {\n return CATALOG.relations;\n}\n\n/** Evaluator input contracts, in file order. */\nexport function catalogEvaluators(): readonly CatalogEvaluator[] {\n return CATALOG.evaluators;\n}\n\n/** Confrontations, in file order; one per catalog id. */\nexport function catalogConfrontations(): readonly CatalogConfrontation[] {\n return CATALOG.confrontations;\n}\n\n/** The negative catalog, in file order. */\nexport function catalogRejections(): readonly CatalogRejection[] {\n return CATALOG.rejections;\n}\n\nconst ENTRY_BY_ID = new Map(CATALOG.entries.map((entry) => [entry.id, entry]));\nconst RELATIONS_BY_CATALOG = new Map<number, CatalogRelation[]>();\nfor (const relation of CATALOG.relations) {\n if (relation.catalogId === null) continue;\n const list = RELATIONS_BY_CATALOG.get(relation.catalogId);\n if (list === undefined) RELATIONS_BY_CATALOG.set(relation.catalogId, [relation]);\n else list.push(relation);\n}\n\n/** The row for a catalog id, or undefined. */\nexport function catalogEntry(id: number): CatalogEntry | undefined {\n return ENTRY_BY_ID.get(id);\n}\n\n/** Relations whose catalog id is `id`, in file order. */\nexport function relationsForCatalog(id: number): readonly CatalogRelation[] {\n return RELATIONS_BY_CATALOG.get(id) ?? [];\n}\n\n/**\n * The relation a numeric catalog id evaluates. The graph id `be-<id>` wins\n * when several relations share the id. Otherwise the first relation does.\n */\nexport function primaryRelation(id: number): CatalogRelation | undefined {\n const rows = relationsForCatalog(id);\n return rows.find((row) => row.id === `be-${id}`) ?? rows[0];\n}\n\n/**\n * The catalog number a piece of text names (`42`, `be-42`, `BE-42`), or\n * undefined when it names none (an atlas id, a canonical id, a quantity).\n * The one place a bridge id is read from text; {@link parseBridgeId} throws\n * where this returns undefined.\n */\nexport function catalogIdNumber(raw: string): number | undefined {\n const match = /^(?:be-)?(\\d+)$/i.exec(raw.trim());\n return match === null ? undefined : Number(match[1]);\n}\n\n/**\n * Parse a catalog id from a number or from text the caller typed.\n * Accepts `42`, `be-42`, and `BE-42`. This is the only such parser.\n */\nexport function parseBridgeId(bridgeId: number | string): number {\n if (typeof bridgeId === 'number') {\n if (!Number.isInteger(bridgeId)) {\n throw new RangeError(`parseBridgeId: ${bridgeId} is not an integer catalog id`);\n }\n return bridgeId;\n }\n const id = catalogIdNumber(bridgeId);\n if (id === undefined) {\n throw new TypeError(`parseBridgeId: '${bridgeId}' is not a catalog id`);\n }\n return id;\n}\n\n/** Graph id for a catalog number: the stable key, not a switch. */\nexport function catalogEdgeKey(id: number): string {\n return `be-${id}`;\n}\n"]}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @module bridges/catalog-types
|
|
6
6
|
*/
|
|
7
7
|
import type { Dimension } from '../dimensional/types.js';
|
|
8
|
-
import type {
|
|
8
|
+
import type { ConfrontationOutcome } from './observations/types.js';
|
|
9
9
|
import type { BridgeEquationEntry, BridgeEquationStatus } from './types.js';
|
|
10
10
|
/**
|
|
11
11
|
* Filing label. `cross-domain` means the equation links quantities or
|
|
@@ -14,20 +14,42 @@ import type { BridgeEquationEntry, BridgeEquationStatus } from './types.js';
|
|
|
14
14
|
*/
|
|
15
15
|
export type CatalogFiling = 'standard' | 'cross-domain';
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
17
|
+
* How far `lean/` proves a catalog record, best first. `full`: the record's
|
|
18
|
+
* Lean theorem is kind `bridge` and its manifest row is reviewed, so it states
|
|
19
|
+
* the catalogued equation and the catalog path passes it to `deriveEvidence`.
|
|
20
|
+
* `weak`: the theorem proves part of the equation (a derivation-step, limit,
|
|
21
|
+
* reduction, property or cross-check) or its row is unreviewed. `pending`: the
|
|
22
|
+
* record has no Lean theorem. The order of this array is the rank.
|
|
23
|
+
*
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
export declare const PROOF_STATUSES: readonly ['full', 'weak', 'pending'];
|
|
27
|
+
/** One of {@link PROOF_STATUSES}. @internal */
|
|
28
|
+
export type ProofStatus = (typeof PROOF_STATUSES)[number];
|
|
29
|
+
/**
|
|
30
|
+
* One catalog row. The row owns the relation contract, the regime, the
|
|
31
|
+
* conventions and the counterexamples; its relations carry no copy.
|
|
19
32
|
*/
|
|
20
33
|
export interface CatalogEntry extends BridgeEquationEntry {
|
|
21
34
|
readonly type: CatalogFiling;
|
|
22
|
-
|
|
23
|
-
readonly basis?: true;
|
|
24
|
-
/** The PhysJS manifest key. The reference and its kind are that entry's. */
|
|
35
|
+
/** The key of this record's entry in `formal/lean/manifest.json`. The reference and its kind are that entry's. */
|
|
25
36
|
readonly formalKey?: string;
|
|
26
|
-
|
|
27
|
-
|
|
37
|
+
/**
|
|
38
|
+
* The Lean theorem that manifest entry names, present exactly when
|
|
39
|
+
* `formalKey` is. A projection of the manifest; `catalogFormalRef` refuses
|
|
40
|
+
* a record whose theorem is not the manifest's.
|
|
41
|
+
*/
|
|
42
|
+
readonly theorem?: string;
|
|
43
|
+
/**
|
|
44
|
+
* The record's {@link ProofStatus}, a projection of `formalKey` and the
|
|
45
|
+
* manifest that `catalogProofProblems` checks against its derivation.
|
|
46
|
+
*/
|
|
47
|
+
readonly proofStatus: ProofStatus;
|
|
28
48
|
readonly dimension?: Dimension;
|
|
29
49
|
/** The confrontation is a caller-supplied table, not a stored outcome. */
|
|
30
50
|
readonly callerTable?: true;
|
|
51
|
+
/** The adjudication is contested; the row stays out of the null-result list until adjudicated. */
|
|
52
|
+
readonly contested?: true;
|
|
31
53
|
/** A named statement this row's expression supports. */
|
|
32
54
|
readonly statement?: string;
|
|
33
55
|
/**
|
|
@@ -52,22 +74,15 @@ export interface CatalogRelation {
|
|
|
52
74
|
readonly sources: readonly string[];
|
|
53
75
|
readonly aliases: Readonly<Record<string, readonly string[]>>;
|
|
54
76
|
readonly holds: string;
|
|
55
|
-
readonly domain: string;
|
|
56
77
|
readonly confidence: 'established' | 'speculative' | 'highly-speculative';
|
|
57
78
|
readonly citation: string;
|
|
58
79
|
readonly coefficientUnset?: boolean;
|
|
59
80
|
readonly formulaFactors?: Readonly<Record<string, number>>;
|
|
60
|
-
readonly relation?: RelationContract;
|
|
61
|
-
readonly regime?: Regime;
|
|
62
|
-
readonly conventions?: Conventions;
|
|
63
|
-
readonly counterexamples?: readonly Counterexample[];
|
|
64
81
|
readonly reference?: CatalogReference;
|
|
65
82
|
/** A caveat the record states beside its value. The text is the record's; nothing switches on it. */
|
|
66
83
|
readonly notice?: {
|
|
67
84
|
readonly text: string;
|
|
68
85
|
};
|
|
69
|
-
/** A generic numerical method this record calls. Never a bridge number. */
|
|
70
|
-
readonly method?: string;
|
|
71
86
|
}
|
|
72
87
|
/** One named input of a catalog evaluator. */
|
|
73
88
|
export interface CatalogEvaluatorParameter {
|
|
@@ -91,11 +106,12 @@ export interface CatalogEvaluatorParameter {
|
|
|
91
106
|
readonly meaning: string;
|
|
92
107
|
readonly toKey: number;
|
|
93
108
|
}[];
|
|
94
|
-
readonly optional?: true;
|
|
95
109
|
}
|
|
96
110
|
/**
|
|
97
111
|
* A second number the same record returns beside its `value`. The expression
|
|
98
|
-
* reads evaluator parameter keys, the constants, and `value`.
|
|
112
|
+
* reads evaluator parameter keys, the constants, and `value`. It is computed
|
|
113
|
+
* when every parameter key it reads was given; a parameter only an output
|
|
114
|
+
* reads is optional.
|
|
99
115
|
*
|
|
100
116
|
* @public
|
|
101
117
|
*/
|
|
@@ -104,9 +120,8 @@ export interface CatalogEvaluatorOutput {
|
|
|
104
120
|
readonly name: string;
|
|
105
121
|
readonly unit: string;
|
|
106
122
|
readonly meaning: string;
|
|
123
|
+
/** Read over the evaluator's inputs and `value`. The output is computed when every input it reads is given. */
|
|
107
124
|
readonly expression: string;
|
|
108
|
-
/** Optional parameter keys this output needs. It is left out when one is not given. */
|
|
109
|
-
readonly requires?: readonly string[];
|
|
110
125
|
}
|
|
111
126
|
/** The input contract of one catalog evaluator. */
|
|
112
127
|
export interface CatalogEvaluator {
|
|
@@ -115,19 +130,45 @@ export interface CatalogEvaluator {
|
|
|
115
130
|
readonly parameters: readonly CatalogEvaluatorParameter[];
|
|
116
131
|
readonly outputs?: readonly CatalogEvaluatorOutput[];
|
|
117
132
|
}
|
|
118
|
-
/**
|
|
133
|
+
/**
|
|
134
|
+
* The prediction point of a value-kind confrontation, in the evaluator's input
|
|
135
|
+
* spellings. The evaluator at these inputs returns the outcome's `predicted`:
|
|
136
|
+
* its value, or the extra output `output` names.
|
|
137
|
+
*/
|
|
138
|
+
export interface CatalogPrediction {
|
|
139
|
+
readonly inputs: Readonly<Record<string, number>>;
|
|
140
|
+
readonly output?: string;
|
|
141
|
+
}
|
|
142
|
+
/** One committed data confrontation of a catalog record, its outcome narrowed on `kind` when the catalog loads. */
|
|
119
143
|
export interface CatalogConfrontation {
|
|
120
144
|
readonly catalogId: number;
|
|
121
145
|
readonly title: string;
|
|
122
146
|
readonly kind: 'value' | 'upper-bound' | 'consistency' | 'table';
|
|
123
147
|
readonly rigor: 'stringent' | 'moderate' | 'loose';
|
|
124
|
-
readonly outcome:
|
|
125
|
-
|
|
126
|
-
readonly prediction?: {
|
|
127
|
-
readonly inputs: Readonly<Record<string, number>>;
|
|
128
|
-
};
|
|
148
|
+
readonly outcome: ConfrontationOutcome;
|
|
149
|
+
readonly prediction?: CatalogPrediction;
|
|
129
150
|
}
|
|
130
|
-
/**
|
|
151
|
+
/** A confrontation as the file stores it: the outcome is checked arm by arm when the catalog loads. */
|
|
152
|
+
export type CatalogConfrontationRecord = Omit<CatalogConfrontation, 'outcome'> & {
|
|
153
|
+
readonly outcome: Readonly<Record<string, unknown>>;
|
|
154
|
+
};
|
|
155
|
+
/** One row of the negative catalog: adjudicated not-a-bridge under the membership criterion. */
|
|
156
|
+
export interface CatalogRejection {
|
|
157
|
+
readonly catalogId: number;
|
|
158
|
+
readonly name: string;
|
|
159
|
+
/** Why the endpoints do NOT differ in regime attributes. */
|
|
160
|
+
readonly reason: string;
|
|
161
|
+
readonly citation: string;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* A relation as the file stores it. `confidence` is stored only on a relation
|
|
165
|
+
* that has no catalog row; a relation with a row takes its row's `status`
|
|
166
|
+
* when the catalog loads, so the two cannot drift.
|
|
167
|
+
*/
|
|
168
|
+
export type CatalogRelationRecord = Omit<CatalogRelation, 'confidence'> & {
|
|
169
|
+
readonly confidence?: CatalogRelation['confidence'];
|
|
170
|
+
};
|
|
171
|
+
/** The loaded catalog: schema 3, entries, relations, evaluators, confrontations, the two ledgers and the spine. */
|
|
131
172
|
export interface CatalogFile {
|
|
132
173
|
readonly schemaVersion: 3;
|
|
133
174
|
readonly packageVersion: string;
|
|
@@ -137,8 +178,15 @@ export interface CatalogFile {
|
|
|
137
178
|
readonly confrontations: readonly CatalogConfrontation[];
|
|
138
179
|
/** The adjudication ledger: recorded verdicts on identification hypotheses. `composition/adjudication.ts` projects it. */
|
|
139
180
|
readonly adjudications: readonly CatalogAdjudication[];
|
|
181
|
+
/** The negative catalog. `bridges/rejected.ts` projects it. */
|
|
182
|
+
readonly rejections: readonly CatalogRejection[];
|
|
140
183
|
readonly spine: Readonly<Record<string, Readonly<Record<string, number>>>>;
|
|
141
184
|
}
|
|
185
|
+
/** The catalog as `data/bridge-catalog.json` stores it, before the loader derives the per-relation fields and narrows each outcome. */
|
|
186
|
+
export type CatalogFileRecord = Omit<CatalogFile, 'relations' | 'confrontations'> & {
|
|
187
|
+
readonly relations: readonly CatalogRelationRecord[];
|
|
188
|
+
readonly confrontations: readonly CatalogConfrontationRecord[];
|
|
189
|
+
};
|
|
142
190
|
/**
|
|
143
191
|
* A recorded human verdict on an identification hypothesis `a ≟ b`.
|
|
144
192
|
* - `genuine` — real physics AND a new link (nothing recorded qualifies yet).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-types.d.ts","sourceRoot":"","sources":["../../src/bridges/catalog-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"catalog-types.d.ts","sourceRoot":"","sources":["../../src/bridges/catalog-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,15 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @module bridges/catalog-types
|
|
6
6
|
*/
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* How far `lean/` proves a catalog record, best first. `full`: the record's
|
|
9
|
+
* Lean theorem is kind `bridge` and its manifest row is reviewed, so it states
|
|
10
|
+
* the catalogued equation and the catalog path passes it to `deriveEvidence`.
|
|
11
|
+
* `weak`: the theorem proves part of the equation (a derivation-step, limit,
|
|
12
|
+
* reduction, property or cross-check) or its row is unreviewed. `pending`: the
|
|
13
|
+
* record has no Lean theorem. The order of this array is the rank.
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export const PROOF_STATUSES = ['full', 'weak', 'pending'];
|
|
8
18
|
//# sourceMappingURL=catalog-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-types.js","sourceRoot":"","sources":["../../src/bridges/catalog-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
1
|
+
{"version":3,"file":"catalog-types.js","sourceRoot":"","sources":["../../src/bridges/catalog-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAU,CAAC","sourcesContent":["/**\n * Catalog record shapes. The file `data/bridge-catalog.json` is the source.\n * A bridge number is the `id` field. It is not a code identifier.\n *\n * @module bridges/catalog-types\n */\n\nimport type { Dimension } from '../dimensional/types.js';\nimport type { ConfrontationOutcome } from './observations/types.js';\nimport type {\n BridgeEquationEntry,\n BridgeEquationStatus,\n} from './types.js';\n\n/**\n * Filing label. `cross-domain` means the equation links quantities or\n * constants from two distinct fields. `standard` means it stays inside one.\n * Absence is not a state this record carries.\n */\nexport type CatalogFiling = 'standard' | 'cross-domain';\n\n/**\n * How far `lean/` proves a catalog record, best first. `full`: the record's\n * Lean theorem is kind `bridge` and its manifest row is reviewed, so it states\n * the catalogued equation and the catalog path passes it to `deriveEvidence`.\n * `weak`: the theorem proves part of the equation (a derivation-step, limit,\n * reduction, property or cross-check) or its row is unreviewed. `pending`: the\n * record has no Lean theorem. The order of this array is the rank.\n *\n * @internal\n */\nexport const PROOF_STATUSES = ['full', 'weak', 'pending'] as const;\n\n/** One of {@link PROOF_STATUSES}. @internal */\nexport type ProofStatus = (typeof PROOF_STATUSES)[number];\n\n/**\n * One catalog row. The row owns the relation contract, the regime, the\n * conventions and the counterexamples; its relations carry no copy.\n */\nexport interface CatalogEntry extends BridgeEquationEntry {\n readonly type: CatalogFiling;\n /** The key of this record's entry in `formal/lean/manifest.json`. The reference and its kind are that entry's. */\n readonly formalKey?: string;\n /**\n * The Lean theorem that manifest entry names, present exactly when\n * `formalKey` is. A projection of the manifest; `catalogFormalRef` refuses\n * a record whose theorem is not the manifest's.\n */\n readonly theorem?: string;\n /**\n * The record's {@link ProofStatus}, a projection of `formalKey` and the\n * manifest that `catalogProofProblems` checks against its derivation.\n */\n readonly proofStatus: ProofStatus;\n readonly dimension?: Dimension;\n /** The confrontation is a caller-supplied table, not a stored outcome. */\n readonly callerTable?: true;\n /** The adjudication is contested; the row stays out of the null-result list until adjudicated. */\n readonly contested?: true;\n /** A named statement this row's expression supports. */\n readonly statement?: string;\n /**\n * Scalar expression for a row that has no relation. The structural\n * registry parses it. It is not a graph edge and it is not evaluated.\n */\n readonly scalarExpression?: string;\n}\n\n/** Inputs and the number the engine returns at those inputs. */\nexport interface CatalogReference {\n readonly inputs: Readonly<Record<string, number>>;\n readonly value: number;\n}\n\n/** One closed form. Several relations may share one catalog id. */\nexport interface CatalogRelation {\n readonly id: string;\n readonly catalogId: number | null;\n readonly kind: 'bridge' | 'law';\n readonly label: string;\n readonly expression: string;\n readonly target: string;\n readonly sources: readonly string[];\n readonly aliases: Readonly<Record<string, readonly string[]>>;\n readonly holds: string;\n readonly confidence: 'established' | 'speculative' | 'highly-speculative';\n readonly citation: string;\n readonly coefficientUnset?: boolean;\n readonly formulaFactors?: Readonly<Record<string, number>>;\n readonly reference?: CatalogReference;\n /** A caveat the record states beside its value. The text is the record's; nothing switches on it. */\n readonly notice?: { readonly text: string };\n}\n\n/** One named input of a catalog evaluator. */\nexport interface CatalogEvaluatorParameter {\n readonly key: string;\n readonly quantity: string;\n readonly symbol: string;\n readonly unit: string;\n readonly meaning: string;\n readonly geometry?: 'radius' | 'diameter' | 'separation' | 'impact-parameter' | 'semi-major-axis';\n readonly temperature?: 'absolute';\n /**\n * The sign this input must have. `positive` is `> 0`, `nonnegative` is `>= 0`,\n * and `any` states that the quantity is signed and overrides the temperature\n * rule. An absolute temperature is `nonnegative` when no sign is stated.\n */\n readonly sign?: 'positive' | 'nonnegative' | 'any';\n /** An angular frequency in rad/s. A cycle unit (Hz, rpm) given to it is multiplied by 2π. */\n readonly angular?: true;\n readonly alternates?: readonly { readonly key: string; readonly meaning: string; readonly toKey: number }[];\n}\n\n/**\n * A second number the same record returns beside its `value`. The expression\n * reads evaluator parameter keys, the constants, and `value`. It is computed\n * when every parameter key it reads was given; a parameter only an output\n * reads is optional.\n *\n * @public\n */\nexport interface CatalogEvaluatorOutput {\n /** The result key, with its unit as a suffix (`E_F_J`). */\n readonly name: string;\n readonly unit: string;\n readonly meaning: string;\n /** Read over the evaluator's inputs and `value`. The output is computed when every input it reads is given. */\n readonly expression: string;\n}\n\n/** The input contract of one catalog evaluator. */\nexport interface CatalogEvaluator {\n readonly catalogId: number;\n readonly name: string;\n readonly parameters: readonly CatalogEvaluatorParameter[];\n readonly outputs?: readonly CatalogEvaluatorOutput[];\n}\n\n/**\n * The prediction point of a value-kind confrontation, in the evaluator's input\n * spellings. The evaluator at these inputs returns the outcome's `predicted`:\n * its value, or the extra output `output` names.\n */\nexport interface CatalogPrediction {\n readonly inputs: Readonly<Record<string, number>>;\n readonly output?: string;\n}\n\n/** One committed data confrontation of a catalog record, its outcome narrowed on `kind` when the catalog loads. */\nexport interface CatalogConfrontation {\n readonly catalogId: number;\n readonly title: string;\n readonly kind: 'value' | 'upper-bound' | 'consistency' | 'table';\n readonly rigor: 'stringent' | 'moderate' | 'loose';\n readonly outcome: ConfrontationOutcome;\n readonly prediction?: CatalogPrediction;\n}\n\n/** A confrontation as the file stores it: the outcome is checked arm by arm when the catalog loads. */\nexport type CatalogConfrontationRecord = Omit<CatalogConfrontation, 'outcome'> & {\n readonly outcome: Readonly<Record<string, unknown>>;\n};\n\n/** One row of the negative catalog: adjudicated not-a-bridge under the membership criterion. */\nexport interface CatalogRejection {\n readonly catalogId: number;\n readonly name: string;\n /** Why the endpoints do NOT differ in regime attributes. */\n readonly reason: string;\n readonly citation: string;\n}\n\n/**\n * A relation as the file stores it. `confidence` is stored only on a relation\n * that has no catalog row; a relation with a row takes its row's `status`\n * when the catalog loads, so the two cannot drift.\n */\nexport type CatalogRelationRecord = Omit<CatalogRelation, 'confidence'> & {\n readonly confidence?: CatalogRelation['confidence'];\n};\n\n/** The loaded catalog: schema 3, entries, relations, evaluators, confrontations, the two ledgers and the spine. */\nexport interface CatalogFile {\n readonly schemaVersion: 3;\n readonly packageVersion: string;\n readonly entries: readonly CatalogEntry[];\n readonly relations: readonly CatalogRelation[];\n readonly evaluators: readonly CatalogEvaluator[];\n readonly confrontations: readonly CatalogConfrontation[];\n /** The adjudication ledger: recorded verdicts on identification hypotheses. `composition/adjudication.ts` projects it. */\n readonly adjudications: readonly CatalogAdjudication[];\n /** The negative catalog. `bridges/rejected.ts` projects it. */\n readonly rejections: readonly CatalogRejection[];\n readonly spine: Readonly<Record<string, Readonly<Record<string, number>>>>;\n}\n\n/** The catalog as `data/bridge-catalog.json` stores it, before the loader derives the per-relation fields and narrows each outcome. */\nexport type CatalogFileRecord = Omit<CatalogFile, 'relations' | 'confrontations'> & {\n readonly relations: readonly CatalogRelationRecord[];\n readonly confrontations: readonly CatalogConfrontationRecord[];\n};\n\n/**\n * A recorded human verdict on an identification hypothesis `a ≟ b`.\n * - `genuine` — real physics AND a new link (nothing recorded qualifies yet).\n * - `entailed` — real physics already carried by the L-layer; not a new link.\n * - `decoy` — dimensional coincidence / no mechanism, including trivial and definitional identifications.\n * - `deferred` — reviewed and consciously parked (not the same as absent, which means never reviewed).\n */\nexport type AdjudicationVerdict = 'genuine' | 'decoy' | 'entailed' | 'deferred';\n\n/** One record of the adjudication ledger in `data/bridge-catalog.json`. */\nexport interface CatalogAdjudication {\n /** `candidateId(a, b)` of the identification: the two slugs in sorted order, joined by `~`. */\n readonly id: string;\n readonly verdict: AdjudicationVerdict;\n /** Why, condensed from the adjudication document; never machine-generated. */\n readonly grounds: string;\n /** Repo-relative path of the adjudication document. */\n readonly source: string;\n /** ISO date the verdict was recorded. */\n readonly date: string;\n}\n\n/** Lifecycle status of a catalog row. */\nexport type { BridgeEquationStatus };\n"]}
|
|
@@ -21,11 +21,7 @@ export function oneLoopCoefficientStatement(colorNumber, flavorNumber) {
|
|
|
21
21
|
if (relation === undefined) {
|
|
22
22
|
throw new Error('oneLoopCoefficientStatement: the statement has no expression');
|
|
23
23
|
}
|
|
24
|
-
const beta = evaluateFormula(relation.expression, {
|
|
25
|
-
'gauge-coupling': 1,
|
|
26
|
-
'color-number': colorNumber,
|
|
27
|
-
'flavor-number': flavorNumber,
|
|
28
|
-
});
|
|
24
|
+
const beta = evaluateFormula(relation.expression, { 'gauge-coupling': 1, 'color-number': colorNumber, 'flavor-number': flavorNumber }, relation.sources);
|
|
29
25
|
const b0 = -beta * 16 * Math.PI * Math.PI;
|
|
30
26
|
const sign = b0 > 0 ? 'positive' : b0 < 0 ? 'negative' : 'zero';
|
|
31
27
|
return { label: 'one-loop coefficient', sign, b0 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coefficient-statement.js","sourceRoot":"","sources":["../../src/bridges/coefficient-statement.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAiBlD;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACzC,WAAmB,EACnB,YAAoB;IAEpB,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,sBAAsB,CAAC,CAAC;IACvF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,IAAI,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"coefficient-statement.js","sourceRoot":"","sources":["../../src/bridges/coefficient-statement.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAiBlD;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACzC,WAAmB,EACnB,YAAoB;IAEpB,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,sBAAsB,CAAC,CAAC;IACvF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,IAAI,GAAG,eAAe,CAC1B,QAAQ,CAAC,UAAU,EACnB,EAAE,gBAAgB,EAAE,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,EACnF,QAAQ,CAAC,OAAO,CACjB,CAAC;IACF,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IAC1C,MAAM,IAAI,GAA2B,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IACxF,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACrD,CAAC","sourcesContent":["/**\n * Sign of the one-loop coefficient, read from the catalog expression.\n * The statement is the coefficient, not a residual against a measurement.\n *\n * @module bridges/coefficient-statement\n */\n\nimport { catalogEntries, primaryRelation } from './catalog-load.js';\nimport { evaluateFormula } from './expr-parse.js';\n\n/** Sign of the one-loop coefficient. @public */\nexport type OneLoopCoefficientSign = 'positive' | 'zero' | 'negative';\n\n/**\n * Whether b₀ is positive, zero, or negative for a stated color number and\n * flavor number. Positive is asymptotic freedom in this one-loop truncation.\n *\n * @public\n */\nexport interface OneLoopCoefficientStatement {\n readonly label: 'one-loop coefficient';\n readonly sign: OneLoopCoefficientSign;\n readonly b0: number;\n}\n\n/**\n * State the sign of b₀ for the catalog row whose statement is the one-loop\n * coefficient. At unit coupling, β = −b₀ / (16π²).\n *\n * @public\n */\nexport function oneLoopCoefficientStatement(\n colorNumber: number,\n flavorNumber: number,\n): OneLoopCoefficientStatement {\n const entry = catalogEntries().find((row) => row.statement === 'one-loop-coefficient');\n if (entry === undefined) {\n throw new Error('oneLoopCoefficientStatement: the catalog has no one-loop coefficient statement');\n }\n const relation = primaryRelation(entry.id);\n if (relation === undefined) {\n throw new Error('oneLoopCoefficientStatement: the statement has no expression');\n }\n const beta = evaluateFormula(\n relation.expression,\n { 'gauge-coupling': 1, 'color-number': colorNumber, 'flavor-number': flavorNumber },\n relation.sources,\n );\n const b0 = -beta * 16 * Math.PI * Math.PI;\n const sign: OneLoopCoefficientSign = b0 > 0 ? 'positive' : b0 < 0 ? 'negative' : 'zero';\n return { label: 'one-loop coefficient', sign, b0 };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confrontation-coverage.js","sourceRoot":"","sources":["../../src/bridges/confrontation-coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAC7D,CAAC,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CACjD,CAAC"}
|
|
1
|
+
{"version":3,"file":"confrontation-coverage.js","sourceRoot":"","sources":["../../src/bridges/confrontation-coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAC7D,CAAC,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CACjD,CAAC","sourcesContent":["/**\n * Catalog ids with a committed real-data confrontation.\n *\n * `DATA_CONFRONTED_IDS` is a sorted projection of `CONFRONTATIONS`.\n * `composition/bridge-analysis.ts` imports it in the allowed direction.\n * The coverage audit that scans `CATALOG_GRAPH` lives in\n * `composition/audit-coverage.ts`. This file does not import `composition/`.\n *\n * @module bridges/confrontation-coverage\n */\n\nimport { CONFRONTATIONS } from './confrontations.js';\n\n/**\n * Catalog ids with a committed real-data confrontation — a SORTED\n * projection of the confrontation registry's keyset (single source of\n * truth; adding a `ConfrontationEntry` grows this set automatically).\n * Consumed by `composition/bridge-analysis.ts` for the scorecard's\n * data-confrontation flag.\n *\n * @internal\n */\nexport const DATA_CONFRONTED_IDS: ReadonlySet<number> = new Set(\n [...CONFRONTATIONS.keys()].sort((a, b) => a - b),\n);\n"]}
|