universal-physics-tensor 10.0.0 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -36
- package/bin/upt.mjs +13 -1
- package/data/applied-cases.json +1892 -0
- package/data/applied-cases.schema.json +194 -0
- package/data/atlas/atlas.json +25 -25
- package/data/atlas/atlas.jsonld +1 -1
- package/data/atlas/diffusion.json +6 -6
- package/data/atlas/oscillators.json +7 -7
- package/data/atlas/waves.json +14 -14
- package/data/atlas/witness-results.json +11 -11
- package/data/bridge-catalog.json +389 -230
- package/data/bridge-catalog.schema.json +45 -7
- package/data/units.json +6 -25
- package/dist/atlas/applicability.d.ts.map +1 -1
- package/dist/atlas/applicability.js +21 -15
- package/dist/atlas/applicability.js.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts +9 -1
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.js +15 -13
- package/dist/atlas/benchmark/hybrid-retrieval.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/stats.d.ts +2 -2
- package/dist/atlas/benchmark/stats.d.ts.map +1 -1
- package/dist/atlas/benchmark/stats.js +9 -15
- package/dist/atlas/benchmark/stats.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.map +1 -1
- package/dist/atlas/chain-pipeline.js +7 -8
- package/dist/atlas/chain-pipeline.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 -12
- 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 -39
- 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/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/link-prediction.d.ts +106 -3
- 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/oscillators/bridges-coarse.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.js +7 -11
- 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 -7
- 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 -34
- 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/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/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-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/physjs-entries.generated.d.ts +35 -25
- package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
- package/dist/atlas/physjs-entries.generated.js +37 -25
- package/dist/atlas/physjs-entries.generated.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +34 -31
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +55 -53
- package/dist/atlas/physjs-ref.js.map +1 -1
- package/dist/atlas/physjs-reviewed.d.ts +1 -1
- package/dist/atlas/physjs-reviewed.js +15 -15
- package/dist/atlas/physjs-reviewed.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/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/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/waves/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/waves/bridges-closure.js +2 -6
- 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 -48
- package/dist/atlas/waves/bridges.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-numeric.d.ts +30 -0
- package/dist/atlas/witness-numeric.d.ts.map +1 -1
- package/dist/atlas/witness-numeric.js +53 -0
- package/dist/atlas/witness-numeric.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/bridges/catalog-load.d.ts.map +1 -1
- package/dist/bridges/catalog-load.js +13 -8
- package/dist/bridges/catalog-load.js.map +1 -1
- package/dist/bridges/catalog-types.d.ts +26 -2
- 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/evaluation-errors.d.ts +31 -1
- package/dist/bridges/evaluation-errors.d.ts.map +1 -1
- package/dist/bridges/evaluation-errors.js +20 -2
- 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.map +1 -1
- package/dist/bridges/evaluators.js +27 -12
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/expr-parse.d.ts +11 -0
- package/dist/bridges/expr-parse.d.ts.map +1 -1
- package/dist/bridges/expr-parse.js +14 -5
- package/dist/bridges/expr-parse.js.map +1 -1
- package/dist/bridges/holds.d.ts +35 -3
- package/dist/bridges/holds.d.ts.map +1 -1
- package/dist/bridges/holds.js +117 -23
- package/dist/bridges/holds.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/relation-eval.d.ts +4 -4
- package/dist/bridges/relation-eval.d.ts.map +1 -1
- package/dist/bridges/relation-eval.js +15 -16
- package/dist/bridges/relation-eval.js.map +1 -1
- package/dist/bridges/sensitivity.d.ts.map +1 -1
- package/dist/bridges/sensitivity.js +3 -3
- package/dist/bridges/sensitivity.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/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 +4 -5
- 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 +3 -4
- 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 +4 -10
- 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 +9 -17
- 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/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.map +1 -1
- package/dist/canonical/linkage.js +25 -44
- package/dist/canonical/linkage.js.map +1 -1
- package/dist/canonical/normal-form.d.ts.map +1 -1
- package/dist/canonical/normal-form.js +5 -11
- package/dist/canonical/normal-form.js.map +1 -1
- package/dist/canonical/structural.d.ts +21 -21
- package/dist/canonical/structural.d.ts.map +1 -1
- package/dist/canonical/structural.js +40 -19
- package/dist/canonical/structural.js.map +1 -1
- package/dist/cases/catalog-checks.d.ts +10 -0
- package/dist/cases/catalog-checks.d.ts.map +1 -0
- package/dist/cases/catalog-checks.js +241 -0
- package/dist/cases/catalog-checks.js.map +1 -0
- package/dist/cases/catalog.d.ts +83 -0
- package/dist/cases/catalog.d.ts.map +1 -0
- package/dist/cases/catalog.js +118 -0
- package/dist/cases/catalog.js.map +1 -0
- package/dist/cases/engine.d.ts +13 -0
- package/dist/cases/engine.d.ts.map +1 -0
- package/dist/cases/engine.js +179 -0
- package/dist/cases/engine.js.map +1 -0
- package/dist/cases/index.d.ts.map +1 -1
- package/dist/cases/index.js +5 -7
- package/dist/cases/index.js.map +1 -1
- package/dist/cases/methods.d.ts +215 -0
- package/dist/cases/methods.d.ts.map +1 -0
- package/dist/cases/methods.js +743 -0
- package/dist/cases/methods.js.map +1 -0
- 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/types.d.ts +12 -0
- package/dist/cases/types.d.ts.map +1 -1
- package/dist/cases/types.js.map +1 -1
- package/dist/cli/args.d.ts +25 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +30 -8
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/bindings.d.ts.map +1 -1
- package/dist/cli/bindings.js +5 -4
- package/dist/cli/bindings.js.map +1 -1
- package/dist/cli/command.d.ts +11 -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 +0 -9
- package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
- package/dist/cli/commands/_atlas-map.js +8 -18
- 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 +1 -0
- package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +9 -9
- 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 +8 -5
- 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 +8 -1
- 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/confront.d.ts.map +1 -1
- package/dist/cli/commands/confront.js +8 -14
- package/dist/cli/commands/confront.js.map +1 -1
- package/dist/cli/commands/derive.d.ts.map +1 -1
- package/dist/cli/commands/derive.js +22 -22
- 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 +122 -73
- 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 +1 -0
- 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 +67 -39
- 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 +24 -3
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/ground.d.ts.map +1 -1
- package/dist/cli/commands/ground.js +7 -1
- package/dist/cli/commands/ground.js.map +1 -1
- package/dist/cli/commands/map.d.ts.map +1 -1
- package/dist/cli/commands/map.js +84 -11
- 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 +12 -9
- 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 +25 -3
- package/dist/cli/commands/path.js.map +1 -1
- package/dist/cli/commands/probe.d.ts.map +1 -1
- package/dist/cli/commands/probe.js +59 -16
- package/dist/cli/commands/probe.js.map +1 -1
- package/dist/cli/commands/regime.d.ts.map +1 -1
- package/dist/cli/commands/regime.js +1 -0
- 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 +1 -0
- 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 +1 -0
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/symbolic.d.ts.map +1 -1
- package/dist/cli/commands/symbolic.js +19 -28
- 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 +4 -2
- package/dist/cli/commands/testplan.js.map +1 -1
- package/dist/cli/determination.d.ts +1 -0
- package/dist/cli/determination.d.ts.map +1 -1
- package/dist/cli/determination.js.map +1 -1
- package/dist/cli/expr-print.d.ts +0 -2
- package/dist/cli/expr-print.d.ts.map +1 -1
- package/dist/cli/expr-print.js +7 -31
- package/dist/cli/expr-print.js.map +1 -1
- package/dist/cli/flag-help.d.ts +1 -0
- package/dist/cli/flag-help.d.ts.map +1 -1
- package/dist/cli/flag-help.js +1 -0
- package/dist/cli/flag-help.js.map +1 -1
- package/dist/cli/graphs.d.ts +2 -0
- package/dist/cli/graphs.d.ts.map +1 -1
- package/dist/cli/graphs.js +1 -0
- package/dist/cli/graphs.js.map +1 -1
- package/dist/cli/main.d.ts +8 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +19 -3
- package/dist/cli/main.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 +28 -0
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +23 -0
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/record-reach.js +2 -2
- 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 +6 -5
- 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 +9 -8
- package/dist/cli/record.js.map +1 -1
- package/dist/cli/search-index.d.ts.map +1 -1
- package/dist/cli/search-index.js +7 -6
- 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 +12 -9
- 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/version.d.ts +1 -0
- package/dist/cli/version.d.ts.map +1 -1
- package/dist/cli/version.js +8 -5
- package/dist/cli/version.js.map +1 -1
- package/dist/cli-api.d.ts +36 -5
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +30 -4
- package/dist/cli-api.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/axes.d.ts +0 -6
- package/dist/composition/axes.d.ts.map +1 -1
- package/dist/composition/axes.js +6 -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 +17 -0
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +102 -55
- package/dist/composition/bridge-analysis.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 +122 -24
- package/dist/composition/canonical-compare.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +3 -3
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +11 -38
- 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/catalog-graph.d.ts.map +1 -1
- package/dist/composition/catalog-graph.js +2 -5
- package/dist/composition/catalog-graph.js.map +1 -1
- package/dist/composition/chain-candidate.d.ts +8 -0
- package/dist/composition/chain-candidate.d.ts.map +1 -1
- package/dist/composition/chain-candidate.js +9 -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-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-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 +13 -5
- 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 +15 -5
- package/dist/composition/consequence.d.ts.map +1 -1
- package/dist/composition/consequence.js +6 -4
- package/dist/composition/consequence.js.map +1 -1
- package/dist/composition/discovery.d.ts +129 -9
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +171 -67
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +21 -2
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +23 -1
- package/dist/composition/edge.js.map +1 -1
- 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 +3 -12
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +7 -20
- package/dist/composition/explain.js.map +1 -1
- package/dist/composition/expr-eval.d.ts +1 -1
- package/dist/composition/expr-eval.d.ts.map +1 -1
- package/dist/composition/expr-eval.js +6 -15
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/expr-simplify.d.ts +26 -14
- package/dist/composition/expr-simplify.d.ts.map +1 -1
- package/dist/composition/expr-simplify.js +64 -72
- package/dist/composition/expr-simplify.js.map +1 -1
- package/dist/composition/formula-shape.d.ts +23 -4
- package/dist/composition/formula-shape.d.ts.map +1 -1
- package/dist/composition/formula-shape.js +57 -17
- package/dist/composition/formula-shape.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.d.ts.map +1 -1
- package/dist/composition/grounding.js +19 -7
- 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 +8 -4
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +3 -2
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/mathts-quiet.d.ts +7 -8
- package/dist/composition/mathts-quiet.d.ts.map +1 -1
- package/dist/composition/mathts-quiet.js +7 -16
- package/dist/composition/mathts-quiet.js.map +1 -1
- package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -1
- package/dist/composition/mathts-scalar-symbols.js +2 -1
- package/dist/composition/mathts-scalar-symbols.js.map +1 -1
- package/dist/composition/own-equation-magnitude.d.ts +95 -0
- package/dist/composition/own-equation-magnitude.d.ts.map +1 -0
- package/dist/composition/own-equation-magnitude.js +270 -0
- package/dist/composition/own-equation-magnitude.js.map +1 -0
- package/dist/composition/probe/backend-protocol.d.ts +3 -0
- package/dist/composition/probe/backend-protocol.d.ts.map +1 -1
- package/dist/composition/probe/backend-protocol.js.map +1 -1
- package/dist/composition/probe/candidate-store.d.ts +1 -0
- package/dist/composition/probe/candidate-store.d.ts.map +1 -1
- package/dist/composition/probe/candidate-store.js +1 -0
- package/dist/composition/probe/candidate-store.js.map +1 -1
- package/dist/composition/probe/corpus.d.ts +8 -4
- package/dist/composition/probe/corpus.d.ts.map +1 -1
- package/dist/composition/probe/corpus.js +23 -12
- package/dist/composition/probe/corpus.js.map +1 -1
- package/dist/composition/probe/dataset.d.ts +18 -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 +7 -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/falsify.d.ts +2 -0
- package/dist/composition/probe/falsify.d.ts.map +1 -1
- package/dist/composition/probe/falsify.js +2 -0
- package/dist/composition/probe/falsify.js.map +1 -1
- package/dist/composition/probe/fit.d.ts +7 -0
- package/dist/composition/probe/fit.d.ts.map +1 -1
- package/dist/composition/probe/fit.js +46 -22
- 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 +30 -1
- package/dist/composition/probe/generator.d.ts.map +1 -1
- package/dist/composition/probe/generator.js +58 -36
- package/dist/composition/probe/generator.js.map +1 -1
- package/dist/composition/probe/index.d.ts +14 -0
- package/dist/composition/probe/index.d.ts.map +1 -1
- package/dist/composition/probe/index.js +6 -0
- package/dist/composition/probe/index.js.map +1 -1
- package/dist/composition/probe/limits.d.ts +25 -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/pipeline.d.ts +5 -0
- package/dist/composition/probe/pipeline.d.ts.map +1 -1
- package/dist/composition/probe/pipeline.js +73 -24
- 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 +251 -0
- package/dist/composition/probe/power-law.js.map +1 -0
- package/dist/composition/probe/problem.d.ts +8 -4
- package/dist/composition/probe/problem.d.ts.map +1 -1
- package/dist/composition/probe/problem.js +177 -49
- 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 +7 -1
- package/dist/composition/probe/residual.d.ts.map +1 -1
- package/dist/composition/probe/residual.js +10 -7
- package/dist/composition/probe/residual.js.map +1 -1
- package/dist/composition/probe/run-manifest.d.ts +1 -0
- package/dist/composition/probe/run-manifest.d.ts.map +1 -1
- package/dist/composition/probe/run-manifest.js.map +1 -1
- package/dist/composition/probe/scalar-search.d.ts +50 -0
- package/dist/composition/probe/scalar-search.d.ts.map +1 -0
- package/dist/composition/probe/scalar-search.js +169 -0
- package/dist/composition/probe/scalar-search.js.map +1 -0
- package/dist/composition/probe/scoring.d.ts +1 -0
- package/dist/composition/probe/scoring.d.ts.map +1 -1
- package/dist/composition/probe/scoring.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 +31 -9
- package/dist/composition/probe/study.d.ts.map +1 -1
- package/dist/composition/probe/study.js +235 -184
- package/dist/composition/probe/study.js.map +1 -1
- package/dist/composition/probe/t-tail.d.ts +16 -0
- package/dist/composition/probe/t-tail.d.ts.map +1 -0
- package/dist/composition/probe/t-tail.js +29 -0
- package/dist/composition/probe/t-tail.js.map +1 -0
- package/dist/composition/probe/types.d.ts +3 -0
- package/dist/composition/probe/types.d.ts.map +1 -1
- package/dist/composition/probe/types.js.map +1 -1
- package/dist/composition/proposed-bridges.d.ts +52 -12
- package/dist/composition/proposed-bridges.d.ts.map +1 -1
- package/dist/composition/proposed-bridges.js +107 -60
- package/dist/composition/proposed-bridges.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/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 +29 -0
- package/dist/composition/representative-values.js.map +1 -1
- package/dist/composition/retrodiction.d.ts +15 -0
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +12 -4
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/user-equation.d.ts +1 -0
- package/dist/composition/user-equation.d.ts.map +1 -1
- package/dist/composition/user-equation.js +3 -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/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 +42 -41
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +71 -51
- 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/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 +2 -0
- package/dist/core/json-schema.d.ts.map +1 -1
- package/dist/core/json-schema.js +14 -13
- package/dist/core/json-schema.js.map +1 -1
- package/dist/core/labeled-tensor.d.ts.map +1 -1
- package/dist/core/labeled-tensor.js +0 -8
- 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/tensor.d.ts.map +1 -1
- package/dist/core/tensor.js +24 -0
- package/dist/core/tensor.js.map +1 -1
- package/dist/core/types.d.ts +5 -5
- package/dist/diff/bridge-ast-gradient.d.ts +27 -23
- package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-ast-gradient.js +75 -173
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/diff/bridge-gradient.d.ts +19 -6
- package/dist/diff/bridge-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-gradient.js +19 -11
- package/dist/diff/bridge-gradient.js.map +1 -1
- package/dist/diff/bridge-specs.d.ts.map +1 -1
- package/dist/diff/bridge-specs.js +3 -0
- 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 +7 -0
- package/dist/dimensional/ast-builders.d.ts.map +1 -1
- package/dist/dimensional/ast-builders.js +11 -0
- 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.d.ts +15 -0
- package/dist/dimensional/ast-types.d.ts.map +1 -1
- package/dist/dimensional/ast-types.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/constant-rows.js +9 -9
- package/dist/dimensional/constant-rows.js.map +1 -1
- package/dist/dimensional/curvature-composite.d.ts +1 -1
- package/dist/dimensional/curvature-composite.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/errors.d.ts +1 -1
- package/dist/dimensional/errors.d.ts.map +1 -1
- package/dist/dimensional/errors.js +1 -15
- package/dist/dimensional/errors.js.map +1 -1
- package/dist/dimensional/exact-scale.d.ts +24 -11
- package/dist/dimensional/exact-scale.d.ts.map +1 -1
- package/dist/dimensional/exact-scale.js +122 -130
- package/dist/dimensional/exact-scale.js.map +1 -1
- package/dist/dimensional/gauge-field.d.ts.map +1 -1
- package/dist/dimensional/gauge-field.js +2 -2
- 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 +44 -19
- package/dist/dimensional/hyphen-names.js.map +1 -1
- package/dist/dimensional/mathts-unit-delegation.d.ts +29 -0
- package/dist/dimensional/mathts-unit-delegation.d.ts.map +1 -0
- package/dist/dimensional/mathts-unit-delegation.js +187 -0
- package/dist/dimensional/mathts-unit-delegation.js.map +1 -0
- package/dist/dimensional/mathts-unit-wrapper.d.ts +33 -0
- package/dist/dimensional/mathts-unit-wrapper.d.ts.map +1 -0
- package/dist/dimensional/mathts-unit-wrapper.js +190 -0
- package/dist/dimensional/mathts-unit-wrapper.js.map +1 -0
- 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/scalar-lowering.d.ts +21 -0
- package/dist/dimensional/scalar-lowering.d.ts.map +1 -0
- package/dist/dimensional/scalar-lowering.js +45 -0
- package/dist/dimensional/scalar-lowering.js.map +1 -0
- 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 +13 -1
- package/dist/dimensional/symbolic-constants.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-data.d.ts +5 -1
- package/dist/dimensional/unit-data.d.ts.map +1 -1
- package/dist/dimensional/unit-data.js +30 -6
- package/dist/dimensional/unit-data.js.map +1 -1
- package/dist/dimensional/units.d.ts +2 -0
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +59 -3
- package/dist/dimensional/units.js.map +1 -1
- package/dist/dimensional/validator.d.ts +2 -0
- package/dist/dimensional/validator.d.ts.map +1 -1
- package/dist/dimensional/validator.js.map +1 -1
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -4
- package/dist/index.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.d.ts +3 -1
- package/dist/numerical/connection-lowering-helpers.d.ts.map +1 -1
- package/dist/numerical/connection-lowering-helpers.js +11 -15
- 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 +34 -11
- package/dist/numerical/covariant-eikonal.js.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.js +3 -2
- package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
- package/dist/numerical/errors.d.ts.map +1 -1
- package/dist/numerical/errors.js +0 -3
- package/dist/numerical/errors.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/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/mathts-engine.d.ts.map +1 -1
- package/dist/numerical/mathts-engine.js +10 -24
- 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-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 +2 -6
- 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.map +1 -1
- package/dist/numerical/quadrature.js +11 -13
- 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 +12 -0
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
- package/dist/numerical/spacetime-metrics.js +72 -56
- 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.d.ts +3 -2
- package/dist/numerical/strides.d.ts.map +1 -1
- package/dist/numerical/strides.js +3 -10
- package/dist/numerical/strides.js.map +1 -1
- package/dist/numerical/tensor-engine.d.ts +21 -0
- 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/relations/regime.d.ts +10 -0
- package/dist/relations/regime.d.ts.map +1 -1
- package/dist/relations/regime.js +18 -1
- package/dist/relations/regime.js.map +1 -1
- package/package.json +9 -12
- package/dist/cases/brownian-sphere.d.ts +0 -68
- package/dist/cases/brownian-sphere.d.ts.map +0 -1
- package/dist/cases/brownian-sphere.js +0 -354
- package/dist/cases/brownian-sphere.js.map +0 -1
- package/dist/cases/damped-resonator.d.ts +0 -23
- package/dist/cases/damped-resonator.d.ts.map +0 -1
- package/dist/cases/damped-resonator.js +0 -224
- package/dist/cases/damped-resonator.js.map +0 -1
- package/dist/cases/kepler-rv.d.ts +0 -13
- package/dist/cases/kepler-rv.d.ts.map +0 -1
- package/dist/cases/kepler-rv.js +0 -172
- package/dist/cases/kepler-rv.js.map +0 -1
- package/dist/cases/lumped-cooling.d.ts +0 -46
- package/dist/cases/lumped-cooling.d.ts.map +0 -1
- package/dist/cases/lumped-cooling.js +0 -261
- package/dist/cases/lumped-cooling.js.map +0 -1
- package/dist/cases/resistor-noise.d.ts +0 -14
- package/dist/cases/resistor-noise.d.ts.map +0 -1
- package/dist/cases/resistor-noise.js +0 -215
- package/dist/cases/resistor-noise.js.map +0 -1
- package/dist/cases/skin-depth.d.ts +0 -21
- package/dist/cases/skin-depth.d.ts.map +0 -1
- package/dist/cases/skin-depth.js +0 -174
- package/dist/cases/skin-depth.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/composition/probe/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/composition/probe/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACpF,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACL,cAAc,EACd,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,4FAA4F;AAC5F,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpI,wHAAwH;AACxH,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACnH,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACrE,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACtE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,+FAA+F;AAC/F,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACnE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACL,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,uIAAuI;AACvI,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/D,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACvF,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC9F,yHAAyH;AACzH,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,gGAAgG;AAChG,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,yGAAyG;AACzG,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC3J,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,sEAAsE;AACtE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,SAAS,EACT,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,uHAAuH;AACvH,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -18,6 +18,8 @@ export { scalarDiscrepancy, rmse, ResidualError } from './residual.js';
|
|
|
18
18
|
export { openManifest, closeManifest } from './run-manifest.js';
|
|
19
19
|
export { canTransition, applyStatus, statusRank, ProbeCandidateStore } from './candidate-store.js';
|
|
20
20
|
export { monomialToExpr, generateNative } from './generator.js';
|
|
21
|
+
/** The rational power law over the π-groups, and the log-design rank the frontier reads. */
|
|
22
|
+
export { powerLawDetermination, powerLawWording, rationalizeExponent, piStructure, logDesign, logDesignRank } from './power-law.js';
|
|
21
23
|
export { wrapRelationLinkGaps, wrapConnectorGaps, wrapRegimeGaps, scanFrontier, findFrontierGap, problemFromResidualGap, } from './frontier.js';
|
|
22
24
|
export { expressionSearchGaps, scanWithExpressionGaps } from './expression-gaps.js';
|
|
23
25
|
export { fitPrefactor } from './fit.js';
|
|
@@ -26,8 +28,12 @@ export { compareToCorpus, corpusRelativeWording } from './corpus.js';
|
|
|
26
28
|
export { checkDeclaredLimit, checkDeclaredLimits } from './limits.js';
|
|
27
29
|
export { runFalsification, DEFAULT_BATTERIES } from './falsify.js';
|
|
28
30
|
export { datasetFromRows, asDatasetSafe, loadDatasetFromJson, loadSplitDatasetsFromJson, loadDatasetFromCsv, loadSplitCsv, } from './dataset.js';
|
|
31
|
+
/** The strict cell reader (a finite number or a decimal string, never a coercion) and the error a dataset raises by row and column. */
|
|
32
|
+
export { readDatasetNumber, DatasetError } from './dataset.js';
|
|
29
33
|
export { suggestDiscriminatingPoint, parseDesignBounds } from './experiment-design.js';
|
|
30
34
|
export { detectMeanChangepoint, estimateScaleExponent, probeConservation, } from './structure.js';
|
|
35
|
+
/** The direct two-sided Student t tail the probes consume instead of MathTS's `2·(1 − CDF)`. */
|
|
36
|
+
export { studentTwoSidedP } from './t-tail.js';
|
|
31
37
|
export { runBackendWorker } from './backend-protocol.js';
|
|
32
38
|
export { setRelationMetadata, getRelationMetadata, listRelationMetadata, clearRelationMetadata, } from './metadata.js';
|
|
33
39
|
/** The problem-file readers and the error a file that is not a problem file raises, naming its field. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/composition/probe/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAyCpB,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEpF,OAAO,EACL,cAAc,EACd,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/composition/probe/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAyCpB,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEpF,OAAO,EACL,cAAc,EACd,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhE,4FAA4F;AAC5F,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpI,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAItE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEnE,OAAO,EACL,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,uIAAuI;AACvI,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEvF,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAIxB,gGAAgG;AAChG,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,yGAAyG;AACzG,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE3J,sEAAsE;AACtE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC","sourcesContent":["/**\n * Experimental Product B barrel — expression / residual search.\n *\n * Import via `universal-physics-tensor/probe`. Not re-exported from the\n * root `universal-physics-tensor` entry. Orthogonal to Product A\n * (`upt discover` / `VettedCandidate`).\n *\n * All symbols are `@internal`: the subpath exists for CLI and experiments,\n * not as a stability contract.\n *\n * @module composition/probe\n */\n\nexport {\n SCHEMA_VERSION,\n PROBE_SCHEMA_VERSION,\n DEFAULT_SEARCH_BUDGET,\n} from './types.js';\nexport type {\n ProbeCandidateStatus,\n RelationKind,\n AuditState,\n DiscrepancyKind,\n DatasetRole,\n SearchStopReason,\n FrontierGapKind,\n IdentifiabilityKind,\n SearchBudget,\n DiscrepancyDefinition,\n ScientificRelationRef,\n IdentifiabilityAssessment,\n SearchabilityAssessment,\n GapEvidence,\n FrontierGap,\n ProbeCandidateOrigin,\n ProbeCandidateBody,\n StatusEvent,\n CandidateFingerprint,\n ComplexityMetrics,\n ProbeCandidateRecord,\n ProbeRejectionRecord,\n DiscoveryBackendDescriptor,\n EnvironmentFingerprint,\n NondeterminismSource,\n DiscoveryRunManifest,\n DimensionalVariableRef,\n ObservationRow,\n ProbeDataset,\n SearchProblem,\n ScoreVector,\n EvidenceAssessment,\n EvidenceProfile,\n DeclaredLimit,\n FalsificationBattery,\n FalsificationRecord,\n ScientificRelationRecord,\n} from './types.js';\n\nexport { canonicalJson, sha256Hex, hashCanonical, captureEnvironment } from '../canonical-json.js';\nexport { openBudget, budgetStopReason, canEmitCandidate } from './search-budget.js';\nexport type { BudgetState } from './search-budget.js';\nexport {\n bodyExpression,\n countAstNodes,\n countOperators,\n maxPowerOrder,\n complexityOf,\n fingerprintExpr,\n} from './fingerprint.js';\nexport { scalarDiscrepancy, rmse, ResidualError } from './residual.js';\nexport { openManifest, closeManifest } from './run-manifest.js';\nexport { canTransition, applyStatus, statusRank, ProbeCandidateStore } from './candidate-store.js';\nexport { monomialToExpr, generateNative } from './generator.js';\nexport type { RawCandidate } from './generator.js';\n/** The rational power law over the π-groups, and the log-design rank the frontier reads. */\nexport { powerLawDetermination, powerLawWording, rationalizeExponent, piStructure, logDesign, logDesignRank } from './power-law.js';\n/** The power-law types: the determination, one fitted exponent, a recovered fit, the π-structure and the log-design. */\nexport type { PowerLawDetermination, PowerLawExponent, PowerLawFit, PiStructure, LogDesign } from './power-law.js';\nexport {\n wrapRelationLinkGaps,\n wrapConnectorGaps,\n wrapRegimeGaps,\n scanFrontier,\n findFrontierGap,\n problemFromResidualGap,\n} from './frontier.js';\nexport { expressionSearchGaps, scanWithExpressionGaps } from './expression-gaps.js';\nexport { fitPrefactor } from './fit.js';\nexport type { FitResult } from './fit.js';\nexport { scoreCandidate, rankPareto } from './scoring.js';\nexport type { RankedCandidate } from './scoring.js';\nexport { compareToCorpus, corpusRelativeWording } from './corpus.js';\nexport type { CorpusMatch, CorpusComparisonResult } from './corpus.js';\nexport { checkDeclaredLimit, checkDeclaredLimits } from './limits.js';\nexport type { LimitCheckResult } from './limits.js';\n/** What a declared-limit check found: held, failed, or undecided on too few evaluable rows. */\nexport type { LimitOutcome } from './limits.js';\nexport { runFalsification, DEFAULT_BATTERIES } from './falsify.js';\nexport type { FalsifyInput, FalsifyResult } from './falsify.js';\nexport {\n datasetFromRows,\n asDatasetSafe,\n loadDatasetFromJson,\n loadSplitDatasetsFromJson,\n loadDatasetFromCsv,\n loadSplitCsv,\n} from './dataset.js';\n/** The strict cell reader (a finite number or a decimal string, never a coercion) and the error a dataset raises by row and column. */\nexport { readDatasetNumber, DatasetError } from './dataset.js';\nexport type { SplitFileDatasets } from './dataset.js';\nexport { suggestDiscriminatingPoint, parseDesignBounds } from './experiment-design.js';\nexport type { DesignBounds, DesignSuggestion } from './experiment-design.js';\nexport {\n detectMeanChangepoint,\n estimateScaleExponent,\n probeConservation,\n} from './structure.js';\nexport type { ChangepointInput, ChangepointResult, ScaleSymmetryInput } from './structure.js';\n/** The scale-exponent result (slope, standard error, direct p) and the conservation verdict (slope against k·stdErr). */\nexport type { ScaleExponentResult, ConservationResult } from './structure.js';\n/** The direct two-sided Student t tail the probes consume instead of MathTS's `2·(1 − CDF)`. */\nexport { studentTwoSidedP } from './t-tail.js';\nexport { runBackendWorker } from './backend-protocol.js';\nexport type { BackendRequest, BackendCandidate, BackendResponse } from './backend-protocol.js';\nexport {\n setRelationMetadata,\n getRelationMetadata,\n listRelationMetadata,\n clearRelationMetadata,\n} from './metadata.js';\n/** The problem-file readers and the error a file that is not a problem file raises, naming its field. */\nexport { makeResidualGap, loadSearchProblemFromJson, searchProblemFromFile, resolveObservationsPath, parseExprJson, ProblemFileError } from './problem.js';\nexport type { ProblemFile } from './problem.js';\n/** The search pipeline and the argv a Node worker is spawned with. */\nexport { runProbeSearch, nodeWorkerArgv } from './pipeline.js';\nexport type { ProbeSearchOptions, ProbeSearchResult } from './pipeline.js';\nexport { formatProbeReport, formatFrontierScan, formatFrontierGap } from './report.js';\nexport {\n parseStudy,\n loadStudyFromJson,\n loadStudyFile,\n attachReplication,\n studyCsvToRaw,\n runProbeStudy,\n formatProbeStudy,\n chiSquareSurvival,\n fSurvival,\n effectiveSigma,\n StudyRefusal,\n} from './study.js';\nexport type {\n ProbeStudy,\n ProbeStudyOptions,\n ProbeStudyResult,\n StudyVerdict,\n ReplicationOutcome,\n StudyRole,\n StudyProvenance,\n StudyObservation,\n StudyBaseline,\n SetTest,\n ModelTest,\n CandidateTest,\n StudyDesignSuggestion,\n StudyCorrection,\n StudyCorrectionReport,\n CorrectionStep,\n} from './study.js';\n/** One fitted correction coefficient with its standard error and, when declared, the reference it is compared with. */\nexport type { CorrectionCoefficient } from './study.js';\n"]}
|
|
@@ -2,15 +2,26 @@
|
|
|
2
2
|
* Declared-limit checks for probe candidates.
|
|
3
3
|
*
|
|
4
4
|
* A failed limit is **not automatically fatal**. It is fatal only when the
|
|
5
|
-
* candidate claims the domain in which the limit fails.
|
|
5
|
+
* candidate claims the domain in which the limit fails. A limit whose rows
|
|
6
|
+
* the candidate mostly could not be evaluated on is **undecided**, which is
|
|
7
|
+
* neither a pass nor a failure and is never fatal.
|
|
6
8
|
*
|
|
7
9
|
* @internal
|
|
8
10
|
*/
|
|
9
11
|
import type { ExprNode } from '../../dimensional/ast-types.js';
|
|
10
12
|
import type { DeclaredLimit, ProbeDataset } from './types.js';
|
|
13
|
+
/** What a limit check found: the limit held, failed, or could not be decided on these rows. @internal */
|
|
14
|
+
export type LimitOutcome = 'held' | 'failed' | 'undecided';
|
|
15
|
+
/** The outcome of one declared-limit check, and whether it is fatal. */
|
|
11
16
|
export interface LimitCheckResult {
|
|
12
17
|
readonly id: string;
|
|
18
|
+
/** `outcome === 'held'`. */
|
|
13
19
|
readonly passed: boolean;
|
|
20
|
+
readonly outcome: LimitOutcome;
|
|
21
|
+
/** Rows the candidate was evaluated on (finite prediction and a finite observation). */
|
|
22
|
+
readonly evaluated: number;
|
|
23
|
+
/** Rows the candidate threw on, or predicted a non-finite value for, or that have no finite observation. */
|
|
24
|
+
readonly skipped: number;
|
|
14
25
|
readonly claimedDomain: boolean;
|
|
15
26
|
readonly fatal: boolean;
|
|
16
27
|
readonly detail: string;
|
|
@@ -19,6 +30,19 @@ export interface LimitCheckResult {
|
|
|
19
30
|
* Evaluate `prefactor · expr` RMSE on `dataset`. When the candidate does not
|
|
20
31
|
* claim `limit.regime`, a failure is recorded but not fatal.
|
|
21
32
|
*
|
|
33
|
+
* A row the candidate throws on, or predicts a non-finite value for, is
|
|
34
|
+
* skipped and COUNTED. When more rows were skipped than evaluated (or none
|
|
35
|
+
* could be evaluated), the outcome is `undecided`: a candidate that throws on
|
|
36
|
+
* nine rows of ten is not judged on the tenth. That threshold, skipped >
|
|
37
|
+
* evaluated, is a choice stated here, not a measured one.
|
|
38
|
+
*
|
|
39
|
+
* The pass rule is LOOSE by design: the limit holds when the RMSE over the
|
|
40
|
+
* evaluated rows is at most half the largest |observation| of the dataset. It
|
|
41
|
+
* catches a candidate that is wrong by its own scale in a regime, not one that
|
|
42
|
+
* is wrong by a few percent; the holdout tolerance is the quantitative test.
|
|
43
|
+
* The RMSE is core `norm2` of the residuals over √n (overflow-safe), so a
|
|
44
|
+
* residual of 1e200 is a number, not `Infinity`.
|
|
45
|
+
*
|
|
22
46
|
* @internal
|
|
23
47
|
*/
|
|
24
48
|
export declare function checkDeclaredLimit(expr: ExprNode, dataset: ProbeDataset, prefactor: number, limit: DeclaredLimit, claimsDomain: boolean): LimitCheckResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../../../src/composition/probe/limits.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../../../src/composition/probe/limits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG9D,yGAAyG;AACzG,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE3D,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,wFAAwF;IACxF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,4GAA4G;IAC5G,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,aAAa,EACpB,YAAY,EAAE,OAAO,GACpB,gBAAgB,CAiElB;AAED,0CAA0C;AAC1C,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,YAAY,GAAG,SAAS,EACjC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,SAAS,aAAa,EAAE,EAChC,cAAc,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,GACpD,SAAS,gBAAgB,EAAE,CAc7B"}
|
|
@@ -2,15 +2,31 @@
|
|
|
2
2
|
* Declared-limit checks for probe candidates.
|
|
3
3
|
*
|
|
4
4
|
* A failed limit is **not automatically fatal**. It is fatal only when the
|
|
5
|
-
* candidate claims the domain in which the limit fails.
|
|
5
|
+
* candidate claims the domain in which the limit fails. A limit whose rows
|
|
6
|
+
* the candidate mostly could not be evaluated on is **undecided**, which is
|
|
7
|
+
* neither a pass nor a failure and is never fatal.
|
|
6
8
|
*
|
|
7
9
|
* @internal
|
|
8
10
|
*/
|
|
11
|
+
import { norm2 } from '@danielsimonjr/mathts-core';
|
|
9
12
|
import { evalExpr } from '../expr-eval.js';
|
|
10
13
|
/**
|
|
11
14
|
* Evaluate `prefactor · expr` RMSE on `dataset`. When the candidate does not
|
|
12
15
|
* claim `limit.regime`, a failure is recorded but not fatal.
|
|
13
16
|
*
|
|
17
|
+
* A row the candidate throws on, or predicts a non-finite value for, is
|
|
18
|
+
* skipped and COUNTED. When more rows were skipped than evaluated (or none
|
|
19
|
+
* could be evaluated), the outcome is `undecided`: a candidate that throws on
|
|
20
|
+
* nine rows of ten is not judged on the tenth. That threshold, skipped >
|
|
21
|
+
* evaluated, is a choice stated here, not a measured one.
|
|
22
|
+
*
|
|
23
|
+
* The pass rule is LOOSE by design: the limit holds when the RMSE over the
|
|
24
|
+
* evaluated rows is at most half the largest |observation| of the dataset. It
|
|
25
|
+
* catches a candidate that is wrong by its own scale in a regime, not one that
|
|
26
|
+
* is wrong by a few percent; the holdout tolerance is the quantitative test.
|
|
27
|
+
* The RMSE is core `norm2` of the residuals over √n (overflow-safe), so a
|
|
28
|
+
* residual of 1e200 is a number, not `Infinity`.
|
|
29
|
+
*
|
|
14
30
|
* @internal
|
|
15
31
|
*/
|
|
16
32
|
export function checkDeclaredLimit(expr, dataset, prefactor, limit, claimsDomain) {
|
|
@@ -18,40 +34,66 @@ export function checkDeclaredLimit(expr, dataset, prefactor, limit, claimsDomain
|
|
|
18
34
|
return {
|
|
19
35
|
id: limit.id,
|
|
20
36
|
passed: true,
|
|
37
|
+
outcome: 'held',
|
|
38
|
+
evaluated: 0,
|
|
39
|
+
skipped: 0,
|
|
21
40
|
claimedDomain: claimsDomain,
|
|
22
41
|
fatal: false,
|
|
23
42
|
detail: `no observations for declared-limit ${limit.id}`,
|
|
24
43
|
};
|
|
25
44
|
}
|
|
26
|
-
|
|
27
|
-
let
|
|
45
|
+
const residuals = [];
|
|
46
|
+
let skipped = 0;
|
|
28
47
|
for (const row of dataset.rows) {
|
|
29
48
|
let predicted;
|
|
30
49
|
try {
|
|
31
50
|
predicted = prefactor * evalExpr(expr, row);
|
|
32
51
|
}
|
|
33
52
|
catch {
|
|
53
|
+
skipped += 1;
|
|
34
54
|
continue;
|
|
35
55
|
}
|
|
36
56
|
const observed = row[dataset.observable];
|
|
37
|
-
if (!Number.isFinite(predicted) || observed
|
|
57
|
+
if (!Number.isFinite(predicted) || observed === undefined || !Number.isFinite(observed)) {
|
|
58
|
+
skipped += 1;
|
|
38
59
|
continue;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
60
|
+
}
|
|
61
|
+
residuals.push(predicted - observed);
|
|
62
|
+
}
|
|
63
|
+
const evaluated = residuals.length;
|
|
64
|
+
const total = dataset.rows.length;
|
|
65
|
+
if (evaluated === 0 || skipped > evaluated) {
|
|
66
|
+
return {
|
|
67
|
+
id: limit.id,
|
|
68
|
+
passed: false,
|
|
69
|
+
outcome: 'undecided',
|
|
70
|
+
evaluated,
|
|
71
|
+
skipped,
|
|
72
|
+
claimedDomain: claimsDomain,
|
|
73
|
+
fatal: false,
|
|
74
|
+
detail: `limit ${limit.id} undecided: ${skipped} of ${total} rows could not be evaluated (${evaluated} could); not judged on so few`,
|
|
75
|
+
};
|
|
42
76
|
}
|
|
43
|
-
const rmse =
|
|
44
|
-
|
|
77
|
+
const rmse = norm2(residuals) / Math.sqrt(evaluated);
|
|
78
|
+
// A reduce, not `Math.max(...rows)`: a spread of a large dataset overflows the call stack.
|
|
79
|
+
const scale = dataset.rows.reduce((m, r) => {
|
|
80
|
+
const v = r[dataset.observable];
|
|
81
|
+
return v !== undefined && Number.isFinite(v) ? Math.max(m, Math.abs(v)) : m;
|
|
82
|
+
}, 1e-12);
|
|
45
83
|
const passed = Number.isFinite(rmse) && rmse <= 0.5 * scale;
|
|
46
84
|
const fatal = !passed && claimsDomain;
|
|
85
|
+
const rows = skipped > 0 ? ` on ${evaluated} of ${total} rows (${skipped} skipped)` : '';
|
|
47
86
|
return {
|
|
48
87
|
id: limit.id,
|
|
49
88
|
passed,
|
|
89
|
+
outcome: passed ? 'held' : 'failed',
|
|
90
|
+
evaluated,
|
|
91
|
+
skipped,
|
|
50
92
|
claimedDomain: claimsDomain,
|
|
51
93
|
fatal,
|
|
52
94
|
detail: passed
|
|
53
|
-
? `limit ${limit.id} held (rmse=${rmse})`
|
|
54
|
-
: `limit ${limit.id} failed (rmse=${rmse})${fatal ? ' — fatal because candidate claims this domain' : ' — not fatal (domain not claimed)'}`,
|
|
95
|
+
? `limit ${limit.id} held (rmse=${rmse})${rows}`
|
|
96
|
+
: `limit ${limit.id} failed (rmse=${rmse})${rows}${fatal ? ' — fatal because candidate claims this domain' : ' — not fatal (domain not claimed)'}`,
|
|
55
97
|
};
|
|
56
98
|
}
|
|
57
99
|
/** Run every declared limit. @internal */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limits.js","sourceRoot":"","sources":["../../../src/composition/probe/limits.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"limits.js","sourceRoot":"","sources":["../../../src/composition/probe/limits.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Declared-limit checks for probe candidates.\n *\n * A failed limit is **not automatically fatal**. It is fatal only when the\n * candidate claims the domain in which the limit fails. A limit whose rows\n * the candidate mostly could not be evaluated on is **undecided**, which is\n * neither a pass nor a failure and is never fatal.\n *\n * @internal\n */\n\nimport { norm2 } from '@danielsimonjr/mathts-core';\nimport type { ExprNode } from '../../dimensional/ast-types.js';\nimport type { DeclaredLimit, ProbeDataset } from './types.js';\nimport { evalExpr } from '../expr-eval.js';\n\n/** What a limit check found: the limit held, failed, or could not be decided on these rows. @internal */\nexport type LimitOutcome = 'held' | 'failed' | 'undecided';\n\n/** The outcome of one declared-limit check, and whether it is fatal. */\nexport interface LimitCheckResult {\n readonly id: string;\n /** `outcome === 'held'`. */\n readonly passed: boolean;\n readonly outcome: LimitOutcome;\n /** Rows the candidate was evaluated on (finite prediction and a finite observation). */\n readonly evaluated: number;\n /** Rows the candidate threw on, or predicted a non-finite value for, or that have no finite observation. */\n readonly skipped: number;\n readonly claimedDomain: boolean;\n readonly fatal: boolean;\n readonly detail: string;\n}\n\n/**\n * Evaluate `prefactor · expr` RMSE on `dataset`. When the candidate does not\n * claim `limit.regime`, a failure is recorded but not fatal.\n *\n * A row the candidate throws on, or predicts a non-finite value for, is\n * skipped and COUNTED. When more rows were skipped than evaluated (or none\n * could be evaluated), the outcome is `undecided`: a candidate that throws on\n * nine rows of ten is not judged on the tenth. That threshold, skipped >\n * evaluated, is a choice stated here, not a measured one.\n *\n * The pass rule is LOOSE by design: the limit holds when the RMSE over the\n * evaluated rows is at most half the largest |observation| of the dataset. It\n * catches a candidate that is wrong by its own scale in a regime, not one that\n * is wrong by a few percent; the holdout tolerance is the quantitative test.\n * The RMSE is core `norm2` of the residuals over √n (overflow-safe), so a\n * residual of 1e200 is a number, not `Infinity`.\n *\n * @internal\n */\nexport function checkDeclaredLimit(\n expr: ExprNode,\n dataset: ProbeDataset,\n prefactor: number,\n limit: DeclaredLimit,\n claimsDomain: boolean,\n): LimitCheckResult {\n if (dataset.rows.length === 0) {\n return {\n id: limit.id,\n passed: true,\n outcome: 'held',\n evaluated: 0,\n skipped: 0,\n claimedDomain: claimsDomain,\n fatal: false,\n detail: `no observations for declared-limit ${limit.id}`,\n };\n }\n const residuals: number[] = [];\n let skipped = 0;\n for (const row of dataset.rows) {\n let predicted: number;\n try {\n predicted = prefactor * evalExpr(expr, row);\n } catch {\n skipped += 1;\n continue;\n }\n const observed = row[dataset.observable];\n if (!Number.isFinite(predicted) || observed === undefined || !Number.isFinite(observed)) {\n skipped += 1;\n continue;\n }\n residuals.push(predicted - observed);\n }\n const evaluated = residuals.length;\n const total = dataset.rows.length;\n if (evaluated === 0 || skipped > evaluated) {\n return {\n id: limit.id,\n passed: false,\n outcome: 'undecided',\n evaluated,\n skipped,\n claimedDomain: claimsDomain,\n fatal: false,\n detail: `limit ${limit.id} undecided: ${skipped} of ${total} rows could not be evaluated (${evaluated} could); not judged on so few`,\n };\n }\n const rmse = norm2(residuals) / Math.sqrt(evaluated);\n // A reduce, not `Math.max(...rows)`: a spread of a large dataset overflows the call stack.\n const scale = dataset.rows.reduce((m, r) => {\n const v = r[dataset.observable];\n return v !== undefined && Number.isFinite(v) ? Math.max(m, Math.abs(v)) : m;\n }, 1e-12);\n const passed = Number.isFinite(rmse) && rmse <= 0.5 * scale;\n const fatal = !passed && claimsDomain;\n const rows = skipped > 0 ? ` on ${evaluated} of ${total} rows (${skipped} skipped)` : '';\n return {\n id: limit.id,\n passed,\n outcome: passed ? 'held' : 'failed',\n evaluated,\n skipped,\n claimedDomain: claimsDomain,\n fatal,\n detail: passed\n ? `limit ${limit.id} held (rmse=${rmse})${rows}`\n : `limit ${limit.id} failed (rmse=${rmse})${rows}${fatal ? ' — fatal because candidate claims this domain' : ' — not fatal (domain not claimed)'}`,\n };\n}\n\n/** Run every declared limit. @internal */\nexport function checkDeclaredLimits(\n expr: ExprNode,\n dataset: ProbeDataset | undefined,\n prefactor: number,\n limits: readonly DeclaredLimit[],\n claimedRegimes: Readonly<Record<string, string>> = {},\n): readonly LimitCheckResult[] {\n const rows = dataset ?? {\n id: 'empty',\n role: 'falsification-only' as const,\n rows: [],\n observable: '',\n schemaVersion: '0',\n };\n return limits.map((limit) => {\n const claimsDomain = Object.entries(limit.regime).every(\n ([k, v]) => claimedRegimes[k] === v,\n );\n return checkDeclaredLimit(expr, rows, prefactor, limit, claimsDomain);\n });\n}\n"]}
|
|
@@ -13,6 +13,7 @@ import { type CorpusComparisonResult } from './corpus.js';
|
|
|
13
13
|
import { type FitResult } from './fit.js';
|
|
14
14
|
import { type FalsifyResult } from './falsify.js';
|
|
15
15
|
import { type RankedCandidate } from './scoring.js';
|
|
16
|
+
import { type ProbeScalarSearchOptions } from './scalar-search.js';
|
|
16
17
|
/** Stop wording when the problem carried no holdout rows. @internal */
|
|
17
18
|
export declare const NO_HOLDOUT_WORDING = "no holdout observations: no candidate was tested on withheld data";
|
|
18
19
|
/**
|
|
@@ -20,15 +21,19 @@ export declare const NO_HOLDOUT_WORDING = "no holdout observations: no candidate
|
|
|
20
21
|
* @internal
|
|
21
22
|
*/
|
|
22
23
|
export declare function nodeWorkerArgv(script: string): readonly string[];
|
|
24
|
+
/** The optional settings of one probe search: budget, run id, backend and corpus version. */
|
|
23
25
|
export interface ProbeSearchOptions {
|
|
24
26
|
readonly budget?: SearchBudget;
|
|
25
27
|
readonly runId?: string;
|
|
26
28
|
readonly repositoryCommit?: string;
|
|
27
29
|
readonly holdoutTol?: number;
|
|
28
30
|
readonly backendArgv?: readonly string[];
|
|
31
|
+
/** Opt-in MathTS scalar-search candidate source (plan task P5). Absent: the search does not run. */
|
|
32
|
+
readonly scalarSearch?: ProbeScalarSearchOptions;
|
|
29
33
|
readonly corpusVersion?: string;
|
|
30
34
|
readonly now?: string;
|
|
31
35
|
}
|
|
36
|
+
/** The outcome of one probe search: its manifest, candidates, rankings and stop reason. */
|
|
32
37
|
export interface ProbeSearchResult {
|
|
33
38
|
readonly manifest: DiscoveryRunManifest;
|
|
34
39
|
readonly candidates: readonly ProbeCandidateRecord[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../src/composition/probe/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../src/composition/probe/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAEV,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAYpB,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAIpE,OAAO,EAA8B,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,EAIL,KAAK,wBAAwB,EAC9B,MAAM,oBAAoB,CAAC;AAE5B,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,sEAAsE,CAAC;AAEtG;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAEhE;AAED,6FAA6F;AAC7F,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,oGAAoG;IACpG,QAAQ,CAAC,YAAY,CAAC,EAAE,wBAAwB,CAAC;IACjD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,2FAA2F;AAC3F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IACjE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAClE;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IACrE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;CACvC;AAkJD;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,aAAa,EACtB,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CAuT5B"}
|
|
@@ -12,7 +12,7 @@ import { validate } from '../../dimensional/validator.js';
|
|
|
12
12
|
import { equals } from '../../dimensional/algebra.js';
|
|
13
13
|
import { DEFAULT_HOLDOUT_TOL, DEFAULT_SEARCH_BUDGET, SCHEMA_VERSION } from './types.js';
|
|
14
14
|
import { openBudget, budgetStopReason } from './search-budget.js';
|
|
15
|
-
import { generateNative, nativeDetermination } from './generator.js';
|
|
15
|
+
import { generateNative, nativeDetermination, powerLawDetermination, powerLawWording, withinAstCaps, } from './generator.js';
|
|
16
16
|
import { fingerprintExpr, complexityOf, bodyExpression } from './fingerprint.js';
|
|
17
17
|
import { compareToCorpus, corpusPrefactorNotes, corpusRelativeWording, } from './corpus.js';
|
|
18
18
|
import { fitPrefactor } from './fit.js';
|
|
@@ -22,6 +22,7 @@ import { openManifest, closeManifest } from './run-manifest.js';
|
|
|
22
22
|
import { hashCanonical } from './serialize.js';
|
|
23
23
|
import { scoreCandidate, rankPareto } from './scoring.js';
|
|
24
24
|
import { runBackendWorker } from './backend-protocol.js';
|
|
25
|
+
import { SCALAR_SEARCH_ORIGIN, scalarSearchCandidates, UnsupportedScalarFunctionError, } from './scalar-search.js';
|
|
25
26
|
/** Stop wording when the problem carried no holdout rows. @internal */
|
|
26
27
|
export const NO_HOLDOUT_WORDING = 'no holdout observations: no candidate was tested on withheld data';
|
|
27
28
|
/**
|
|
@@ -116,6 +117,42 @@ function makeGenerated(expr, problem, runId, at, origin, seq) {
|
|
|
116
117
|
schemaVersion: SCHEMA_VERSION,
|
|
117
118
|
};
|
|
118
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* The manifest's backend list: the native enumerator, then each opted-in source.
|
|
122
|
+
* `undefined` when no source is opted in, so a default run's manifest is unchanged.
|
|
123
|
+
*/
|
|
124
|
+
function backendDescriptorsFor(opts) {
|
|
125
|
+
if (!opts.backendArgv && !opts.scalarSearch)
|
|
126
|
+
return undefined;
|
|
127
|
+
const list = [
|
|
128
|
+
{
|
|
129
|
+
protocolVersion: '0',
|
|
130
|
+
backendId: 'native',
|
|
131
|
+
backendVersion: SCHEMA_VERSION,
|
|
132
|
+
capabilities: ['grammar-enumerator'],
|
|
133
|
+
deterministic: 'yes',
|
|
134
|
+
},
|
|
135
|
+
];
|
|
136
|
+
if (opts.backendArgv) {
|
|
137
|
+
list.push({
|
|
138
|
+
protocolVersion: '0',
|
|
139
|
+
backendId: opts.backendArgv.join(' '),
|
|
140
|
+
backendVersion: 'external',
|
|
141
|
+
capabilities: ['external-backend'],
|
|
142
|
+
deterministic: 'unknown',
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
if (opts.scalarSearch) {
|
|
146
|
+
list.push({
|
|
147
|
+
protocolVersion: '0',
|
|
148
|
+
backendId: SCALAR_SEARCH_ORIGIN,
|
|
149
|
+
backendVersion: 'mathts-functions',
|
|
150
|
+
capabilities: ['scalar-search'],
|
|
151
|
+
deterministic: 'seeded',
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
return list;
|
|
155
|
+
}
|
|
119
156
|
/**
|
|
120
157
|
* Run a bounded Product B search. Never mutates Product A catalogs.
|
|
121
158
|
*
|
|
@@ -147,8 +184,14 @@ export async function runProbeSearch(problem, opts = {}) {
|
|
|
147
184
|
const { unsearched } = nativeDetermination(problem);
|
|
148
185
|
if (unsearched.length > 0) {
|
|
149
186
|
wording.push(`the monomial is taken from the dimensioned inputs; an unknown function of the ` +
|
|
150
|
-
`dimensionless input(s) {${unsearched.join(', ')}} is not searched`);
|
|
187
|
+
`dimensionless input(s) {${unsearched.join(', ')}} is not searched as such`);
|
|
151
188
|
}
|
|
189
|
+
// What the power-law fit over the π-groups found on the exploratory rows, or why it abstained
|
|
190
|
+
// (a negative result is a result); the generator ran the same fit to emit its candidate.
|
|
191
|
+
const powerLaw = hasAnyData(problem) ? powerLawDetermination(problem) : null;
|
|
192
|
+
const powerLawNote = powerLaw ? powerLawWording(powerLaw) : null;
|
|
193
|
+
if (powerLawNote !== null)
|
|
194
|
+
wording.push(powerLawNote);
|
|
152
195
|
for (const raw of generateNative(problem, state)) {
|
|
153
196
|
raws.push(raw);
|
|
154
197
|
const stop = budgetStopReason(state);
|
|
@@ -179,6 +222,27 @@ export async function runProbeSearch(problem, opts = {}) {
|
|
|
179
222
|
}
|
|
180
223
|
}
|
|
181
224
|
}
|
|
225
|
+
if (opts.scalarSearch && !budgetStopReason(state)) {
|
|
226
|
+
const remainingMs = Math.max(1, budget.maxWallClockMs - (performance.now() - state.startedAtMs));
|
|
227
|
+
try {
|
|
228
|
+
const found = await scalarSearchCandidates(problem, opts.scalarSearch, remainingMs);
|
|
229
|
+
if (found.note !== undefined)
|
|
230
|
+
wording.push(found.note);
|
|
231
|
+
for (const raw of found.raws) {
|
|
232
|
+
if (budgetStopReason(state))
|
|
233
|
+
break;
|
|
234
|
+
if (!withinAstCaps(raw.expression, budget))
|
|
235
|
+
continue;
|
|
236
|
+
state.candidates += 1;
|
|
237
|
+
raws.push(raw);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
catch (err) {
|
|
241
|
+
if (err instanceof UnsupportedScalarFunctionError)
|
|
242
|
+
throw err;
|
|
243
|
+
wording.push(`scalar search abstained: ${err instanceof Error ? err.message : String(err)}`);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
182
246
|
const open = openManifest({
|
|
183
247
|
runId,
|
|
184
248
|
repositoryCommit: opts.repositoryCommit ?? 'unknown',
|
|
@@ -190,24 +254,7 @@ export async function runProbeSearch(problem, opts = {}) {
|
|
|
190
254
|
tolerances: { holdoutRmse: opts.holdoutTol ?? DEFAULT_HOLDOUT_TOL },
|
|
191
255
|
searchBudget: budget,
|
|
192
256
|
startedAt: at,
|
|
193
|
-
backendDescriptors: opts
|
|
194
|
-
? [
|
|
195
|
-
{
|
|
196
|
-
protocolVersion: '0',
|
|
197
|
-
backendId: 'native',
|
|
198
|
-
backendVersion: SCHEMA_VERSION,
|
|
199
|
-
capabilities: ['grammar-enumerator'],
|
|
200
|
-
deterministic: 'yes',
|
|
201
|
-
},
|
|
202
|
-
{
|
|
203
|
-
protocolVersion: '0',
|
|
204
|
-
backendId: opts.backendArgv.join(' '),
|
|
205
|
-
backendVersion: 'external',
|
|
206
|
-
capabilities: ['external-backend'],
|
|
207
|
-
deterministic: 'unknown',
|
|
208
|
-
},
|
|
209
|
-
]
|
|
210
|
-
: undefined,
|
|
257
|
+
backendDescriptors: backendDescriptorsFor(opts),
|
|
211
258
|
});
|
|
212
259
|
for (const raw of raws) {
|
|
213
260
|
const stop = budgetStopReason(state);
|
|
@@ -215,7 +262,9 @@ export async function runProbeSearch(problem, opts = {}) {
|
|
|
215
262
|
break;
|
|
216
263
|
const origin = raw.originNote === 'external-backend'
|
|
217
264
|
? { kind: 'external-backend', backendId: 'external', runId }
|
|
218
|
-
:
|
|
265
|
+
: raw.originNote === SCALAR_SEARCH_ORIGIN
|
|
266
|
+
? { kind: 'external-backend', backendId: SCALAR_SEARCH_ORIGIN, runId }
|
|
267
|
+
: { kind: 'grammar-enumerator', runId };
|
|
219
268
|
seq += 1;
|
|
220
269
|
let rec = makeGenerated(raw.expression, problem, runId, at, origin, seq);
|
|
221
270
|
if (seenHash.has(rec.fingerprint.canonicalAstHash))
|
|
@@ -259,7 +308,7 @@ export async function runProbeSearch(problem, opts = {}) {
|
|
|
259
308
|
}
|
|
260
309
|
rec = applyStatus(rec, 'structurally-valid', 'validate() ok', runId, at);
|
|
261
310
|
store.replace(rec);
|
|
262
|
-
const corp = compareToCorpus(bodyExpression(rec.body), corpusVersion);
|
|
311
|
+
const corp = compareToCorpus(bodyExpression(rec.body), corpusVersion, at);
|
|
263
312
|
corpus[rec.id] = corp;
|
|
264
313
|
wording.push(corpusRelativeWording(corp));
|
|
265
314
|
const known = corp.algebraicMatches.length > 0;
|
|
@@ -303,7 +352,7 @@ export async function runProbeSearch(problem, opts = {}) {
|
|
|
303
352
|
if (known) {
|
|
304
353
|
// Equivalent up to a constant is not equal: compare the fitted constant
|
|
305
354
|
// with the corpus one where the corpus records it (persona finding L7).
|
|
306
|
-
prefactorNotes[rec.id] = corpusPrefactorNotes(corp, bodyExpression(rec.body), fit.prefactor, opts.holdoutTol ?? DEFAULT_HOLDOUT_TOL);
|
|
355
|
+
prefactorNotes[rec.id] = corpusPrefactorNotes(corp, bodyExpression(rec.body), fit.prefactor, opts.holdoutTol ?? DEFAULT_HOLDOUT_TOL, fit.prefactorStderr);
|
|
307
356
|
rec = applyStatus(rec, 'equivalent-known', corpusRelativeWording(corp), runId, at);
|
|
308
357
|
store.replace(rec);
|
|
309
358
|
continue;
|
|
@@ -352,7 +401,7 @@ export async function runProbeSearch(problem, opts = {}) {
|
|
|
352
401
|
wording.push(det.determined
|
|
353
402
|
? 'enumerator produced no dimensionally valid candidates'
|
|
354
403
|
: `the target is not a unique monomial of the inputs (${det.reason}); ` +
|
|
355
|
-
'the native enumerator searches unique monomials
|
|
404
|
+
'the native enumerator searches unique monomials and, with exploratory rows, a rational power law of the π-groups');
|
|
356
405
|
}
|
|
357
406
|
else if (hasAnyData(problem) &&
|
|
358
407
|
all.every((c) => c.status === 'rejected' ||
|