universal-physics-tensor 9.0.0 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -17
- package/bin/upt.mjs +13 -1
- package/data/atlas/atlas.json +79 -68
- package/data/atlas/atlas.jsonld +1 -1
- package/data/atlas/diffusion.json +24 -23
- package/data/atlas/oscillators.json +21 -16
- package/data/atlas/waves.json +36 -31
- package/data/atlas/witness-results.json +11 -11
- package/data/bridge-catalog.json +1192 -1636
- package/data/bridge-catalog.schema.json +390 -135
- package/data/quantities.json +53 -19
- package/data/schemas/atlas-record.v0.json +184 -46
- package/data/units.json +33 -4
- package/dist/atlas/applicability.d.ts.map +1 -1
- package/dist/atlas/applicability.js +35 -18
- package/dist/atlas/applicability.js.map +1 -1
- package/dist/atlas/association.js.map +1 -1
- package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -1
- package/dist/atlas/benchmark/backend-shapes.js +5 -1
- package/dist/atlas/benchmark/backend-shapes.js.map +1 -1
- package/dist/atlas/benchmark/baselines.d.ts.map +1 -1
- package/dist/atlas/benchmark/baselines.js +8 -0
- package/dist/atlas/benchmark/baselines.js.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts +12 -3
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.js +30 -21
- package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
- package/dist/atlas/benchmark/leakage.js.map +1 -1
- package/dist/atlas/benchmark/loader.js +2 -2
- package/dist/atlas/benchmark/loader.js.map +1 -1
- package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -1
- package/dist/atlas/benchmark/run-atlas.js +14 -2
- package/dist/atlas/benchmark/run-atlas.js.map +1 -1
- package/dist/atlas/benchmark/stats.d.ts +3 -3
- package/dist/atlas/benchmark/stats.d.ts.map +1 -1
- package/dist/atlas/benchmark/stats.js +16 -8
- package/dist/atlas/benchmark/stats.js.map +1 -1
- package/dist/atlas/benchmark/study.js.map +1 -1
- package/dist/atlas/benchmark/types.js.map +1 -1
- package/dist/atlas/bridge-record.d.ts +4 -4
- package/dist/atlas/bridge-record.d.ts.map +1 -1
- package/dist/atlas/bridge-record.js +6 -6
- package/dist/atlas/bridge-record.js.map +1 -1
- package/dist/atlas/catalog-formal-ref.d.ts +26 -3
- package/dist/atlas/catalog-formal-ref.d.ts.map +1 -1
- package/dist/atlas/catalog-formal-ref.js +52 -5
- package/dist/atlas/catalog-formal-ref.js.map +1 -1
- package/dist/atlas/chain-pipeline.d.ts +0 -11
- package/dist/atlas/chain-pipeline.d.ts.map +1 -1
- package/dist/atlas/chain-pipeline.js +12 -24
- package/dist/atlas/chain-pipeline.js.map +1 -1
- package/dist/atlas/composition-table.js.map +1 -1
- package/dist/atlas/conventions.js.map +1 -1
- package/dist/atlas/coverage.d.ts +2 -2
- package/dist/atlas/coverage.js.map +1 -1
- package/dist/atlas/derivation.js.map +1 -1
- package/dist/atlas/derive-evidence.d.ts +6 -4
- package/dist/atlas/derive-evidence.d.ts.map +1 -1
- package/dist/atlas/derive-evidence.js +7 -2
- package/dist/atlas/derive-evidence.js.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.d.ts +0 -4
- package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.js +8 -17
- package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
- package/dist/atlas/diffusion/bridges.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges.js +27 -42
- package/dist/atlas/diffusion/bridges.js.map +1 -1
- package/dist/atlas/diffusion/dimensions.d.ts +6 -14
- package/dist/atlas/diffusion/dimensions.d.ts.map +1 -1
- package/dist/atlas/diffusion/dimensions.js +8 -16
- package/dist/atlas/diffusion/dimensions.js.map +1 -1
- package/dist/atlas/diffusion/index.d.ts +1 -1
- package/dist/atlas/diffusion/index.d.ts.map +1 -1
- package/dist/atlas/diffusion/index.js.map +1 -1
- package/dist/atlas/diffusion/models.d.ts +3 -3
- package/dist/atlas/diffusion/models.d.ts.map +1 -1
- package/dist/atlas/diffusion/models.js +5 -10
- package/dist/atlas/diffusion/models.js.map +1 -1
- package/dist/atlas/diffusion/numerics.d.ts +16 -4
- package/dist/atlas/diffusion/numerics.d.ts.map +1 -1
- package/dist/atlas/diffusion/numerics.js +38 -24
- package/dist/atlas/diffusion/numerics.js.map +1 -1
- package/dist/atlas/error-algebra.d.ts +6 -0
- package/dist/atlas/error-algebra.d.ts.map +1 -1
- package/dist/atlas/error-algebra.js +26 -0
- package/dist/atlas/error-algebra.js.map +1 -1
- package/dist/atlas/export.d.ts +18 -2
- package/dist/atlas/export.d.ts.map +1 -1
- package/dist/atlas/export.js +9 -3
- package/dist/atlas/export.js.map +1 -1
- package/dist/atlas/families.d.ts +19 -2
- package/dist/atlas/families.d.ts.map +1 -1
- package/dist/atlas/families.js +26 -3
- package/dist/atlas/families.js.map +1 -1
- package/dist/atlas/family.d.ts +27 -0
- package/dist/atlas/family.d.ts.map +1 -0
- package/dist/atlas/family.js +12 -0
- package/dist/atlas/family.js.map +1 -0
- package/dist/atlas/index.d.ts +3 -2
- package/dist/atlas/index.d.ts.map +1 -1
- package/dist/atlas/index.js +2 -1
- package/dist/atlas/index.js.map +1 -1
- package/dist/atlas/link-prediction.d.ts +107 -4
- package/dist/atlas/link-prediction.d.ts.map +1 -1
- package/dist/atlas/link-prediction.js +212 -66
- package/dist/atlas/link-prediction.js.map +1 -1
- package/dist/atlas/model.js.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.js +7 -12
- package/dist/atlas/oscillators/bridges-coarse.js.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.js +6 -10
- package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.d.ts +3 -16
- package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.js +23 -36
- package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
- package/dist/atlas/oscillators/dimensions.d.ts +9 -21
- package/dist/atlas/oscillators/dimensions.d.ts.map +1 -1
- package/dist/atlas/oscillators/dimensions.js +9 -21
- package/dist/atlas/oscillators/dimensions.js.map +1 -1
- package/dist/atlas/oscillators/index.d.ts +1 -16
- package/dist/atlas/oscillators/index.d.ts.map +1 -1
- package/dist/atlas/oscillators/index.js.map +1 -1
- package/dist/atlas/oscillators/limit-witnesses.d.ts +2 -2
- package/dist/atlas/oscillators/limit-witnesses.d.ts.map +1 -1
- package/dist/atlas/oscillators/limit-witnesses.js +17 -15
- package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
- package/dist/atlas/oscillators/models.d.ts.map +1 -1
- package/dist/atlas/oscillators/models.js +2 -6
- package/dist/atlas/oscillators/models.js.map +1 -1
- package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -1
- package/dist/atlas/oscillators/norm-transport.js.map +1 -1
- package/dist/atlas/oscillators/norms.js.map +1 -1
- package/dist/atlas/oscillators/pendulum-motion.d.ts +29 -6
- package/dist/atlas/oscillators/pendulum-motion.d.ts.map +1 -1
- package/dist/atlas/oscillators/pendulum-motion.js +60 -40
- package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
- package/dist/atlas/oscillators/phase-carriage.js.map +1 -1
- package/dist/atlas/oscillators/phase-translation.d.ts +0 -11
- package/dist/atlas/oscillators/phase-translation.d.ts.map +1 -1
- package/dist/atlas/oscillators/phase-translation.js +3 -4
- package/dist/atlas/oscillators/phase-translation.js.map +1 -1
- package/dist/atlas/oscillators/position-translation.d.ts +68 -7
- package/dist/atlas/oscillators/position-translation.d.ts.map +1 -1
- package/dist/atlas/oscillators/position-translation.js +123 -12
- package/dist/atlas/oscillators/position-translation.js.map +1 -1
- package/dist/atlas/oscillators/rejections.d.ts +0 -2
- package/dist/atlas/oscillators/rejections.d.ts.map +1 -1
- package/dist/atlas/oscillators/rejections.js +0 -7
- package/dist/atlas/oscillators/rejections.js.map +1 -1
- package/dist/atlas/path-bound.js.map +1 -1
- package/dist/atlas/physjs-entries.generated.d.ts +25 -24
- package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
- package/dist/atlas/physjs-entries.generated.js +25 -24
- package/dist/atlas/physjs-entries.generated.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +107 -70
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +184 -101
- package/dist/atlas/physjs-ref.js.map +1 -1
- package/dist/atlas/physjs-reviewed.d.ts +31 -0
- package/dist/atlas/physjs-reviewed.d.ts.map +1 -0
- package/dist/atlas/physjs-reviewed.js +194 -0
- package/dist/atlas/physjs-reviewed.js.map +1 -0
- package/dist/atlas/poster/associations.js.map +1 -1
- package/dist/atlas/poster/derivations.js.map +1 -1
- package/dist/atlas/poster/statements.d.ts +0 -19
- package/dist/atlas/poster/statements.d.ts.map +1 -1
- package/dist/atlas/poster/statements.js +1 -1
- package/dist/atlas/poster/statements.js.map +1 -1
- package/dist/atlas/proof-target.d.ts +1 -1
- package/dist/atlas/proof-target.js +1 -1
- package/dist/atlas/proof-target.js.map +1 -1
- package/dist/atlas/public.d.ts +2 -1
- package/dist/atlas/public.d.ts.map +1 -1
- package/dist/atlas/public.js +2 -1
- package/dist/atlas/public.js.map +1 -1
- package/dist/atlas/regime.d.ts +1 -1
- package/dist/atlas/regime.d.ts.map +1 -1
- package/dist/atlas/regime.js +1 -1
- package/dist/atlas/regime.js.map +1 -1
- package/dist/atlas/serialize.d.ts +18 -12
- package/dist/atlas/serialize.d.ts.map +1 -1
- package/dist/atlas/serialize.js +28 -18
- package/dist/atlas/serialize.js.map +1 -1
- package/dist/atlas/statement.js.map +1 -1
- package/dist/atlas/text-overlap.d.ts +23 -0
- package/dist/atlas/text-overlap.d.ts.map +1 -0
- package/dist/atlas/text-overlap.js +41 -0
- package/dist/atlas/text-overlap.js.map +1 -0
- package/dist/atlas/translation-registry.js.map +1 -1
- package/dist/atlas/translation.js.map +1 -1
- package/dist/atlas/types.d.ts +9 -2
- package/dist/atlas/types.d.ts.map +1 -1
- package/dist/atlas/types.js +1 -1
- package/dist/atlas/types.js.map +1 -1
- package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/waves/bridges-closure.js +2 -9
- package/dist/atlas/waves/bridges-closure.js.map +1 -1
- package/dist/atlas/waves/bridges.d.ts.map +1 -1
- package/dist/atlas/waves/bridges.js +32 -52
- package/dist/atlas/waves/bridges.js.map +1 -1
- package/dist/atlas/waves/index.d.ts +1 -1
- package/dist/atlas/waves/index.d.ts.map +1 -1
- package/dist/atlas/waves/index.js.map +1 -1
- package/dist/atlas/waves/models.d.ts +5 -6
- package/dist/atlas/waves/models.d.ts.map +1 -1
- package/dist/atlas/waves/models.js +7 -13
- package/dist/atlas/waves/models.js.map +1 -1
- package/dist/atlas/waves/numerics.d.ts.map +1 -1
- package/dist/atlas/waves/numerics.js +10 -3
- package/dist/atlas/waves/numerics.js.map +1 -1
- package/dist/atlas/witness-artifact.js.map +1 -1
- package/dist/atlas/witness-dominance.d.ts +4 -3
- package/dist/atlas/witness-dominance.d.ts.map +1 -1
- package/dist/atlas/witness-dominance.js +15 -5
- package/dist/atlas/witness-dominance.js.map +1 -1
- package/dist/atlas/witness-numeric.d.ts +38 -4
- package/dist/atlas/witness-numeric.d.ts.map +1 -1
- package/dist/atlas/witness-numeric.js +80 -2
- package/dist/atlas/witness-numeric.js.map +1 -1
- package/dist/atlas/witness-result.d.ts +7 -1
- package/dist/atlas/witness-result.d.ts.map +1 -1
- package/dist/atlas/witness-result.js.map +1 -1
- package/dist/atlas/witness-specs.d.ts.map +1 -1
- package/dist/atlas/witness-specs.js +19 -0
- package/dist/atlas/witness-specs.js.map +1 -1
- package/dist/atlas/witness-symbolic.d.ts +75 -3
- package/dist/atlas/witness-symbolic.d.ts.map +1 -1
- package/dist/atlas/witness-symbolic.js +116 -10
- package/dist/atlas/witness-symbolic.js.map +1 -1
- package/dist/atlas/witnesses/quantum-support.js.map +1 -1
- package/dist/bridges/caller-table.d.ts +1 -1
- package/dist/bridges/caller-table.d.ts.map +1 -1
- package/dist/bridges/caller-table.js.map +1 -1
- package/dist/bridges/carrier-sign.d.ts.map +1 -1
- package/dist/bridges/carrier-sign.js +8 -3
- package/dist/bridges/carrier-sign.js.map +1 -1
- package/dist/bridges/catalog-adapter.d.ts +12 -3
- package/dist/bridges/catalog-adapter.d.ts.map +1 -1
- package/dist/bridges/catalog-adapter.js +17 -9
- package/dist/bridges/catalog-adapter.js.map +1 -1
- package/dist/bridges/catalog-load.d.ts +12 -2
- package/dist/bridges/catalog-load.d.ts.map +1 -1
- package/dist/bridges/catalog-load.js +181 -13
- package/dist/bridges/catalog-load.js.map +1 -1
- package/dist/bridges/catalog-types.d.ts +74 -26
- package/dist/bridges/catalog-types.d.ts.map +1 -1
- package/dist/bridges/catalog-types.js +11 -1
- package/dist/bridges/catalog-types.js.map +1 -1
- package/dist/bridges/coefficient-statement.js +1 -5
- package/dist/bridges/coefficient-statement.js.map +1 -1
- package/dist/bridges/confrontation-coverage.js.map +1 -1
- package/dist/bridges/confrontations.d.ts +1 -1
- package/dist/bridges/confrontations.d.ts.map +1 -1
- package/dist/bridges/confrontations.js +1 -1
- package/dist/bridges/confrontations.js.map +1 -1
- package/dist/bridges/evaluation-errors.d.ts +46 -3
- package/dist/bridges/evaluation-errors.d.ts.map +1 -1
- package/dist/bridges/evaluation-errors.js +40 -4
- package/dist/bridges/evaluation-errors.js.map +1 -1
- package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
- package/dist/bridges/evaluator-inputs.js +7 -5
- package/dist/bridges/evaluator-inputs.js.map +1 -1
- package/dist/bridges/evaluators.d.ts +17 -2
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +76 -28
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/expr-parse.d.ts +38 -4
- package/dist/bridges/expr-parse.d.ts.map +1 -1
- package/dist/bridges/expr-parse.js +101 -12
- package/dist/bridges/expr-parse.js.map +1 -1
- package/dist/bridges/holds.d.ts +40 -4
- package/dist/bridges/holds.d.ts.map +1 -1
- package/dist/bridges/holds.js +128 -19
- package/dist/bridges/holds.js.map +1 -1
- package/dist/bridges/index.d.ts +15 -14
- package/dist/bridges/index.d.ts.map +1 -1
- package/dist/bridges/index.js +14 -15
- package/dist/bridges/index.js.map +1 -1
- package/dist/bridges/input-contract.js.map +1 -1
- package/dist/bridges/membership.d.ts +5 -3
- package/dist/bridges/membership.d.ts.map +1 -1
- package/dist/bridges/membership.js +5 -6
- package/dist/bridges/membership.js.map +1 -1
- package/dist/bridges/notices.d.ts.map +1 -1
- package/dist/bridges/notices.js +5 -5
- package/dist/bridges/notices.js.map +1 -1
- package/dist/bridges/observations/types.js.map +1 -1
- package/dist/bridges/rejected.d.ts +11 -17
- package/dist/bridges/rejected.d.ts.map +1 -1
- package/dist/bridges/rejected.js +13 -68
- package/dist/bridges/rejected.js.map +1 -1
- package/dist/bridges/relation-eval.d.ts +6 -7
- package/dist/bridges/relation-eval.d.ts.map +1 -1
- package/dist/bridges/relation-eval.js +20 -50
- package/dist/bridges/relation-eval.js.map +1 -1
- package/dist/bridges/rhs-registry.js.map +1 -1
- package/dist/bridges/sensitivity.d.ts +11 -3
- package/dist/bridges/sensitivity.d.ts.map +1 -1
- package/dist/bridges/sensitivity.js +27 -13
- package/dist/bridges/sensitivity.js.map +1 -1
- package/dist/bridges/tensor-index.js.map +1 -1
- package/dist/bridges/types.d.ts +1 -7
- package/dist/bridges/types.d.ts.map +1 -1
- package/dist/bridges/types.js +1 -4
- package/dist/bridges/types.js.map +1 -1
- package/dist/bridges/validity.d.ts +33 -0
- package/dist/bridges/validity.d.ts.map +1 -0
- package/dist/bridges/validity.js +67 -0
- package/dist/bridges/validity.js.map +1 -0
- package/dist/canonical/canonical-equation.js.map +1 -1
- package/dist/canonical/dimensional-fields.js.map +1 -1
- package/dist/canonical/entries/_l1-build.js.map +1 -1
- package/dist/canonical/entries/atomic.js +1 -3
- package/dist/canonical/entries/atomic.js.map +1 -1
- package/dist/canonical/entries/condensed-matter.d.ts.map +1 -1
- package/dist/canonical/entries/condensed-matter.js +8 -9
- package/dist/canonical/entries/condensed-matter.js.map +1 -1
- package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
- package/dist/canonical/entries/dimensional-classics.js +5 -6
- package/dist/canonical/entries/dimensional-classics.js.map +1 -1
- package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
- package/dist/canonical/entries/electromagnetism.js +6 -12
- package/dist/canonical/entries/electromagnetism.js.map +1 -1
- package/dist/canonical/entries/fluids-waves.d.ts.map +1 -1
- package/dist/canonical/entries/fluids-waves.js +3 -7
- package/dist/canonical/entries/fluids-waves.js.map +1 -1
- package/dist/canonical/entries/mechanics.d.ts.map +1 -1
- package/dist/canonical/entries/mechanics.js +4 -6
- package/dist/canonical/entries/mechanics.js.map +1 -1
- package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
- package/dist/canonical/entries/nonmonomial.js +38 -39
- package/dist/canonical/entries/nonmonomial.js.map +1 -1
- package/dist/canonical/entries/relativity.d.ts.map +1 -1
- package/dist/canonical/entries/relativity.js +6 -6
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.js +5 -5
- package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.js +6 -10
- package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
- package/dist/canonical/fixed-points.d.ts +94 -0
- package/dist/canonical/fixed-points.d.ts.map +1 -0
- package/dist/canonical/fixed-points.js +81 -0
- package/dist/canonical/fixed-points.js.map +1 -0
- package/dist/canonical/linkage.d.ts +29 -4
- package/dist/canonical/linkage.d.ts.map +1 -1
- package/dist/canonical/linkage.js +47 -64
- package/dist/canonical/linkage.js.map +1 -1
- package/dist/canonical/normal-form.d.ts +0 -8
- package/dist/canonical/normal-form.d.ts.map +1 -1
- package/dist/canonical/normal-form.js +22 -23
- package/dist/canonical/normal-form.js.map +1 -1
- package/dist/canonical/registry.js.map +1 -1
- package/dist/canonical/residual.js.map +1 -1
- package/dist/canonical/seed-l-layer.d.ts +7 -1
- package/dist/canonical/seed-l-layer.d.ts.map +1 -1
- package/dist/canonical/seed-l-layer.js +7 -1
- package/dist/canonical/seed-l-layer.js.map +1 -1
- package/dist/canonical/structural.d.ts +42 -21
- package/dist/canonical/structural.d.ts.map +1 -1
- package/dist/canonical/structural.js +64 -23
- package/dist/canonical/structural.js.map +1 -1
- package/dist/cases/brownian-sphere.d.ts +3 -3
- package/dist/cases/brownian-sphere.d.ts.map +1 -1
- package/dist/cases/brownian-sphere.js +10 -9
- package/dist/cases/brownian-sphere.js.map +1 -1
- package/dist/cases/damped-resonator.d.ts.map +1 -1
- package/dist/cases/damped-resonator.js +8 -11
- package/dist/cases/damped-resonator.js.map +1 -1
- package/dist/cases/index.js.map +1 -1
- package/dist/cases/kepler-rv.d.ts +1 -1
- package/dist/cases/kepler-rv.d.ts.map +1 -1
- package/dist/cases/kepler-rv.js +3 -2
- package/dist/cases/kepler-rv.js.map +1 -1
- package/dist/cases/lumped-cooling.d.ts +8 -3
- package/dist/cases/lumped-cooling.d.ts.map +1 -1
- package/dist/cases/lumped-cooling.js +22 -24
- package/dist/cases/lumped-cooling.js.map +1 -1
- package/dist/cases/quadrature.d.ts +7 -9
- package/dist/cases/quadrature.d.ts.map +1 -1
- package/dist/cases/quadrature.js +28 -32
- package/dist/cases/quadrature.js.map +1 -1
- package/dist/cases/resistor-noise.js +7 -7
- package/dist/cases/resistor-noise.js.map +1 -1
- package/dist/cases/skin-depth.d.ts +0 -4
- package/dist/cases/skin-depth.d.ts.map +1 -1
- package/dist/cases/skin-depth.js +3 -7
- package/dist/cases/skin-depth.js.map +1 -1
- package/dist/cases/types.js.map +1 -1
- package/dist/cli/args.d.ts +30 -3
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +47 -9
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/bindings.d.ts +13 -0
- package/dist/cli/bindings.d.ts.map +1 -0
- package/dist/cli/bindings.js +33 -0
- package/dist/cli/bindings.js.map +1 -0
- package/dist/cli/closed-form-range.js.map +1 -1
- package/dist/cli/command.d.ts +8 -1
- package/dist/cli/command.d.ts.map +1 -1
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/commands/_atlas-map.d.ts +2 -11
- package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
- package/dist/cli/commands/_atlas-map.js +50 -35
- package/dist/cli/commands/_atlas-map.js.map +1 -1
- package/dist/cli/commands/_atlas-route.d.ts.map +1 -1
- package/dist/cli/commands/_atlas-route.js +6 -2
- package/dist/cli/commands/_atlas-route.js.map +1 -1
- package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +48 -14
- package/dist/cli/commands/_discovery-opts.js.map +1 -1
- package/dist/cli/commands/atlas.d.ts.map +1 -1
- package/dist/cli/commands/atlas.js +9 -8
- package/dist/cli/commands/atlas.js.map +1 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +20 -20
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/axes.d.ts.map +1 -1
- package/dist/cli/commands/axes.js +20 -1
- package/dist/cli/commands/axes.js.map +1 -1
- package/dist/cli/commands/candidates.d.ts.map +1 -1
- package/dist/cli/commands/candidates.js +16 -8
- package/dist/cli/commands/candidates.js.map +1 -1
- package/dist/cli/commands/canonical.js.map +1 -1
- package/dist/cli/commands/chain.js +1 -1
- package/dist/cli/commands/chain.js.map +1 -1
- package/dist/cli/commands/confront.d.ts.map +1 -1
- package/dist/cli/commands/confront.js +22 -20
- package/dist/cli/commands/confront.js.map +1 -1
- package/dist/cli/commands/connectors.js.map +1 -1
- package/dist/cli/commands/coverage.js.map +1 -1
- package/dist/cli/commands/derive.d.ts.map +1 -1
- package/dist/cli/commands/derive.js +60 -35
- package/dist/cli/commands/derive.js.map +1 -1
- package/dist/cli/commands/discover.d.ts.map +1 -1
- package/dist/cli/commands/discover.js +20 -10
- package/dist/cli/commands/discover.js.map +1 -1
- package/dist/cli/commands/eval.d.ts.map +1 -1
- package/dist/cli/commands/eval.js +14 -10
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +108 -58
- package/dist/cli/commands/evaluate.js.map +1 -1
- package/dist/cli/commands/explain.d.ts.map +1 -1
- package/dist/cli/commands/explain.js +16 -8
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/frontier.js.map +1 -1
- package/dist/cli/commands/ground.d.ts.map +1 -1
- package/dist/cli/commands/ground.js +41 -10
- package/dist/cli/commands/ground.js.map +1 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/map.d.ts.map +1 -1
- package/dist/cli/commands/map.js +155 -92
- package/dist/cli/commands/map.js.map +1 -1
- package/dist/cli/commands/metric.d.ts.map +1 -1
- package/dist/cli/commands/metric.js +58 -20
- package/dist/cli/commands/metric.js.map +1 -1
- package/dist/cli/commands/path.d.ts +10 -0
- package/dist/cli/commands/path.d.ts.map +1 -1
- package/dist/cli/commands/path.js +29 -7
- package/dist/cli/commands/path.js.map +1 -1
- package/dist/cli/commands/predict.js.map +1 -1
- package/dist/cli/commands/priority.js.map +1 -1
- package/dist/cli/commands/probe.d.ts.map +1 -1
- package/dist/cli/commands/probe.js +105 -38
- package/dist/cli/commands/probe.js.map +1 -1
- package/dist/cli/commands/recover.js +1 -1
- package/dist/cli/commands/recover.js.map +1 -1
- package/dist/cli/commands/regime.d.ts +5 -4
- package/dist/cli/commands/regime.d.ts.map +1 -1
- package/dist/cli/commands/regime.js +25 -26
- package/dist/cli/commands/regime.js.map +1 -1
- package/dist/cli/commands/retrieve.d.ts.map +1 -1
- package/dist/cli/commands/retrieve.js +23 -14
- package/dist/cli/commands/retrieve.js.map +1 -1
- package/dist/cli/commands/search.d.ts.map +1 -1
- package/dist/cli/commands/search.js +9 -4
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/symbolic.js +31 -36
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/commands/testplan.d.ts.map +1 -1
- package/dist/cli/commands/testplan.js +5 -3
- package/dist/cli/commands/testplan.js.map +1 -1
- package/dist/cli/conventions.js.map +1 -1
- package/dist/cli/determination.js.map +1 -1
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/euler-guard.js.map +1 -1
- package/dist/cli/eval-numbers.js.map +1 -1
- package/dist/cli/expr-print.d.ts +28 -3
- package/dist/cli/expr-print.d.ts.map +1 -1
- package/dist/cli/expr-print.js +42 -22
- package/dist/cli/expr-print.js.map +1 -1
- package/dist/cli/flag-help.js.map +1 -1
- package/dist/cli/graphs.js.map +1 -1
- package/dist/cli/library-defaults.d.ts +19 -0
- package/dist/cli/library-defaults.d.ts.map +1 -0
- package/dist/cli/library-defaults.js +22 -0
- package/dist/cli/library-defaults.js.map +1 -0
- package/dist/cli/main.d.ts +7 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +25 -6
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/map-evidence.js.map +1 -1
- package/dist/cli/numeric-flag.d.ts +12 -0
- package/dist/cli/numeric-flag.d.ts.map +1 -0
- package/dist/cli/numeric-flag.js +44 -0
- package/dist/cli/numeric-flag.js.map +1 -0
- package/dist/cli/output.d.ts +23 -6
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +15 -0
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/published-url.js.map +1 -1
- package/dist/cli/record-reach.d.ts +6 -0
- package/dist/cli/record-reach.d.ts.map +1 -1
- package/dist/cli/record-reach.js +17 -11
- package/dist/cli/record-reach.js.map +1 -1
- package/dist/cli/record-tables.d.ts.map +1 -1
- package/dist/cli/record-tables.js +7 -6
- package/dist/cli/record-tables.js.map +1 -1
- package/dist/cli/record.d.ts +1 -5
- package/dist/cli/record.d.ts.map +1 -1
- package/dist/cli/record.js +40 -20
- package/dist/cli/record.js.map +1 -1
- package/dist/cli/search-index.d.ts +5 -0
- package/dist/cli/search-index.d.ts.map +1 -1
- package/dist/cli/search-index.js +19 -7
- package/dist/cli/search-index.js.map +1 -1
- package/dist/cli/statuses.d.ts +0 -2
- package/dist/cli/statuses.d.ts.map +1 -1
- package/dist/cli/statuses.js +0 -7
- package/dist/cli/statuses.js.map +1 -1
- package/dist/cli/stored-results.d.ts +7 -0
- package/dist/cli/stored-results.d.ts.map +1 -0
- package/dist/cli/stored-results.js +23 -0
- package/dist/cli/stored-results.js.map +1 -0
- package/dist/cli/top-level-help.js.map +1 -1
- package/dist/cli/version.d.ts.map +1 -1
- package/dist/cli/version.js +7 -5
- package/dist/cli/version.js.map +1 -1
- package/dist/cli-api.d.ts +49 -14
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +42 -17
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/adjudication.js.map +1 -1
- package/dist/composition/algebraic-equivalence.d.ts +43 -0
- package/dist/composition/algebraic-equivalence.d.ts.map +1 -0
- package/dist/composition/algebraic-equivalence.js +115 -0
- package/dist/composition/algebraic-equivalence.js.map +1 -0
- package/dist/composition/aliases.js.map +1 -1
- package/dist/composition/audit-coverage.d.ts +2 -0
- package/dist/composition/audit-coverage.d.ts.map +1 -1
- package/dist/composition/audit-coverage.js.map +1 -1
- package/dist/composition/axes.d.ts +6 -0
- package/dist/composition/axes.d.ts.map +1 -1
- package/dist/composition/axes.js +18 -6
- package/dist/composition/axes.js.map +1 -1
- package/dist/composition/axis-audit.d.ts +47 -20
- package/dist/composition/axis-audit.d.ts.map +1 -1
- package/dist/composition/axis-audit.js +82 -9
- package/dist/composition/axis-audit.js.map +1 -1
- package/dist/composition/bridge-analysis.d.ts +14 -15
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +148 -91
- package/dist/composition/bridge-analysis.js.map +1 -1
- package/dist/composition/bridge-prediction.d.ts +5 -1
- package/dist/composition/bridge-prediction.d.ts.map +1 -1
- package/dist/composition/bridge-prediction.js +12 -16
- package/dist/composition/bridge-prediction.js.map +1 -1
- package/dist/composition/buckingham-filter.js.map +1 -1
- package/dist/composition/canonical-compare.d.ts +40 -0
- package/dist/composition/canonical-compare.d.ts.map +1 -1
- package/dist/composition/canonical-compare.js +134 -26
- package/dist/composition/canonical-compare.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +9 -10
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +33 -102
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-json.js +2 -2
- package/dist/composition/canonical-json.js.map +1 -1
- package/dist/composition/canonical-prefactors.js.map +1 -1
- package/dist/composition/catalog-graph.d.ts.map +1 -1
- package/dist/composition/catalog-graph.js +8 -25
- package/dist/composition/catalog-graph.js.map +1 -1
- package/dist/composition/chain-candidate.d.ts +10 -0
- package/dist/composition/chain-candidate.d.ts.map +1 -1
- package/dist/composition/chain-candidate.js +11 -2
- package/dist/composition/chain-candidate.js.map +1 -1
- package/dist/composition/chain-match.d.ts +6 -3
- package/dist/composition/chain-match.d.ts.map +1 -1
- package/dist/composition/chain-match.js +4 -1
- package/dist/composition/chain-match.js.map +1 -1
- package/dist/composition/chain-regime.js.map +1 -1
- package/dist/composition/chain-result.d.ts.map +1 -1
- package/dist/composition/chain-result.js +2 -14
- package/dist/composition/chain-result.js.map +1 -1
- package/dist/composition/compose-surface.js.map +1 -1
- package/dist/composition/compose-symbolic.d.ts.map +1 -1
- package/dist/composition/compose-symbolic.js +3 -2
- package/dist/composition/compose-symbolic.js.map +1 -1
- package/dist/composition/compose.d.ts.map +1 -1
- package/dist/composition/compose.js +166 -41
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/composition-recovery.d.ts.map +1 -1
- package/dist/composition/composition-recovery.js +4 -7
- package/dist/composition/composition-recovery.js.map +1 -1
- package/dist/composition/consequence.d.ts.map +1 -1
- package/dist/composition/consequence.js +15 -6
- package/dist/composition/consequence.js.map +1 -1
- package/dist/composition/consistency.js.map +1 -1
- package/dist/composition/descriptor.d.ts +1 -1
- package/dist/composition/descriptor.d.ts.map +1 -1
- package/dist/composition/descriptor.js.map +1 -1
- package/dist/composition/dimension-adjacency.js.map +1 -1
- package/dist/composition/discovery.d.ts +77 -11
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +194 -80
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +40 -10
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +47 -12
- package/dist/composition/edge.js.map +1 -1
- package/dist/composition/enumerate.d.ts +2 -2
- package/dist/composition/enumerate.d.ts.map +1 -1
- package/dist/composition/enumerate.js +18 -3
- package/dist/composition/enumerate.js.map +1 -1
- package/dist/composition/evaluate-relation.d.ts +35 -11
- package/dist/composition/evaluate-relation.d.ts.map +1 -1
- package/dist/composition/evaluate-relation.js +60 -39
- package/dist/composition/evaluate-relation.js.map +1 -1
- package/dist/composition/explain.d.ts +5 -9
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +38 -18
- package/dist/composition/explain.js.map +1 -1
- package/dist/composition/expr-eval.d.ts.map +1 -1
- package/dist/composition/expr-eval.js +2 -11
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/expr-simplify.d.ts +16 -0
- package/dist/composition/expr-simplify.d.ts.map +1 -1
- package/dist/composition/expr-simplify.js +24 -59
- package/dist/composition/expr-simplify.js.map +1 -1
- package/dist/composition/expr-subst.js.map +1 -1
- package/dist/composition/formula-shape.d.ts +28 -0
- package/dist/composition/formula-shape.d.ts.map +1 -1
- package/dist/composition/formula-shape.js +96 -2
- package/dist/composition/formula-shape.js.map +1 -1
- package/dist/composition/frontier-account.d.ts +3 -2
- package/dist/composition/frontier-account.d.ts.map +1 -1
- package/dist/composition/frontier-account.js +7 -3
- package/dist/composition/frontier-account.js.map +1 -1
- package/dist/composition/graph-structure.d.ts +98 -0
- package/dist/composition/graph-structure.d.ts.map +1 -0
- package/dist/composition/graph-structure.js +167 -0
- package/dist/composition/graph-structure.js.map +1 -0
- package/dist/composition/graph-viz-svg.d.ts.map +1 -1
- package/dist/composition/graph-viz-svg.js +1 -1
- package/dist/composition/graph-viz-svg.js.map +1 -1
- package/dist/composition/graph-viz.d.ts.map +1 -1
- package/dist/composition/graph-viz.js +8 -37
- package/dist/composition/graph-viz.js.map +1 -1
- package/dist/composition/grounding.js.map +1 -1
- package/dist/composition/identifiability.d.ts +91 -4
- package/dist/composition/identifiability.d.ts.map +1 -1
- package/dist/composition/identifiability.js +363 -6
- package/dist/composition/identifiability.js.map +1 -1
- package/dist/composition/index.d.ts +14 -8
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +7 -5
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/mathts-quiet.d.ts +29 -0
- package/dist/composition/mathts-quiet.d.ts.map +1 -0
- package/dist/composition/mathts-quiet.js +57 -0
- package/dist/composition/mathts-quiet.js.map +1 -0
- package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -1
- package/dist/composition/mathts-scalar-symbols.js +20 -35
- package/dist/composition/mathts-scalar-symbols.js.map +1 -1
- package/dist/composition/not-composable-seeds.d.ts +3 -1
- package/dist/composition/not-composable-seeds.d.ts.map +1 -1
- package/dist/composition/not-composable-seeds.js +2 -0
- package/dist/composition/not-composable-seeds.js.map +1 -1
- package/dist/composition/probe/backend-protocol.js.map +1 -1
- package/dist/composition/probe/candidate-store.js.map +1 -1
- package/dist/composition/probe/corpus.d.ts +4 -2
- package/dist/composition/probe/corpus.d.ts.map +1 -1
- package/dist/composition/probe/corpus.js +20 -9
- package/dist/composition/probe/corpus.js.map +1 -1
- package/dist/composition/probe/dataset.d.ts +17 -0
- package/dist/composition/probe/dataset.d.ts.map +1 -1
- package/dist/composition/probe/dataset.js +95 -50
- package/dist/composition/probe/dataset.js.map +1 -1
- package/dist/composition/probe/experiment-design.d.ts +5 -1
- package/dist/composition/probe/experiment-design.d.ts.map +1 -1
- package/dist/composition/probe/experiment-design.js +44 -24
- package/dist/composition/probe/experiment-design.js.map +1 -1
- package/dist/composition/probe/expression-gaps.js.map +1 -1
- package/dist/composition/probe/falsify.d.ts +14 -3
- package/dist/composition/probe/falsify.d.ts.map +1 -1
- package/dist/composition/probe/falsify.js +16 -27
- package/dist/composition/probe/falsify.js.map +1 -1
- package/dist/composition/probe/fingerprint.js.map +1 -1
- package/dist/composition/probe/fit.d.ts +7 -1
- package/dist/composition/probe/fit.d.ts.map +1 -1
- package/dist/composition/probe/fit.js +48 -23
- package/dist/composition/probe/fit.js.map +1 -1
- package/dist/composition/probe/frontier.d.ts.map +1 -1
- package/dist/composition/probe/frontier.js +33 -15
- package/dist/composition/probe/frontier.js.map +1 -1
- package/dist/composition/probe/generator.d.ts +27 -1
- package/dist/composition/probe/generator.d.ts.map +1 -1
- package/dist/composition/probe/generator.js +53 -30
- package/dist/composition/probe/generator.js.map +1 -1
- package/dist/composition/probe/index.d.ts +18 -2
- package/dist/composition/probe/index.d.ts.map +1 -1
- package/dist/composition/probe/index.js +10 -2
- package/dist/composition/probe/index.js.map +1 -1
- package/dist/composition/probe/limits.d.ts +24 -1
- package/dist/composition/probe/limits.d.ts.map +1 -1
- package/dist/composition/probe/limits.js +53 -11
- package/dist/composition/probe/limits.js.map +1 -1
- package/dist/composition/probe/metadata.js.map +1 -1
- package/dist/composition/probe/pipeline.d.ts +5 -0
- package/dist/composition/probe/pipeline.d.ts.map +1 -1
- package/dist/composition/probe/pipeline.js +22 -9
- package/dist/composition/probe/pipeline.js.map +1 -1
- package/dist/composition/probe/power-law.d.ts +121 -0
- package/dist/composition/probe/power-law.d.ts.map +1 -0
- package/dist/composition/probe/power-law.js +255 -0
- package/dist/composition/probe/power-law.js.map +1 -0
- package/dist/composition/probe/problem.d.ts +12 -1
- package/dist/composition/probe/problem.d.ts.map +1 -1
- package/dist/composition/probe/problem.js +242 -48
- package/dist/composition/probe/problem.js.map +1 -1
- package/dist/composition/probe/report.js +1 -1
- package/dist/composition/probe/report.js.map +1 -1
- package/dist/composition/probe/residual.d.ts +6 -1
- package/dist/composition/probe/residual.d.ts.map +1 -1
- package/dist/composition/probe/residual.js +9 -7
- package/dist/composition/probe/residual.js.map +1 -1
- package/dist/composition/probe/run-manifest.js +2 -2
- package/dist/composition/probe/run-manifest.js.map +1 -1
- package/dist/composition/probe/scoring.d.ts +2 -1
- package/dist/composition/probe/scoring.d.ts.map +1 -1
- package/dist/composition/probe/scoring.js +21 -7
- package/dist/composition/probe/scoring.js.map +1 -1
- package/dist/composition/probe/search-budget.js.map +1 -1
- package/dist/composition/probe/serialize.js.map +1 -1
- package/dist/composition/probe/structure.d.ts +82 -17
- package/dist/composition/probe/structure.d.ts.map +1 -1
- package/dist/composition/probe/structure.js +129 -55
- package/dist/composition/probe/structure.js.map +1 -1
- package/dist/composition/probe/study.d.ts +35 -12
- package/dist/composition/probe/study.d.ts.map +1 -1
- package/dist/composition/probe/study.js +241 -184
- package/dist/composition/probe/study.js.map +1 -1
- package/dist/composition/probe/t-tail.d.ts +17 -0
- package/dist/composition/probe/t-tail.d.ts.map +1 -0
- package/dist/composition/probe/t-tail.js +32 -0
- package/dist/composition/probe/t-tail.js.map +1 -0
- package/dist/composition/probe/types.d.ts +6 -1
- package/dist/composition/probe/types.d.ts.map +1 -1
- package/dist/composition/probe/types.js +2 -0
- package/dist/composition/probe/types.js.map +1 -1
- package/dist/composition/proposed-bridges.d.ts +51 -13
- package/dist/composition/proposed-bridges.d.ts.map +1 -1
- package/dist/composition/proposed-bridges.js +110 -58
- package/dist/composition/proposed-bridges.js.map +1 -1
- package/dist/composition/quantities.d.ts +0 -4
- package/dist/composition/quantities.d.ts.map +1 -1
- package/dist/composition/quantities.js +5 -5
- package/dist/composition/quantities.js.map +1 -1
- package/dist/composition/quantity-clusters.d.ts +48 -0
- package/dist/composition/quantity-clusters.d.ts.map +1 -0
- package/dist/composition/quantity-clusters.js +98 -0
- package/dist/composition/quantity-clusters.js.map +1 -0
- package/dist/composition/quantity.d.ts +18 -2
- package/dist/composition/quantity.d.ts.map +1 -1
- package/dist/composition/quantity.js +35 -6
- package/dist/composition/quantity.js.map +1 -1
- package/dist/composition/rational-exponent.d.ts +40 -0
- package/dist/composition/rational-exponent.d.ts.map +1 -0
- package/dist/composition/rational-exponent.js +65 -0
- package/dist/composition/rational-exponent.js.map +1 -0
- package/dist/composition/representative-values.d.ts +22 -0
- package/dist/composition/representative-values.d.ts.map +1 -1
- package/dist/composition/representative-values.js +23 -0
- package/dist/composition/representative-values.js.map +1 -1
- package/dist/composition/retrodiction.d.ts +16 -6
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +36 -10
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/uncertainty.js.map +1 -1
- package/dist/composition/user-equation.d.ts.map +1 -1
- package/dist/composition/user-equation.js +2 -2
- package/dist/composition/user-equation.js.map +1 -1
- package/dist/core/assignment.d.ts +19 -0
- package/dist/core/assignment.d.ts.map +1 -0
- package/dist/core/assignment.js +19 -0
- package/dist/core/assignment.js.map +1 -0
- package/dist/core/axes-registry.d.ts +8 -5
- package/dist/core/axes-registry.d.ts.map +1 -1
- package/dist/core/axes-registry.js.map +1 -1
- package/dist/core/cell.js.map +1 -1
- package/dist/core/compare.d.ts +32 -0
- package/dist/core/compare.d.ts.map +1 -0
- package/dist/core/compare.js +46 -0
- package/dist/core/compare.js.map +1 -0
- package/dist/core/constants.d.ts +35 -35
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +52 -37
- package/dist/core/constants.js.map +1 -1
- package/dist/core/data-file.d.ts +7 -0
- package/dist/core/data-file.d.ts.map +1 -1
- package/dist/core/data-file.js +17 -0
- package/dist/core/data-file.js.map +1 -1
- package/dist/core/flux-rules.js +1 -1
- package/dist/core/flux-rules.js.map +1 -1
- package/dist/core/format.d.ts +36 -0
- package/dist/core/format.d.ts.map +1 -0
- package/dist/core/format.js +39 -0
- package/dist/core/format.js.map +1 -0
- package/dist/core/hash.d.ts +14 -0
- package/dist/core/hash.d.ts.map +1 -0
- package/dist/core/hash.js +17 -0
- package/dist/core/hash.js.map +1 -0
- package/dist/core/json-schema.d.ts +3 -1
- package/dist/core/json-schema.d.ts.map +1 -1
- package/dist/core/json-schema.js +41 -16
- package/dist/core/json-schema.js.map +1 -1
- package/dist/core/labeled-tensor.d.ts +6 -1
- package/dist/core/labeled-tensor.d.ts.map +1 -1
- package/dist/core/labeled-tensor.js +18 -16
- package/dist/core/labeled-tensor.js.map +1 -1
- package/dist/core/mathts-read.d.ts +25 -0
- package/dist/core/mathts-read.d.ts.map +1 -0
- package/dist/core/mathts-read.js +51 -0
- package/dist/core/mathts-read.js.map +1 -0
- package/dist/core/regime-registry.d.ts +6 -2
- package/dist/core/regime-registry.d.ts.map +1 -1
- package/dist/core/regime-registry.js.map +1 -1
- package/dist/core/regime-rule-install.js.map +1 -1
- package/dist/core/regimes-builtins.js.map +1 -1
- package/dist/core/tensor.d.ts +7 -4
- package/dist/core/tensor.d.ts.map +1 -1
- package/dist/core/tensor.js +64 -8
- package/dist/core/tensor.js.map +1 -1
- package/dist/core/types.d.ts +5 -5
- package/dist/core/types.js.map +1 -1
- package/dist/core/universal-index.js.map +1 -1
- package/dist/diff/bridge-ast-gradient.d.ts +4 -5
- package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-ast-gradient.js +10 -6
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/diff/bridge-gradient.d.ts +43 -86
- package/dist/diff/bridge-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-gradient.js +40 -109
- package/dist/diff/bridge-gradient.js.map +1 -1
- package/dist/diff/bridge-specs.d.ts +16 -5
- package/dist/diff/bridge-specs.d.ts.map +1 -1
- package/dist/diff/bridge-specs.js +19 -4
- package/dist/diff/bridge-specs.js.map +1 -1
- package/dist/dimensional/algebra.d.ts +18 -0
- package/dist/dimensional/algebra.d.ts.map +1 -1
- package/dist/dimensional/algebra.js +41 -1
- package/dist/dimensional/algebra.js.map +1 -1
- package/dist/dimensional/ast-builders.d.ts +12 -4
- package/dist/dimensional/ast-builders.d.ts.map +1 -1
- package/dist/dimensional/ast-builders.js +17 -5
- package/dist/dimensional/ast-builders.js.map +1 -1
- package/dist/dimensional/ast-leaves.d.ts +81 -0
- package/dist/dimensional/ast-leaves.d.ts.map +1 -0
- package/dist/dimensional/ast-leaves.js +146 -0
- package/dist/dimensional/ast-leaves.js.map +1 -0
- package/dist/dimensional/ast-types.js.map +1 -1
- package/dist/dimensional/bridge-check.js.map +1 -1
- package/dist/dimensional/buckingham.d.ts.map +1 -1
- package/dist/dimensional/buckingham.js +15 -27
- package/dist/dimensional/buckingham.js.map +1 -1
- package/dist/dimensional/connection-validators.d.ts +2 -1
- package/dist/dimensional/connection-validators.d.ts.map +1 -1
- package/dist/dimensional/connection-validators.js.map +1 -1
- package/dist/dimensional/connection.js.map +1 -1
- package/dist/dimensional/constant-rows.d.ts.map +1 -1
- package/dist/dimensional/constant-rows.js +17 -13
- package/dist/dimensional/constant-rows.js.map +1 -1
- package/dist/dimensional/constants.d.ts +5 -6
- package/dist/dimensional/constants.d.ts.map +1 -1
- package/dist/dimensional/constants.js +5 -6
- package/dist/dimensional/constants.js.map +1 -1
- package/dist/dimensional/curvature-composite.js.map +1 -1
- package/dist/dimensional/curvature-invariants.js.map +1 -1
- package/dist/dimensional/curvature.js.map +1 -1
- package/dist/dimensional/dimension-inference.d.ts.map +1 -1
- package/dist/dimensional/dimension-inference.js +1 -2
- package/dist/dimensional/dimension-inference.js.map +1 -1
- package/dist/dimensional/dimension-spec.d.ts +13 -7
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/dimension-spec.js +49 -23
- package/dist/dimensional/dimension-spec.js.map +1 -1
- package/dist/dimensional/einstein-equation.js.map +1 -1
- package/dist/dimensional/errors.d.ts +4 -2
- package/dist/dimensional/errors.d.ts.map +1 -1
- package/dist/dimensional/errors.js +3 -17
- package/dist/dimensional/errors.js.map +1 -1
- package/dist/dimensional/exact-scale.d.ts +0 -17
- package/dist/dimensional/exact-scale.d.ts.map +1 -1
- package/dist/dimensional/exact-scale.js +8 -8
- package/dist/dimensional/exact-scale.js.map +1 -1
- package/dist/dimensional/field-equation-helpers.js.map +1 -1
- package/dist/dimensional/formula-names.js.map +1 -1
- package/dist/dimensional/fresh-label.js.map +1 -1
- package/dist/dimensional/friedmann-equation.d.ts +3 -3
- package/dist/dimensional/friedmann-equation.js +3 -3
- package/dist/dimensional/friedmann-equation.js.map +1 -1
- package/dist/dimensional/gauge-field.d.ts +2 -3
- package/dist/dimensional/gauge-field.d.ts.map +1 -1
- package/dist/dimensional/gauge-field.js +2 -3
- package/dist/dimensional/gauge-field.js.map +1 -1
- package/dist/dimensional/hyphen-names.d.ts +12 -2
- package/dist/dimensional/hyphen-names.d.ts.map +1 -1
- package/dist/dimensional/hyphen-names.js +45 -12
- package/dist/dimensional/hyphen-names.js.map +1 -1
- package/dist/dimensional/killing-validators.js.map +1 -1
- package/dist/dimensional/klein-gordon-equation.js.map +1 -1
- package/dist/dimensional/metric-validators.d.ts +2 -1
- package/dist/dimensional/metric-validators.d.ts.map +1 -1
- package/dist/dimensional/metric-validators.js.map +1 -1
- package/dist/dimensional/metric.d.ts.map +1 -1
- package/dist/dimensional/metric.js +0 -1
- package/dist/dimensional/metric.js.map +1 -1
- package/dist/dimensional/natural-units.js.map +1 -1
- package/dist/dimensional/quantity-registry.d.ts +13 -0
- package/dist/dimensional/quantity-registry.d.ts.map +1 -1
- package/dist/dimensional/quantity-registry.js +14 -6
- package/dist/dimensional/quantity-registry.js.map +1 -1
- package/dist/dimensional/rg-flow.js.map +1 -1
- package/dist/dimensional/stress-energy-validators.js.map +1 -1
- package/dist/dimensional/symbolic-constants.d.ts +9 -0
- package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
- package/dist/dimensional/symbolic-constants.js +20 -3
- package/dist/dimensional/symbolic-constants.js.map +1 -1
- package/dist/dimensional/tensor-trace.js.map +1 -1
- package/dist/dimensional/tensor.js.map +1 -1
- package/dist/dimensional/types.d.ts +36 -0
- package/dist/dimensional/types.d.ts.map +1 -1
- package/dist/dimensional/types.js +45 -7
- package/dist/dimensional/types.js.map +1 -1
- package/dist/dimensional/unit-convention.d.ts +0 -2
- package/dist/dimensional/unit-convention.d.ts.map +1 -1
- package/dist/dimensional/unit-convention.js +2 -2
- package/dist/dimensional/unit-convention.js.map +1 -1
- package/dist/dimensional/unit-data.d.ts.map +1 -1
- package/dist/dimensional/unit-data.js +11 -7
- package/dist/dimensional/unit-data.js.map +1 -1
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +38 -20
- package/dist/dimensional/units.js.map +1 -1
- package/dist/dimensional/validator-registry.js.map +1 -1
- package/dist/dimensional/validator.d.ts +0 -16
- package/dist/dimensional/validator.d.ts.map +1 -1
- package/dist/dimensional/validator.js +65 -29
- package/dist/dimensional/validator.js.map +1 -1
- package/dist/dimensional/weyl-validators.js.map +1 -1
- package/dist/index.d.ts +59 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -24
- package/dist/index.js.map +1 -1
- package/dist/numerical/bianchi-residual.js.map +1 -1
- package/dist/numerical/binding-value.d.ts +11 -6
- package/dist/numerical/binding-value.d.ts.map +1 -1
- package/dist/numerical/binding-value.js +126 -122
- package/dist/numerical/binding-value.js.map +1 -1
- package/dist/numerical/christoffel-flat.d.ts.map +1 -1
- package/dist/numerical/christoffel-flat.js +3 -2
- package/dist/numerical/christoffel-flat.js.map +1 -1
- package/dist/numerical/connection-lowering-helpers.js.map +1 -1
- package/dist/numerical/covariant-eikonal.d.ts.map +1 -1
- package/dist/numerical/covariant-eikonal.js +36 -13
- package/dist/numerical/covariant-eikonal.js.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.d.ts +20 -0
- package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.js +9 -5
- package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
- package/dist/numerical/derivative-lowering.js.map +1 -1
- package/dist/numerical/einstein-equation.js.map +1 -1
- package/dist/numerical/engine-registry.js.map +1 -1
- package/dist/numerical/errors.d.ts +7 -3
- package/dist/numerical/errors.d.ts.map +1 -1
- package/dist/numerical/errors.js +5 -8
- package/dist/numerical/errors.js.map +1 -1
- package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -1
- package/dist/numerical/evaluator-uncertainty.js +19 -2
- package/dist/numerical/evaluator-uncertainty.js.map +1 -1
- package/dist/numerical/finite-difference.d.ts +22 -0
- package/dist/numerical/finite-difference.d.ts.map +1 -0
- package/dist/numerical/finite-difference.js +27 -0
- package/dist/numerical/finite-difference.js.map +1 -0
- package/dist/numerical/formula-contract.d.ts +63 -7
- package/dist/numerical/formula-contract.d.ts.map +1 -1
- package/dist/numerical/formula-contract.js +61 -42
- package/dist/numerical/formula-contract.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts +8 -7
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js +58 -36
- package/dist/numerical/formula-dimension.js.map +1 -1
- package/dist/numerical/formula-mathts.d.ts.map +1 -1
- package/dist/numerical/formula-mathts.js +5 -2
- package/dist/numerical/formula-mathts.js.map +1 -1
- package/dist/numerical/formula-registry.d.ts +13 -3
- package/dist/numerical/formula-registry.d.ts.map +1 -1
- package/dist/numerical/formula-registry.js +7 -2
- package/dist/numerical/formula-registry.js.map +1 -1
- package/dist/numerical/geodesic-integrator.d.ts.map +1 -1
- package/dist/numerical/geodesic-integrator.js +22 -14
- package/dist/numerical/geodesic-integrator.js.map +1 -1
- package/dist/numerical/geometrized.d.ts.map +1 -1
- package/dist/numerical/geometrized.js +0 -1
- package/dist/numerical/geometrized.js.map +1 -1
- package/dist/numerical/gl4-integrator.d.ts +28 -27
- package/dist/numerical/gl4-integrator.d.ts.map +1 -1
- package/dist/numerical/gl4-integrator.js +41 -42
- package/dist/numerical/gl4-integrator.js.map +1 -1
- package/dist/numerical/grid-field.js.map +1 -1
- package/dist/numerical/index.js.map +1 -1
- package/dist/numerical/input-validation.d.ts +3 -6
- package/dist/numerical/input-validation.d.ts.map +1 -1
- package/dist/numerical/input-validation.js +4 -8
- package/dist/numerical/input-validation.js.map +1 -1
- package/dist/numerical/killing.d.ts +8 -5
- package/dist/numerical/killing.d.ts.map +1 -1
- package/dist/numerical/killing.js.map +1 -1
- package/dist/numerical/klein-gordon.js.map +1 -1
- package/dist/numerical/kretschmann.js.map +1 -1
- package/dist/numerical/lowering-utils.js.map +1 -1
- package/dist/numerical/lowering.d.ts.map +1 -1
- package/dist/numerical/lowering.js +7 -17
- package/dist/numerical/lowering.js.map +1 -1
- package/dist/numerical/mathts-engine.d.ts.map +1 -1
- package/dist/numerical/mathts-engine.js +16 -25
- package/dist/numerical/mathts-engine.js.map +1 -1
- package/dist/numerical/metric-inverse.d.ts.map +1 -1
- package/dist/numerical/metric-inverse.js +83 -46
- package/dist/numerical/metric-inverse.js.map +1 -1
- package/dist/numerical/null-ic.js.map +1 -1
- package/dist/numerical/null-ray-integrator.d.ts +2 -1
- package/dist/numerical/null-ray-integrator.d.ts.map +1 -1
- package/dist/numerical/null-ray-integrator.js +12 -12
- package/dist/numerical/null-ray-integrator.js.map +1 -1
- package/dist/numerical/painleve-gullstrand-metric.js +2 -2
- package/dist/numerical/painleve-gullstrand-metric.js.map +1 -1
- package/dist/numerical/pderiv.d.ts.map +1 -1
- package/dist/numerical/pderiv.js +9 -2
- package/dist/numerical/pderiv.js.map +1 -1
- package/dist/numerical/perihelion-finder.d.ts +0 -36
- package/dist/numerical/perihelion-finder.d.ts.map +1 -1
- package/dist/numerical/perihelion-finder.js +41 -87
- package/dist/numerical/perihelion-finder.js.map +1 -1
- package/dist/numerical/quadrature.d.ts +5 -2
- package/dist/numerical/quadrature.d.ts.map +1 -1
- package/dist/numerical/quadrature.js +19 -4
- package/dist/numerical/quadrature.js.map +1 -1
- package/dist/numerical/rk4-trajectory.d.ts +10 -0
- package/dist/numerical/rk4-trajectory.d.ts.map +1 -0
- package/dist/numerical/rk4-trajectory.js +37 -0
- package/dist/numerical/rk4-trajectory.js.map +1 -0
- package/dist/numerical/schwarzschild.d.ts +14 -0
- package/dist/numerical/schwarzschild.d.ts.map +1 -0
- package/dist/numerical/schwarzschild.js +17 -0
- package/dist/numerical/schwarzschild.js.map +1 -0
- package/dist/numerical/spacetime-metrics.d.ts +25 -19
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
- package/dist/numerical/spacetime-metrics.js +180 -286
- package/dist/numerical/spacetime-metrics.js.map +1 -1
- package/dist/numerical/statistics.d.ts +24 -0
- package/dist/numerical/statistics.d.ts.map +1 -0
- package/dist/numerical/statistics.js +52 -0
- package/dist/numerical/statistics.js.map +1 -0
- package/dist/numerical/strides.js.map +1 -1
- package/dist/numerical/tensor-engine.d.ts +30 -5
- package/dist/numerical/tensor-engine.d.ts.map +1 -1
- package/dist/numerical/tensor-engine.js +12 -0
- package/dist/numerical/tensor-engine.js.map +1 -1
- package/dist/numerical/types.js.map +1 -1
- package/dist/numerical/weyl-lowering.js.map +1 -1
- package/dist/relations/category.js.map +1 -1
- package/dist/relations/composition-table.d.ts +4 -4
- package/dist/relations/composition-table.js +4 -4
- package/dist/relations/composition-table.js.map +1 -1
- package/dist/relations/conventions.js.map +1 -1
- package/dist/relations/domain-regimes.js.map +1 -1
- package/dist/relations/regime-registration.js.map +1 -1
- package/dist/relations/regime-vocabularies.js.map +1 -1
- package/dist/relations/regime.d.ts +28 -8
- package/dist/relations/regime.d.ts.map +1 -1
- package/dist/relations/regime.js +44 -15
- package/dist/relations/regime.js.map +1 -1
- package/dist/relations/types.d.ts +18 -5
- package/dist/relations/types.d.ts.map +1 -1
- package/dist/relations/types.js +5 -3
- package/dist/relations/types.js.map +1 -1
- package/package.json +16 -20
- package/dist/bridges/registry.d.ts +0 -60
- package/dist/bridges/registry.d.ts.map +0 -1
- package/dist/bridges/registry.js +0 -87
- package/dist/bridges/registry.js.map +0 -1
- package/dist/cli/poster-source.d.ts +0 -154
- package/dist/cli/poster-source.d.ts.map +0 -1
- package/dist/cli/poster-source.js +0 -184
- package/dist/cli/poster-source.js.map +0 -1
|
@@ -5,12 +5,15 @@
|
|
|
5
5
|
* link and regime-transition gaps abstain and tell the user to use discover.
|
|
6
6
|
*/
|
|
7
7
|
import { readFileSync, statSync } from 'node:fs';
|
|
8
|
+
import { refuseExtraPositionals } from '../args.js';
|
|
8
9
|
import { registerCommand } from '../command.js';
|
|
10
|
+
import { realFlag } from '../numeric-flag.js';
|
|
9
11
|
import { commandHelp, JSON_FLAG, sourceFlag } from '../flag-help.js';
|
|
10
12
|
import { resolveGraph } from '../graphs.js';
|
|
11
13
|
import { emitJson } from '../output.js';
|
|
12
14
|
import { UsageError, CliError } from '../errors.js';
|
|
13
15
|
import { publishedUrl } from '../published-url.js';
|
|
16
|
+
import { PROBE_BUDGET_MS_DEFAULT, PROBE_CORRECTION_TERMS_MAX, PROBE_HOLDOUT_TOL_DEFAULT, PROBE_STUDY_ALPHA_DEFAULT, } from '../library-defaults.js';
|
|
14
17
|
const PROBE_SUBCOMMANDS = [
|
|
15
18
|
{ name: 'scan', summary: 'List typed frontier gaps. The default listing is the searchable ones.' },
|
|
16
19
|
{ name: 'show', summary: 'Print one gap by id.' },
|
|
@@ -27,17 +30,17 @@ const FLAGS = [
|
|
|
27
30
|
sourceFlag('catalog', 'Which graph a subverb reads: catalog, canonical, or both.'),
|
|
28
31
|
JSON_FLAG,
|
|
29
32
|
{ 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:
|
|
33
|
+
{ name: '--budget-ms', valueStyle: 'attached', description: 'Wall-clock cap in milliseconds.', defaultValue: PROBE_BUDGET_MS_DEFAULT },
|
|
34
|
+
{ name: '--holdout-tol', valueStyle: 'attached', description: 'Relative holdout RMSE cap.', defaultValue: PROBE_HOLDOUT_TOL_DEFAULT },
|
|
32
35
|
{ name: '--worker', valueStyle: 'attached', description: 'Optional NDJSON worker, spawned as node PATH. The path must be a .js, .mjs, or .cjs file.' },
|
|
33
36
|
{ name: '--bounds', valueStyle: 'attached', description: 'Bounds for design, as the design subverb reads them.' },
|
|
34
|
-
{ name: '--h1', valueStyle: 'attached', description:
|
|
35
|
-
{ name: '--h2', valueStyle: 'attached', description: 'Second hypothesis for design.' },
|
|
37
|
+
{ name: '--h1', valueStyle: 'attached', description: "First hypothesis for design: an expression-tree JSON file. A symbol node's dim carries all seven exponents, L, M, T, I, Theta, N and J (a dimensionless symbol writes each as 0); a partial record is refused." },
|
|
38
|
+
{ name: '--h2', valueStyle: 'attached', description: 'Second hypothesis for design, an expression-tree JSON file in the form --h1 takes.' },
|
|
36
39
|
{ name: '--searchable-only', valueStyle: 'none', description: 'scan: list only Product-B-searchable gaps. This is the default.' },
|
|
37
40
|
{ name: '--all', valueStyle: 'none', description: 'scan: include Product A wrappers, which are not searchable here.' },
|
|
38
41
|
{ name: '--data', valueStyle: 'attached', description: 'Study file (JSON, or CSV when the name ends in .csv) for study.' },
|
|
39
42
|
{ 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:
|
|
43
|
+
{ name: '--alpha', valueStyle: 'attached', description: 'study: χ² test level.', defaultValue: `the file's alpha, else ${PROBE_STUDY_ALPHA_DEFAULT}` },
|
|
41
44
|
];
|
|
42
45
|
/**
|
|
43
46
|
* The text printed when a scan has gaps and none of them are searchable.
|
|
@@ -69,7 +72,13 @@ const HELP = `upt probe <scan|show|run|candidates|falsify|rank|design|reproduce|
|
|
|
69
72
|
\`--problem=FILE\`. The id is not that file.
|
|
70
73
|
scan typed frontier gaps (default: searchable only)
|
|
71
74
|
show <gap-id> one gap
|
|
72
|
-
run --problem=FILE bounded native search (MHC / holdout / budget)
|
|
75
|
+
run --problem=FILE bounded native search (MHC / holdout / budget).
|
|
76
|
+
When the governing variables leave dimensionless
|
|
77
|
+
groups, the native enumerator also fits a rational
|
|
78
|
+
power law of the π-groups, base · Π πₖ^(p/q) with
|
|
79
|
+
q ≤ 6 within 2σ, on the exploratory rows only (the
|
|
80
|
+
holdout rows are never fitted); an exponent that is
|
|
81
|
+
no such fraction is reported, not a candidate
|
|
73
82
|
candidates same as run; list stored statuses
|
|
74
83
|
falsify run + print falsification batteries
|
|
75
84
|
rank run + Pareto front
|
|
@@ -83,11 +92,11 @@ const HELP = `upt probe <scan|show|run|candidates|falsify|rank|design|reproduce|
|
|
|
83
92
|
or CSV) with its own provenance
|
|
84
93
|
--searchable-only scan: only Product-B-searchable gaps (default)
|
|
85
94
|
--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
|
|
95
|
+
--budget-ms=N wall-clock cap (default ${PROBE_BUDGET_MS_DEFAULT})
|
|
96
|
+
--holdout-tol=X relative holdout RMSE cap (default ${PROBE_HOLDOUT_TOL_DEFAULT})
|
|
88
97
|
--worker=PATH optional NDJSON worker (spawned as node PATH)
|
|
89
98
|
--source=catalog|canonical|both the graph a subverb reads (default catalog)
|
|
90
|
-
--alpha=X study: χ² test level (default: the file's, else
|
|
99
|
+
--alpha=X study: χ² test level (default: the file's, else ${PROBE_STUDY_ALPHA_DEFAULT})
|
|
91
100
|
--json machine envelope
|
|
92
101
|
|
|
93
102
|
PROBLEM FILE (--problem=FILE, JSON)
|
|
@@ -144,10 +153,10 @@ const HELP = `upt probe <scan|show|run|candidates|falsify|rank|design|reproduce|
|
|
|
144
153
|
models over the governing names in SI units, e.g.
|
|
145
154
|
"2*pi*sqrt(length/gravity)"; must have the target's dimension.
|
|
146
155
|
fitPrefactor (default false) fits one scale on exploratory rows.
|
|
147
|
-
criterion optional {"alpha"} (default
|
|
156
|
+
criterion optional {"alpha"} (default ${PROBE_STUDY_ALPHA_DEFAULT})
|
|
148
157
|
design optional {"variables": {input: {"min", "max", "steps"?}}}
|
|
149
158
|
correction optional {"input": <dimensionless input u>, "powers": [2, 4]},
|
|
150
|
-
or a list of them, one per input (at most
|
|
159
|
+
or a list of them, one per input (at most ${PROBE_CORRECTION_TERMS_MAX} powers in all):
|
|
151
160
|
also search m(x)·(1 + c₁u² + c₂u⁴ + …) for each monomial m,
|
|
152
161
|
fit on exploratory rows only. Terms are admitted in the
|
|
153
162
|
declared order, family by family, while each passes an
|
|
@@ -188,13 +197,15 @@ const EPISTEMICS = '⚠ experimental Product B. Not a discovery claim. `upt disc
|
|
|
188
197
|
function isSubverb(s) {
|
|
189
198
|
return SUBVERBS.includes(s);
|
|
190
199
|
}
|
|
200
|
+
// Each numeric flag: the grammar first (a malformed token is usage, exit 2), the range after
|
|
201
|
+
// (a well-formed value outside it is a bad value, exit 1).
|
|
191
202
|
function budgetFromFlags(api, flags) {
|
|
192
203
|
const raw = flags.get('budget-ms')?.[0];
|
|
193
204
|
if (raw === undefined)
|
|
194
205
|
return undefined;
|
|
195
|
-
const n =
|
|
196
|
-
if (!
|
|
197
|
-
throw new
|
|
206
|
+
const n = realFlag('probe', '--budget-ms', raw);
|
|
207
|
+
if (!(n > 0)) {
|
|
208
|
+
throw new CliError('upt probe: --budget-ms must be a positive number');
|
|
198
209
|
}
|
|
199
210
|
return { ...api.DEFAULT_SEARCH_BUDGET, maxWallClockMs: n };
|
|
200
211
|
}
|
|
@@ -202,9 +213,9 @@ function holdoutTolFromFlags(flags) {
|
|
|
202
213
|
const raw = flags.get('holdout-tol')?.[0];
|
|
203
214
|
if (raw === undefined)
|
|
204
215
|
return undefined;
|
|
205
|
-
const n =
|
|
206
|
-
if (!
|
|
207
|
-
throw new
|
|
216
|
+
const n = realFlag('probe', '--holdout-tol', raw);
|
|
217
|
+
if (!(n > 0)) {
|
|
218
|
+
throw new CliError('upt probe: --holdout-tol must be a positive number');
|
|
208
219
|
}
|
|
209
220
|
return n;
|
|
210
221
|
}
|
|
@@ -214,32 +225,58 @@ function problemPath(flags) {
|
|
|
214
225
|
throw new UsageError('upt probe: --problem=FILE is required for this subverb');
|
|
215
226
|
return p;
|
|
216
227
|
}
|
|
217
|
-
/**
|
|
218
|
-
function
|
|
228
|
+
/** The `code` and `path` Node puts on a failed file-system call; empty for any other error. */
|
|
229
|
+
function errnoOf(e) {
|
|
230
|
+
if (!(e instanceof Error))
|
|
231
|
+
return {};
|
|
232
|
+
const code = 'code' in e ? e.code : undefined;
|
|
233
|
+
const path = 'path' in e ? e.path : undefined;
|
|
234
|
+
return {
|
|
235
|
+
...(typeof code === 'string' ? { code } : {}),
|
|
236
|
+
...(typeof path === 'string' ? { path } : {}),
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Map probe file/parse failures to CLI errors (no stack traces). `kind` names what the file was
|
|
241
|
+
* read as (`a problem file` for `run --problem`, `an expression file` for a `design` hypothesis,
|
|
242
|
+
* `a bounds file` for its bounds), so a refusal of the loader's own checks says the right thing.
|
|
243
|
+
*/
|
|
244
|
+
function mapProbeError(api, e, context, kind = 'a problem file') {
|
|
219
245
|
if (e instanceof UsageError || e instanceof CliError)
|
|
220
246
|
throw e;
|
|
221
|
-
const
|
|
222
|
-
if (
|
|
223
|
-
throw new CliError(`upt probe: file not found: ${
|
|
247
|
+
const errno = errnoOf(e);
|
|
248
|
+
if (errno.code === 'ENOENT') {
|
|
249
|
+
throw new CliError(`upt probe: file not found: ${errno.path ?? context ?? 'unknown'}`);
|
|
224
250
|
}
|
|
225
251
|
if (e instanceof SyntaxError) {
|
|
226
|
-
|
|
252
|
+
// The JSON readers prefix the file's path; a context that names it already drops the repeat.
|
|
253
|
+
const message = context !== undefined && e.message.startsWith(`${context}: `) ? e.message.slice(context.length + 2) : e.message;
|
|
254
|
+
throw new CliError(`upt probe: invalid JSON${context ? ` in ${context}` : ''}: ${message}`);
|
|
255
|
+
}
|
|
256
|
+
// The loader checks every field it reads and names the one that is wrong.
|
|
257
|
+
if (e instanceof api.ProblemFileError) {
|
|
258
|
+
throw new CliError(`upt probe: ${context ?? 'the file'} is not ${kind}: ${e.message}. \`upt help probe\` shows the format.`);
|
|
259
|
+
}
|
|
260
|
+
// A TypeError or a RangeError past those checks is a field of a shape the loader does not
|
|
261
|
+
// check. It is reported as that, with the engine's words marked as the engine's.
|
|
262
|
+
if (e instanceof TypeError || e instanceof RangeError) {
|
|
263
|
+
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.`);
|
|
227
264
|
}
|
|
228
265
|
if (e instanceof Error) {
|
|
229
266
|
throw new CliError(`upt probe: ${e.message}`);
|
|
230
267
|
}
|
|
231
268
|
throw e;
|
|
232
269
|
}
|
|
233
|
-
function readJsonFile(path) {
|
|
270
|
+
function readJsonFile(api, path) {
|
|
234
271
|
try {
|
|
235
272
|
return JSON.parse(readFileSync(path, 'utf8'));
|
|
236
273
|
}
|
|
237
274
|
catch (e) {
|
|
238
|
-
mapProbeError(e, path);
|
|
275
|
+
mapProbeError(api, e, path);
|
|
239
276
|
}
|
|
240
277
|
}
|
|
241
278
|
/** Reject Node flag injection via `--worker=--import=…` etc. */
|
|
242
|
-
function validateWorkerPath(worker) {
|
|
279
|
+
function validateWorkerPath(api, worker) {
|
|
243
280
|
if (worker.startsWith('-')) {
|
|
244
281
|
throw new UsageError('upt probe: --worker must be a script path, not a Node flag');
|
|
245
282
|
}
|
|
@@ -252,16 +289,22 @@ function validateWorkerPath(worker) {
|
|
|
252
289
|
}
|
|
253
290
|
}
|
|
254
291
|
catch (e) {
|
|
255
|
-
mapProbeError(e, worker);
|
|
292
|
+
mapProbeError(api, e, worker);
|
|
256
293
|
}
|
|
257
294
|
return worker;
|
|
258
295
|
}
|
|
259
296
|
async function run(ctx) {
|
|
260
297
|
const { args, api, out } = ctx;
|
|
261
298
|
const sub = args.positionals[0];
|
|
262
|
-
if (
|
|
299
|
+
if (sub === undefined) {
|
|
263
300
|
throw new UsageError(`upt probe needs a subverb (${SUBVERBS.join('|')}). See \`upt help probe\`.`);
|
|
264
301
|
}
|
|
302
|
+
// A token that is not a subverb is named as such, not reported as a missing one.
|
|
303
|
+
if (!isSubverb(sub)) {
|
|
304
|
+
throw new UsageError(`upt probe: '${sub}' is not a subverb (${SUBVERBS.join('|')}). See \`upt help probe\`.`);
|
|
305
|
+
}
|
|
306
|
+
// `show` reads its gap id; every other subverb reads the subverb alone (§Hardening).
|
|
307
|
+
refuseExtraPositionals(`probe ${sub}`, args.positionals.slice(sub === 'show' ? 2 : 1), 0);
|
|
265
308
|
const { graph, source } = resolveGraph(api, args.flags);
|
|
266
309
|
if (sub === 'scan') {
|
|
267
310
|
if (args.flags.has('searchable-only') && args.flags.has('all')) {
|
|
@@ -330,12 +373,30 @@ async function run(ctx) {
|
|
|
330
373
|
if (!h1p || !h2p || !bp) {
|
|
331
374
|
throw new UsageError('upt probe design needs --h1=FILE --h2=FILE --bounds=FILE');
|
|
332
375
|
}
|
|
376
|
+
// Each file is parsed under its own name, so an invalid JSON message names the file.
|
|
377
|
+
const parseExpr = (path) => {
|
|
378
|
+
try {
|
|
379
|
+
return api.parseExprJson(path);
|
|
380
|
+
}
|
|
381
|
+
catch (e) {
|
|
382
|
+
mapProbeError(api, e, path, 'an expression file');
|
|
383
|
+
}
|
|
384
|
+
};
|
|
385
|
+
const h1 = parseExpr(h1p);
|
|
386
|
+
const h2 = parseExpr(h2p);
|
|
387
|
+
let bounds;
|
|
388
|
+
try {
|
|
389
|
+
bounds = api.parseDesignBounds(readJsonFile(api, bp), bp);
|
|
390
|
+
}
|
|
391
|
+
catch (e) {
|
|
392
|
+
mapProbeError(api, e, bp, 'a bounds file');
|
|
393
|
+
}
|
|
333
394
|
let suggestion;
|
|
334
395
|
try {
|
|
335
|
-
suggestion = api.suggestDiscriminatingPoint(
|
|
396
|
+
suggestion = api.suggestDiscriminatingPoint(h1, h2, bounds);
|
|
336
397
|
}
|
|
337
398
|
catch (e) {
|
|
338
|
-
mapProbeError(e);
|
|
399
|
+
mapProbeError(api, e, `${h1p}, ${h2p}, ${bp}`);
|
|
339
400
|
}
|
|
340
401
|
if (args.flags.has('json')) {
|
|
341
402
|
emitJson({ command: 'probe', epistemics: EPISTEMICS, result: suggestion }, ctx.write);
|
|
@@ -359,14 +420,17 @@ async function run(ctx) {
|
|
|
359
420
|
problem = api.loadSearchProblemFromJson(pp);
|
|
360
421
|
}
|
|
361
422
|
catch (e) {
|
|
362
|
-
mapProbeError(e, pp);
|
|
423
|
+
mapProbeError(api, e, pp);
|
|
363
424
|
}
|
|
364
425
|
const workerRaw = args.flags.get('worker')?.[0];
|
|
365
|
-
|
|
426
|
+
// `--worker=` with nothing after it is not "no worker": it is refused, as `--replication=` is.
|
|
427
|
+
if (workerRaw === '')
|
|
428
|
+
throw new UsageError('upt probe: --worker needs a PATH (a .js, .mjs, or .cjs file)');
|
|
429
|
+
const worker = workerRaw === undefined ? undefined : validateWorkerPath(api, workerRaw);
|
|
366
430
|
const result = await api.runProbeSearch(problem, {
|
|
367
431
|
budget: budgetFromFlags(api, args.flags),
|
|
368
432
|
holdoutTol: holdoutTolFromFlags(args.flags),
|
|
369
|
-
backendArgv: worker ?
|
|
433
|
+
backendArgv: worker ? api.nodeWorkerArgv(worker) : undefined,
|
|
370
434
|
});
|
|
371
435
|
if (sub === 'run' || sub === 'reproduce' || sub === 'rank' || sub === 'candidates' || sub === 'falsify') {
|
|
372
436
|
if (args.flags.has('json')) {
|
|
@@ -419,9 +483,9 @@ function alphaFromFlags(flags) {
|
|
|
419
483
|
const raw = flags.get('alpha')?.[0];
|
|
420
484
|
if (raw === undefined)
|
|
421
485
|
return undefined;
|
|
422
|
-
const n =
|
|
423
|
-
if (!
|
|
424
|
-
throw new
|
|
486
|
+
const n = realFlag('probe', '--alpha', raw);
|
|
487
|
+
if (!(n > 0 && n < 1)) {
|
|
488
|
+
throw new CliError('upt probe: --alpha must be a number in (0, 1)');
|
|
425
489
|
}
|
|
426
490
|
return n;
|
|
427
491
|
}
|
|
@@ -440,14 +504,14 @@ async function runStudy(ctx, source) {
|
|
|
440
504
|
study = api.loadStudyFile(path, replication);
|
|
441
505
|
}
|
|
442
506
|
catch (e) {
|
|
443
|
-
mapProbeError(e, e instanceof SyntaxError ? undefined : path);
|
|
507
|
+
mapProbeError(api, e, e instanceof SyntaxError ? undefined : path);
|
|
444
508
|
}
|
|
445
509
|
let result;
|
|
446
510
|
try {
|
|
447
511
|
result = await api.runProbeStudy(study, { budget, alpha });
|
|
448
512
|
}
|
|
449
513
|
catch (e) {
|
|
450
|
-
mapProbeError(e, path);
|
|
514
|
+
mapProbeError(api, e, path);
|
|
451
515
|
}
|
|
452
516
|
if (args.flags.has('json')) {
|
|
453
517
|
emitJson({ command: 'probe', source, epistemics: EPISTEMICS, options: { subverb: 'study' }, result }, ctx.write);
|
|
@@ -478,6 +542,9 @@ function notFalsified(result) {
|
|
|
478
542
|
export const command = {
|
|
479
543
|
name: 'probe',
|
|
480
544
|
aliases: [],
|
|
545
|
+
// The subverb, and `show`'s gap id. The arity is the subverb's, so `run` refuses the first
|
|
546
|
+
// token past what the subverb reads, naming it under `upt probe <subverb>:`.
|
|
547
|
+
positionals: { max: Infinity },
|
|
481
548
|
flags: FLAGS,
|
|
482
549
|
help: commandHelp(HELP, FLAGS),
|
|
483
550
|
summary: 'Search expressions and residuals. This is not `upt discover`.',
|
|
@@ -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 { refuseExtraPositionals, type FlagSpec } from '../args.js';\nimport { registerCommand, type Command, type CommandCtx } from '../command.js';\nimport { realFlag } from '../numeric-flag.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:\n \"First hypothesis for design: an expression-tree JSON file. A symbol node's dim carries all seven exponents, L, M, T, I, Theta, N and J (a dimensionless symbol writes each as 0); a partial record is refused.\" },\n { name: '--h2', valueStyle: 'attached', description: 'Second hypothesis for design, an expression-tree JSON file in the form --h1 takes.' },\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 When the governing variables leave dimensionless\n groups, the native enumerator also fits a rational\n power law of the π-groups, base · Π πₖ^(p/q) with\n q ≤ 6 within 2σ, on the exploratory rows only (the\n holdout rows are never fitted); an exponent that is\n no such fraction is reported, not a candidate\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\n// Each numeric flag: the grammar first (a malformed token is usage, exit 2), the range after\n// (a well-formed value outside it is a bad value, exit 1).\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 = realFlag('probe', '--budget-ms', raw);\n if (!(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 = realFlag('probe', '--holdout-tol', raw);\n if (!(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/**\n * Map probe file/parse failures to CLI errors (no stack traces). `kind` names what the file was\n * read as (`a problem file` for `run --problem`, `an expression file` for a `design` hypothesis,\n * `a bounds file` for its bounds), so a refusal of the loader's own checks says the right thing.\n */\nfunction mapProbeError(api: CommandCtx['api'], e: unknown, context?: string, kind = 'a problem file'): 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 // The JSON readers prefix the file's path; a context that names it already drops the repeat.\n const message = context !== undefined && e.message.startsWith(`${context}: `) ? e.message.slice(context.length + 2) : e.message;\n throw new CliError(\n `upt probe: invalid JSON${context ? ` in ${context}` : ''}: ${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 ${kind}: ${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 (sub === undefined) {\n throw new UsageError(\n `upt probe needs a subverb (${SUBVERBS.join('|')}). See \\`upt help probe\\`.`,\n );\n }\n // A token that is not a subverb is named as such, not reported as a missing one.\n if (!isSubverb(sub)) {\n throw new UsageError(\n `upt probe: '${sub}' is not a subverb (${SUBVERBS.join('|')}). See \\`upt help probe\\`.`,\n );\n }\n // `show` reads its gap id; every other subverb reads the subverb alone (§Hardening).\n refuseExtraPositionals(`probe ${sub}`, args.positionals.slice(sub === 'show' ? 2 : 1), 0);\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 // Each file is parsed under its own name, so an invalid JSON message names the file.\n const parseExpr = (path: string) => {\n try {\n return api.parseExprJson(path);\n } catch (e) {\n mapProbeError(api, e, path, 'an expression file');\n }\n };\n const h1 = parseExpr(h1p);\n const h2 = parseExpr(h2p);\n let bounds;\n try {\n bounds = api.parseDesignBounds(readJsonFile(api, bp), bp);\n } catch (e) {\n mapProbeError(api, e, bp, 'a bounds file');\n }\n let suggestion;\n try {\n suggestion = api.suggestDiscriminatingPoint(h1, h2, bounds);\n } catch (e) {\n mapProbeError(api, e, `${h1p}, ${h2p}, ${bp}`);\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 = realFlag('probe', '--alpha', raw);\n if (!(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 // The subverb, and `show`'s gap id. The arity is the subverb's, so `run` refuses the first\n // token past what the subverb reads, naming it under `upt probe <subverb>:`.\n positionals: { max: Infinity },\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,OAUrB,CAAC"}
|