universal-physics-tensor 8.0.0 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -21
- package/data/atlas/atlas.json +75 -64
- package/data/atlas/atlas.jsonld +1 -1
- package/data/atlas/diffusion.json +23 -22
- package/data/atlas/oscillators.json +21 -16
- package/data/atlas/waves.json +33 -28
- package/data/bridge-catalog.json +1356 -1791
- package/data/bridge-catalog.schema.json +789 -46
- package/data/quantities.json +280 -234
- package/data/quantities.schema.json +52 -0
- package/data/schemas/atlas-record.v0.json +184 -46
- package/data/units.json +1178 -0
- package/data/units.schema.json +124 -0
- package/dist/atlas/applicability.d.ts.map +1 -1
- package/dist/atlas/applicability.js +14 -3
- package/dist/atlas/applicability.js.map +1 -1
- package/dist/atlas/association.d.ts +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 +3 -2
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.js +16 -12
- 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.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 +1 -1
- package/dist/atlas/benchmark/stats.d.ts.map +1 -1
- package/dist/atlas/benchmark/stats.js +1 -1
- 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.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 +5 -16
- 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.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.js +0 -5
- 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 +0 -3
- package/dist/atlas/diffusion/bridges.js.map +1 -1
- 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.js.map +1 -1
- 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 +1 -1
- package/dist/atlas/link-prediction.d.ts.map +1 -1
- 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 +0 -1
- 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 +0 -3
- package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.js +0 -2
- package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
- 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.js.map +1 -1
- 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.js.map +1 -1
- package/dist/atlas/oscillators/phase-carriage.js.map +1 -1
- package/dist/atlas/oscillators/phase-translation.js.map +1 -1
- package/dist/atlas/oscillators/position-translation.js.map +1 -1
- 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 +1601 -220
- package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
- package/dist/atlas/physjs-entries.generated.js +1854 -345
- package/dist/atlas/physjs-entries.generated.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +151 -117
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +244 -211
- 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.js.map +1 -1
- package/dist/atlas/proof-target.d.ts +16 -8
- package/dist/atlas/proof-target.d.ts.map +1 -1
- package/dist/atlas/proof-target.js +34 -31
- 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.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/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 +0 -3
- 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 +0 -4
- 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.js.map +1 -1
- 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 +8 -4
- package/dist/atlas/witness-numeric.d.ts.map +1 -1
- package/dist/atlas/witness-numeric.js +27 -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.js.map +1 -1
- 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 +22 -14
- package/dist/bridges/catalog-adapter.js.map +1 -1
- package/dist/bridges/catalog-load.d.ts +19 -2
- package/dist/bridges/catalog-load.d.ts.map +1 -1
- package/dist/bridges/catalog-load.js +233 -14
- package/dist/bridges/catalog-load.js.map +1 -1
- package/dist/bridges/catalog-types.d.ts +96 -27
- package/dist/bridges/catalog-types.d.ts.map +1 -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 +89 -0
- package/dist/bridges/evaluation-errors.d.ts.map +1 -0
- package/dist/bridges/evaluation-errors.js +136 -0
- package/dist/bridges/evaluation-errors.js.map +1 -0
- package/dist/bridges/evaluator-inputs.d.ts +5 -3
- package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
- package/dist/bridges/evaluator-inputs.js +24 -24
- package/dist/bridges/evaluator-inputs.js.map +1 -1
- package/dist/bridges/evaluators.d.ts +48 -8
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +173 -38
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/expr-parse.d.ts +38 -7
- package/dist/bridges/expr-parse.d.ts.map +1 -1
- package/dist/bridges/expr-parse.js +129 -156
- package/dist/bridges/expr-parse.js.map +1 -1
- package/dist/bridges/holds.d.ts +16 -8
- package/dist/bridges/holds.d.ts.map +1 -1
- package/dist/bridges/holds.js +130 -236
- 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.d.ts +65 -0
- package/dist/bridges/input-contract.d.ts.map +1 -0
- package/dist/bridges/input-contract.js +97 -0
- package/dist/bridges/input-contract.js.map +1 -0
- 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 +11 -0
- package/dist/bridges/notices.d.ts.map +1 -0
- package/dist/bridges/notices.js +22 -0
- package/dist/bridges/notices.js.map +1 -0
- 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 +5 -6
- package/dist/bridges/relation-eval.d.ts.map +1 -1
- package/dist/bridges/relation-eval.js +9 -38
- 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 +24 -10
- 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/canonical/canonical-equation.d.ts +31 -0
- package/dist/canonical/canonical-equation.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.js +11 -1
- 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 +7 -4
- 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 +50 -2
- 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 +32 -2
- 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 +34 -0
- 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 +24 -0
- 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 +42 -24
- 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 -0
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.d.ts.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.js +24 -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 +15 -0
- package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
- package/dist/canonical/linkage.d.ts +29 -4
- package/dist/canonical/linkage.d.ts.map +1 -1
- package/dist/canonical/linkage.js +31 -29
- 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 +17 -12
- 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 +21 -0
- package/dist/canonical/structural.d.ts.map +1 -1
- package/dist/canonical/structural.js +24 -4
- package/dist/canonical/structural.js.map +1 -1
- package/dist/cases/brownian-sphere.js +4 -4
- package/dist/cases/brownian-sphere.js.map +1 -1
- package/dist/cases/damped-resonator.js +2 -2
- package/dist/cases/damped-resonator.js.map +1 -1
- package/dist/cases/index.d.ts +9 -2
- package/dist/cases/index.d.ts.map +1 -1
- package/dist/cases/index.js +26 -7
- package/dist/cases/index.js.map +1 -1
- package/dist/cases/kepler-rv.js +6 -6
- package/dist/cases/kepler-rv.js.map +1 -1
- package/dist/cases/lumped-cooling.js +1 -1
- package/dist/cases/lumped-cooling.js.map +1 -1
- package/dist/cases/quadrature.js.map +1 -1
- package/dist/cases/resistor-noise.js +3 -3
- package/dist/cases/resistor-noise.js.map +1 -1
- package/dist/cases/skin-depth.js.map +1 -1
- package/dist/cases/types.js.map +1 -1
- package/dist/cli/args.d.ts +7 -2
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +18 -2
- 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 +32 -0
- package/dist/cli/bindings.js.map +1 -0
- package/dist/cli/closed-form-range.js.map +1 -1
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/commands/_atlas-map.d.ts +3 -3
- package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
- package/dist/cli/commands/_atlas-map.js +43 -18
- package/dist/cli/commands/_atlas-map.js.map +1 -1
- package/dist/cli/commands/_atlas-route.js.map +1 -1
- package/dist/cli/commands/_discovery-opts.d.ts +2 -1
- package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +48 -18
- 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 +7 -12
- 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 +13 -21
- package/dist/cli/commands/audit.js.map +1 -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 -14
- package/dist/cli/commands/confront.js.map +1 -1
- package/dist/cli/commands/connectors.d.ts.map +1 -1
- package/dist/cli/commands/connectors.js +8 -9
- 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 +50 -26
- 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 +18 -13
- 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 +29 -26
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts +1 -35
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +99 -208
- 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 +57 -45
- 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 -11
- 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 +84 -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 +53 -15
- package/dist/cli/commands/metric.js.map +1 -1
- package/dist/cli/commands/path.js +4 -4
- 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 +50 -26
- 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 -27
- 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 +22 -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 +8 -4
- 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 +14 -7
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/commands/testplan.js +4 -4
- package/dist/cli/commands/testplan.js.map +1 -1
- package/dist/cli/conventions.d.ts +6 -7
- package/dist/cli/conventions.d.ts.map +1 -1
- package/dist/cli/conventions.js +19 -28
- 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.d.ts +13 -2
- package/dist/cli/euler-guard.d.ts.map +1 -1
- package/dist/cli/euler-guard.js +17 -3
- package/dist/cli/euler-guard.js.map +1 -1
- package/dist/cli/eval-numbers.d.ts +4 -9
- package/dist/cli/eval-numbers.d.ts.map +1 -1
- package/dist/cli/eval-numbers.js +11 -41
- package/dist/cli/eval-numbers.js.map +1 -1
- package/dist/cli/expr-print.d.ts +29 -2
- package/dist/cli/expr-print.d.ts.map +1 -1
- package/dist/cli/expr-print.js +46 -2
- 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.js +7 -3
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/map-evidence.js.map +1 -1
- package/dist/cli/output.d.ts +3 -6
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/published-url.d.ts +2 -0
- package/dist/cli/published-url.d.ts.map +1 -1
- package/dist/cli/published-url.js +5 -0
- 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 +16 -10
- package/dist/cli/record-reach.js.map +1 -1
- package/dist/cli/record-tables.d.ts +2 -1
- package/dist/cli/record-tables.d.ts.map +1 -1
- package/dist/cli/record-tables.js +8 -3
- package/dist/cli/record-tables.js.map +1 -1
- package/dist/cli/record.d.ts.map +1 -1
- package/dist/cli/record.js +31 -12
- 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 +12 -1
- package/dist/cli/search-index.js.map +1 -1
- package/dist/cli/statuses.js.map +1 -1
- package/dist/cli/top-level-help.js.map +1 -1
- package/dist/cli/version.js.map +1 -1
- package/dist/cli-api.d.ts +57 -18
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +49 -21
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/adjudication.d.ts +8 -30
- package/dist/composition/adjudication.d.ts.map +1 -1
- package/dist/composition/adjudication.js +15 -67
- package/dist/composition/adjudication.js.map +1 -1
- package/dist/composition/aliases.d.ts +1 -1
- package/dist/composition/aliases.d.ts.map +1 -1
- package/dist/composition/aliases.js +10 -20
- 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 +12 -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.js.map +1 -1
- package/dist/composition/bridge-analysis.d.ts +0 -14
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +66 -57
- 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.map +1 -1
- package/dist/composition/canonical-compare.js +12 -2
- package/dist/composition/canonical-compare.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +15 -18
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +59 -85
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-json.js.map +1 -1
- package/dist/composition/canonical-prefactors.d.ts +10 -29
- package/dist/composition/canonical-prefactors.d.ts.map +1 -1
- package/dist/composition/canonical-prefactors.js +15 -202
- 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 +6 -20
- package/dist/composition/catalog-graph.js.map +1 -1
- package/dist/composition/chain-candidate.d.ts +2 -0
- package/dist/composition/chain-candidate.d.ts.map +1 -1
- package/dist/composition/chain-candidate.js +2 -0
- package/dist/composition/chain-candidate.js.map +1 -1
- package/dist/composition/chain-match.js.map +1 -1
- package/dist/composition/chain-regime.js.map +1 -1
- package/dist/composition/chain-result.js.map +1 -1
- package/dist/composition/compose-surface.js.map +1 -1
- package/dist/composition/compose-symbolic.js.map +1 -1
- package/dist/composition/compose.d.ts.map +1 -1
- package/dist/composition/compose.js +154 -36
- package/dist/composition/compose.js.map +1 -1
- 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 +67 -7
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +83 -23
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +19 -22
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +25 -28
- 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.map +1 -1
- package/dist/composition/evaluate-relation.d.ts +29 -5
- package/dist/composition/evaluate-relation.d.ts.map +1 -1
- package/dist/composition/evaluate-relation.js +100 -72
- package/dist/composition/evaluate-relation.js.map +1 -1
- package/dist/composition/explain.d.ts +14 -4
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +53 -19
- 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 -1
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/expr-simplify.d.ts.map +1 -1
- package/dist/composition/expr-simplify.js +9 -39
- 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 +9 -0
- package/dist/composition/formula-shape.d.ts.map +1 -1
- package/dist/composition/formula-shape.js +54 -0
- 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-viz-svg.js.map +1 -1
- package/dist/composition/graph-viz.js.map +1 -1
- package/dist/composition/grounding.js.map +1 -1
- package/dist/composition/identifiability.js.map +1 -1
- package/dist/composition/index.d.ts +9 -5
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +7 -4
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/mathts-quiet.d.ts +28 -0
- package/dist/composition/mathts-quiet.d.ts.map +1 -0
- package/dist/composition/mathts-quiet.js +56 -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 +18 -34
- 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.js.map +1 -1
- package/dist/composition/probe/dataset.js.map +1 -1
- 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 +14 -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 +1 -1
- package/dist/composition/probe/fit.d.ts.map +1 -1
- package/dist/composition/probe/fit.js +2 -1
- package/dist/composition/probe/fit.js.map +1 -1
- package/dist/composition/probe/frontier.js.map +1 -1
- package/dist/composition/probe/generator.js.map +1 -1
- package/dist/composition/probe/index.d.ts +4 -2
- package/dist/composition/probe/index.d.ts.map +1 -1
- package/dist/composition/probe/index.js +4 -2
- package/dist/composition/probe/index.js.map +1 -1
- 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 +13 -6
- package/dist/composition/probe/pipeline.js.map +1 -1
- package/dist/composition/probe/problem.d.ts +8 -0
- package/dist/composition/probe/problem.d.ts.map +1 -1
- package/dist/composition/probe/problem.js +78 -12
- package/dist/composition/probe/problem.js.map +1 -1
- package/dist/composition/probe/report.js.map +1 -1
- 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.js.map +1 -1
- package/dist/composition/probe/study.d.ts +4 -3
- package/dist/composition/probe/study.d.ts.map +1 -1
- package/dist/composition/probe/study.js +5 -3
- package/dist/composition/probe/study.js.map +1 -1
- package/dist/composition/probe/types.d.ts +3 -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 +11 -4
- package/dist/composition/proposed-bridges.d.ts.map +1 -1
- package/dist/composition/proposed-bridges.js +14 -6
- 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.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/representative-values.js.map +1 -1
- package/dist/composition/retrodiction.d.ts +18 -0
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +37 -7
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/uncertainty.js.map +1 -1
- package/dist/composition/user-equation.d.ts +11 -7
- package/dist/composition/user-equation.d.ts.map +1 -1
- package/dist/composition/user-equation.js +24 -26
- package/dist/composition/user-equation.js.map +1 -1
- 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/constants.d.ts +35 -12
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +46 -15
- package/dist/core/constants.js.map +1 -1
- package/dist/core/data-file.d.ts +27 -0
- package/dist/core/data-file.d.ts.map +1 -0
- package/dist/core/data-file.js +48 -0
- package/dist/core/data-file.js.map +1 -0
- package/dist/core/flux-rules.js +1 -1
- package/dist/core/flux-rules.js.map +1 -1
- package/dist/core/json-schema.d.ts +27 -0
- package/dist/core/json-schema.d.ts.map +1 -0
- package/dist/core/json-schema.js +177 -0
- package/dist/core/json-schema.js.map +1 -0
- 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 -8
- package/dist/core/labeled-tensor.js.map +1 -1
- 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 +40 -8
- package/dist/core/tensor.js.map +1 -1
- package/dist/core/types.d.ts +3 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +16 -14
- 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 +16 -23
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/diff/bridge-gradient.d.ts +24 -80
- package/dist/diff/bridge-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-gradient.js +21 -98
- package/dist/diff/bridge-gradient.js.map +1 -1
- package/dist/diff/bridge-specs.d.ts +18 -6
- package/dist/diff/bridge-specs.d.ts.map +1 -1
- package/dist/diff/bridge-specs.js +17 -5
- package/dist/diff/bridge-specs.js.map +1 -1
- package/dist/dimensional/algebra.js.map +1 -1
- package/dist/dimensional/ast-builders.d.ts +5 -4
- package/dist/dimensional/ast-builders.d.ts.map +1 -1
- package/dist/dimensional/ast-builders.js +6 -5
- package/dist/dimensional/ast-builders.js.map +1 -1
- package/dist/dimensional/ast-types.js.map +1 -1
- package/dist/dimensional/bridge-check.d.ts.map +1 -1
- package/dist/dimensional/bridge-check.js +3 -5
- package/dist/dimensional/bridge-check.js.map +1 -1
- 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 +54 -0
- package/dist/dimensional/constant-rows.d.ts.map +1 -0
- package/dist/dimensional/constant-rows.js +115 -0
- package/dist/dimensional/constant-rows.js.map +1 -0
- package/dist/dimensional/constants.d.ts +7 -17
- package/dist/dimensional/constants.d.ts.map +1 -1
- package/dist/dimensional/constants.js +12 -21
- 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.js.map +1 -1
- package/dist/dimensional/dimension-spec.d.ts +21 -6
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/dimension-spec.js +150 -160
- package/dist/dimensional/dimension-spec.js.map +1 -1
- package/dist/dimensional/einstein-equation.js.map +1 -1
- package/dist/dimensional/errors.d.ts +3 -1
- package/dist/dimensional/errors.d.ts.map +1 -1
- package/dist/dimensional/errors.js +2 -2
- package/dist/dimensional/errors.js.map +1 -1
- package/dist/dimensional/exact-scale.d.ts +79 -0
- package/dist/dimensional/exact-scale.d.ts.map +1 -0
- package/dist/dimensional/exact-scale.js +222 -0
- package/dist/dimensional/exact-scale.js.map +1 -0
- package/dist/dimensional/field-equation-helpers.js.map +1 -1
- package/dist/dimensional/formula-names.d.ts +13 -12
- package/dist/dimensional/formula-names.d.ts.map +1 -1
- package/dist/dimensional/formula-names.js +28 -51
- 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 +0 -1
- package/dist/dimensional/gauge-field.js.map +1 -1
- package/dist/dimensional/hyphen-names.d.ts.map +1 -1
- package/dist/dimensional/hyphen-names.js +8 -0
- 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.js.map +1 -1
- package/dist/dimensional/natural-units.js.map +1 -1
- package/dist/dimensional/quantity-registry.d.ts +23 -1
- package/dist/dimensional/quantity-registry.d.ts.map +1 -1
- package/dist/dimensional/quantity-registry.js +55 -18
- 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 +63 -19
- package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
- package/dist/dimensional/symbolic-constants.js +114 -92
- 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.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 +70 -0
- package/dist/dimensional/unit-data.d.ts.map +1 -0
- package/dist/dimensional/unit-data.js +139 -0
- package/dist/dimensional/unit-data.js.map +1 -0
- package/dist/dimensional/units.d.ts +87 -24
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +290 -295
- 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 +65 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -24
- package/dist/index.js.map +1 -1
- package/dist/numerical/bianchi-residual.js.map +1 -1
- package/dist/numerical/binding-value.d.ts +32 -7
- package/dist/numerical/binding-value.d.ts.map +1 -1
- package/dist/numerical/binding-value.js +218 -209
- package/dist/numerical/binding-value.js.map +1 -1
- 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 +2 -2
- 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 +6 -3
- 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 -5
- package/dist/numerical/errors.js.map +1 -1
- package/dist/numerical/evaluator-uncertainty.d.ts +34 -0
- package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -0
- package/dist/numerical/evaluator-uncertainty.js +134 -0
- package/dist/numerical/evaluator-uncertainty.js.map +1 -0
- package/dist/numerical/formula-contract.d.ts +67 -7
- package/dist/numerical/formula-contract.d.ts.map +1 -1
- package/dist/numerical/formula-contract.js +68 -42
- package/dist/numerical/formula-contract.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts +17 -7
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js +120 -44
- 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 +10 -3
- 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.js.map +1 -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 +44 -45
- 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 +11 -6
- package/dist/numerical/mathts-engine.js.map +1 -1
- package/dist/numerical/metric-inverse.js.map +1 -1
- package/dist/numerical/null-ic.js.map +1 -1
- package/dist/numerical/null-ray-integrator.js +4 -4
- package/dist/numerical/null-ray-integrator.js.map +1 -1
- 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.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 +20 -3
- package/dist/numerical/quadrature.js.map +1 -1
- package/dist/numerical/spacetime-metrics.d.ts +17 -19
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
- package/dist/numerical/spacetime-metrics.js +158 -250
- package/dist/numerical/spacetime-metrics.js.map +1 -1
- package/dist/numerical/strides.js.map +1 -1
- package/dist/numerical/tensor-engine.d.ts +9 -5
- package/dist/numerical/tensor-engine.d.ts.map +1 -1
- 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 +18 -8
- package/dist/relations/regime.d.ts.map +1 -1
- package/dist/relations/regime.js +26 -14
- package/dist/relations/regime.js.map +1 -1
- package/dist/relations/types.d.ts +26 -6
- package/dist/relations/types.d.ts.map +1 -1
- package/dist/relations/types.js +15 -3
- package/dist/relations/types.js.map +1 -1
- package/package.json +10 -14
- 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
|
@@ -11,6 +11,7 @@ import { resolveGraph } from '../graphs.js';
|
|
|
11
11
|
import { emitJson } from '../output.js';
|
|
12
12
|
import { UsageError, CliError } from '../errors.js';
|
|
13
13
|
import { publishedUrl } from '../published-url.js';
|
|
14
|
+
import { PROBE_BUDGET_MS_DEFAULT, PROBE_CORRECTION_TERMS_MAX, PROBE_HOLDOUT_TOL_DEFAULT, PROBE_STUDY_ALPHA_DEFAULT, } from '../library-defaults.js';
|
|
14
15
|
const PROBE_SUBCOMMANDS = [
|
|
15
16
|
{ name: 'scan', summary: 'List typed frontier gaps. The default listing is the searchable ones.' },
|
|
16
17
|
{ name: 'show', summary: 'Print one gap by id.' },
|
|
@@ -27,8 +28,8 @@ const FLAGS = [
|
|
|
27
28
|
sourceFlag('catalog', 'Which graph a subverb reads: catalog, canonical, or both.'),
|
|
28
29
|
JSON_FLAG,
|
|
29
30
|
{ name: '--problem', valueStyle: 'attached', description: 'Problem JSON file for run, candidates, falsify, rank, and reproduce.' },
|
|
30
|
-
{ name: '--budget-ms', valueStyle: 'attached', description: 'Wall-clock cap in milliseconds.', defaultValue:
|
|
31
|
-
{ name: '--holdout-tol', valueStyle: 'attached', description: 'Relative holdout RMSE cap.', defaultValue:
|
|
31
|
+
{ name: '--budget-ms', valueStyle: 'attached', description: 'Wall-clock cap in milliseconds.', defaultValue: PROBE_BUDGET_MS_DEFAULT },
|
|
32
|
+
{ name: '--holdout-tol', valueStyle: 'attached', description: 'Relative holdout RMSE cap.', defaultValue: PROBE_HOLDOUT_TOL_DEFAULT },
|
|
32
33
|
{ name: '--worker', valueStyle: 'attached', description: 'Optional NDJSON worker, spawned as node PATH. The path must be a .js, .mjs, or .cjs file.' },
|
|
33
34
|
{ name: '--bounds', valueStyle: 'attached', description: 'Bounds for design, as the design subverb reads them.' },
|
|
34
35
|
{ name: '--h1', valueStyle: 'attached', description: 'First hypothesis for design.' },
|
|
@@ -37,7 +38,7 @@ const FLAGS = [
|
|
|
37
38
|
{ name: '--all', valueStyle: 'none', description: 'scan: include Product A wrappers, which are not searchable here.' },
|
|
38
39
|
{ name: '--data', valueStyle: 'attached', description: 'Study file (JSON, or CSV when the name ends in .csv) for study.' },
|
|
39
40
|
{ name: '--replication', valueStyle: 'attached', description: 'study: replication rows from a separate JSON or CSV file.' },
|
|
40
|
-
{ name: '--alpha', valueStyle: 'attached', description: 'study: χ² test level.', defaultValue:
|
|
41
|
+
{ name: '--alpha', valueStyle: 'attached', description: 'study: χ² test level.', defaultValue: `the file's alpha, else ${PROBE_STUDY_ALPHA_DEFAULT}` },
|
|
41
42
|
];
|
|
42
43
|
/**
|
|
43
44
|
* The text printed when a scan has gaps and none of them are searchable.
|
|
@@ -83,11 +84,11 @@ const HELP = `upt probe <scan|show|run|candidates|falsify|rank|design|reproduce|
|
|
|
83
84
|
or CSV) with its own provenance
|
|
84
85
|
--searchable-only scan: only Product-B-searchable gaps (default)
|
|
85
86
|
--all scan: include Product A wrappers (not searchable)
|
|
86
|
-
--budget-ms=N wall-clock cap (default
|
|
87
|
-
--holdout-tol=X relative holdout RMSE cap (default
|
|
87
|
+
--budget-ms=N wall-clock cap (default ${PROBE_BUDGET_MS_DEFAULT})
|
|
88
|
+
--holdout-tol=X relative holdout RMSE cap (default ${PROBE_HOLDOUT_TOL_DEFAULT})
|
|
88
89
|
--worker=PATH optional NDJSON worker (spawned as node PATH)
|
|
89
90
|
--source=catalog|canonical|both the graph a subverb reads (default catalog)
|
|
90
|
-
--alpha=X study: χ² test level (default: the file's, else
|
|
91
|
+
--alpha=X study: χ² test level (default: the file's, else ${PROBE_STUDY_ALPHA_DEFAULT})
|
|
91
92
|
--json machine envelope
|
|
92
93
|
|
|
93
94
|
PROBLEM FILE (--problem=FILE, JSON)
|
|
@@ -144,10 +145,10 @@ const HELP = `upt probe <scan|show|run|candidates|falsify|rank|design|reproduce|
|
|
|
144
145
|
models over the governing names in SI units, e.g.
|
|
145
146
|
"2*pi*sqrt(length/gravity)"; must have the target's dimension.
|
|
146
147
|
fitPrefactor (default false) fits one scale on exploratory rows.
|
|
147
|
-
criterion optional {"alpha"} (default
|
|
148
|
+
criterion optional {"alpha"} (default ${PROBE_STUDY_ALPHA_DEFAULT})
|
|
148
149
|
design optional {"variables": {input: {"min", "max", "steps"?}}}
|
|
149
150
|
correction optional {"input": <dimensionless input u>, "powers": [2, 4]},
|
|
150
|
-
or a list of them, one per input (at most
|
|
151
|
+
or a list of them, one per input (at most ${PROBE_CORRECTION_TERMS_MAX} powers in all):
|
|
151
152
|
also search m(x)·(1 + c₁u² + c₂u⁴ + …) for each monomial m,
|
|
152
153
|
fit on exploratory rows only. Terms are admitted in the
|
|
153
154
|
declared order, family by family, while each passes an
|
|
@@ -194,7 +195,7 @@ function budgetFromFlags(api, flags) {
|
|
|
194
195
|
return undefined;
|
|
195
196
|
const n = Number(raw);
|
|
196
197
|
if (!Number.isFinite(n) || n <= 0) {
|
|
197
|
-
throw new
|
|
198
|
+
throw new CliError('upt probe: --budget-ms must be a positive number');
|
|
198
199
|
}
|
|
199
200
|
return { ...api.DEFAULT_SEARCH_BUDGET, maxWallClockMs: n };
|
|
200
201
|
}
|
|
@@ -204,7 +205,7 @@ function holdoutTolFromFlags(flags) {
|
|
|
204
205
|
return undefined;
|
|
205
206
|
const n = Number(raw);
|
|
206
207
|
if (!Number.isFinite(n) || n <= 0) {
|
|
207
|
-
throw new
|
|
208
|
+
throw new CliError('upt probe: --holdout-tol must be a positive number');
|
|
208
209
|
}
|
|
209
210
|
return n;
|
|
210
211
|
}
|
|
@@ -214,32 +215,52 @@ function problemPath(flags) {
|
|
|
214
215
|
throw new UsageError('upt probe: --problem=FILE is required for this subverb');
|
|
215
216
|
return p;
|
|
216
217
|
}
|
|
218
|
+
/** The `code` and `path` Node puts on a failed file-system call; empty for any other error. */
|
|
219
|
+
function errnoOf(e) {
|
|
220
|
+
if (!(e instanceof Error))
|
|
221
|
+
return {};
|
|
222
|
+
const code = 'code' in e ? e.code : undefined;
|
|
223
|
+
const path = 'path' in e ? e.path : undefined;
|
|
224
|
+
return {
|
|
225
|
+
...(typeof code === 'string' ? { code } : {}),
|
|
226
|
+
...(typeof path === 'string' ? { path } : {}),
|
|
227
|
+
};
|
|
228
|
+
}
|
|
217
229
|
/** Map probe file/parse failures to CLI errors (no stack traces). */
|
|
218
|
-
function mapProbeError(e, context) {
|
|
230
|
+
function mapProbeError(api, e, context) {
|
|
219
231
|
if (e instanceof UsageError || e instanceof CliError)
|
|
220
232
|
throw e;
|
|
221
|
-
const
|
|
222
|
-
if (
|
|
223
|
-
throw new CliError(`upt probe: file not found: ${
|
|
233
|
+
const errno = errnoOf(e);
|
|
234
|
+
if (errno.code === 'ENOENT') {
|
|
235
|
+
throw new CliError(`upt probe: file not found: ${errno.path ?? context ?? 'unknown'}`);
|
|
224
236
|
}
|
|
225
237
|
if (e instanceof SyntaxError) {
|
|
226
238
|
throw new CliError(`upt probe: invalid JSON${context ? ` in ${context}` : ''}: ${e.message}`);
|
|
227
239
|
}
|
|
240
|
+
// The loader checks every field it reads and names the one that is wrong.
|
|
241
|
+
if (e instanceof api.ProblemFileError) {
|
|
242
|
+
throw new CliError(`upt probe: ${context ?? 'the file'} is not a problem file: ${e.message}. \`upt help probe\` shows the format.`);
|
|
243
|
+
}
|
|
244
|
+
// A TypeError or a RangeError past those checks is a field of a shape the loader does not
|
|
245
|
+
// check. It is reported as that, with the engine's words marked as the engine's.
|
|
246
|
+
if (e instanceof TypeError || e instanceof RangeError) {
|
|
247
|
+
throw new CliError(`upt probe: ${context ?? 'the file'} has a field of a shape the probe does not read (internal: ${e.message}). \`upt help probe\` shows the format.`);
|
|
248
|
+
}
|
|
228
249
|
if (e instanceof Error) {
|
|
229
250
|
throw new CliError(`upt probe: ${e.message}`);
|
|
230
251
|
}
|
|
231
252
|
throw e;
|
|
232
253
|
}
|
|
233
|
-
function readJsonFile(path) {
|
|
254
|
+
function readJsonFile(api, path) {
|
|
234
255
|
try {
|
|
235
256
|
return JSON.parse(readFileSync(path, 'utf8'));
|
|
236
257
|
}
|
|
237
258
|
catch (e) {
|
|
238
|
-
mapProbeError(e, path);
|
|
259
|
+
mapProbeError(api, e, path);
|
|
239
260
|
}
|
|
240
261
|
}
|
|
241
262
|
/** Reject Node flag injection via `--worker=--import=…` etc. */
|
|
242
|
-
function validateWorkerPath(worker) {
|
|
263
|
+
function validateWorkerPath(api, worker) {
|
|
243
264
|
if (worker.startsWith('-')) {
|
|
244
265
|
throw new UsageError('upt probe: --worker must be a script path, not a Node flag');
|
|
245
266
|
}
|
|
@@ -252,7 +273,7 @@ function validateWorkerPath(worker) {
|
|
|
252
273
|
}
|
|
253
274
|
}
|
|
254
275
|
catch (e) {
|
|
255
|
-
mapProbeError(e, worker);
|
|
276
|
+
mapProbeError(api, e, worker);
|
|
256
277
|
}
|
|
257
278
|
return worker;
|
|
258
279
|
}
|
|
@@ -332,10 +353,10 @@ async function run(ctx) {
|
|
|
332
353
|
}
|
|
333
354
|
let suggestion;
|
|
334
355
|
try {
|
|
335
|
-
suggestion = api.suggestDiscriminatingPoint(api.parseExprJson(h1p), api.parseExprJson(h2p), api.parseDesignBounds(readJsonFile(bp), bp));
|
|
356
|
+
suggestion = api.suggestDiscriminatingPoint(api.parseExprJson(h1p), api.parseExprJson(h2p), api.parseDesignBounds(readJsonFile(api, bp), bp));
|
|
336
357
|
}
|
|
337
358
|
catch (e) {
|
|
338
|
-
mapProbeError(e);
|
|
359
|
+
mapProbeError(api, e);
|
|
339
360
|
}
|
|
340
361
|
if (args.flags.has('json')) {
|
|
341
362
|
emitJson({ command: 'probe', epistemics: EPISTEMICS, result: suggestion }, ctx.write);
|
|
@@ -359,14 +380,17 @@ async function run(ctx) {
|
|
|
359
380
|
problem = api.loadSearchProblemFromJson(pp);
|
|
360
381
|
}
|
|
361
382
|
catch (e) {
|
|
362
|
-
mapProbeError(e, pp);
|
|
383
|
+
mapProbeError(api, e, pp);
|
|
363
384
|
}
|
|
364
385
|
const workerRaw = args.flags.get('worker')?.[0];
|
|
365
|
-
|
|
386
|
+
// `--worker=` with nothing after it is not "no worker": it is refused, as `--replication=` is.
|
|
387
|
+
if (workerRaw === '')
|
|
388
|
+
throw new UsageError('upt probe: --worker needs a PATH (a .js, .mjs, or .cjs file)');
|
|
389
|
+
const worker = workerRaw === undefined ? undefined : validateWorkerPath(api, workerRaw);
|
|
366
390
|
const result = await api.runProbeSearch(problem, {
|
|
367
391
|
budget: budgetFromFlags(api, args.flags),
|
|
368
392
|
holdoutTol: holdoutTolFromFlags(args.flags),
|
|
369
|
-
backendArgv: worker ?
|
|
393
|
+
backendArgv: worker ? api.nodeWorkerArgv(worker) : undefined,
|
|
370
394
|
});
|
|
371
395
|
if (sub === 'run' || sub === 'reproduce' || sub === 'rank' || sub === 'candidates' || sub === 'falsify') {
|
|
372
396
|
if (args.flags.has('json')) {
|
|
@@ -421,7 +445,7 @@ function alphaFromFlags(flags) {
|
|
|
421
445
|
return undefined;
|
|
422
446
|
const n = Number(raw);
|
|
423
447
|
if (!Number.isFinite(n) || n <= 0 || n >= 1) {
|
|
424
|
-
throw new
|
|
448
|
+
throw new CliError('upt probe: --alpha must be a number in (0, 1)');
|
|
425
449
|
}
|
|
426
450
|
return n;
|
|
427
451
|
}
|
|
@@ -440,14 +464,14 @@ async function runStudy(ctx, source) {
|
|
|
440
464
|
study = api.loadStudyFile(path, replication);
|
|
441
465
|
}
|
|
442
466
|
catch (e) {
|
|
443
|
-
mapProbeError(e, e instanceof SyntaxError ? undefined : path);
|
|
467
|
+
mapProbeError(api, e, e instanceof SyntaxError ? undefined : path);
|
|
444
468
|
}
|
|
445
469
|
let result;
|
|
446
470
|
try {
|
|
447
471
|
result = await api.runProbeStudy(study, { budget, alpha });
|
|
448
472
|
}
|
|
449
473
|
catch (e) {
|
|
450
|
-
mapProbeError(e, path);
|
|
474
|
+
mapProbeError(api, e, path);
|
|
451
475
|
}
|
|
452
476
|
if (args.flags.has('json')) {
|
|
453
477
|
emitJson({ command: 'probe', source, epistemics: EPISTEMICS, options: { subverb: 'study' }, result }, ctx.write);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"probe.js","sourceRoot":"","sources":["../../../src/cli/commands/probe.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"probe.js","sourceRoot":"","sources":["../../../src/cli/commands/probe.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * `upt probe <subverb>` — experimental Product B expression/residual search.\n *\n * Orthogonal to `upt discover` (Product A quantity identification). Relation-\n * link and regime-transition gaps abstain and tell the user to use discover.\n */\nimport { readFileSync, statSync } from 'node:fs';\nimport type { FlagSpec } from '../args.js';\nimport { registerCommand, type Command, type CommandCtx } from '../command.js';\nimport { commandHelp, JSON_FLAG, sourceFlag } from '../flag-help.js';\nimport { resolveGraph } from '../graphs.js';\nimport { emitJson } from '../output.js';\nimport { UsageError, CliError } from '../errors.js';\nimport { publishedUrl } from '../published-url.js';\nimport {\n PROBE_BUDGET_MS_DEFAULT,\n PROBE_CORRECTION_TERMS_MAX,\n PROBE_HOLDOUT_TOL_DEFAULT,\n PROBE_STUDY_ALPHA_DEFAULT,\n} from '../library-defaults.js';\n\nconst PROBE_SUBCOMMANDS = [\n { name: 'scan', summary: 'List typed frontier gaps. The default listing is the searchable ones.' },\n { name: 'show', summary: 'Print one gap by id.' },\n { name: 'run', summary: 'Run a bounded search from a problem file.' },\n { name: 'candidates', summary: 'Run the search and list stored statuses.' },\n { name: 'falsify', summary: 'Run the search and print the falsification batteries.' },\n { name: 'rank', summary: 'Run the search and print the Pareto front.' },\n { name: 'design', summary: 'Suggest a discriminating experiment from two hypotheses and bounds.' },\n { name: 'reproduce', summary: 'Re-run a problem file under the same stop contract.' },\n { name: 'study', summary: 'Fit exploratory rows only, then test on withheld holdout and replication rows.' },\n] as const;\nconst SUBVERBS = PROBE_SUBCOMMANDS.map((s) => s.name);\ntype Subverb = (typeof SUBVERBS)[number];\n\nconst FLAGS: FlagSpec[] = [\n sourceFlag('catalog', 'Which graph a subverb reads: catalog, canonical, or both.'),\n JSON_FLAG,\n { name: '--problem', valueStyle: 'attached', description: 'Problem JSON file for run, candidates, falsify, rank, and reproduce.' },\n { name: '--budget-ms', valueStyle: 'attached', description: 'Wall-clock cap in milliseconds.', defaultValue: PROBE_BUDGET_MS_DEFAULT },\n { name: '--holdout-tol', valueStyle: 'attached', description: 'Relative holdout RMSE cap.', defaultValue: PROBE_HOLDOUT_TOL_DEFAULT },\n { name: '--worker', valueStyle: 'attached', description: 'Optional NDJSON worker, spawned as node PATH. The path must be a .js, .mjs, or .cjs file.' },\n { name: '--bounds', valueStyle: 'attached', description: 'Bounds for design, as the design subverb reads them.' },\n { name: '--h1', valueStyle: 'attached', description: 'First hypothesis for design.' },\n { name: '--h2', valueStyle: 'attached', description: 'Second hypothesis for design.' },\n { name: '--searchable-only', valueStyle: 'none', description: 'scan: list only Product-B-searchable gaps. This is the default.' },\n { name: '--all', valueStyle: 'none', description: 'scan: include Product A wrappers, which are not searchable here.' },\n { name: '--data', valueStyle: 'attached', description: 'Study file (JSON, or CSV when the name ends in .csv) for study.' },\n { name: '--replication', valueStyle: 'attached', description: 'study: replication rows from a separate JSON or CSV file.' },\n { name: '--alpha', valueStyle: 'attached', description: 'study: χ² test level.', defaultValue: `the file's alpha, else ${PROBE_STUDY_ALPHA_DEFAULT}` },\n];\n\n/**\n * The text printed when a scan has gaps and none of them are searchable.\n * The live catalog scan is no longer in that state; this wording stays\n * covered by a direct test.\n * @internal\n */\nexport function emptySearchableWarning(total: number): readonly string[] {\n return [\n 'upt probe scan — typed frontier gaps',\n `⚠ 0 of ${total} gaps are searchable by Product B ` +\n `(all are relation-link / regime-transition).`,\n ' Use `upt discover` for those. Pass --all to list them here.',\n ' To search expressions, write a problem file (`upt help probe`, PROBLEM FILE, has a minimal example) ' +\n 'and run `upt probe run --problem=FILE`.',\n ];\n}\n\nconst HELP = `upt probe <scan|show|run|candidates|falsify|rank|design|reproduce|study>\n Experimental expression/residual search (Product B). Orthogonal to\n \\`upt discover\\`, which vets quantity identifications a≡b and is frozen.\n Relation-link / regime-transition gaps are not searchable here — use\n \\`upt discover\\`.\n An \\`fg-expr-<case id>\\` gap is a searchable expression handle: one\n prediction-residual record per applied case, observations empty, built\n from the case id and title. It carries no named baseline and no\n dataset. Scientific-Bridge-Discovery-v1 admits a prediction-residual\n scanner only when both exist, so this listing is not a detected\n residual and not a fitted formula. \\`upt probe run\\` still requires\n \\`--problem=FILE\\`. The id is not that file.\n scan typed frontier gaps (default: searchable only)\n show <gap-id> one gap\n run --problem=FILE bounded native search (MHC / holdout / budget)\n candidates same as run; list stored statuses\n falsify run + print falsification batteries\n rank run + Pareto front\n design --h1= --h2= --bounds= discriminating experiment suggestion\n reproduce --problem=FILE re-run a problem (same stop contract)\n study --data=FILE search + fit on exploratory rows only, then χ²-test\n the candidate and declared baselines on withheld\n holdout / replication rows; suggest a discriminating\n measurement (see STUDY FILE below)\n --replication=FILE study: replication rows from a separate file (JSON\n or CSV) with its own provenance\n --searchable-only scan: only Product-B-searchable gaps (default)\n --all scan: include Product A wrappers (not searchable)\n --budget-ms=N wall-clock cap (default ${PROBE_BUDGET_MS_DEFAULT})\n --holdout-tol=X relative holdout RMSE cap (default ${PROBE_HOLDOUT_TOL_DEFAULT})\n --worker=PATH optional NDJSON worker (spawned as node PATH)\n --source=catalog|canonical|both the graph a subverb reads (default catalog)\n --alpha=X study: χ² test level (default: the file's, else ${PROBE_STUDY_ALPHA_DEFAULT})\n --json machine envelope\n\n PROBLEM FILE (--problem=FILE, JSON)\n target {\"name\", \"dim\"}: the observable to explain. \"dim\" is a named\n dimension (time, length, mass, acceleration, ...) or explicit\n L^a.M^b.T^c (e.g. \"L^3.M^-1.T^-2\").\n governing [{\"name\", \"dim\"}, ...]: the candidate inputs.\n exploratory {\"observable\", \"rows\": [{name: value, ...}, ...]}: the fit data.\n holdout the same shape: the locked data the fit must also pass. A row\n that also appears in exploratory is refused as a leak.\n gap optional {\"id\", \"kind\", \"summary\"}. \"id\" must start with \"fg-\".\n \"kind\" is one of prediction-residual, relation-link,\n regime-transition, parameter-tension, assumption-conflict,\n missing-operator, unexplained-observation (default),\n model-disagreement, causal-mechanism, other.\n role optional on a dataset: exploratory-fit (default for\n exploratory), validation-holdout (default for holdout),\n external-replication, falsification-only.\n observationsPath optional: a separate JSON file with the datasets.\n A dimensionless governing variable is written with \"dim\": \"dimensionless\".\n Minimal example (small-angle pendulum):\n {\n \"target\": {\"name\": \"period\", \"dim\": \"time\"},\n \"governing\": [{\"name\": \"length\", \"dim\": \"length\"},\n {\"name\": \"gravity\", \"dim\": \"acceleration\"}],\n \"exploratory\": {\"observable\": \"period\", \"rows\": [\n {\"length\": 1, \"gravity\": 9.81, \"period\": 2.006},\n {\"length\": 2, \"gravity\": 9.81, \"period\": 2.837},\n {\"length\": 0.5, \"gravity\": 1.62, \"period\": 3.491}]},\n \"holdout\": {\"observable\": \"period\", \"rows\": [\n {\"length\": 1.5, \"gravity\": 3.71, \"period\": 3.995}]}\n }\n\n STUDY FILE (--data=FILE, JSON, or CSV when FILE ends in .csv)\n provenance {\"synthetic\": true|false (required, never inferred),\n \"source\", \"acquisition\"?, \"calibration\"?}\n target {\"name\", \"unit\", \"sigma\"?} sigma: default row uncertainty\n governing [{\"name\", \"unit\", \"sigma\"?}, ...] \"unit\": \"\" when\n dimensionless; \"sigma\": default input uncertainty\n observations [{\"id\"?, \"role\", \"values\": {input: value}, \"observed\",\n \"sigma\"?, \"inputSigma\"?: {input: σ}, \"source\"?}, ...].\n A bare number is in the declared unit; \"120 cm\" is\n converted; a dimension mismatch, a missing σ or an\n undeclared key refuses the file.\n input σ propagated by effective variance: σ_eff² = σ_y² +\n Σ (∂f/∂x_i · σ_x_i)², with each model's own slopes; the\n report states which inputs carry σ. First order in σ_x.\n role exploratory (the only rows searched and fit) | holdout\n (withheld test, e.g. a change of regime) | replication\n (independent acquisition, withheld). A withheld row that\n repeats an exploratory row's inputs, or a replication row\n sharing an exploratory row's source, refuses the file.\n baselines optional [{\"name\", \"formula\", \"fitPrefactor\"?}]: competing\n models over the governing names in SI units, e.g.\n \"2*pi*sqrt(length/gravity)\"; must have the target's dimension.\n fitPrefactor (default false) fits one scale on exploratory rows.\n criterion optional {\"alpha\"} (default ${PROBE_STUDY_ALPHA_DEFAULT})\n design optional {\"variables\": {input: {\"min\", \"max\", \"steps\"?}}}\n correction optional {\"input\": <dimensionless input u>, \"powers\": [2, 4]},\n or a list of them, one per input (at most ${PROBE_CORRECTION_TERMS_MAX} powers in all):\n also search m(x)·(1 + c₁u² + c₂u⁴ + …) for each monomial m,\n fit on exploratory rows only. Terms are admitted in the\n declared order, family by family, while each passes an\n extra-sum-of-squares F test at p < α; the first term a\n family fails ends that family. The families are additive:\n no cross term (u·v) and no other function is searched.\n CSV '# key: value' lines above the header declare the study:\n '# target: <column>', '# target.sigma: 2 ms',\n '# governing.<input>.sigma: σ', '# provenance.synthetic: true',\n '# provenance.source: ...', and any other key above as a\n dotted path; a value is JSON when it parses, else text.\n Header: name[unit] quantity columns (name[] when\n dimensionless), and id, role, source, sigma, sigma(<input>),\n note. An empty cell is absent. Refused for the same\n reasons as the JSON it compiles to.\n REPLICATION FILE (--replication=FILE): provenance, target, governing\n and replication rows only. Refused if its source or\n acquisition is the study's (ignoring case, spacing and\n punctuation), or if a row repeats a study row's data\n exactly (the same data renamed).\n closeness replication rows at a study row's inputs are tested for\n agreement too good to be true: identity (Σz² on ν = n) and\n affine (y_rep = a + b·y_study, ν = n − 2), each a lower-tail\n χ² test at α/2. Either firing makes replication too-close:\n a copy, or an overstated σ. Rows at other inputs are not\n tested, so a copy at altered inputs is not caught.\n Verdicts: no-credible-candidate | refuted-on-holdout | survives-holdout |\n untested-on-holdout; replication is reported separately\n (survives-replication | refuted-on-replication | too-close |\n no-replication-data | not-tested). A candidate\n is credible only if it passes on exploratory rows AND a constant model\n is rejected there. A fit is not a mechanism.\n Synthetic controls: ${publishedUrl('tests/fixtures/probe-study')}/*.synthetic.{json,csv}.\n Every one was designed knowing its generating law, so a recovery shows\n the method recovers that law; none is a blind test of finding an\n unknown one, and UPT ships no blind control.`;\n\nconst EPISTEMICS =\n '⚠ experimental Product B. Not a discovery claim. `upt discover` is the identification funnel.';\n\nfunction isSubverb(s: string | undefined): s is Subverb {\n return SUBVERBS.includes(s as Subverb);\n}\n\nfunction budgetFromFlags(api: CommandCtx['api'], flags: Map<string, string[]>) {\n const raw = flags.get('budget-ms')?.[0];\n if (raw === undefined) return undefined;\n const n = Number(raw);\n if (!Number.isFinite(n) || n <= 0) {\n throw new CliError('upt probe: --budget-ms must be a positive number');\n }\n return { ...api.DEFAULT_SEARCH_BUDGET, maxWallClockMs: n };\n}\n\nfunction holdoutTolFromFlags(flags: Map<string, string[]>): number | undefined {\n const raw = flags.get('holdout-tol')?.[0];\n if (raw === undefined) return undefined;\n const n = Number(raw);\n if (!Number.isFinite(n) || n <= 0) {\n throw new CliError('upt probe: --holdout-tol must be a positive number');\n }\n return n;\n}\n\nfunction problemPath(flags: Map<string, string[]>): string {\n const p = flags.get('problem')?.[0];\n if (!p) throw new UsageError('upt probe: --problem=FILE is required for this subverb');\n return p;\n}\n\n/** The `code` and `path` Node puts on a failed file-system call; empty for any other error. */\nfunction errnoOf(e: unknown): { code?: string; path?: string } {\n if (!(e instanceof Error)) return {};\n const code: unknown = 'code' in e ? e.code : undefined;\n const path: unknown = 'path' in e ? e.path : undefined;\n return {\n ...(typeof code === 'string' ? { code } : {}),\n ...(typeof path === 'string' ? { path } : {}),\n };\n}\n\n/** Map probe file/parse failures to CLI errors (no stack traces). */\nfunction mapProbeError(api: CommandCtx['api'], e: unknown, context?: string): never {\n if (e instanceof UsageError || e instanceof CliError) throw e;\n const errno = errnoOf(e);\n if (errno.code === 'ENOENT') {\n throw new CliError(`upt probe: file not found: ${errno.path ?? context ?? 'unknown'}`);\n }\n if (e instanceof SyntaxError) {\n throw new CliError(\n `upt probe: invalid JSON${context ? ` in ${context}` : ''}: ${e.message}`,\n );\n }\n // The loader checks every field it reads and names the one that is wrong.\n if (e instanceof api.ProblemFileError) {\n throw new CliError(\n `upt probe: ${context ?? 'the file'} is not a problem file: ${e.message}. \\`upt help probe\\` shows the format.`,\n );\n }\n // A TypeError or a RangeError past those checks is a field of a shape the loader does not\n // check. It is reported as that, with the engine's words marked as the engine's.\n if (e instanceof TypeError || e instanceof RangeError) {\n throw new CliError(\n `upt probe: ${context ?? 'the file'} has a field of a shape the probe does not read (internal: ${e.message}). \\`upt help probe\\` shows the format.`,\n );\n }\n if (e instanceof Error) {\n throw new CliError(`upt probe: ${e.message}`);\n }\n throw e;\n}\n\nfunction readJsonFile(api: CommandCtx['api'], path: string): unknown {\n try {\n return JSON.parse(readFileSync(path, 'utf8'));\n } catch (e) {\n mapProbeError(api, e, path);\n }\n}\n\n/** Reject Node flag injection via `--worker=--import=…` etc. */\nfunction validateWorkerPath(api: CommandCtx['api'], worker: string): string {\n if (worker.startsWith('-')) {\n throw new UsageError('upt probe: --worker must be a script path, not a Node flag');\n }\n if (!/\\.(m?js|cjs)$/i.test(worker)) {\n throw new UsageError('upt probe: --worker must be a .js, .mjs, or .cjs file');\n }\n try {\n if (!statSync(worker).isFile()) {\n throw new UsageError(`upt probe: --worker is not a file: ${worker}`);\n }\n } catch (e) {\n mapProbeError(api, e, worker);\n }\n return worker;\n}\n\nasync function run(ctx: CommandCtx): Promise<number> {\n const { args, api, out } = ctx;\n const sub = args.positionals[0];\n if (!isSubverb(sub)) {\n throw new UsageError(\n `upt probe needs a subverb (${SUBVERBS.join('|')}). See \\`upt help probe\\`.`,\n );\n }\n\n const { graph, source } = resolveGraph(api, args.flags);\n\n if (sub === 'scan') {\n if (args.flags.has('searchable-only') && args.flags.has('all')) {\n throw new UsageError('upt probe scan: pick one of --searchable-only or --all');\n }\n // Default: the searchable expression gaps (one prediction-residual per\n // applied case). Product A wrappers stay hidden unless `--all`. The\n // zero-searchable warning is only for a scan that really has none.\n const showAll = args.flags.has('all');\n const allGaps = api.scanWithExpressionGaps(graph);\n const searchable = allGaps.filter((g) => g.searchability.searchable);\n const gaps = showAll ? allGaps : searchable;\n if (args.flags.has('json')) {\n emitJson(\n {\n command: 'probe',\n source,\n epistemics: EPISTEMICS,\n options: {\n scan: {\n total: allGaps.length,\n searchable: searchable.length,\n showing: showAll ? 'all' : 'searchable-only',\n },\n },\n result: gaps,\n },\n ctx.write,\n );\n return 0;\n }\n if (!showAll && searchable.length === 0 && allGaps.length > 0) {\n for (const line of emptySearchableWarning(allGaps.length)) out(line);\n return 0;\n }\n out(api.formatFrontierScan(gaps));\n if (!showAll && allGaps.length > searchable.length) {\n out(\n ` (${allGaps.length - searchable.length} Product A wrappers hidden; pass --all to list them)`,\n );\n }\n if (\n !showAll &&\n searchable.length > 0 &&\n searchable.every(\n (g) =>\n g.kind === 'prediction-residual' &&\n g.id.startsWith('fg-expr-') &&\n g.observations.length === 0,\n )\n ) {\n out(\n ' Expression gaps are listed as searchable with empty observations and no named baseline or dataset. ' +\n 'A detected prediction residual needs both. An id is not a problem file (`upt probe run --problem=FILE`).',\n );\n }\n return 0;\n }\n\n if (sub === 'show') {\n const id = args.positionals[1];\n if (!id) throw new UsageError('upt probe show needs a gap id (fg-*). See `upt help probe`.');\n const gap = api.scanWithExpressionGaps(graph).find((g) => g.id === id);\n if (!gap) throw new CliError(`upt probe show: no gap '${id}' on this graph`);\n if (args.flags.has('json')) {\n emitJson({ command: 'probe', source, epistemics: EPISTEMICS, result: gap }, ctx.write);\n return 0;\n }\n out(api.formatFrontierGap(gap));\n return 0;\n }\n\n if (sub === 'design') {\n const h1p = args.flags.get('h1')?.[0];\n const h2p = args.flags.get('h2')?.[0];\n const bp = args.flags.get('bounds')?.[0];\n if (!h1p || !h2p || !bp) {\n throw new UsageError('upt probe design needs --h1=FILE --h2=FILE --bounds=FILE');\n }\n let suggestion;\n try {\n suggestion = api.suggestDiscriminatingPoint(\n api.parseExprJson(h1p),\n api.parseExprJson(h2p),\n api.parseDesignBounds(readJsonFile(api, bp), bp),\n );\n } catch (e) {\n mapProbeError(api, e);\n }\n if (args.flags.has('json')) {\n emitJson({ command: 'probe', epistemics: EPISTEMICS, result: suggestion }, ctx.write);\n return 0;\n }\n if (suggestion.abstained) {\n out(`upt probe design — abstained: ${suggestion.reason}`);\n return 0;\n }\n out('upt probe design — suggested discriminating point (never in a forbidden region)');\n out(` discrimination |H1-H2|/σ = ${suggestion.discrimination}`);\n out(` point ${JSON.stringify(suggestion.point)}`);\n out(` H1=${suggestion.h1} H2=${suggestion.h2}`);\n return 0;\n }\n\n if (sub === 'study') return runStudy(ctx, source);\n\n const pp = problemPath(args.flags);\n let problem;\n try {\n problem = api.loadSearchProblemFromJson(pp);\n } catch (e) {\n mapProbeError(api, e, pp);\n }\n const workerRaw = args.flags.get('worker')?.[0];\n // `--worker=` with nothing after it is not \"no worker\": it is refused, as `--replication=` is.\n if (workerRaw === '') throw new UsageError('upt probe: --worker needs a PATH (a .js, .mjs, or .cjs file)');\n const worker = workerRaw === undefined ? undefined : validateWorkerPath(api, workerRaw);\n const result = await api.runProbeSearch(problem, {\n budget: budgetFromFlags(api, args.flags),\n holdoutTol: holdoutTolFromFlags(args.flags),\n backendArgv: worker ? api.nodeWorkerArgv(worker) : undefined,\n });\n\n if (sub === 'run' || sub === 'reproduce' || sub === 'rank' || sub === 'candidates' || sub === 'falsify') {\n if (args.flags.has('json')) {\n emitJson(\n {\n command: 'probe',\n source,\n epistemics: EPISTEMICS,\n options: { subverb: sub },\n result: {\n stopReason: result.stopReason,\n runId: result.manifest.runId,\n candidates: result.candidates.map((c) => ({\n id: c.id,\n status: c.status,\n fingerprint: c.fingerprint,\n complexity: c.complexity,\n })),\n ranked: result.ranked.map((r) => ({\n id: r.record.id,\n pareto: r.pareto,\n scores: r.scores,\n status: r.record.status,\n })),\n wording: result.wording,\n ...(sub === 'falsify'\n ? { falsifications: result.falsifications, notFalsified: notFalsified(result) }\n : {}),\n },\n },\n ctx.write,\n );\n return 0;\n }\n out(api.formatProbeReport(result));\n if (sub === 'falsify') {\n for (const [id, fal] of Object.entries(result.falsifications)) {\n out(`\\n falsify ${id} survived=${fal.survived}`);\n for (const rec of fal.records) out(` ${rec.battery}: ${rec.outcome} — ${rec.detail}`);\n }\n // Every candidate is accounted for (persona finding C5): one without\n // batteries used to be passed over in silence.\n for (const n of notFalsified(result)) {\n out(`\\n falsify ${n.id}: no batteries run — status ${n.status}: ${n.reason}`);\n }\n }\n return 0;\n }\n\n throw new UsageError(`upt probe: unhandled subverb '${sub}'`);\n}\n\nfunction alphaFromFlags(flags: Map<string, string[]>): number | undefined {\n const raw = flags.get('alpha')?.[0];\n if (raw === undefined) return undefined;\n const n = Number(raw);\n if (!Number.isFinite(n) || n <= 0 || n >= 1) {\n throw new CliError('upt probe: --alpha must be a number in (0, 1)');\n }\n return n;\n}\n\nasync function runStudy(ctx: CommandCtx, source: ReturnType<typeof resolveGraph>['source']): Promise<number> {\n const { args, api, out } = ctx;\n const path = args.flags.get('data')?.[0];\n if (!path) throw new UsageError('upt probe study: --data=FILE is required');\n const replication = args.flags.get('replication')?.[0];\n if (replication === '') throw new UsageError('upt probe study: --replication needs a FILE');\n const budget = budgetFromFlags(api, args.flags);\n const alpha = alphaFromFlags(args.flags);\n let study;\n try {\n study = api.loadStudyFile(path, replication);\n } catch (e) {\n mapProbeError(api, e, e instanceof SyntaxError ? undefined : path);\n }\n let result;\n try {\n result = await api.runProbeStudy(study, { budget, alpha });\n } catch (e) {\n mapProbeError(api, e, path);\n }\n if (args.flags.has('json')) {\n emitJson(\n { command: 'probe', source, epistemics: EPISTEMICS, options: { subverb: 'study' }, result },\n ctx.write,\n );\n return 0;\n }\n out(api.formatProbeStudy(result));\n return 0;\n}\n\n/** Why the falsification batteries did not run for a candidate, by its final status. */\nconst NOT_FALSIFIED_REASON: Readonly<Record<string, string>> = {\n 'equivalent-known':\n 'batteries run only for candidates that are not equivalent to a known corpus relation',\n rejected: 'the candidate was rejected before falsification',\n 'insufficient-evidence': 'there were no holdout observations to test it on',\n 'empirically-fit': 'the candidate did not pass its holdout',\n 'structurally-valid': 'the candidate was not fit to data',\n generated: 'the candidate was not validated',\n};\n\n/** The candidates the batteries did not run for, with the reason. */\nfunction notFalsified(result: {\n candidates: readonly { id: string; status: string }[];\n falsifications: Readonly<Record<string, unknown>>;\n}): { id: string; status: string; reason: string }[] {\n return result.candidates\n .filter((c) => !(c.id in result.falsifications))\n .map((c) => ({\n id: c.id,\n status: c.status,\n reason: NOT_FALSIFIED_REASON[c.status] ?? 'the batteries did not run for this status',\n }));\n}\n\nexport const command: Command = {\n name: 'probe',\n aliases: [],\n flags: FLAGS,\n help: commandHelp(HELP, FLAGS),\n summary: 'Search expressions and residuals. This is not `upt discover`.',\n example: 'upt probe scan',\n group: 'discovery',\n subcommands: PROBE_SUBCOMMANDS,\n run,\n};\n\nregisterCommand(command);\n"]}
|
|
@@ -48,7 +48,7 @@ async function run(ctx) {
|
|
|
48
48
|
if (restates.length) {
|
|
49
49
|
out(' RESTATES-CANONICAL (the bridge IS the canonical law — F4: NOT a discovery):');
|
|
50
50
|
for (const r of restates) {
|
|
51
|
-
const rec = r.recovery && r.recovery.tested ? ` (recovery exact, err ${r.recovery.maxRelErr
|
|
51
|
+
const rec = r.recovery && r.recovery.tested ? ` (recovery exact, err ${api.formatQuantity(r.recovery.maxRelErr)})` : '';
|
|
52
52
|
out(` ${r.canonicalId.padEnd(26)} ≡ bridge ${r.bridgeId}${rec}` +
|
|
53
53
|
conventionAdvisory(api, r.canonicalId, r.bridgeId));
|
|
54
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recover.js","sourceRoot":"","sources":["../../../src/cli/commands/recover.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,KAAK,GAAe,CAAC,SAAS,CAAC,CAAC;AAEtC,MAAM,IAAI,GAAG;;;;;;iDAMoC,CAAC;AAElD,MAAM,UAAU,GACd,mFAAmF;IACnF,0EAA0E,CAAC;AAE7E;;;;;;;;;;GAUG;AACH,SAAS,kBAAkB,CACzB,GAAsB,EACtB,WAAmB,EACnB,QAAgB;IAEhB,MAAM,EAAE,GAAG,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,GAAG,CAAC,gBAAgB,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACtE,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iCAAiC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACrF,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,GAAe;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAC/B,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,GAAG,CAAC,uBAAuB,EAAE,CAAC;IAElD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,QAAQ,CACN,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,EAAE,WAAW,EAAE,EAC7F,GAAG,CAAC,KAAK,CACV,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC;IACvC,GAAG,CAAC,2EAA2E,CAAC,CAAC;IACjF,GAAG,CAAC,iFAAiF,CAAC,CAAC;IACvF,GAAG,CAAC,4EAA4E,CAAC,CAAC;IAClF,GAAG,CACD,KAAK,GAAG,CAAC,MAAM,4BAA4B,QAAQ,CAAC,MAAM,uBAAuB;QAC/E,MAAM,QAAQ,CAAC,MAAM,iBAAiB,OAAO,CAAC,MAAM,qBAAqB,CAC5E,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,GAAG,CAAC,+EAA+E,CAAC,CAAC;QACrF,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,yBAAyB,
|
|
1
|
+
{"version":3,"file":"recover.js","sourceRoot":"","sources":["../../../src/cli/commands/recover.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * `upt recover` — validate bridges against standard physics (bridge↔canonical\n * linkage, the F4 circularity guard). Transposed verbatim from bin/upt.mjs's\n * `recoverCmd()` (lines 818-841), plus `--json`. No `--source`.\n */\nimport type { FlagSpec } from '../args.js';\nimport { registerCommand, type Command, type CommandCtx } from '../command.js';\nimport { commandHelp, JSON_FLAG } from '../flag-help.js';\nimport { emitJson } from '../output.js';\n\nconst FLAGS: FlagSpec[] = [JSON_FLAG];\n\nconst HELP = `upt recover\n Validate bridges against standard physics: classify each bridge↔\n canonical link as restates-canonical (F4 circularity — NOT a\n discovery), recovers (undeclared structural match), or\n dimensional-only. A chain of two symbolic edges is reported\n separately. That comparison does not cancel dimensionful constants,\n and a chain is never restates-canonical.`;\n\nconst EPISTEMICS =\n '⚠ structural match is \"same relation UP TO a dimensionless factor\"; that factor\\n' +\n ' may itself be physically substantive (e.g. ⟨e^-βW⟩). A review surface.';\n\n/**\n * The advisory suffix for one linkage row, or `''`.\n *\n * ADVISORY ONLY — it changes no classification, no ordering and no exit code.\n * It is empty unless BOTH the canonical equation and the bridge's graph edge\n * DECLARE a convention key and declare it differently; `checkConventions`\n * treats an undeclared key as unknown, so a record that says nothing is never\n * reported as disagreeing. No record in the repo declares conventions today,\n * so this returns `''` for every row and the output is unchanged — pinned by\n * `tests/cli/recover-conventions.test.ts`.\n */\nfunction conventionAdvisory(\n api: CommandCtx['api'],\n canonicalId: string,\n bridgeId: number,\n): string {\n const ce = api.CANONICAL_EQUATIONS.find((e) => e.id === canonicalId);\n const edge = api.CATALOG_GRAPH.find((e) => e.beId === bridgeId);\n const keys = api.checkConventions(ce?.conventions, edge?.conventions);\n return keys.length === 0 ? '' : `\\n ⚠ conventions differ: ${keys.join(', ')}`;\n}\n\nasync function run(ctx: CommandCtx): Promise<number> {\n const { args, api, out } = ctx;\n const all = api.scanLinkages();\n const composition = api.scanCompositionRecovery();\n\n if (args.flags.has('json')) {\n emitJson(\n { command: 'recover', epistemics: EPISTEMICS, result: all, compositionRecovery: composition },\n ctx.write,\n );\n return 0;\n }\n const by = (c: string) => all.filter((r) => r.classification === c);\n const restates = by('restates-canonical');\n const recovers = by('recovers');\n const dimOnly = by('dimensional-only');\n out('\\nBridge↔canonical recovery — validating bridges against standard physics');\n out('⚠ structural match is \"same relation UP TO a dimensionless factor\"; that factor');\n out(' may itself be physically substantive (e.g. ⟨e^-βW⟩). A review surface.\\n');\n out(\n ` ${all.length} non-unrelated links → ${restates.length} restates-canonical ` +\n `· ${recovers.length} recovers · ${dimOnly.length} dimensional-only\\n`\n );\n if (restates.length) {\n out(' RESTATES-CANONICAL (the bridge IS the canonical law — F4: NOT a discovery):');\n for (const r of restates) {\n const rec = r.recovery && r.recovery.tested ? ` (recovery exact, err ${api.formatQuantity(r.recovery.maxRelErr)})` : '';\n out(\n ` ${r.canonicalId.padEnd(26)} ≡ bridge ${r.bridgeId}${rec}` +\n conventionAdvisory(api, r.canonicalId, r.bridgeId)\n );\n }\n }\n if (recovers.length) {\n out(\"\\n RECOVERS (undeclared structural correspondence — worth a physicist's look):\");\n for (const r of recovers) {\n out(\n ` ${r.canonicalId.padEnd(26)} ~ bridge ${r.bridgeId} (same form up to a dimensionless factor)` +\n conventionAdvisory(api, r.canonicalId, r.bridgeId)\n );\n }\n }\n out(`\\n (${dimOnly.length} dimensional-only: same dimension, different form. Run \\`upt canonical\\` for the registry.)`);\n out('\\nComposition-derived recovery — a chain of two symbolic edges');\n out(' Compared up to a dimensionless factor. Dimensionful cancellation is not applied.');\n out(' A chain is never restates-canonical.');\n out(` ${composition.pairs.length} pairs examined, ${composition.hits.length} structural matches.`);\n for (const hit of composition.hits) {\n out(` ${hit.firstId} -> ${hit.secondId} recovers ${hit.canonicalId}`);\n }\n return 0;\n}\n\nexport const command: Command = {\n name: 'recover',\n aliases: ['recovery', 'validate'],\n flags: FLAGS,\n help: commandHelp(HELP, FLAGS),\n summary: 'Classify each bridge-to-canonical link as restates, recovers, or dimensional-only.',\n example: 'upt recover',\n group: 'explore',\n run,\n};\n\nregisterCommand(command);\n"]}
|
|
@@ -4,9 +4,10 @@ import { type Command, type CommandCtx } from '../command.js';
|
|
|
4
4
|
* positionals, so `--at theta0=0.2 T0=1 t=10` works as written: the parser
|
|
5
5
|
* gives `--at` one value and leaves the rest as positionals.
|
|
6
6
|
*
|
|
7
|
-
* @throws
|
|
8
|
-
* coordinate would silently turn a CHECKED
|
|
9
|
-
* which is exactly the reading this
|
|
7
|
+
* @throws UsageError on a token with no `=`, CliError on a non-finite value or
|
|
8
|
+
* a group given twice. A dropped coordinate would silently turn a CHECKED
|
|
9
|
+
* inequality into an unchecked one, which is exactly the reading this
|
|
10
|
+
* command exists to keep honest.
|
|
10
11
|
* @internal
|
|
11
12
|
*/
|
|
12
13
|
export declare function parseAt(api: CommandCtx['api'], raw: readonly string[], command: string, notes?: string[]): Record<string, number>;
|
|
@@ -19,7 +20,7 @@ export declare function parseAt(api: CommandCtx['api'], raw: readonly string[],
|
|
|
19
20
|
* lists the keys that are neither a group nor a parameter of any regime here.
|
|
20
21
|
* @internal
|
|
21
22
|
*/
|
|
22
|
-
export declare function resolveAtPoint(point: Readonly<Record<string, number>>, regimes: readonly {
|
|
23
|
+
export declare function resolveAtPoint(api: CommandCtx['api'], point: Readonly<Record<string, number>>, regimes: readonly {
|
|
23
24
|
groupDefinitions: Readonly<Record<string, {
|
|
24
25
|
exponents: Readonly<Record<string, number>>;
|
|
25
26
|
}>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regime.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/regime.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAmB,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"regime.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/regime.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAmB,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAyD/E;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CACrB,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,EACtB,GAAG,EAAE,SAAS,MAAM,EAAE,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EAAE,GACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA6BxB;AAKD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,EACtB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACvC,OAAO,EAAE,SAAS;IAAE,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;KAAE,CAAC,CAAC,CAAC;IAAC,YAAY,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,EAAE,GAC9J;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CA6BvD;AAED,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAGzG;AA+PD,eAAO,MAAM,OAAO,EAAE,OASrB,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { registerCommand } from '../command.js';
|
|
2
2
|
import { commandHelp, JSON_FLAG } from '../flag-help.js';
|
|
3
3
|
import { CliError, EXIT_CHECK_FAILED, UsageError } from '../errors.js';
|
|
4
|
-
import { assertSynonymAgreement, resolveQuantityName, SynonymDisagreementError, } from '../../dimensional/formula-names.js';
|
|
5
4
|
import { emitJson } from '../output.js';
|
|
5
|
+
import { splitAssignments } from '../bindings.js';
|
|
6
6
|
const FLAGS = [
|
|
7
7
|
{
|
|
8
8
|
name: '--at',
|
|
@@ -24,7 +24,7 @@ const FLAGS = [
|
|
|
24
24
|
},
|
|
25
25
|
JSON_FLAG,
|
|
26
26
|
];
|
|
27
|
-
const HELP = `upt regime <family> [--at group=value ...] [--json]
|
|
27
|
+
const HELP = `upt regime <family> [--at group=value ...] [--assume premise ...] [--deny premise ...] [--json]
|
|
28
28
|
Where in parameter space a family's models are claimed to apply.
|
|
29
29
|
--at states a point in REGIME COORDINATES (π-group formulas, or a
|
|
30
30
|
dimensionless input's own name, e.g. --at theta0=0.2). Every model AND
|
|
@@ -57,20 +57,14 @@ const HELP = `upt regime <family> [--at group=value ...] [--json]
|
|
|
57
57
|
* positionals, so `--at theta0=0.2 T0=1 t=10` works as written: the parser
|
|
58
58
|
* gives `--at` one value and leaves the rest as positionals.
|
|
59
59
|
*
|
|
60
|
-
* @throws
|
|
61
|
-
* coordinate would silently turn a CHECKED
|
|
62
|
-
* which is exactly the reading this
|
|
60
|
+
* @throws UsageError on a token with no `=`, CliError on a non-finite value or
|
|
61
|
+
* a group given twice. A dropped coordinate would silently turn a CHECKED
|
|
62
|
+
* inequality into an unchecked one, which is exactly the reading this
|
|
63
|
+
* command exists to keep honest.
|
|
63
64
|
* @internal
|
|
64
65
|
*/
|
|
65
66
|
export function parseAt(api, raw, command, notes) {
|
|
66
|
-
const assignments =
|
|
67
|
-
for (const token of raw) {
|
|
68
|
-
const eq = token.indexOf('=');
|
|
69
|
-
if (eq <= 0) {
|
|
70
|
-
throw new CliError(`upt ${command}: '${token}' is not a group=value assignment`);
|
|
71
|
-
}
|
|
72
|
-
assignments.push({ name: token.slice(0, eq), raw: token.slice(eq + 1), token });
|
|
73
|
-
}
|
|
67
|
+
const assignments = splitAssignments(command, raw, 'group=value');
|
|
74
68
|
const siblings = assignments.map((a) => ({ name: a.name, raw: a.raw }));
|
|
75
69
|
const point = {};
|
|
76
70
|
for (const a of assignments) {
|
|
@@ -89,17 +83,17 @@ export function parseAt(api, raw, command, notes) {
|
|
|
89
83
|
catch (e) {
|
|
90
84
|
if (e instanceof CliError)
|
|
91
85
|
throw e;
|
|
92
|
-
if (e instanceof api.
|
|
86
|
+
if (e instanceof api.TemperatureBindingError) {
|
|
93
87
|
throw new CliError(`upt ${command}: '${a.token}' is not a temperature. ${e.message}`);
|
|
94
88
|
}
|
|
95
89
|
throw new CliError(`upt ${command}: '${a.token}' is not a finite number. ${e.message}`);
|
|
96
90
|
}
|
|
97
91
|
}
|
|
98
92
|
try {
|
|
99
|
-
assertSynonymAgreement(point);
|
|
93
|
+
api.assertSynonymAgreement(point);
|
|
100
94
|
}
|
|
101
95
|
catch (e) {
|
|
102
|
-
if (e instanceof SynonymDisagreementError)
|
|
96
|
+
if (e instanceof api.SynonymDisagreementError)
|
|
103
97
|
throw new CliError(`upt ${command}: ${e.message}`);
|
|
104
98
|
throw e;
|
|
105
99
|
}
|
|
@@ -116,7 +110,7 @@ const normalizeGroup = (name) => name.replace(/\s+/g, '').replace(/\*/g, '·');
|
|
|
116
110
|
* lists the keys that are neither a group nor a parameter of any regime here.
|
|
117
111
|
* @internal
|
|
118
112
|
*/
|
|
119
|
-
export function resolveAtPoint(point, regimes) {
|
|
113
|
+
export function resolveAtPoint(api, point, regimes) {
|
|
120
114
|
const groups = new Map();
|
|
121
115
|
for (const r of regimes) {
|
|
122
116
|
for (const [key, g] of Object.entries(r.groupDefinitions))
|
|
@@ -134,7 +128,7 @@ export function resolveAtPoint(point, regimes) {
|
|
|
134
128
|
const values = {};
|
|
135
129
|
const unknown = [];
|
|
136
130
|
for (const [key, value] of Object.entries(point)) {
|
|
137
|
-
const resolved = resolveQuantityName(key, named) ?? key;
|
|
131
|
+
const resolved = api.resolveQuantityName(key, named) ?? key;
|
|
138
132
|
const group = byNormal.get(normalizeGroup(resolved)) ?? byNormal.get(normalizeGroup(key));
|
|
139
133
|
const stored = group ?? resolved;
|
|
140
134
|
values[stored] = value;
|
|
@@ -217,7 +211,7 @@ async function run(ctx) {
|
|
|
217
211
|
// anything — the tri-state's `true` is vacuous when there is nothing to
|
|
218
212
|
// check, so that case is labelled rather than left to read as a pass.
|
|
219
213
|
const records = registration.records;
|
|
220
|
-
const { values: resolved, unknown } = resolveAtPoint(point, records.map((r) => r.regime));
|
|
214
|
+
const { values: resolved, unknown } = resolveAtPoint(api, point, records.map((r) => r.regime));
|
|
221
215
|
const unmatched = [
|
|
222
216
|
...assume.map((d) => ({ flag: '--assume', d })),
|
|
223
217
|
...deny.map((d) => ({ flag: '--deny', d })),
|
|
@@ -289,11 +283,11 @@ async function run(ctx) {
|
|
|
289
283
|
const samples = {};
|
|
290
284
|
for (const [group, value] of Object.entries(resolved))
|
|
291
285
|
samples[group] = [value];
|
|
292
|
-
//
|
|
293
|
-
// unconstrained model regime
|
|
294
|
-
//
|
|
286
|
+
// `uncoveredRegions` counts a record as covering a point only when it checked an
|
|
287
|
+
// inequality there, so an unconstrained model regime covers nothing and every record
|
|
288
|
+
// can be passed. The constraining count is the report's, not a filter.
|
|
295
289
|
const constraining = records.filter((r) => r.regime.inequalities.length > 0);
|
|
296
|
-
const uncovered = stated.length === 0 ? null : api.uncoveredRegions(registration.name,
|
|
290
|
+
const uncovered = stated.length === 0 ? null : api.uncoveredRegions(registration.name, records, samples);
|
|
297
291
|
if (wantJson) {
|
|
298
292
|
emitJson({
|
|
299
293
|
command: 'regime',
|
|
@@ -315,9 +309,13 @@ async function run(ctx) {
|
|
|
315
309
|
return verdicts.some((v) => v.ok === false) ? EXIT_CHECK_FAILED : 0;
|
|
316
310
|
}
|
|
317
311
|
out(`\nRegimes of family '${registration.name}'`);
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
312
|
+
// A family whose records state no inequality has nothing to check at any point: VACUOUS, not UNCHECKED.
|
|
313
|
+
const allVacuous = verdicts.every((v) => v.vacuous);
|
|
314
|
+
out(allVacuous
|
|
315
|
+
? '(this family states no inequality: every record is VACUOUS, and no --at point could check it)'
|
|
316
|
+
: stated.length === 0
|
|
317
|
+
? '(no --at point supplied: every inequality is UNCHECKED, which is not a pass)'
|
|
318
|
+
: `at ${stated.map((g) => `${g}=${point[g]}`).join(' · ')}`);
|
|
321
319
|
if (unknown.length > 0) {
|
|
322
320
|
out(`unknown coordinate(s): ${unknown.join(', ')} — no record in family '${registration.name}' uses ` +
|
|
323
321
|
`${unknown.length === 1 ? 'it' : 'them'}; ignored`);
|
|
@@ -391,7 +389,7 @@ export const command = {
|
|
|
391
389
|
flags: FLAGS,
|
|
392
390
|
help: commandHelp(HELP, FLAGS),
|
|
393
391
|
summary: 'Report where a family\'s models are valid, violated, or unknown.',
|
|
394
|
-
example: 'upt regime
|
|
392
|
+
example: 'upt regime oscillators --at theta0=0.2',
|
|
395
393
|
group: 'explore',
|
|
396
394
|
run,
|
|
397
395
|
};
|