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
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { registerCommand } from '../command.js';
|
|
2
2
|
import { commandHelp, JSON_FLAG } from '../flag-help.js';
|
|
3
3
|
import { CliError, EXIT_CHECK_FAILED, UsageError } from '../errors.js';
|
|
4
|
-
import { assertSynonymAgreement, resolveQuantityName, SynonymDisagreementError, } from '../../dimensional/formula-names.js';
|
|
5
4
|
import { emitJson } from '../output.js';
|
|
5
|
+
import { splitAssignments } from '../bindings.js';
|
|
6
6
|
const FLAGS = [
|
|
7
7
|
{
|
|
8
8
|
name: '--at',
|
|
@@ -24,7 +24,7 @@ const FLAGS = [
|
|
|
24
24
|
},
|
|
25
25
|
JSON_FLAG,
|
|
26
26
|
];
|
|
27
|
-
const HELP = `upt regime <family> [--at group=value ...] [--json]
|
|
27
|
+
const HELP = `upt regime <family> [--at group=value ...] [--assume premise ...] [--deny premise ...] [--json]
|
|
28
28
|
Where in parameter space a family's models are claimed to apply.
|
|
29
29
|
--at states a point in REGIME COORDINATES (π-group formulas, or a
|
|
30
30
|
dimensionless input's own name, e.g. --at theta0=0.2). Every model AND
|
|
@@ -57,20 +57,14 @@ const HELP = `upt regime <family> [--at group=value ...] [--json]
|
|
|
57
57
|
* positionals, so `--at theta0=0.2 T0=1 t=10` works as written: the parser
|
|
58
58
|
* gives `--at` one value and leaves the rest as positionals.
|
|
59
59
|
*
|
|
60
|
-
* @throws
|
|
61
|
-
* coordinate would silently turn a CHECKED
|
|
62
|
-
* which is exactly the reading this
|
|
60
|
+
* @throws UsageError on a token with no `=`, CliError on a non-finite value or
|
|
61
|
+
* a group given twice. A dropped coordinate would silently turn a CHECKED
|
|
62
|
+
* inequality into an unchecked one, which is exactly the reading this
|
|
63
|
+
* command exists to keep honest.
|
|
63
64
|
* @internal
|
|
64
65
|
*/
|
|
65
66
|
export function parseAt(api, raw, command, notes) {
|
|
66
|
-
const assignments =
|
|
67
|
-
for (const token of raw) {
|
|
68
|
-
const eq = token.indexOf('=');
|
|
69
|
-
if (eq <= 0) {
|
|
70
|
-
throw new CliError(`upt ${command}: '${token}' is not a group=value assignment`);
|
|
71
|
-
}
|
|
72
|
-
assignments.push({ name: token.slice(0, eq), raw: token.slice(eq + 1), token });
|
|
73
|
-
}
|
|
67
|
+
const assignments = splitAssignments(command, raw, 'group=value');
|
|
74
68
|
const siblings = assignments.map((a) => ({ name: a.name, raw: a.raw }));
|
|
75
69
|
const point = {};
|
|
76
70
|
for (const a of assignments) {
|
|
@@ -96,10 +90,10 @@ export function parseAt(api, raw, command, notes) {
|
|
|
96
90
|
}
|
|
97
91
|
}
|
|
98
92
|
try {
|
|
99
|
-
assertSynonymAgreement(point);
|
|
93
|
+
api.assertSynonymAgreement(point);
|
|
100
94
|
}
|
|
101
95
|
catch (e) {
|
|
102
|
-
if (e instanceof SynonymDisagreementError)
|
|
96
|
+
if (e instanceof api.SynonymDisagreementError)
|
|
103
97
|
throw new CliError(`upt ${command}: ${e.message}`);
|
|
104
98
|
throw e;
|
|
105
99
|
}
|
|
@@ -116,7 +110,7 @@ const normalizeGroup = (name) => name.replace(/\s+/g, '').replace(/\*/g, '·');
|
|
|
116
110
|
* lists the keys that are neither a group nor a parameter of any regime here.
|
|
117
111
|
* @internal
|
|
118
112
|
*/
|
|
119
|
-
export function resolveAtPoint(point, regimes) {
|
|
113
|
+
export function resolveAtPoint(api, point, regimes) {
|
|
120
114
|
const groups = new Map();
|
|
121
115
|
for (const r of regimes) {
|
|
122
116
|
for (const [key, g] of Object.entries(r.groupDefinitions))
|
|
@@ -134,7 +128,7 @@ export function resolveAtPoint(point, regimes) {
|
|
|
134
128
|
const values = {};
|
|
135
129
|
const unknown = [];
|
|
136
130
|
for (const [key, value] of Object.entries(point)) {
|
|
137
|
-
const resolved = resolveQuantityName(key, named) ?? key;
|
|
131
|
+
const resolved = api.resolveQuantityName(key, named) ?? key;
|
|
138
132
|
const group = byNormal.get(normalizeGroup(resolved)) ?? byNormal.get(normalizeGroup(key));
|
|
139
133
|
const stored = group ?? resolved;
|
|
140
134
|
values[stored] = value;
|
|
@@ -217,7 +211,7 @@ async function run(ctx) {
|
|
|
217
211
|
// anything — the tri-state's `true` is vacuous when there is nothing to
|
|
218
212
|
// check, so that case is labelled rather than left to read as a pass.
|
|
219
213
|
const records = registration.records;
|
|
220
|
-
const { values: resolved, unknown } = resolveAtPoint(point, records.map((r) => r.regime));
|
|
214
|
+
const { values: resolved, unknown } = resolveAtPoint(api, point, records.map((r) => r.regime));
|
|
221
215
|
const unmatched = [
|
|
222
216
|
...assume.map((d) => ({ flag: '--assume', d })),
|
|
223
217
|
...deny.map((d) => ({ flag: '--deny', d })),
|
|
@@ -289,11 +283,11 @@ async function run(ctx) {
|
|
|
289
283
|
const samples = {};
|
|
290
284
|
for (const [group, value] of Object.entries(resolved))
|
|
291
285
|
samples[group] = [value];
|
|
292
|
-
//
|
|
293
|
-
// unconstrained model regime
|
|
294
|
-
//
|
|
286
|
+
// `uncoveredRegions` counts a record as covering a point only when it checked an
|
|
287
|
+
// inequality there, so an unconstrained model regime covers nothing and every record
|
|
288
|
+
// can be passed. The constraining count is the report's, not a filter.
|
|
295
289
|
const constraining = records.filter((r) => r.regime.inequalities.length > 0);
|
|
296
|
-
const uncovered = stated.length === 0 ? null : api.uncoveredRegions(registration.name,
|
|
290
|
+
const uncovered = stated.length === 0 ? null : api.uncoveredRegions(registration.name, records, samples);
|
|
297
291
|
if (wantJson) {
|
|
298
292
|
emitJson({
|
|
299
293
|
command: 'regime',
|
|
@@ -315,9 +309,13 @@ async function run(ctx) {
|
|
|
315
309
|
return verdicts.some((v) => v.ok === false) ? EXIT_CHECK_FAILED : 0;
|
|
316
310
|
}
|
|
317
311
|
out(`\nRegimes of family '${registration.name}'`);
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
312
|
+
// A family whose records state no inequality has nothing to check at any point: VACUOUS, not UNCHECKED.
|
|
313
|
+
const allVacuous = verdicts.every((v) => v.vacuous);
|
|
314
|
+
out(allVacuous
|
|
315
|
+
? '(this family states no inequality: every record is VACUOUS, and no --at point could check it)'
|
|
316
|
+
: stated.length === 0
|
|
317
|
+
? '(no --at point supplied: every inequality is UNCHECKED, which is not a pass)'
|
|
318
|
+
: `at ${stated.map((g) => `${g}=${point[g]}`).join(' · ')}`);
|
|
321
319
|
if (unknown.length > 0) {
|
|
322
320
|
out(`unknown coordinate(s): ${unknown.join(', ')} — no record in family '${registration.name}' uses ` +
|
|
323
321
|
`${unknown.length === 1 ? 'it' : 'them'}; ignored`);
|
|
@@ -388,10 +386,11 @@ async function run(ctx) {
|
|
|
388
386
|
export const command = {
|
|
389
387
|
name: 'regime',
|
|
390
388
|
aliases: [],
|
|
389
|
+
positionals: { max: Infinity },
|
|
391
390
|
flags: FLAGS,
|
|
392
391
|
help: commandHelp(HELP, FLAGS),
|
|
393
392
|
summary: 'Report where a family\'s models are valid, violated, or unknown.',
|
|
394
|
-
example: 'upt regime
|
|
393
|
+
example: 'upt regime oscillators --at theta0=0.2',
|
|
395
394
|
group: 'explore',
|
|
396
395
|
run,
|
|
397
396
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regime.js","sourceRoot":"","sources":["../../../src/cli/commands/regime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"regime.js","sourceRoot":"","sources":["../../../src/cli/commands/regime.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * `upt regime` — where in parameter space a family's models are claimed to\n * apply, and where nothing is claimed at all.\n *\n * The whole point of this command is the TRI-STATE of `regimeHolds`. A model\n * whose regime could not be checked at the given point is reported as\n * UNKNOWN, never as valid and never as violated: `'unknown'` is a failure to\n * confirm validity, and folding it either way is the silent pass\n * `atlas/regime.ts` exists to prevent. The text and JSON forms therefore both\n * carry three buckets, not two.\n *\n * `--at` states the point. Values are π-group values keyed by\n * `PiGroup.formula` (or a dimensionless input's own name), so `--at\n * theta0=0.2` is a coordinate, not a parameter of the physics.\n *\n * The uncovered-region report is taken over the box the CALLER stated and no\n * other: `uncoveredRegions` refuses to synthesize an extent, so with no `--at`\n * there is no box and the command says so rather than inventing one.\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 { CliError, EXIT_CHECK_FAILED, UsageError } from '../errors.js';\nimport { emitJson } from '../output.js';\nimport { splitAssignments } from '../bindings.js';\n\nconst FLAGS: FlagSpec[] = [\n {\n name: '--at',\n valueStyle: 'either',\n repeatable: true,\n description: 'State one regime coordinate as group=value. A value may be an expression such as pi/2.',\n },\n {\n name: '--assume',\n valueStyle: 'either',\n repeatable: true,\n description: 'Record a prose premise as your declaration. It is not evidence and it is not evaluated.',\n },\n {\n name: '--deny',\n valueStyle: 'either',\n repeatable: true,\n description: 'Mark one prose premise contradicted. The others stay unspecified.',\n },\n JSON_FLAG,\n];\n\nconst HELP = `upt regime <family> [--at group=value ...] [--assume premise ...] [--deny premise ...] [--json]\n Where in parameter space a family's models are claimed to apply.\n --at states a point in REGIME COORDINATES (π-group formulas, or a\n dimensionless input's own name, e.g. --at theta0=0.2). Every model AND\n bridge is reported as valid, violated (naming the failed inequality),\n or UNKNOWN — a coordinate the point never supplied is NOT a pass, and a\n regime that states no inequality reads 'no machine condition evaluated\n (VACUOUS …)' rather than passed (\\`upt help statuses\\` defines each word).\n Each inequality is listed as satisfied, violated or unchecked. A\n bridge's prose side conditions (lossless, no-slip, ...) are never\n evaluated: they are listed as premises not machine-checked unless you\n --assume one (recorded as your declaration, not as evidence) or --deny\n one (the record then does not apply as stated). Both match a side\n condition by case-insensitive substring and never change the\n inequality verdict.\n A group can be given by its formula (spaces ignored, * read as ·, so\n --at \"tau*D*q^2=1\" works) or through its parameters: --at tau=1 D=1\n q=1 derives tau · D · q^2 = 1. A key that no record uses is named, and\n ignored.\n Also prints the pairwise overlap of the regimes and, over the box --at\n states, the points no CONSTRAINING regime covers.\n Exit 3 when any record is VIOLATED. VACUOUS, UNKNOWN and a survey with\n no violated record exit 0.\n A value is a number, a unit, or a constant expression (theta0=pi/2,\n t=1s). A bare number is already in the coordinate's unit.\n T, temperature, temp, and T_K are kelvin: an energy on that name is k_B T.\n e.g. upt regime <name> --at theta0=0.2\n upt regime <name> --deny lossless`;\n\n/**\n * Collect `group=value` assignments from `--at` values and from bare\n * positionals, so `--at theta0=0.2 T0=1 t=10` works as written: the parser\n * gives `--at` one value and leaves the rest as positionals.\n *\n * @throws UsageError on a token with no `=`, CliError on a non-finite value or\n * a group given twice. A dropped coordinate would silently turn a CHECKED\n * inequality into an unchecked one, which is exactly the reading this\n * command exists to keep honest.\n * @internal\n */\nexport function parseAt(\n api: CommandCtx['api'],\n raw: readonly string[],\n command: string,\n notes?: string[],\n): Record<string, number> {\n const assignments = splitAssignments(command, raw, 'group=value');\n const siblings = assignments.map((a) => ({ name: a.name, raw: a.raw }));\n const point: Record<string, number> = {};\n for (const a of assignments) {\n try {\n const read = api.readNamedBinding(a.name, a.raw, { siblings });\n if (a.raw === '' || !Number.isFinite(read.value)) {\n throw new CliError(`upt ${command}: '${a.token}' is not a finite number`);\n }\n point[a.name] = read.value;\n if (notes !== undefined) {\n for (const note of read.notes) if (!notes.includes(note)) notes.push(note);\n }\n } catch (e) {\n if (e instanceof CliError) throw e;\n if (e instanceof api.TemperatureBindingError) {\n throw new CliError(`upt ${command}: '${a.token}' is not a temperature. ${e.message}`);\n }\n throw new CliError(`upt ${command}: '${a.token}' is not a finite number. ${(e as Error).message}`);\n }\n }\n try {\n api.assertSynonymAgreement(point);\n } catch (e) {\n if (e instanceof api.SynonymDisagreementError) throw new CliError(`upt ${command}: ${e.message}`);\n throw e;\n }\n return point;\n}\n\n/** A group name with spaces removed and `*` read as `·`, for comparison only. */\nconst normalizeGroup = (name: string): string => name.replace(/\\s+/g, '').replace(/\\*/g, '·');\n\n/**\n * Resolve an `--at` point against the regimes it will be checked against\n * (persona finding F1). A key naming a group matches it with spaces ignored and\n * `*` read as `·`, so `tau*D*q^2` reaches the group `tau · D · q^2`. A group\n * whose parameters are all given, and which the point does not state itself, is\n * derived from them: the product of each parameter to its exponent. `unknown`\n * lists the keys that are neither a group nor a parameter of any regime here.\n * @internal\n */\nexport function resolveAtPoint(\n api: CommandCtx['api'],\n point: Readonly<Record<string, number>>,\n regimes: readonly { groupDefinitions: Readonly<Record<string, { exponents: Readonly<Record<string, number>> }>>; inequalities: readonly { group: string }[] }[],\n): { values: Record<string, number>; unknown: string[] } {\n const groups = new Map<string, Readonly<Record<string, number>>>();\n for (const r of regimes) {\n for (const [key, g] of Object.entries(r.groupDefinitions)) groups.set(key, g.exponents);\n for (const i of r.inequalities) if (!groups.has(i.group)) groups.set(i.group, { [i.group]: 1 });\n }\n const byNormal = new Map([...groups.keys()].map((k) => [normalizeGroup(k), k]));\n const named = new Set<string>([...groups.keys(), ...[...groups.values()].flatMap((e) => Object.keys(e))]);\n // A zero exponent does not enter the product: two records can key the same\n // group with and without an extra `c: 0`, and that must not block derivation.\n const used = (e: Readonly<Record<string, number>>) => Object.keys(e).filter((n) => e[n] !== 0);\n const parameters = new Set([...groups.values()].flatMap(used));\n const values: Record<string, number> = {};\n const unknown: string[] = [];\n for (const [key, value] of Object.entries(point)) {\n const resolved = api.resolveQuantityName(key, named) ?? key;\n const group = byNormal.get(normalizeGroup(resolved)) ?? byNormal.get(normalizeGroup(key));\n const stored = group ?? resolved;\n values[stored] = value;\n if (group === undefined && !parameters.has(stored) && !parameters.has(key)) unknown.push(key);\n }\n for (const [key, exponents] of groups) {\n if (key in values) continue;\n const names = used(exponents);\n if (names.length > 0 && names.every((n) => typeof values[n] === 'number')) {\n values[key] = names.reduce((acc, n) => acc * Math.pow(values[n]!, exponents[n]!), 1);\n }\n }\n return { values, unknown };\n}\n\n/** Display form of one inequality — the alias when the record states one. */\nexport function showInequality(ineq: { group: string; op: string; bound: number; alias?: string }): string {\n const literal = `${ineq.group} ${ineq.op} ${ineq.bound}`;\n return ineq.alias === undefined ? literal : `${literal} (${ineq.alias})`;\n}\n\n/** The group names an inequality list mentions. */\nfunction groupsOf(inequalities: readonly { group: string }[]): Set<string> {\n return new Set(inequalities.map((i) => i.group));\n}\n\nasync function run(ctx: CommandCtx): Promise<number> {\n const { args, api, out, err } = ctx;\n const wantJson = args.flags.has('json');\n const [familyArg, ...rest] = args.positionals.filter((p) => !p.includes('='));\n const assignments = [...(args.flags.get('at') ?? []), ...args.positionals.filter((p) => p.includes('='))];\n\n if (familyArg === undefined) {\n throw new UsageError('upt regime: a name is required (e.g. `upt regime <name>`)');\n }\n if (rest.length > 0) {\n throw new UsageError(`upt regime: unexpected argument '${rest[0]}' (one family at a time)`);\n }\n // Atlas families project into the same registry a domain module adds to.\n // This command used to read the family array alone, so a name that was not\n // one of those families had nowhere to put an inequality.\n const registrations = [\n ...api.ATLAS_FAMILIES.map((family) => ({\n name: family.family,\n records: [\n ...family.models.map((m) => ({\n id: m.id,\n kind: 'model' as const,\n regime: m.regime,\n sideConditions: undefined as readonly string[] | undefined,\n })),\n ...family.bridges.map((b) => ({\n id: b.id,\n kind: 'bridge' as const,\n regime: b.regime,\n sideConditions: b.sideConditions,\n })),\n ],\n })),\n ...api.domainRegimeRegistrations(),\n ];\n const registration = registrations.find((entry) => entry.name === familyArg);\n if (registration === undefined) {\n throw new CliError(\n `upt regime: unknown family '${familyArg}' (known: ${registrations.map((entry) => entry.name).join(', ')})`,\n );\n }\n\n const atNotes: string[] = [];\n const point = parseAt(api, assignments, 'regime', atNotes);\n for (const note of atNotes) err(note);\n const stated = Object.keys(point);\n const assume = args.flags.get('assume') ?? [];\n const deny = args.flags.get('deny') ?? [];\n for (const a of assume) {\n if (deny.some((d) => d.toLowerCase() === a.toLowerCase())) {\n throw new CliError(`upt regime: '${a}' is both assumed and denied`);\n }\n }\n const matches = (declaration: string, premise: string) =>\n declaration !== '' && premise.toLowerCase().includes(declaration.toLowerCase());\n\n // Models AND bridges, because in this family every MODEL regime states zero\n // inequalities and only the BRIDGES carry real ones. A models-only report\n // would print nine confident 'valid's that were never checked against\n // anything — the tri-state's `true` is vacuous when there is nothing to\n // check, so that case is labelled rather than left to read as a pass.\n const records = registration.records;\n\n const { values: resolved, unknown } = resolveAtPoint(api, point, records.map((r) => r.regime));\n const unmatched = [\n ...assume.map((d) => ({ flag: '--assume', d })),\n ...deny.map((d) => ({ flag: '--deny', d })),\n ].filter(({ d }) => !records.some((r) => (r.sideConditions ?? []).some((p) => matches(d, p))));\n\n const verdicts = records.map((r) => {\n const check = api.regimeHolds(r.regime, resolved);\n const violated = check.violated.map(showInequality);\n const unchecked = check.unchecked.map(showInequality);\n const satisfied = r.regime.inequalities\n .map(showInequality)\n .filter((s) => !violated.includes(s) && !unchecked.includes(s));\n const prose = r.sideConditions ?? [];\n const deniedByUser = prose.filter((p) => deny.some((d) => matches(d, p)));\n const declaredByUser = prose.filter((p) => !deniedByUser.includes(p) && assume.some((a) => matches(a, p)));\n const unspecified = prose.filter((p) => !deniedByUser.includes(p) && !declaredByUser.includes(p));\n return {\n id: r.id,\n kind: r.kind,\n ok: check.ok,\n vacuous: r.regime.inequalities.length === 0,\n verdict:\n r.regime.inequalities.length === 0\n ? ('vacuous' as const)\n : check.ok === true\n ? ('valid' as const)\n : check.ok === false\n ? ('violated' as const)\n : ('unknown' as const),\n violated,\n unchecked,\n // The two bases never mix: `machine` is what this command evaluated at\n // the point; the rest is prose, and a user's word about it is recorded\n // as a declaration, never promoted to a check.\n premises: {\n machine: { satisfied, violated, unchecked },\n declaredByUser,\n deniedByUser,\n unspecified,\n },\n // Prose side conditions are premises this command cannot evaluate; only\n // the inequalities above were checked. A premise with a machine form is\n // checked only through its inequality.\n ...(r.sideConditions !== undefined && r.sideConditions.length > 0\n ? { premisesNotChecked: [...r.sideConditions] }\n : {}),\n };\n });\n\n // Pairwise overlap, restricted to pairs that actually SHARE a coordinate.\n // `regimeOverlap` classifies on shared names only, so a pair with none is\n // vacuously 'nested' — a true answer that says nothing, and printing it\n // would bury the pairs that do constrain each other.\n const overlaps: { a: string; b: string; overlap: string; sharedGroups: string[] }[] = [];\n for (let i = 0; i < records.length; i++) {\n for (let j = i + 1; j < records.length; j++) {\n const a = records[i]!;\n const b = records[j]!;\n const gb = groupsOf(b.regime.inequalities);\n const shared = [...groupsOf(a.regime.inequalities)].filter((g) => gb.has(g));\n if (shared.length === 0) continue;\n overlaps.push({\n a: a.id,\n b: b.id,\n overlap: api.regimeOverlap(a.regime, b.regime),\n sharedGroups: shared,\n });\n }\n }\n\n // The box is what --at states, and nothing else.\n const samples: Record<string, number[]> = {};\n for (const [group, value] of Object.entries(resolved)) samples[group] = [value];\n // `uncoveredRegions` counts a record as covering a point only when it checked an\n // inequality there, so an unconstrained model regime covers nothing and every record\n // can be passed. The constraining count is the report's, not a filter.\n const constraining = records.filter((r) => r.regime.inequalities.length > 0);\n const uncovered =\n stated.length === 0 ? null : api.uncoveredRegions(registration.name, records, samples);\n\n if (wantJson) {\n emitJson(\n {\n command: 'regime',\n epistemics:\n \"an 'unknown' verdict is a failure to confirm validity, NEVER validity: a coordinate the \" +\n 'point did not supply was not checked, and an unchecked inequality is not a satisfied one. ' +\n 'Uncovered regions are reported only over the box --at states; none is synthesized.',\n options: { family: registration.name, at: point, assume, deny },\n result: {\n resolvedPoint: resolved,\n unknownCoordinates: unknown,\n unmatchedDeclarations: unmatched.map(({ flag, d }) => ({ flag, declaration: d })),\n records: verdicts,\n overlaps,\n uncovered:\n uncovered === null\n ? null\n : { boxStated: true, points: uncovered.map((r) => ({ point: r.point })) },\n },\n },\n ctx.write,\n );\n return verdicts.some((v) => v.ok === false) ? EXIT_CHECK_FAILED : 0;\n }\n\n out(`\\nRegimes of family '${registration.name}'`);\n // A family whose records state no inequality has nothing to check at any point: VACUOUS, not UNCHECKED.\n const allVacuous = verdicts.every((v) => v.vacuous);\n out(\n allVacuous\n ? '(this family states no inequality: every record is VACUOUS, and no --at point could check it)'\n : stated.length === 0\n ? '(no --at point supplied: every inequality is UNCHECKED, which is not a pass)'\n : `at ${stated.map((g) => `${g}=${point[g]}`).join(' · ')}`,\n );\n if (unknown.length > 0) {\n out(\n `unknown coordinate(s): ${unknown.join(', ')} — no record in family '${registration.name}' uses ` +\n `${unknown.length === 1 ? 'it' : 'them'}; ignored`,\n );\n }\n for (const { flag, d } of unmatched) {\n out(`${flag} '${d}' matches no side condition in family '${registration.name}'; ignored`);\n }\n out('');\n for (const m of verdicts) {\n // A record that states no inequality was not checked, so its line does not begin with a verdict\n // that reads as a pass (audit I13); the tri-state's `true` is vacuous there.\n const verdict = m.vacuous\n ? 'no machine condition evaluated (VACUOUS — states no inequality; nothing was checked)'\n : m.ok === true\n ? 'valid'\n : m.ok === false\n ? 'VIOLATED'\n : 'unknown';\n out(` [${m.kind}] ${m.id}: ${verdict}`);\n for (const v of m.violated) out(` violated: ${v}`);\n for (const u of m.unchecked) out(` unchecked (no value supplied): ${u}`);\n for (const s of m.premises.machine.satisfied) out(` satisfied: ${s}`);\n if (!m.vacuous && m.violated.length === 0 && m.unchecked.length === 0) {\n out(' every inequality checked and satisfied');\n }\n const p = m.premises;\n if (p.declaredByUser.length > 0) {\n out(` declared by you (a declaration, not evidence): ${p.declaredByUser.join('; ')}`);\n }\n if (p.deniedByUser.length > 0) {\n out(` CONTRADICTED by your --deny: ${p.deniedByUser.join('; ')} — this record does not apply as stated`);\n }\n if (p.unspecified.length > 0) {\n out(` premises not machine-checked: ${p.unspecified.join('; ')}`);\n }\n }\n\n out('');\n out('Pairwise overlap (on shared coordinates only):');\n if (overlaps.length === 0) {\n out(' no two regimes share a coordinate, so none constrains another');\n } else {\n for (const o of overlaps) {\n out(` ${o.a} vs ${o.b}: ${o.overlap} — shared: ${o.sharedGroups.join(', ')}`);\n }\n }\n\n out('');\n if (uncovered === null) {\n out('Uncovered regions: no box stated. Pass --at to say where you want to know about;');\n out(' a synthesized box would measure this tool’s guess, not the atlas.');\n } else if (uncovered.length === 0) {\n out('Uncovered regions: none — some constraining regime holds at every point of the stated box.');\n } else {\n out(\n `Uncovered regions: ${uncovered.length} point(s) of the stated box that no CONSTRAINING ` +\n `regime covers (${constraining.length} of ${records.length} records state an inequality):`,\n );\n for (const r of uncovered) {\n out(` ${Object.entries(r.point).map(([g, v]) => `${g}=${v}`).join(' · ')}`);\n }\n out(\" (an 'unknown' is not coverage — see the tri-state rule above)\");\n }\n return verdicts.some((v) => v.ok === false) ? EXIT_CHECK_FAILED : 0;\n}\n\nexport const command: Command = {\n name: 'regime',\n aliases: [],\n positionals: { max: Infinity },\n flags: FLAGS,\n help: commandHelp(HELP, FLAGS),\n summary: 'Report where a family\\'s models are valid, violated, or unknown.',\n example: 'upt regime oscillators --at theta0=0.2',\n group: 'explore',\n run,\n};\nregisterCommand(command);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retrieve.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/retrieve.ts"],"names":[],"mappings":"AASA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"retrieve.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/retrieve.ts"],"names":[],"mappings":"AASA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAsF/E,eAAO,MAAM,OAAO,EAAE,OAUrB,CAAC"}
|
|
@@ -2,7 +2,8 @@ import { registerCommand } from '../command.js';
|
|
|
2
2
|
import { commandHelp, JSON_FLAG } from '../flag-help.js';
|
|
3
3
|
import { UsageError } from '../errors.js';
|
|
4
4
|
import { emitJson } from '../output.js';
|
|
5
|
-
|
|
5
|
+
/** Where `--embed` looks for Ollama when `--ollama-url` is not given. */
|
|
6
|
+
const OLLAMA_DEFAULT_URL = 'http://127.0.0.1:11434';
|
|
6
7
|
const FLAGS = [
|
|
7
8
|
JSON_FLAG,
|
|
8
9
|
{
|
|
@@ -14,58 +15,65 @@ const FLAGS = [
|
|
|
14
15
|
name: '--ollama-url',
|
|
15
16
|
valueStyle: 'attached',
|
|
16
17
|
description: 'Ollama base URL. Used only with --embed.',
|
|
17
|
-
defaultValue:
|
|
18
|
+
defaultValue: OLLAMA_DEFAULT_URL,
|
|
18
19
|
},
|
|
19
20
|
];
|
|
20
21
|
const HELP = `upt retrieve <claim> [--embed] [--ollama-url=URL]
|
|
21
22
|
Propose canonical relations for a claim. The default is the atlas
|
|
22
|
-
search (
|
|
23
|
+
search (typed structural ranking) and does not call out of process. The output
|
|
23
24
|
says so. --embed asks a local Ollama model, qwen3-embedding:4b, for
|
|
24
25
|
an order. That order is a proposal, not evidence. Acceptance stays
|
|
25
26
|
the atlas search, and cosine similarity does not enter its score.
|
|
26
27
|
If Ollama cannot be used, the same atlas search is printed and the
|
|
27
28
|
reason is named: the process is not there, the model is not there,
|
|
28
|
-
the
|
|
29
|
-
the frozen file, or the call does
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
the server answered an error status, the reply is not a vector or its
|
|
30
|
+
length is not the length stored in the frozen file, or the call does
|
|
31
|
+
not finish. A fallback exits 0.
|
|
32
|
+
--ollama-url is used only with --embed (default ${OLLAMA_DEFAULT_URL}).
|
|
33
|
+
A claim is text. It has no expression, so the atlas search accepts
|
|
34
|
+
nothing: it ranks by structure, and a text claim has none to rank.
|
|
35
|
+
The command does not invent one. --embed still proposes an order.
|
|
33
36
|
e.g. upt retrieve period of a pendulum
|
|
34
37
|
upt retrieve period of a pendulum --embed`;
|
|
35
|
-
const EPISTEMICS = 'An embedding order is a proposal, not evidence. Acceptance is
|
|
38
|
+
const EPISTEMICS = 'An embedding order is a proposal, not evidence. Acceptance is the atlas search. Cosine similarity does not enter that score.';
|
|
36
39
|
async function run(ctx) {
|
|
37
|
-
const { args, out } = ctx;
|
|
40
|
+
const { args, out, api } = ctx;
|
|
38
41
|
const claim = args.positionals.join(' ').trim();
|
|
39
42
|
if (claim.length === 0) {
|
|
40
43
|
throw new UsageError('upt retrieve: give a claim, e.g. `upt retrieve period of a pendulum`');
|
|
41
44
|
}
|
|
42
45
|
const embed = args.flags.has('embed');
|
|
43
|
-
const
|
|
44
|
-
const
|
|
46
|
+
const ollamaUrl = args.flags.get('ollama-url')?.[0] ?? OLLAMA_DEFAULT_URL;
|
|
47
|
+
const corpus = api.canonicalRetrievalCorpus();
|
|
48
|
+
const result = await api.retrieveHybrid({
|
|
45
49
|
query: { text: claim },
|
|
46
50
|
corpus,
|
|
47
51
|
embeddings: embed,
|
|
48
52
|
embedder: embed
|
|
49
|
-
? ollamaEmbedder({ baseUrl:
|
|
53
|
+
? api.ollamaEmbedder({ baseUrl: ollamaUrl })
|
|
50
54
|
: undefined,
|
|
51
55
|
});
|
|
52
56
|
if (args.flags.has('json')) {
|
|
53
57
|
emitJson({
|
|
54
58
|
command: 'retrieve',
|
|
55
59
|
epistemics: EPISTEMICS,
|
|
56
|
-
options: { embed, ollamaUrl: embed ?
|
|
60
|
+
options: { embed, ollamaUrl: embed ? ollamaUrl : null },
|
|
57
61
|
result,
|
|
58
62
|
}, ctx.write);
|
|
59
63
|
return 0;
|
|
60
64
|
}
|
|
61
65
|
out(`upt retrieve — ${result.embeddings === 'used' ? 'embedding proposal and atlas search' : 'atlas search'}`);
|
|
62
66
|
out(result.note);
|
|
67
|
+
if (result.fallback !== null)
|
|
68
|
+
out(` fallback reason: ${result.fallback} (Ollama at ${ollamaUrl})`);
|
|
63
69
|
if (result.proposals !== null) {
|
|
64
70
|
out(' proposed (cosine, not accepted):');
|
|
65
71
|
for (const id of result.proposals)
|
|
66
72
|
out(` ${id}`);
|
|
67
73
|
}
|
|
68
74
|
out(' accepted (atlas search):');
|
|
75
|
+
if (result.accepted.length === 0)
|
|
76
|
+
out(' none — the claim has no expression to rank by structure');
|
|
69
77
|
for (const id of result.accepted)
|
|
70
78
|
out(` ${id}`);
|
|
71
79
|
return 0;
|
|
@@ -73,6 +81,7 @@ async function run(ctx) {
|
|
|
73
81
|
export const command = {
|
|
74
82
|
name: 'retrieve',
|
|
75
83
|
aliases: [],
|
|
84
|
+
positionals: { max: Infinity },
|
|
76
85
|
flags: FLAGS,
|
|
77
86
|
help: commandHelp(HELP, FLAGS),
|
|
78
87
|
summary: 'Search the atlas for a claim. --embed asks a local Ollama model and does not accept that order.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retrieve.js","sourceRoot":"","sources":["../../../src/cli/commands/retrieve.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"retrieve.js","sourceRoot":"","sources":["../../../src/cli/commands/retrieve.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * `upt retrieve <claim>` — optional embedding proposals, atlas acceptance.\n *\n * The default does not call out of process. `--embed` asks a local Ollama\n * model. The embedding order is a proposal. `rankByStructure` is what is\n * accepted. If Ollama cannot be used, the atlas search is still the answer\n * and the output names the reason. That is exit 0.\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 { UsageError } from '../errors.js';\nimport { emitJson } from '../output.js';\n\n/** Where `--embed` looks for Ollama when `--ollama-url` is not given. */\nconst OLLAMA_DEFAULT_URL = 'http://127.0.0.1:11434';\n\nconst FLAGS: FlagSpec[] = [\n JSON_FLAG,\n {\n name: '--embed',\n valueStyle: 'none',\n description: 'Ask a local Ollama model for an order. Acceptance stays the atlas search. A failure of Ollama still prints that search and exits 0.',\n },\n {\n name: '--ollama-url',\n valueStyle: 'attached',\n description: 'Ollama base URL. Used only with --embed.',\n defaultValue: OLLAMA_DEFAULT_URL,\n },\n];\n\nconst HELP = `upt retrieve <claim> [--embed] [--ollama-url=URL]\n Propose canonical relations for a claim. The default is the atlas\n search (typed structural ranking) and does not call out of process. The output\n says so. --embed asks a local Ollama model, qwen3-embedding:4b, for\n an order. That order is a proposal, not evidence. Acceptance stays\n the atlas search, and cosine similarity does not enter its score.\n If Ollama cannot be used, the same atlas search is printed and the\n reason is named: the process is not there, the model is not there,\n the server answered an error status, the reply is not a vector or its\n length is not the length stored in the frozen file, or the call does\n not finish. A fallback exits 0.\n --ollama-url is used only with --embed (default ${OLLAMA_DEFAULT_URL}).\n A claim is text. It has no expression, so the atlas search accepts\n nothing: it ranks by structure, and a text claim has none to rank.\n The command does not invent one. --embed still proposes an order.\n e.g. upt retrieve period of a pendulum\n upt retrieve period of a pendulum --embed`;\n\nconst EPISTEMICS =\n 'An embedding order is a proposal, not evidence. Acceptance is the atlas search. Cosine similarity does not enter that score.';\n\nasync function run(ctx: CommandCtx): Promise<number> {\n const { args, out, api } = ctx;\n const claim = args.positionals.join(' ').trim();\n if (claim.length === 0) {\n throw new UsageError('upt retrieve: give a claim, e.g. `upt retrieve period of a pendulum`');\n }\n const embed = args.flags.has('embed');\n const ollamaUrl = args.flags.get('ollama-url')?.[0] ?? OLLAMA_DEFAULT_URL;\n const corpus = api.canonicalRetrievalCorpus();\n const result = await api.retrieveHybrid({\n query: { text: claim },\n corpus,\n embeddings: embed,\n embedder: embed\n ? api.ollamaEmbedder({ baseUrl: ollamaUrl })\n : undefined,\n });\n if (args.flags.has('json')) {\n emitJson(\n {\n command: 'retrieve',\n epistemics: EPISTEMICS,\n options: { embed, ollamaUrl: embed ? ollamaUrl : null },\n result,\n },\n ctx.write,\n );\n return 0;\n }\n out(`upt retrieve — ${result.embeddings === 'used' ? 'embedding proposal and atlas search' : 'atlas search'}`);\n out(result.note);\n if (result.fallback !== null) out(` fallback reason: ${result.fallback} (Ollama at ${ollamaUrl})`);\n if (result.proposals !== null) {\n out(' proposed (cosine, not accepted):');\n for (const id of result.proposals) out(` ${id}`);\n }\n out(' accepted (atlas search):');\n if (result.accepted.length === 0) out(' none — the claim has no expression to rank by structure');\n for (const id of result.accepted) out(` ${id}`);\n return 0;\n}\n\nexport const command: Command = {\n name: 'retrieve',\n aliases: [],\n positionals: { max: Infinity },\n flags: FLAGS,\n help: commandHelp(HELP, FLAGS),\n summary: 'Search the atlas for a claim. --embed asks a local Ollama model and does not accept that order.',\n example: 'upt retrieve period of a pendulum',\n group: 'data',\n run,\n};\nregisterCommand(command);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/search.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/search.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AA+F/E,eAAO,MAAM,OAAO,EAAE,OAUrB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { registerCommand } from '../command.js';
|
|
2
2
|
import { commandHelp, JSON_FLAG } from '../flag-help.js';
|
|
3
|
-
import {
|
|
3
|
+
import { UsageError } from '../errors.js';
|
|
4
4
|
import { emitJson } from '../output.js';
|
|
5
5
|
import { buildSearchIndex, fold, matchEveryWord, queryWords, SEARCH_SECTIONS, STOP_WORDS } from '../search-index.js';
|
|
6
6
|
const FLAGS = [JSON_FLAG];
|
|
@@ -21,7 +21,7 @@ const HELP = `upt search <word> ...
|
|
|
21
21
|
prefix, so landau is not reported as Landauer without saying so.
|
|
22
22
|
A catalog bridge with no evaluator and a formalRef routes to
|
|
23
23
|
upt atlas, and the hit quotes that reference's covers line.
|
|
24
|
-
No match
|
|
24
|
+
No match is a result: exit 0, naming the registries searched.
|
|
25
25
|
e.g. upt search Schrödinger
|
|
26
26
|
upt search thermal noise`;
|
|
27
27
|
const PER_SECTION = 10;
|
|
@@ -59,10 +59,14 @@ async function run(ctx) {
|
|
|
59
59
|
})),
|
|
60
60
|
},
|
|
61
61
|
}, ctx.write);
|
|
62
|
-
return
|
|
62
|
+
return 0;
|
|
63
63
|
}
|
|
64
|
+
// No match is the result the search computed, not an error: exit 0, and the
|
|
65
|
+
// scope is printed because an empty result is an absence from this registry.
|
|
64
66
|
if (matches.length === 0) {
|
|
65
|
-
|
|
67
|
+
out(`upt search ${query.join(' ')} — no entry matches every word of '${query.join(' ')}'`);
|
|
68
|
+
out(` ${scope}; an absence here is not an absence from physics`);
|
|
69
|
+
return 0;
|
|
66
70
|
}
|
|
67
71
|
out(`\nupt search ${query.join(' ')} — ${matches.length} match(es); every word matched`);
|
|
68
72
|
out(' matched by words, symbols and genuine aliases; an equal dimension is never a match (a radius is not a wavelength)');
|
|
@@ -85,6 +89,7 @@ async function run(ctx) {
|
|
|
85
89
|
export const command = {
|
|
86
90
|
name: 'search',
|
|
87
91
|
aliases: [],
|
|
92
|
+
positionals: { max: Infinity },
|
|
88
93
|
flags: FLAGS,
|
|
89
94
|
help: commandHelp(HELP, FLAGS),
|
|
90
95
|
summary: 'Find a bridge, equation, model, quantity, case, or regime by the words in its record.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/cli/commands/search.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErH,MAAM,KAAK,GAAe,CAAC,SAAS,CAAC,CAAC;AAEtC,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;uCAmB0B,CAAC;AAExC,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB,KAAK,UAAU,GAAG,CAAC,GAAe;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAC/B,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,qEAAqE,CAAC,CAAC;IAClH,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,qEAAqE,CAAC,CAAC;IACpH,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7F,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC3G,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAExD,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtH,MAAM,KAAK,GAAG,YAAY,MAAM,sBAAsB,CAAC;IAEvD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,QAAQ,CACN;YACE,OAAO,EAAE,QAAQ;YACjB,UAAU,EACR,gGAAgG;gBAChG,oGAAoG;YACtG,OAAO,EAAE,EAAE,KAAK,EAAE;YAClB,MAAM,EAAE;gBACN,KAAK;gBACL,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC3B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI;oBAClB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE;oBACd,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI;oBACrB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;oBACpD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO;oBACxB,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;iBAC9D,CAAC,CAAC;aACJ;SACF,EACD,GAAG,CAAC,KAAK,CACV,CAAC;QACF,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,QAAQ,CAAC,+CAA+C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,gCAAgC,CAAC,CAAC;IACzF,GAAG,CAAC,qHAAqH,CAAC,CAAC;IAC3H,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,eAAe,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAClC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/F,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,gBAAgB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,CAAC,CAAC;YAC1J,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QACpH,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,WAAW;YAAE,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,GAAG,WAAW,kCAAkC,CAAC,CAAC;IACjH,CAAC;IACD,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAY;IAC9B,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC;IAC9B,OAAO,EAAE,uFAAuF;IAChG,OAAO,EAAE,0BAA0B;IACnC,KAAK,EAAE,SAAS;IAChB,GAAG;CACJ,CAAC;AACF,eAAe,CAAC,OAAO,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/cli/commands/search.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * `upt search <word> ...` — find a law, model, bridge or quantity by the words\n * a physicist would use, and name the command that inspects it.\n *\n * Audit §14 I5. `explain schrodinger-equation` failed because the name was a\n * model, not a quantity, and its suggestions were edit-distance neighbours.\n * This command searches every registry the CLI exposes by WORD: names, ids,\n * symbols, genuine aliases (`resolveQuantityName`) and catalog-bridge\n * descriptions. An equal dimension is never a match: a radius is not a\n * wavelength, and angular frequency is not frequency, even where the two share\n * a dimension.\n *\n * A word of one or two letters is a symbol, not an English word: it matches a\n * quantity symbol, an alias or a whole id segment exactly, and never a stray\n * letter inside a description.\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 { CliError, UsageError } from '../errors.js';\nimport { emitJson } from '../output.js';\nimport { buildSearchIndex, fold, matchEveryWord, queryWords, SEARCH_SECTIONS, STOP_WORDS } from '../search-index.js';\n\nconst FLAGS: FlagSpec[] = [JSON_FLAG];\n\nconst HELP = `upt search <word> ...\n Find a catalog bridge, canonical equation, atlas model, atlas bridge,\n quantity, applied case, or regime registration by the words in its name, id, symbol, alias\n or bridge description, and print the command that inspects each match. Every\n word must match. Two or more words that share a field must sit together\n there, in either order, and a word in that phrase is not a prefix of a\n longer word. A trailing parenthetical is a gloss. A gloss does not\n combine with the title, so a query split across them matches nothing,\n and a query that is the gloss says so. Words that never share a\n non-gloss field still match. A space inside one argument, and a hyphen, are word\n breaks, so a quoted phrase and a hyphenated name are several words.\n An equal dimension is never a match (a radius is not\n a wavelength). A word of one or two letters matches a symbol or alias\n exactly. A longer word that only continues the query is named as a\n prefix, so landau is not reported as Landauer without saying so.\n A catalog bridge with no evaluator and a formalRef routes to\n upt atlas, and the hit quotes that reference's covers line.\n No match is a result: exit 0, naming the registries searched.\n e.g. upt search Schrödinger\n upt search thermal noise`;\n\nconst PER_SECTION = 10;\n\nasync function run(ctx: CommandCtx): Promise<number> {\n const { args, api, out } = ctx;\n const raw = [...args.positionals];\n if (raw.length === 0) throw new UsageError('upt search: give at least one word, e.g. `upt search thermal noise`');\n const query = queryWords(raw);\n if (query.length === 0) throw new UsageError('upt search: give at least one word, e.g. `upt search thermal noise`');\n const index = buildSearchIndex(api);\n const significant = query.length > 1 ? query.filter((q) => !STOP_WORDS.has(fold(q))) : query;\n if (significant.length === 0) throw new UsageError(`upt search: '${query.join(' ')}' has only stop words`);\n const matches = matchEveryWord(api, index, significant);\n\n const counts = SEARCH_SECTIONS.map(([k, title]) => `${index.filter((e) => e.kind === k).length} ${title}`).join(', ');\n const scope = `searched ${counts}; this registry only`;\n\n if (args.flags.has('json')) {\n emitJson(\n {\n command: 'search',\n epistemics:\n 'Matched by the words of names, ids, symbols, genuine aliases and catalog-bridge descriptions. ' +\n 'An equal dimension is never a match. No match means none in these registries, not none in physics.',\n options: { query },\n result: {\n scope,\n matches: matches.map((m) => ({\n kind: m.entry.kind,\n id: m.entry.id,\n summary: m.entry.line,\n matchedIn: m.matchedIn,\n ...(m.alias === undefined ? {} : { alias: m.alias }),\n command: m.entry.command,\n ...(m.prefixes === undefined ? {} : { prefixes: m.prefixes }),\n })),\n },\n },\n ctx.write,\n );\n return 0;\n }\n\n // No match is the result the search computed, not an error: exit 0, and the\n // scope is printed because an empty result is an absence from this registry.\n if (matches.length === 0) {\n out(`upt search ${query.join(' ')} — no entry matches every word of '${query.join(' ')}'`);\n out(` ${scope}; an absence here is not an absence from physics`);\n return 0;\n }\n out(`\\nupt search ${query.join(' ')} — ${matches.length} match(es); every word matched`);\n out(' matched by words, symbols and genuine aliases; an equal dimension is never a match (a radius is not a wavelength)');\n for (const [kind, title] of SEARCH_SECTIONS) {\n const inKind = matches.filter((m) => m.entry.kind === kind);\n if (inKind.length === 0) continue;\n out(`\\n${title}:`);\n for (const m of inKind.slice(0, PER_SECTION)) {\n const prefix = (m.prefixes ?? []).map((p) => `${p.query} is a prefix of ${p.word}`).join('; ');\n out(` ${m.entry.line}${m.alias === undefined ? '' : ` (alias ${m.alias})`} [words in: ${m.matchedIn.join(', ')}${prefix === '' ? '' : `; ${prefix}`}]`);\n out(` ${m.entry.commandLabel}: ${m.entry.command}${m.entry.note === undefined ? '' : ` (${m.entry.note})`}`);\n }\n if (inKind.length > PER_SECTION) out(` … and ${inKind.length - PER_SECTION} more (--json lists every match)`);\n }\n out(`\\n${scope}.`);\n return 0;\n}\n\nexport const command: Command = {\n name: 'search',\n aliases: [],\n positionals: { max: Infinity },\n flags: FLAGS,\n help: commandHelp(HELP, FLAGS),\n summary: 'Find a bridge, equation, model, quantity, case, or regime by the words in its record.',\n example: 'upt search thermal noise',\n group: 'explore',\n run,\n};\nregisterCommand(command);\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { registerCommand } from '../command.js';
|
|
2
2
|
import { commandHelp, JSON_FLAG } from '../flag-help.js';
|
|
3
3
|
import { emitJson } from '../output.js';
|
|
4
|
-
import { EVAL_STUBS, printDisplay, printEval, printLatex, latexName
|
|
4
|
+
import { EVAL_STUBS, printDisplay, printEval, printLatex, latexName } from '../expr-print.js';
|
|
5
5
|
const FLAGS = [
|
|
6
6
|
{
|
|
7
7
|
name: '--simplify',
|
|
@@ -28,25 +28,21 @@ function exprToString(n) {
|
|
|
28
28
|
* and leaf bound, so copying it reproduces the printed value. `null` when the
|
|
29
29
|
* AST holds a node the scalar evaluator cannot take.
|
|
30
30
|
*/
|
|
31
|
-
function evalFormOf(n,
|
|
31
|
+
function evalFormOf(n, api, point) {
|
|
32
32
|
const formula = printEval(n);
|
|
33
33
|
if (formula === null)
|
|
34
34
|
return null;
|
|
35
35
|
const names = [];
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
else if (e.kind === 'op')
|
|
42
|
-
e.args.forEach(collect);
|
|
43
|
-
};
|
|
44
|
-
collect(n);
|
|
36
|
+
// The leaves under `op` arguments only: a node the scalar evaluator cannot take has no eval form.
|
|
37
|
+
api.forEachScalarLeaf(n, (leaf) => {
|
|
38
|
+
if (!names.includes(leaf.name))
|
|
39
|
+
names.push(leaf.name);
|
|
40
|
+
}, {});
|
|
45
41
|
const bindings = [];
|
|
46
42
|
for (const name of names) {
|
|
47
|
-
if (name in EVAL_STUBS ||
|
|
43
|
+
if (name in EVAL_STUBS || api.isDecimalLiteral(name))
|
|
48
44
|
continue;
|
|
49
|
-
const value =
|
|
45
|
+
const value = api.CONSTANTS[name]?.value ?? point[name];
|
|
50
46
|
if (value === undefined)
|
|
51
47
|
return null;
|
|
52
48
|
bindings.push(`${name}=${value}`);
|
|
@@ -62,15 +58,10 @@ const SOLAR_MASS_SOURCE = 'evaluation point: the solar mass 1.989e30 kg, the rou
|
|
|
62
58
|
*/
|
|
63
59
|
function symbolTable(n, api, inputs, point) {
|
|
64
60
|
const names = [];
|
|
65
|
-
|
|
66
|
-
if (
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
else if (e.kind === 'op')
|
|
71
|
-
e.args.forEach(collect);
|
|
72
|
-
};
|
|
73
|
-
collect(n);
|
|
61
|
+
api.forEachScalarLeaf(n, (leaf) => {
|
|
62
|
+
if (!names.includes(leaf.name) && !api.isDecimalLiteral(leaf.name))
|
|
63
|
+
names.push(leaf.name);
|
|
64
|
+
}, {});
|
|
74
65
|
const rows = [];
|
|
75
66
|
for (const name of names) {
|
|
76
67
|
const c = api.CONSTANTS[name];
|
|
@@ -87,7 +78,7 @@ function symbolTable(n, api, inputs, point) {
|
|
|
87
78
|
symbol: name,
|
|
88
79
|
meaning: `input quantity ${q.name} (symbol ${q.symbol}), ${api.format(q.dim)}`,
|
|
89
80
|
value: v,
|
|
90
|
-
unit: siUnitOf(q.dim),
|
|
81
|
+
unit: api.siUnitOf(q.dim),
|
|
91
82
|
source: name === 'mass' && v === api.M_SUN_KG ? SOLAR_MASS_SOURCE : 'evaluation point',
|
|
92
83
|
});
|
|
93
84
|
}
|
|
@@ -132,6 +123,11 @@ async function run(ctx) {
|
|
|
132
123
|
const point = { mass: api.M_SUN_KG };
|
|
133
124
|
const num = obs.evaluate(point);
|
|
134
125
|
const inputs = [...first.sources, ...second.sources];
|
|
126
|
+
// Every edge whose catalog status is below established grades the chain; name each one.
|
|
127
|
+
const graded = [first, second].filter((edge) => edge.beId !== null && api.catalogEntry(edge.beId)?.status !== 'established');
|
|
128
|
+
const grade = graded.length === 0
|
|
129
|
+
? null
|
|
130
|
+
: { confidence: api.composeEdges(first, second).confidence, gradedBy: graded.map((edge) => api.catalogEdgeKey(edge.beId)) };
|
|
135
131
|
if (!isJson) {
|
|
136
132
|
out(` ● ${label}`);
|
|
137
133
|
out(` composed: ${obs.name}(${obs.leaves.join(',')}) = ${exprToString(obs.expr)}`);
|
|
@@ -146,20 +142,21 @@ async function run(ctx) {
|
|
|
146
142
|
leaves: s.leaves,
|
|
147
143
|
expr: exprToString(s.expr),
|
|
148
144
|
latex: latexOf(s.name, s.leaves, s.expr),
|
|
149
|
-
evalForm: evalFormOf(s.expr, api
|
|
145
|
+
evalForm: evalFormOf(s.expr, api, point),
|
|
150
146
|
symbols: symbolTable(s.expr, api, inputs, point),
|
|
151
147
|
dim: api.format(s.dim),
|
|
152
148
|
value: sNum,
|
|
149
|
+
...(grade ?? {}),
|
|
153
150
|
simplified: true,
|
|
154
151
|
});
|
|
155
152
|
}
|
|
156
153
|
else {
|
|
157
|
-
const tag = s.expr === obs.expr ? ' (unchanged — minimal,
|
|
154
|
+
const tag = s.expr === obs.expr ? ' (unchanged — minimal, or not reducible here)' : '';
|
|
158
155
|
out(` simplified: ${s.name}(${s.leaves.join(',')}) = ${exprToString(s.expr)}${tag}`);
|
|
159
156
|
out(` latex: ${latexOf(s.name, s.leaves, s.expr) ?? 'none (a node the printer cannot take)'}`);
|
|
160
|
-
out(` eval form: ${showEvalForm(evalFormOf(s.expr, api
|
|
157
|
+
out(` eval form: ${showEvalForm(evalFormOf(s.expr, api, point))}`);
|
|
161
158
|
showSymbolTable(symbolTable(s.expr, api, inputs, point), out);
|
|
162
|
-
out(` value @ mass = M_sun: ${
|
|
159
|
+
out(` value @ mass = M_sun: ${api.formatQuantity(sNum)} (= composed, ${api.format(s.dim)})`);
|
|
163
160
|
}
|
|
164
161
|
}
|
|
165
162
|
else if (isJson) {
|
|
@@ -169,25 +166,23 @@ async function run(ctx) {
|
|
|
169
166
|
leaves: obs.leaves,
|
|
170
167
|
expr: exprToString(obs.expr),
|
|
171
168
|
latex: latexOf(obs.name, obs.leaves, obs.expr),
|
|
172
|
-
evalForm: evalFormOf(obs.expr, api
|
|
169
|
+
evalForm: evalFormOf(obs.expr, api, point),
|
|
173
170
|
symbols: symbolTable(obs.expr, api, inputs, point),
|
|
174
171
|
dim: api.format(obs.dim),
|
|
175
172
|
value: num,
|
|
173
|
+
...(grade ?? {}),
|
|
176
174
|
});
|
|
177
175
|
}
|
|
178
176
|
else {
|
|
179
177
|
out(` latex: ${latexOf(obs.name, obs.leaves, obs.expr) ?? 'none (a node the printer cannot take)'}`);
|
|
180
|
-
out(` eval form: ${showEvalForm(evalFormOf(obs.expr, api
|
|
178
|
+
out(` eval form: ${showEvalForm(evalFormOf(obs.expr, api, point))}`);
|
|
181
179
|
showSymbolTable(symbolTable(obs.expr, api, inputs, point), out);
|
|
182
180
|
out(` dimension: ${api.format(obs.dim)} (validated on the composed AST)`);
|
|
183
|
-
out(` value @ mass = M_sun: ${
|
|
181
|
+
out(` value @ mass = M_sun: ${api.formatQuantity(num)}`);
|
|
184
182
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
const composed = api.composeEdges(first, second);
|
|
189
|
-
const pages = graded.map((edge) => `be-${edge.beId}`).join(' and ');
|
|
190
|
-
out(` confidence: ${composed.confidence}. This chain stays provisional. ` +
|
|
183
|
+
if (!isJson && grade !== null) {
|
|
184
|
+
const pages = grade.gradedBy.join(' and ');
|
|
185
|
+
out(` confidence: ${grade.confidence}. This chain stays provisional. ` +
|
|
191
186
|
`upt atlas ${pages} ${graded.length === 1 ? "shows that edge's formalRef; that page is not" : "show those edges' formalRefs; neither page is"} this grade.`);
|
|
192
187
|
}
|
|
193
188
|
if (!isJson)
|