universal-physics-tensor 8.0.0 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -21
- package/data/atlas/atlas.json +75 -64
- package/data/atlas/atlas.jsonld +1 -1
- package/data/atlas/diffusion.json +23 -22
- package/data/atlas/oscillators.json +21 -16
- package/data/atlas/waves.json +33 -28
- package/data/bridge-catalog.json +1356 -1791
- package/data/bridge-catalog.schema.json +789 -46
- package/data/quantities.json +280 -234
- package/data/quantities.schema.json +52 -0
- package/data/schemas/atlas-record.v0.json +184 -46
- package/data/units.json +1178 -0
- package/data/units.schema.json +124 -0
- package/dist/atlas/applicability.d.ts.map +1 -1
- package/dist/atlas/applicability.js +14 -3
- package/dist/atlas/applicability.js.map +1 -1
- package/dist/atlas/association.d.ts +1 -1
- package/dist/atlas/association.js.map +1 -1
- package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -1
- package/dist/atlas/benchmark/backend-shapes.js +5 -1
- package/dist/atlas/benchmark/backend-shapes.js.map +1 -1
- package/dist/atlas/benchmark/baselines.d.ts.map +1 -1
- package/dist/atlas/benchmark/baselines.js +8 -0
- package/dist/atlas/benchmark/baselines.js.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts +3 -2
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.js +16 -12
- package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
- package/dist/atlas/benchmark/leakage.js.map +1 -1
- package/dist/atlas/benchmark/loader.js.map +1 -1
- package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -1
- package/dist/atlas/benchmark/run-atlas.js +14 -2
- package/dist/atlas/benchmark/run-atlas.js.map +1 -1
- package/dist/atlas/benchmark/stats.d.ts +1 -1
- package/dist/atlas/benchmark/stats.d.ts.map +1 -1
- package/dist/atlas/benchmark/stats.js +1 -1
- package/dist/atlas/benchmark/stats.js.map +1 -1
- package/dist/atlas/benchmark/study.js.map +1 -1
- package/dist/atlas/benchmark/types.js.map +1 -1
- package/dist/atlas/bridge-record.d.ts +4 -4
- package/dist/atlas/bridge-record.d.ts.map +1 -1
- package/dist/atlas/bridge-record.js +6 -6
- package/dist/atlas/bridge-record.js.map +1 -1
- package/dist/atlas/catalog-formal-ref.js.map +1 -1
- package/dist/atlas/chain-pipeline.d.ts +0 -11
- package/dist/atlas/chain-pipeline.d.ts.map +1 -1
- package/dist/atlas/chain-pipeline.js +5 -16
- package/dist/atlas/chain-pipeline.js.map +1 -1
- package/dist/atlas/composition-table.js.map +1 -1
- package/dist/atlas/conventions.js.map +1 -1
- package/dist/atlas/coverage.d.ts +2 -2
- package/dist/atlas/coverage.js.map +1 -1
- package/dist/atlas/derivation.js.map +1 -1
- package/dist/atlas/derive-evidence.d.ts +6 -4
- package/dist/atlas/derive-evidence.d.ts.map +1 -1
- package/dist/atlas/derive-evidence.js +7 -2
- package/dist/atlas/derive-evidence.js.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges-closure.js +0 -5
- package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
- package/dist/atlas/diffusion/bridges.d.ts.map +1 -1
- package/dist/atlas/diffusion/bridges.js +0 -3
- package/dist/atlas/diffusion/bridges.js.map +1 -1
- package/dist/atlas/diffusion/dimensions.js.map +1 -1
- package/dist/atlas/diffusion/index.d.ts +1 -1
- package/dist/atlas/diffusion/index.d.ts.map +1 -1
- package/dist/atlas/diffusion/index.js.map +1 -1
- package/dist/atlas/diffusion/models.js.map +1 -1
- package/dist/atlas/diffusion/numerics.js.map +1 -1
- package/dist/atlas/error-algebra.d.ts +6 -0
- package/dist/atlas/error-algebra.d.ts.map +1 -1
- package/dist/atlas/error-algebra.js +26 -0
- package/dist/atlas/error-algebra.js.map +1 -1
- package/dist/atlas/export.d.ts +18 -2
- package/dist/atlas/export.d.ts.map +1 -1
- package/dist/atlas/export.js +9 -3
- package/dist/atlas/export.js.map +1 -1
- package/dist/atlas/families.d.ts +19 -2
- package/dist/atlas/families.d.ts.map +1 -1
- package/dist/atlas/families.js +26 -3
- package/dist/atlas/families.js.map +1 -1
- package/dist/atlas/family.d.ts +27 -0
- package/dist/atlas/family.d.ts.map +1 -0
- package/dist/atlas/family.js +12 -0
- package/dist/atlas/family.js.map +1 -0
- package/dist/atlas/index.d.ts +3 -2
- package/dist/atlas/index.d.ts.map +1 -1
- package/dist/atlas/index.js +2 -1
- package/dist/atlas/index.js.map +1 -1
- package/dist/atlas/link-prediction.d.ts +1 -1
- package/dist/atlas/link-prediction.d.ts.map +1 -1
- package/dist/atlas/link-prediction.js.map +1 -1
- package/dist/atlas/model.js.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-coarse.js +0 -1
- package/dist/atlas/oscillators/bridges-coarse.js.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.js +0 -3
- package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.js +0 -2
- package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
- package/dist/atlas/oscillators/dimensions.js.map +1 -1
- package/dist/atlas/oscillators/index.d.ts +1 -16
- package/dist/atlas/oscillators/index.d.ts.map +1 -1
- package/dist/atlas/oscillators/index.js.map +1 -1
- package/dist/atlas/oscillators/limit-witnesses.js.map +1 -1
- package/dist/atlas/oscillators/models.js.map +1 -1
- package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -1
- package/dist/atlas/oscillators/norm-transport.js.map +1 -1
- package/dist/atlas/oscillators/norms.js.map +1 -1
- package/dist/atlas/oscillators/pendulum-motion.js.map +1 -1
- package/dist/atlas/oscillators/phase-carriage.js.map +1 -1
- package/dist/atlas/oscillators/phase-translation.js.map +1 -1
- package/dist/atlas/oscillators/position-translation.js.map +1 -1
- package/dist/atlas/oscillators/rejections.js.map +1 -1
- package/dist/atlas/path-bound.js.map +1 -1
- package/dist/atlas/physjs-entries.generated.d.ts +1601 -220
- package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
- package/dist/atlas/physjs-entries.generated.js +1854 -345
- package/dist/atlas/physjs-entries.generated.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +151 -117
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +244 -211
- package/dist/atlas/physjs-ref.js.map +1 -1
- package/dist/atlas/physjs-reviewed.d.ts +31 -0
- package/dist/atlas/physjs-reviewed.d.ts.map +1 -0
- package/dist/atlas/physjs-reviewed.js +194 -0
- package/dist/atlas/physjs-reviewed.js.map +1 -0
- package/dist/atlas/poster/associations.js.map +1 -1
- package/dist/atlas/poster/derivations.js.map +1 -1
- package/dist/atlas/poster/statements.js.map +1 -1
- package/dist/atlas/proof-target.d.ts +16 -8
- package/dist/atlas/proof-target.d.ts.map +1 -1
- package/dist/atlas/proof-target.js +34 -31
- package/dist/atlas/proof-target.js.map +1 -1
- package/dist/atlas/public.d.ts +2 -1
- package/dist/atlas/public.d.ts.map +1 -1
- package/dist/atlas/public.js +2 -1
- package/dist/atlas/public.js.map +1 -1
- package/dist/atlas/regime.js.map +1 -1
- package/dist/atlas/serialize.d.ts +18 -12
- package/dist/atlas/serialize.d.ts.map +1 -1
- package/dist/atlas/serialize.js +28 -18
- package/dist/atlas/serialize.js.map +1 -1
- package/dist/atlas/statement.js.map +1 -1
- package/dist/atlas/translation-registry.js.map +1 -1
- package/dist/atlas/translation.js.map +1 -1
- package/dist/atlas/types.d.ts +9 -2
- package/dist/atlas/types.d.ts.map +1 -1
- package/dist/atlas/types.js +1 -1
- package/dist/atlas/types.js.map +1 -1
- package/dist/atlas/waves/bridges-closure.d.ts.map +1 -1
- package/dist/atlas/waves/bridges-closure.js +0 -3
- package/dist/atlas/waves/bridges-closure.js.map +1 -1
- package/dist/atlas/waves/bridges.d.ts.map +1 -1
- package/dist/atlas/waves/bridges.js +0 -4
- package/dist/atlas/waves/bridges.js.map +1 -1
- package/dist/atlas/waves/index.d.ts +1 -1
- package/dist/atlas/waves/index.d.ts.map +1 -1
- package/dist/atlas/waves/index.js.map +1 -1
- package/dist/atlas/waves/models.js.map +1 -1
- package/dist/atlas/waves/numerics.js.map +1 -1
- package/dist/atlas/witness-artifact.js.map +1 -1
- package/dist/atlas/witness-dominance.d.ts +4 -3
- package/dist/atlas/witness-dominance.d.ts.map +1 -1
- package/dist/atlas/witness-dominance.js +15 -5
- package/dist/atlas/witness-dominance.js.map +1 -1
- package/dist/atlas/witness-numeric.d.ts +8 -4
- package/dist/atlas/witness-numeric.d.ts.map +1 -1
- package/dist/atlas/witness-numeric.js +27 -2
- package/dist/atlas/witness-numeric.js.map +1 -1
- package/dist/atlas/witness-result.d.ts +7 -1
- package/dist/atlas/witness-result.d.ts.map +1 -1
- package/dist/atlas/witness-result.js.map +1 -1
- package/dist/atlas/witness-specs.js.map +1 -1
- package/dist/atlas/witness-symbolic.js.map +1 -1
- package/dist/atlas/witnesses/quantum-support.js.map +1 -1
- package/dist/bridges/caller-table.d.ts +1 -1
- package/dist/bridges/caller-table.d.ts.map +1 -1
- package/dist/bridges/caller-table.js.map +1 -1
- package/dist/bridges/carrier-sign.d.ts.map +1 -1
- package/dist/bridges/carrier-sign.js +8 -3
- package/dist/bridges/carrier-sign.js.map +1 -1
- package/dist/bridges/catalog-adapter.d.ts +12 -3
- package/dist/bridges/catalog-adapter.d.ts.map +1 -1
- package/dist/bridges/catalog-adapter.js +22 -14
- package/dist/bridges/catalog-adapter.js.map +1 -1
- package/dist/bridges/catalog-load.d.ts +19 -2
- package/dist/bridges/catalog-load.d.ts.map +1 -1
- package/dist/bridges/catalog-load.js +233 -14
- package/dist/bridges/catalog-load.js.map +1 -1
- package/dist/bridges/catalog-types.d.ts +96 -27
- package/dist/bridges/catalog-types.d.ts.map +1 -1
- package/dist/bridges/catalog-types.js.map +1 -1
- package/dist/bridges/coefficient-statement.js +1 -5
- package/dist/bridges/coefficient-statement.js.map +1 -1
- package/dist/bridges/confrontation-coverage.js.map +1 -1
- package/dist/bridges/confrontations.d.ts +1 -1
- package/dist/bridges/confrontations.d.ts.map +1 -1
- package/dist/bridges/confrontations.js +1 -1
- package/dist/bridges/confrontations.js.map +1 -1
- package/dist/bridges/evaluation-errors.d.ts +89 -0
- package/dist/bridges/evaluation-errors.d.ts.map +1 -0
- package/dist/bridges/evaluation-errors.js +136 -0
- package/dist/bridges/evaluation-errors.js.map +1 -0
- package/dist/bridges/evaluator-inputs.d.ts +5 -3
- package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
- package/dist/bridges/evaluator-inputs.js +24 -24
- package/dist/bridges/evaluator-inputs.js.map +1 -1
- package/dist/bridges/evaluators.d.ts +48 -8
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +173 -38
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/expr-parse.d.ts +38 -7
- package/dist/bridges/expr-parse.d.ts.map +1 -1
- package/dist/bridges/expr-parse.js +129 -156
- package/dist/bridges/expr-parse.js.map +1 -1
- package/dist/bridges/holds.d.ts +16 -8
- package/dist/bridges/holds.d.ts.map +1 -1
- package/dist/bridges/holds.js +130 -236
- package/dist/bridges/holds.js.map +1 -1
- package/dist/bridges/index.d.ts +15 -14
- package/dist/bridges/index.d.ts.map +1 -1
- package/dist/bridges/index.js +14 -15
- package/dist/bridges/index.js.map +1 -1
- package/dist/bridges/input-contract.d.ts +65 -0
- package/dist/bridges/input-contract.d.ts.map +1 -0
- package/dist/bridges/input-contract.js +97 -0
- package/dist/bridges/input-contract.js.map +1 -0
- package/dist/bridges/membership.d.ts +5 -3
- package/dist/bridges/membership.d.ts.map +1 -1
- package/dist/bridges/membership.js +5 -6
- package/dist/bridges/membership.js.map +1 -1
- package/dist/bridges/notices.d.ts +11 -0
- package/dist/bridges/notices.d.ts.map +1 -0
- package/dist/bridges/notices.js +22 -0
- package/dist/bridges/notices.js.map +1 -0
- package/dist/bridges/observations/types.js.map +1 -1
- package/dist/bridges/rejected.d.ts +11 -17
- package/dist/bridges/rejected.d.ts.map +1 -1
- package/dist/bridges/rejected.js +13 -68
- package/dist/bridges/rejected.js.map +1 -1
- package/dist/bridges/relation-eval.d.ts +5 -6
- package/dist/bridges/relation-eval.d.ts.map +1 -1
- package/dist/bridges/relation-eval.js +9 -38
- package/dist/bridges/relation-eval.js.map +1 -1
- package/dist/bridges/rhs-registry.js.map +1 -1
- package/dist/bridges/sensitivity.d.ts +11 -3
- package/dist/bridges/sensitivity.d.ts.map +1 -1
- package/dist/bridges/sensitivity.js +24 -10
- package/dist/bridges/sensitivity.js.map +1 -1
- package/dist/bridges/tensor-index.js.map +1 -1
- package/dist/bridges/types.d.ts +1 -7
- package/dist/bridges/types.d.ts.map +1 -1
- package/dist/bridges/types.js +1 -4
- package/dist/bridges/types.js.map +1 -1
- package/dist/canonical/canonical-equation.d.ts +31 -0
- package/dist/canonical/canonical-equation.d.ts.map +1 -1
- package/dist/canonical/canonical-equation.js.map +1 -1
- package/dist/canonical/dimensional-fields.js.map +1 -1
- package/dist/canonical/entries/_l1-build.js.map +1 -1
- package/dist/canonical/entries/atomic.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.js +11 -1
- package/dist/canonical/entries/atomic.js.map +1 -1
- package/dist/canonical/entries/condensed-matter.d.ts.map +1 -1
- package/dist/canonical/entries/condensed-matter.js +7 -4
- package/dist/canonical/entries/condensed-matter.js.map +1 -1
- package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
- package/dist/canonical/entries/dimensional-classics.js +50 -2
- package/dist/canonical/entries/dimensional-classics.js.map +1 -1
- package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
- package/dist/canonical/entries/electromagnetism.js +32 -2
- package/dist/canonical/entries/electromagnetism.js.map +1 -1
- package/dist/canonical/entries/fluids-waves.d.ts.map +1 -1
- package/dist/canonical/entries/fluids-waves.js +34 -0
- package/dist/canonical/entries/fluids-waves.js.map +1 -1
- package/dist/canonical/entries/mechanics.d.ts.map +1 -1
- package/dist/canonical/entries/mechanics.js +24 -0
- package/dist/canonical/entries/mechanics.js.map +1 -1
- package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
- package/dist/canonical/entries/nonmonomial.js +42 -24
- package/dist/canonical/entries/nonmonomial.js.map +1 -1
- package/dist/canonical/entries/relativity.d.ts.map +1 -1
- package/dist/canonical/entries/relativity.js +6 -0
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.d.ts.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.js +24 -5
- package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.js +15 -0
- package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
- package/dist/canonical/linkage.d.ts +29 -4
- package/dist/canonical/linkage.d.ts.map +1 -1
- package/dist/canonical/linkage.js +31 -29
- package/dist/canonical/linkage.js.map +1 -1
- package/dist/canonical/normal-form.d.ts +0 -8
- package/dist/canonical/normal-form.d.ts.map +1 -1
- package/dist/canonical/normal-form.js +17 -12
- package/dist/canonical/normal-form.js.map +1 -1
- package/dist/canonical/registry.js.map +1 -1
- package/dist/canonical/residual.js.map +1 -1
- package/dist/canonical/seed-l-layer.d.ts +7 -1
- package/dist/canonical/seed-l-layer.d.ts.map +1 -1
- package/dist/canonical/seed-l-layer.js +7 -1
- package/dist/canonical/seed-l-layer.js.map +1 -1
- package/dist/canonical/structural.d.ts +21 -0
- package/dist/canonical/structural.d.ts.map +1 -1
- package/dist/canonical/structural.js +24 -4
- package/dist/canonical/structural.js.map +1 -1
- package/dist/cases/brownian-sphere.js +4 -4
- package/dist/cases/brownian-sphere.js.map +1 -1
- package/dist/cases/damped-resonator.js +2 -2
- package/dist/cases/damped-resonator.js.map +1 -1
- package/dist/cases/index.d.ts +9 -2
- package/dist/cases/index.d.ts.map +1 -1
- package/dist/cases/index.js +26 -7
- package/dist/cases/index.js.map +1 -1
- package/dist/cases/kepler-rv.js +6 -6
- package/dist/cases/kepler-rv.js.map +1 -1
- package/dist/cases/lumped-cooling.js +1 -1
- package/dist/cases/lumped-cooling.js.map +1 -1
- package/dist/cases/quadrature.js.map +1 -1
- package/dist/cases/resistor-noise.js +3 -3
- package/dist/cases/resistor-noise.js.map +1 -1
- package/dist/cases/skin-depth.js.map +1 -1
- package/dist/cases/types.js.map +1 -1
- package/dist/cli/args.d.ts +7 -2
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +18 -2
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/bindings.d.ts +13 -0
- package/dist/cli/bindings.d.ts.map +1 -0
- package/dist/cli/bindings.js +32 -0
- package/dist/cli/bindings.js.map +1 -0
- package/dist/cli/closed-form-range.js.map +1 -1
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/commands/_atlas-map.d.ts +3 -3
- package/dist/cli/commands/_atlas-map.d.ts.map +1 -1
- package/dist/cli/commands/_atlas-map.js +43 -18
- package/dist/cli/commands/_atlas-map.js.map +1 -1
- package/dist/cli/commands/_atlas-route.js.map +1 -1
- package/dist/cli/commands/_discovery-opts.d.ts +2 -1
- package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +48 -18
- package/dist/cli/commands/_discovery-opts.js.map +1 -1
- package/dist/cli/commands/atlas.d.ts.map +1 -1
- package/dist/cli/commands/atlas.js +7 -12
- package/dist/cli/commands/atlas.js.map +1 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +13 -21
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/axes.js.map +1 -1
- package/dist/cli/commands/candidates.d.ts.map +1 -1
- package/dist/cli/commands/candidates.js +16 -8
- package/dist/cli/commands/candidates.js.map +1 -1
- package/dist/cli/commands/canonical.js.map +1 -1
- package/dist/cli/commands/chain.js +1 -1
- package/dist/cli/commands/chain.js.map +1 -1
- package/dist/cli/commands/confront.d.ts.map +1 -1
- package/dist/cli/commands/confront.js +22 -14
- package/dist/cli/commands/confront.js.map +1 -1
- package/dist/cli/commands/connectors.d.ts.map +1 -1
- package/dist/cli/commands/connectors.js +8 -9
- package/dist/cli/commands/connectors.js.map +1 -1
- package/dist/cli/commands/coverage.js.map +1 -1
- package/dist/cli/commands/derive.d.ts.map +1 -1
- package/dist/cli/commands/derive.js +50 -26
- package/dist/cli/commands/derive.js.map +1 -1
- package/dist/cli/commands/discover.d.ts.map +1 -1
- package/dist/cli/commands/discover.js +18 -13
- package/dist/cli/commands/discover.js.map +1 -1
- package/dist/cli/commands/eval.d.ts.map +1 -1
- package/dist/cli/commands/eval.js +29 -26
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts +1 -35
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +99 -208
- package/dist/cli/commands/evaluate.js.map +1 -1
- package/dist/cli/commands/explain.d.ts.map +1 -1
- package/dist/cli/commands/explain.js +57 -45
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/frontier.js.map +1 -1
- package/dist/cli/commands/ground.d.ts.map +1 -1
- package/dist/cli/commands/ground.js +41 -11
- package/dist/cli/commands/ground.js.map +1 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/map.d.ts.map +1 -1
- package/dist/cli/commands/map.js +84 -92
- package/dist/cli/commands/map.js.map +1 -1
- package/dist/cli/commands/metric.d.ts.map +1 -1
- package/dist/cli/commands/metric.js +53 -15
- package/dist/cli/commands/metric.js.map +1 -1
- package/dist/cli/commands/path.js +4 -4
- package/dist/cli/commands/path.js.map +1 -1
- package/dist/cli/commands/predict.js.map +1 -1
- package/dist/cli/commands/priority.js.map +1 -1
- package/dist/cli/commands/probe.d.ts.map +1 -1
- package/dist/cli/commands/probe.js +50 -26
- package/dist/cli/commands/probe.js.map +1 -1
- package/dist/cli/commands/recover.js +1 -1
- package/dist/cli/commands/recover.js.map +1 -1
- package/dist/cli/commands/regime.d.ts +5 -4
- package/dist/cli/commands/regime.d.ts.map +1 -1
- package/dist/cli/commands/regime.js +25 -27
- package/dist/cli/commands/regime.js.map +1 -1
- package/dist/cli/commands/retrieve.d.ts.map +1 -1
- package/dist/cli/commands/retrieve.js +22 -14
- package/dist/cli/commands/retrieve.js.map +1 -1
- package/dist/cli/commands/search.d.ts.map +1 -1
- package/dist/cli/commands/search.js +8 -4
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/symbolic.d.ts.map +1 -1
- package/dist/cli/commands/symbolic.js +14 -7
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/commands/testplan.js +4 -4
- package/dist/cli/commands/testplan.js.map +1 -1
- package/dist/cli/conventions.d.ts +6 -7
- package/dist/cli/conventions.d.ts.map +1 -1
- package/dist/cli/conventions.js +19 -28
- package/dist/cli/conventions.js.map +1 -1
- package/dist/cli/determination.js.map +1 -1
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/euler-guard.d.ts +13 -2
- package/dist/cli/euler-guard.d.ts.map +1 -1
- package/dist/cli/euler-guard.js +17 -3
- package/dist/cli/euler-guard.js.map +1 -1
- package/dist/cli/eval-numbers.d.ts +4 -9
- package/dist/cli/eval-numbers.d.ts.map +1 -1
- package/dist/cli/eval-numbers.js +11 -41
- package/dist/cli/eval-numbers.js.map +1 -1
- package/dist/cli/expr-print.d.ts +29 -2
- package/dist/cli/expr-print.d.ts.map +1 -1
- package/dist/cli/expr-print.js +46 -2
- package/dist/cli/expr-print.js.map +1 -1
- package/dist/cli/flag-help.js.map +1 -1
- package/dist/cli/graphs.js.map +1 -1
- package/dist/cli/library-defaults.d.ts +19 -0
- package/dist/cli/library-defaults.d.ts.map +1 -0
- package/dist/cli/library-defaults.js +22 -0
- package/dist/cli/library-defaults.js.map +1 -0
- package/dist/cli/main.js +7 -3
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/map-evidence.js.map +1 -1
- package/dist/cli/output.d.ts +3 -6
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/published-url.d.ts +2 -0
- package/dist/cli/published-url.d.ts.map +1 -1
- package/dist/cli/published-url.js +5 -0
- package/dist/cli/published-url.js.map +1 -1
- package/dist/cli/record-reach.d.ts +6 -0
- package/dist/cli/record-reach.d.ts.map +1 -1
- package/dist/cli/record-reach.js +16 -10
- package/dist/cli/record-reach.js.map +1 -1
- package/dist/cli/record-tables.d.ts +2 -1
- package/dist/cli/record-tables.d.ts.map +1 -1
- package/dist/cli/record-tables.js +8 -3
- package/dist/cli/record-tables.js.map +1 -1
- package/dist/cli/record.d.ts.map +1 -1
- package/dist/cli/record.js +31 -12
- package/dist/cli/record.js.map +1 -1
- package/dist/cli/search-index.d.ts +5 -0
- package/dist/cli/search-index.d.ts.map +1 -1
- package/dist/cli/search-index.js +12 -1
- package/dist/cli/search-index.js.map +1 -1
- package/dist/cli/statuses.js.map +1 -1
- package/dist/cli/top-level-help.js.map +1 -1
- package/dist/cli/version.js.map +1 -1
- package/dist/cli-api.d.ts +57 -18
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +49 -21
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/adjudication.d.ts +8 -30
- package/dist/composition/adjudication.d.ts.map +1 -1
- package/dist/composition/adjudication.js +15 -67
- package/dist/composition/adjudication.js.map +1 -1
- package/dist/composition/aliases.d.ts +1 -1
- package/dist/composition/aliases.d.ts.map +1 -1
- package/dist/composition/aliases.js +10 -20
- package/dist/composition/aliases.js.map +1 -1
- package/dist/composition/audit-coverage.d.ts +2 -0
- package/dist/composition/audit-coverage.d.ts.map +1 -1
- package/dist/composition/audit-coverage.js.map +1 -1
- package/dist/composition/axes.d.ts +12 -0
- package/dist/composition/axes.d.ts.map +1 -1
- package/dist/composition/axes.js +18 -6
- package/dist/composition/axes.js.map +1 -1
- package/dist/composition/axis-audit.js.map +1 -1
- package/dist/composition/bridge-analysis.d.ts +0 -14
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +66 -57
- package/dist/composition/bridge-analysis.js.map +1 -1
- package/dist/composition/bridge-prediction.d.ts +5 -1
- package/dist/composition/bridge-prediction.d.ts.map +1 -1
- package/dist/composition/bridge-prediction.js +12 -16
- package/dist/composition/bridge-prediction.js.map +1 -1
- package/dist/composition/buckingham-filter.js.map +1 -1
- package/dist/composition/canonical-compare.d.ts.map +1 -1
- package/dist/composition/canonical-compare.js +12 -2
- package/dist/composition/canonical-compare.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +15 -18
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +59 -85
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-json.js.map +1 -1
- package/dist/composition/canonical-prefactors.d.ts +10 -29
- package/dist/composition/canonical-prefactors.d.ts.map +1 -1
- package/dist/composition/canonical-prefactors.js +15 -202
- package/dist/composition/canonical-prefactors.js.map +1 -1
- package/dist/composition/catalog-graph.d.ts.map +1 -1
- package/dist/composition/catalog-graph.js +6 -20
- package/dist/composition/catalog-graph.js.map +1 -1
- package/dist/composition/chain-candidate.d.ts +2 -0
- package/dist/composition/chain-candidate.d.ts.map +1 -1
- package/dist/composition/chain-candidate.js +2 -0
- package/dist/composition/chain-candidate.js.map +1 -1
- package/dist/composition/chain-match.js.map +1 -1
- package/dist/composition/chain-regime.js.map +1 -1
- package/dist/composition/chain-result.js.map +1 -1
- package/dist/composition/compose-surface.js.map +1 -1
- package/dist/composition/compose-symbolic.js.map +1 -1
- package/dist/composition/compose.d.ts.map +1 -1
- package/dist/composition/compose.js +154 -36
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/composition-recovery.js.map +1 -1
- package/dist/composition/consequence.d.ts.map +1 -1
- package/dist/composition/consequence.js +15 -6
- package/dist/composition/consequence.js.map +1 -1
- package/dist/composition/consistency.js.map +1 -1
- package/dist/composition/descriptor.d.ts +1 -1
- package/dist/composition/descriptor.d.ts.map +1 -1
- package/dist/composition/descriptor.js.map +1 -1
- package/dist/composition/dimension-adjacency.js.map +1 -1
- package/dist/composition/discovery.d.ts +67 -7
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +83 -23
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +19 -22
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +25 -28
- package/dist/composition/edge.js.map +1 -1
- package/dist/composition/enumerate.d.ts +2 -2
- package/dist/composition/enumerate.d.ts.map +1 -1
- package/dist/composition/enumerate.js.map +1 -1
- package/dist/composition/evaluate-relation.d.ts +29 -5
- package/dist/composition/evaluate-relation.d.ts.map +1 -1
- package/dist/composition/evaluate-relation.js +100 -72
- package/dist/composition/evaluate-relation.js.map +1 -1
- package/dist/composition/explain.d.ts +14 -4
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +53 -19
- package/dist/composition/explain.js.map +1 -1
- package/dist/composition/expr-eval.d.ts.map +1 -1
- package/dist/composition/expr-eval.js +2 -1
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/expr-simplify.d.ts.map +1 -1
- package/dist/composition/expr-simplify.js +9 -39
- package/dist/composition/expr-simplify.js.map +1 -1
- package/dist/composition/expr-subst.js.map +1 -1
- package/dist/composition/formula-shape.d.ts +9 -0
- package/dist/composition/formula-shape.d.ts.map +1 -1
- package/dist/composition/formula-shape.js +54 -0
- package/dist/composition/formula-shape.js.map +1 -1
- package/dist/composition/frontier-account.d.ts +3 -2
- package/dist/composition/frontier-account.d.ts.map +1 -1
- package/dist/composition/frontier-account.js +7 -3
- package/dist/composition/frontier-account.js.map +1 -1
- package/dist/composition/graph-viz-svg.js.map +1 -1
- package/dist/composition/graph-viz.js.map +1 -1
- package/dist/composition/grounding.js.map +1 -1
- package/dist/composition/identifiability.js.map +1 -1
- package/dist/composition/index.d.ts +9 -5
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +7 -4
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/mathts-quiet.d.ts +28 -0
- package/dist/composition/mathts-quiet.d.ts.map +1 -0
- package/dist/composition/mathts-quiet.js +56 -0
- package/dist/composition/mathts-quiet.js.map +1 -0
- package/dist/composition/mathts-scalar-symbols.d.ts.map +1 -1
- package/dist/composition/mathts-scalar-symbols.js +18 -34
- package/dist/composition/mathts-scalar-symbols.js.map +1 -1
- package/dist/composition/not-composable-seeds.d.ts +3 -1
- package/dist/composition/not-composable-seeds.d.ts.map +1 -1
- package/dist/composition/not-composable-seeds.js +2 -0
- package/dist/composition/not-composable-seeds.js.map +1 -1
- package/dist/composition/probe/backend-protocol.js.map +1 -1
- package/dist/composition/probe/candidate-store.js.map +1 -1
- package/dist/composition/probe/corpus.js.map +1 -1
- package/dist/composition/probe/dataset.js.map +1 -1
- package/dist/composition/probe/experiment-design.js.map +1 -1
- package/dist/composition/probe/expression-gaps.js.map +1 -1
- package/dist/composition/probe/falsify.d.ts +14 -3
- package/dist/composition/probe/falsify.d.ts.map +1 -1
- package/dist/composition/probe/falsify.js +14 -27
- package/dist/composition/probe/falsify.js.map +1 -1
- package/dist/composition/probe/fingerprint.js.map +1 -1
- package/dist/composition/probe/fit.d.ts +1 -1
- package/dist/composition/probe/fit.d.ts.map +1 -1
- package/dist/composition/probe/fit.js +2 -1
- package/dist/composition/probe/fit.js.map +1 -1
- package/dist/composition/probe/frontier.js.map +1 -1
- package/dist/composition/probe/generator.js.map +1 -1
- package/dist/composition/probe/index.d.ts +4 -2
- package/dist/composition/probe/index.d.ts.map +1 -1
- package/dist/composition/probe/index.js +4 -2
- package/dist/composition/probe/index.js.map +1 -1
- package/dist/composition/probe/limits.js.map +1 -1
- package/dist/composition/probe/metadata.js.map +1 -1
- package/dist/composition/probe/pipeline.d.ts +5 -0
- package/dist/composition/probe/pipeline.d.ts.map +1 -1
- package/dist/composition/probe/pipeline.js +13 -6
- package/dist/composition/probe/pipeline.js.map +1 -1
- package/dist/composition/probe/problem.d.ts +8 -0
- package/dist/composition/probe/problem.d.ts.map +1 -1
- package/dist/composition/probe/problem.js +78 -12
- package/dist/composition/probe/problem.js.map +1 -1
- package/dist/composition/probe/report.js.map +1 -1
- package/dist/composition/probe/residual.js.map +1 -1
- package/dist/composition/probe/run-manifest.js +2 -2
- package/dist/composition/probe/run-manifest.js.map +1 -1
- package/dist/composition/probe/scoring.d.ts +2 -1
- package/dist/composition/probe/scoring.d.ts.map +1 -1
- package/dist/composition/probe/scoring.js +21 -7
- package/dist/composition/probe/scoring.js.map +1 -1
- package/dist/composition/probe/search-budget.js.map +1 -1
- package/dist/composition/probe/serialize.js.map +1 -1
- package/dist/composition/probe/structure.js.map +1 -1
- package/dist/composition/probe/study.d.ts +4 -3
- package/dist/composition/probe/study.d.ts.map +1 -1
- package/dist/composition/probe/study.js +5 -3
- package/dist/composition/probe/study.js.map +1 -1
- package/dist/composition/probe/types.d.ts +3 -1
- package/dist/composition/probe/types.d.ts.map +1 -1
- package/dist/composition/probe/types.js +2 -0
- package/dist/composition/probe/types.js.map +1 -1
- package/dist/composition/proposed-bridges.d.ts +11 -4
- package/dist/composition/proposed-bridges.d.ts.map +1 -1
- package/dist/composition/proposed-bridges.js +14 -6
- package/dist/composition/proposed-bridges.js.map +1 -1
- package/dist/composition/quantities.d.ts +0 -4
- package/dist/composition/quantities.d.ts.map +1 -1
- package/dist/composition/quantities.js +5 -5
- package/dist/composition/quantities.js.map +1 -1
- package/dist/composition/quantity.d.ts +18 -2
- package/dist/composition/quantity.d.ts.map +1 -1
- package/dist/composition/quantity.js +35 -6
- package/dist/composition/quantity.js.map +1 -1
- package/dist/composition/representative-values.js.map +1 -1
- package/dist/composition/retrodiction.d.ts +18 -0
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +37 -7
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/uncertainty.js.map +1 -1
- package/dist/composition/user-equation.d.ts +11 -7
- package/dist/composition/user-equation.d.ts.map +1 -1
- package/dist/composition/user-equation.js +24 -26
- package/dist/composition/user-equation.js.map +1 -1
- package/dist/core/axes-registry.d.ts +8 -5
- package/dist/core/axes-registry.d.ts.map +1 -1
- package/dist/core/axes-registry.js.map +1 -1
- package/dist/core/cell.js.map +1 -1
- package/dist/core/constants.d.ts +35 -12
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +46 -15
- package/dist/core/constants.js.map +1 -1
- package/dist/core/data-file.d.ts +27 -0
- package/dist/core/data-file.d.ts.map +1 -0
- package/dist/core/data-file.js +48 -0
- package/dist/core/data-file.js.map +1 -0
- package/dist/core/flux-rules.js +1 -1
- package/dist/core/flux-rules.js.map +1 -1
- package/dist/core/json-schema.d.ts +27 -0
- package/dist/core/json-schema.d.ts.map +1 -0
- package/dist/core/json-schema.js +177 -0
- package/dist/core/json-schema.js.map +1 -0
- package/dist/core/labeled-tensor.d.ts +6 -1
- package/dist/core/labeled-tensor.d.ts.map +1 -1
- package/dist/core/labeled-tensor.js +18 -8
- package/dist/core/labeled-tensor.js.map +1 -1
- package/dist/core/regime-registry.d.ts +6 -2
- package/dist/core/regime-registry.d.ts.map +1 -1
- package/dist/core/regime-registry.js.map +1 -1
- package/dist/core/regime-rule-install.js.map +1 -1
- package/dist/core/regimes-builtins.js.map +1 -1
- package/dist/core/tensor.d.ts +7 -4
- package/dist/core/tensor.d.ts.map +1 -1
- package/dist/core/tensor.js +40 -8
- package/dist/core/tensor.js.map +1 -1
- package/dist/core/types.d.ts +3 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +16 -14
- package/dist/core/types.js.map +1 -1
- package/dist/core/universal-index.js.map +1 -1
- package/dist/diff/bridge-ast-gradient.d.ts +4 -5
- package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-ast-gradient.js +16 -23
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/diff/bridge-gradient.d.ts +24 -80
- package/dist/diff/bridge-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-gradient.js +21 -98
- package/dist/diff/bridge-gradient.js.map +1 -1
- package/dist/diff/bridge-specs.d.ts +18 -6
- package/dist/diff/bridge-specs.d.ts.map +1 -1
- package/dist/diff/bridge-specs.js +17 -5
- package/dist/diff/bridge-specs.js.map +1 -1
- package/dist/dimensional/algebra.js.map +1 -1
- package/dist/dimensional/ast-builders.d.ts +5 -4
- package/dist/dimensional/ast-builders.d.ts.map +1 -1
- package/dist/dimensional/ast-builders.js +6 -5
- package/dist/dimensional/ast-builders.js.map +1 -1
- package/dist/dimensional/ast-types.js.map +1 -1
- package/dist/dimensional/bridge-check.d.ts.map +1 -1
- package/dist/dimensional/bridge-check.js +3 -5
- package/dist/dimensional/bridge-check.js.map +1 -1
- package/dist/dimensional/buckingham.js.map +1 -1
- package/dist/dimensional/connection-validators.d.ts +2 -1
- package/dist/dimensional/connection-validators.d.ts.map +1 -1
- package/dist/dimensional/connection-validators.js.map +1 -1
- package/dist/dimensional/connection.js.map +1 -1
- package/dist/dimensional/constant-rows.d.ts +54 -0
- package/dist/dimensional/constant-rows.d.ts.map +1 -0
- package/dist/dimensional/constant-rows.js +115 -0
- package/dist/dimensional/constant-rows.js.map +1 -0
- package/dist/dimensional/constants.d.ts +7 -17
- package/dist/dimensional/constants.d.ts.map +1 -1
- package/dist/dimensional/constants.js +12 -21
- package/dist/dimensional/constants.js.map +1 -1
- package/dist/dimensional/curvature-composite.js.map +1 -1
- package/dist/dimensional/curvature-invariants.js.map +1 -1
- package/dist/dimensional/curvature.js.map +1 -1
- package/dist/dimensional/dimension-inference.js.map +1 -1
- package/dist/dimensional/dimension-spec.d.ts +21 -6
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/dimension-spec.js +150 -160
- package/dist/dimensional/dimension-spec.js.map +1 -1
- package/dist/dimensional/einstein-equation.js.map +1 -1
- package/dist/dimensional/errors.d.ts +3 -1
- package/dist/dimensional/errors.d.ts.map +1 -1
- package/dist/dimensional/errors.js +2 -2
- package/dist/dimensional/errors.js.map +1 -1
- package/dist/dimensional/exact-scale.d.ts +79 -0
- package/dist/dimensional/exact-scale.d.ts.map +1 -0
- package/dist/dimensional/exact-scale.js +222 -0
- package/dist/dimensional/exact-scale.js.map +1 -0
- package/dist/dimensional/field-equation-helpers.js.map +1 -1
- package/dist/dimensional/formula-names.d.ts +13 -12
- package/dist/dimensional/formula-names.d.ts.map +1 -1
- package/dist/dimensional/formula-names.js +28 -51
- package/dist/dimensional/formula-names.js.map +1 -1
- package/dist/dimensional/fresh-label.js.map +1 -1
- package/dist/dimensional/friedmann-equation.d.ts +3 -3
- package/dist/dimensional/friedmann-equation.js +3 -3
- package/dist/dimensional/friedmann-equation.js.map +1 -1
- package/dist/dimensional/gauge-field.d.ts +2 -3
- package/dist/dimensional/gauge-field.d.ts.map +1 -1
- package/dist/dimensional/gauge-field.js +0 -1
- package/dist/dimensional/gauge-field.js.map +1 -1
- package/dist/dimensional/hyphen-names.d.ts.map +1 -1
- package/dist/dimensional/hyphen-names.js +8 -0
- package/dist/dimensional/hyphen-names.js.map +1 -1
- package/dist/dimensional/killing-validators.js.map +1 -1
- package/dist/dimensional/klein-gordon-equation.js.map +1 -1
- package/dist/dimensional/metric-validators.d.ts +2 -1
- package/dist/dimensional/metric-validators.d.ts.map +1 -1
- package/dist/dimensional/metric-validators.js.map +1 -1
- package/dist/dimensional/metric.js.map +1 -1
- package/dist/dimensional/natural-units.js.map +1 -1
- package/dist/dimensional/quantity-registry.d.ts +23 -1
- package/dist/dimensional/quantity-registry.d.ts.map +1 -1
- package/dist/dimensional/quantity-registry.js +55 -18
- package/dist/dimensional/quantity-registry.js.map +1 -1
- package/dist/dimensional/rg-flow.js.map +1 -1
- package/dist/dimensional/stress-energy-validators.js.map +1 -1
- package/dist/dimensional/symbolic-constants.d.ts +63 -19
- package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
- package/dist/dimensional/symbolic-constants.js +114 -92
- package/dist/dimensional/symbolic-constants.js.map +1 -1
- package/dist/dimensional/tensor-trace.js.map +1 -1
- package/dist/dimensional/tensor.js.map +1 -1
- package/dist/dimensional/types.js.map +1 -1
- package/dist/dimensional/unit-convention.d.ts +0 -2
- package/dist/dimensional/unit-convention.d.ts.map +1 -1
- package/dist/dimensional/unit-convention.js +2 -2
- package/dist/dimensional/unit-convention.js.map +1 -1
- package/dist/dimensional/unit-data.d.ts +70 -0
- package/dist/dimensional/unit-data.d.ts.map +1 -0
- package/dist/dimensional/unit-data.js +139 -0
- package/dist/dimensional/unit-data.js.map +1 -0
- package/dist/dimensional/units.d.ts +87 -24
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +290 -295
- package/dist/dimensional/units.js.map +1 -1
- package/dist/dimensional/validator-registry.js.map +1 -1
- package/dist/dimensional/validator.d.ts +0 -16
- package/dist/dimensional/validator.d.ts.map +1 -1
- package/dist/dimensional/validator.js +65 -29
- package/dist/dimensional/validator.js.map +1 -1
- package/dist/dimensional/weyl-validators.js.map +1 -1
- package/dist/index.d.ts +65 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -24
- package/dist/index.js.map +1 -1
- package/dist/numerical/bianchi-residual.js.map +1 -1
- package/dist/numerical/binding-value.d.ts +32 -7
- package/dist/numerical/binding-value.d.ts.map +1 -1
- package/dist/numerical/binding-value.js +218 -209
- package/dist/numerical/binding-value.js.map +1 -1
- package/dist/numerical/christoffel-flat.js.map +1 -1
- package/dist/numerical/connection-lowering-helpers.js.map +1 -1
- package/dist/numerical/covariant-eikonal.d.ts.map +1 -1
- package/dist/numerical/covariant-eikonal.js +2 -2
- package/dist/numerical/covariant-eikonal.js.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.d.ts +20 -0
- package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.js +6 -3
- package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
- package/dist/numerical/derivative-lowering.js.map +1 -1
- package/dist/numerical/einstein-equation.js.map +1 -1
- package/dist/numerical/engine-registry.js.map +1 -1
- package/dist/numerical/errors.d.ts +7 -3
- package/dist/numerical/errors.d.ts.map +1 -1
- package/dist/numerical/errors.js +5 -5
- package/dist/numerical/errors.js.map +1 -1
- package/dist/numerical/evaluator-uncertainty.d.ts +34 -0
- package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -0
- package/dist/numerical/evaluator-uncertainty.js +134 -0
- package/dist/numerical/evaluator-uncertainty.js.map +1 -0
- package/dist/numerical/formula-contract.d.ts +67 -7
- package/dist/numerical/formula-contract.d.ts.map +1 -1
- package/dist/numerical/formula-contract.js +68 -42
- package/dist/numerical/formula-contract.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts +17 -7
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js +120 -44
- package/dist/numerical/formula-dimension.js.map +1 -1
- package/dist/numerical/formula-mathts.d.ts.map +1 -1
- package/dist/numerical/formula-mathts.js +10 -3
- package/dist/numerical/formula-mathts.js.map +1 -1
- package/dist/numerical/formula-registry.d.ts +13 -3
- package/dist/numerical/formula-registry.d.ts.map +1 -1
- package/dist/numerical/formula-registry.js +7 -2
- package/dist/numerical/formula-registry.js.map +1 -1
- package/dist/numerical/geodesic-integrator.js.map +1 -1
- package/dist/numerical/geometrized.js.map +1 -1
- package/dist/numerical/gl4-integrator.d.ts +28 -27
- package/dist/numerical/gl4-integrator.d.ts.map +1 -1
- package/dist/numerical/gl4-integrator.js +44 -45
- package/dist/numerical/gl4-integrator.js.map +1 -1
- package/dist/numerical/grid-field.js.map +1 -1
- package/dist/numerical/index.js.map +1 -1
- package/dist/numerical/input-validation.d.ts +3 -6
- package/dist/numerical/input-validation.d.ts.map +1 -1
- package/dist/numerical/input-validation.js +4 -8
- package/dist/numerical/input-validation.js.map +1 -1
- package/dist/numerical/killing.d.ts +8 -5
- package/dist/numerical/killing.d.ts.map +1 -1
- package/dist/numerical/killing.js.map +1 -1
- package/dist/numerical/klein-gordon.js.map +1 -1
- package/dist/numerical/kretschmann.js.map +1 -1
- package/dist/numerical/lowering-utils.js.map +1 -1
- package/dist/numerical/lowering.d.ts.map +1 -1
- package/dist/numerical/lowering.js +7 -17
- package/dist/numerical/lowering.js.map +1 -1
- package/dist/numerical/mathts-engine.d.ts.map +1 -1
- package/dist/numerical/mathts-engine.js +11 -6
- package/dist/numerical/mathts-engine.js.map +1 -1
- package/dist/numerical/metric-inverse.js.map +1 -1
- package/dist/numerical/null-ic.js.map +1 -1
- package/dist/numerical/null-ray-integrator.js +4 -4
- package/dist/numerical/null-ray-integrator.js.map +1 -1
- package/dist/numerical/painleve-gullstrand-metric.js.map +1 -1
- package/dist/numerical/pderiv.d.ts.map +1 -1
- package/dist/numerical/pderiv.js +9 -2
- package/dist/numerical/pderiv.js.map +1 -1
- package/dist/numerical/perihelion-finder.js.map +1 -1
- package/dist/numerical/quadrature.d.ts +5 -2
- package/dist/numerical/quadrature.d.ts.map +1 -1
- package/dist/numerical/quadrature.js +20 -3
- package/dist/numerical/quadrature.js.map +1 -1
- package/dist/numerical/spacetime-metrics.d.ts +17 -19
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
- package/dist/numerical/spacetime-metrics.js +158 -250
- package/dist/numerical/spacetime-metrics.js.map +1 -1
- package/dist/numerical/strides.js.map +1 -1
- package/dist/numerical/tensor-engine.d.ts +9 -5
- package/dist/numerical/tensor-engine.d.ts.map +1 -1
- package/dist/numerical/tensor-engine.js.map +1 -1
- package/dist/numerical/types.js.map +1 -1
- package/dist/numerical/weyl-lowering.js.map +1 -1
- package/dist/relations/category.js.map +1 -1
- package/dist/relations/composition-table.d.ts +4 -4
- package/dist/relations/composition-table.js +4 -4
- package/dist/relations/composition-table.js.map +1 -1
- package/dist/relations/conventions.js.map +1 -1
- package/dist/relations/domain-regimes.js.map +1 -1
- package/dist/relations/regime-registration.js.map +1 -1
- package/dist/relations/regime-vocabularies.js.map +1 -1
- package/dist/relations/regime.d.ts +18 -8
- package/dist/relations/regime.d.ts.map +1 -1
- package/dist/relations/regime.js +26 -14
- package/dist/relations/regime.js.map +1 -1
- package/dist/relations/types.d.ts +26 -6
- package/dist/relations/types.d.ts.map +1 -1
- package/dist/relations/types.js +15 -3
- package/dist/relations/types.js.map +1 -1
- package/package.json +10 -14
- package/dist/bridges/registry.d.ts +0 -60
- package/dist/bridges/registry.d.ts.map +0 -1
- package/dist/bridges/registry.js +0 -87
- package/dist/bridges/registry.js.map +0 -1
- package/dist/cli/poster-source.d.ts +0 -154
- package/dist/cli/poster-source.d.ts.map +0 -1
- package/dist/cli/poster-source.js +0 -184
- package/dist/cli/poster-source.js.map +0 -1
|
@@ -36,8 +36,10 @@ export interface Convergence {
|
|
|
36
36
|
readonly fine: number;
|
|
37
37
|
/**
|
|
38
38
|
* `coarse / fine`. Greater than 1 ⇒ refinement helped. `Infinity` when the
|
|
39
|
-
* fine error is exactly zero
|
|
40
|
-
* scheme and must not be reported as a
|
|
39
|
+
* fine error is exactly zero and the coarse one is not, which is a
|
|
40
|
+
* legitimate outcome for an exact scheme and must not be reported as a
|
|
41
|
+
* failure. `NaN` when BOTH errors are exactly zero: `0/0` has no value,
|
|
42
|
+
* and the run is `'unresolved'` with reason `'no-error-to-reduce'`.
|
|
41
43
|
*/
|
|
42
44
|
readonly ratio: number;
|
|
43
45
|
}
|
|
@@ -51,14 +53,16 @@ export interface NumericWitnessSpec {
|
|
|
51
53
|
* only requires that `fineResolution` is the more refined of the two.
|
|
52
54
|
*/
|
|
53
55
|
readonly evaluate: (resolution: number) => number;
|
|
54
|
-
/** The value the claim should reproduce. */
|
|
56
|
+
/** The value the claim should reproduce. A non-finite target is `'unresolved'`. */
|
|
55
57
|
readonly target: number;
|
|
56
58
|
readonly coarseResolution: number;
|
|
57
59
|
readonly fineResolution: number;
|
|
58
60
|
/**
|
|
59
61
|
* Absolute tolerance the FINE evaluation must meet. Required: a default
|
|
60
62
|
* tolerance is a claim about accuracy that the caller, not this module,
|
|
61
|
-
* is entitled to make.
|
|
63
|
+
* is entitled to make. A tolerance that is not a finite number ≥ 0 is
|
|
64
|
+
* `'unresolved'`: `fine > NaN` is false, so a NaN here would otherwise
|
|
65
|
+
* report `'checked'` for any fine value.
|
|
62
66
|
*/
|
|
63
67
|
readonly tolerance: number;
|
|
64
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"witness-numeric.d.ts","sourceRoot":"","sources":["../../src/atlas/witness-numeric.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,2EAA2E;AAC3E,MAAM,WAAW,WAAW;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,uBAAuB;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB
|
|
1
|
+
{"version":3,"file":"witness-numeric.d.ts","sourceRoot":"","sources":["../../src/atlas/witness-numeric.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,2EAA2E;AAC3E,MAAM,WAAW,WAAW;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,uBAAuB;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,wEAAwE;AACxE,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAClD,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,mFAAmF;AACnF,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,mEAAmE;IACnE,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;CACpC;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,uBAAuB,CAuGnF"}
|
|
@@ -40,6 +40,19 @@ export function runNumericWitness(spec) {
|
|
|
40
40
|
const started = Date.now();
|
|
41
41
|
const base = { witnessId: spec.id, kind: 'numeric' };
|
|
42
42
|
const elapsed = () => Date.now() - started;
|
|
43
|
+
// A NaN target or tolerance makes every comparison below false, which
|
|
44
|
+
// would read as `'checked'`. Nothing is evaluated against a claim that
|
|
45
|
+
// does not state a finite target and a finite, non-negative tolerance.
|
|
46
|
+
if (!Number.isFinite(spec.target) || !Number.isFinite(spec.tolerance) || spec.tolerance < 0) {
|
|
47
|
+
return {
|
|
48
|
+
...base,
|
|
49
|
+
status: 'unresolved',
|
|
50
|
+
reason: 'parse-error',
|
|
51
|
+
detail: `The claim does not state a finite target and a finite non-negative tolerance ` +
|
|
52
|
+
`(target ${spec.target}, tolerance ${spec.tolerance}). Nothing is concluded from it.`,
|
|
53
|
+
elapsedMs: elapsed(),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
43
56
|
let coarseValue;
|
|
44
57
|
let fineValue;
|
|
45
58
|
try {
|
|
@@ -68,9 +81,21 @@ export function runNumericWitness(spec) {
|
|
|
68
81
|
const coarse = Math.abs(coarseValue - spec.target);
|
|
69
82
|
const fine = Math.abs(fineValue - spec.target);
|
|
70
83
|
// fine === 0 ⇒ an exact scheme. Infinity is the honest ratio there, and the
|
|
71
|
-
// comparisons below treat it as "refinement helped", which it did.
|
|
72
|
-
|
|
84
|
+
// comparisons below treat it as "refinement helped", which it did. Both
|
|
85
|
+
// zero is 0/0: no ratio exists, and that case is reported on its own below.
|
|
86
|
+
const ratio = fine === 0 ? (coarse === 0 ? Number.NaN : Infinity) : coarse / fine;
|
|
73
87
|
const convergence = { coarse, fine, ratio };
|
|
88
|
+
if (coarse === 0 && fine === 0) {
|
|
89
|
+
return {
|
|
90
|
+
...base,
|
|
91
|
+
status: 'unresolved',
|
|
92
|
+
reason: 'no-error-to-reduce',
|
|
93
|
+
convergence,
|
|
94
|
+
detail: 'Both resolutions reproduce the target exactly, so there was no error for ' +
|
|
95
|
+
'refinement to reduce. Agreement is recorded; convergence is not shown.',
|
|
96
|
+
elapsedMs: elapsed(),
|
|
97
|
+
};
|
|
98
|
+
}
|
|
74
99
|
if (fine > spec.tolerance) {
|
|
75
100
|
return {
|
|
76
101
|
...base,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"witness-numeric.js","sourceRoot":"","sources":["../../src/atlas/witness-numeric.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AA+CH;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAwB;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IAEnD,IAAI,WAAmB,CAAC;IACxB,IAAI,SAAiB,CAAC;IACtB,IAAI,CAAC;QACH,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnD,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,oDAAoD,MAAM,CAAC,GAAG,CAAC,GAAG;YAC1E,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjE,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,aAAa;YACrB,MAAM,EACJ,kDAAkD,WAAW,SAAS;gBACtE,GAAG,SAAS,kCAAkC;YAChD,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,4EAA4E;IAC5E,mEAAmE;IACnE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;IACzE,MAAM,WAAW,GAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAEzD,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,SAAS;YACjB,WAAW;YACX,MAAM,EACJ,4CAA4C,IAAI,uBAAuB;gBACvE,aAAa,IAAI,CAAC,SAAS,GAAG;YAChC,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,gBAAgB;YACxB,WAAW;YACX,MAAM,EACJ,8CAA8C,KAAK,uBAAuB;gBAC1E,2EAA2E;gBAC3E,uDAAuD;YACzD,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,SAAS;QACjB,WAAW;QACX,MAAM,EACJ,cAAc,IAAI,wBAAwB,IAAI,CAAC,SAAS,mBAAmB;YAC3E,oCAAoC,KAAK,GAAG;QAC9C,SAAS,EAAE,OAAO,EAAE;KACrB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"witness-numeric.js","sourceRoot":"","sources":["../../src/atlas/witness-numeric.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAmDH;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAwB;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IAEnD,sEAAsE;IACtE,uEAAuE;IACvE,uEAAuE;IACvE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QAC5F,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,aAAa;YACrB,MAAM,EACJ,+EAA+E;gBAC/E,WAAW,IAAI,CAAC,MAAM,eAAe,IAAI,CAAC,SAAS,kCAAkC;YACvF,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,IAAI,WAAmB,CAAC;IACxB,IAAI,SAAiB,CAAC;IACtB,IAAI,CAAC;QACH,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnD,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,oDAAoD,MAAM,CAAC,GAAG,CAAC,GAAG;YAC1E,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjE,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,aAAa;YACrB,MAAM,EACJ,kDAAkD,WAAW,SAAS;gBACtE,GAAG,SAAS,kCAAkC;YAChD,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,4EAA4E;IAC5E,wEAAwE;IACxE,4EAA4E;IAC5E,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;IAClF,MAAM,WAAW,GAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAEzD,IAAI,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,oBAAoB;YAC5B,WAAW;YACX,MAAM,EACJ,2EAA2E;gBAC3E,wEAAwE;YAC1E,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,SAAS;YACjB,WAAW;YACX,MAAM,EACJ,4CAA4C,IAAI,uBAAuB;gBACvE,aAAa,IAAI,CAAC,SAAS,GAAG;YAChC,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,gBAAgB;YACxB,WAAW;YACX,MAAM,EACJ,8CAA8C,KAAK,uBAAuB;gBAC1E,2EAA2E;gBAC3E,uDAAuD;YACzD,SAAS,EAAE,OAAO,EAAE;SACrB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,SAAS;QACjB,WAAW;QACX,MAAM,EACJ,cAAc,IAAI,wBAAwB,IAAI,CAAC,SAAS,mBAAmB;YAC3E,oCAAoC,KAAK,GAAG;QAC9C,SAAS,EAAE,OAAO,EAAE;KACrB,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Atlas Phase 4, S4.2 — the numeric witness runner.\n *\n * Design note: `docs/planning/Atlas-Phase-4-Design.md` §2.3.\n *\n * A numeric witness evaluates a claim at TWO resolutions and reports whether\n * refinement moved the answer toward the target. Two resolutions are the\n * minimum that can say anything at all: one number agreeing with a target is\n * consistent with a scheme that is simply wrong by an amount the tolerance\n * happens to admit.\n *\n * ## The ratio is REPORTED, never compared against an expected order\n *\n * `convergence.ratio = |coarse − target| / |fine − target|` is the factor by\n * which refinement reduced the error. A second-order scheme halving its step\n * should give ≈ 4; a first-order one ≈ 2. **Nothing here asserts which.** The\n * witnesses in hand do not all record their scheme's order, and asserting an\n * order nobody wrote down would be fabrication of exactly the kind this sprint\n * forbids. The number goes into the results artifact; a reviewer reads it.\n *\n * What the runner DOES decide is the weaker, checkable thing: a ratio at or\n * below 1 means refinement did NOT improve the answer, and that earns\n * `'unresolved'` rather than `'checked'` — a fine value that happens to land\n * inside the tolerance while refinement is not converging is agreement by\n * accident, and the tolerance alone cannot tell the two apart.\n *\n * @module atlas/witness-numeric\n * @internal\n */\n\nimport type { WitnessRunResult } from './witness-result.js';\n\n/** The two-resolution error record a numeric witness carries. @internal */\nexport interface Convergence {\n /** |coarse − target| in the witness's own units. */\n readonly coarse: number;\n /** |fine − target|. */\n readonly fine: number;\n /**\n * `coarse / fine`. Greater than 1 ⇒ refinement helped. `Infinity` when the\n * fine error is exactly zero and the coarse one is not, which is a\n * legitimate outcome for an exact scheme and must not be reported as a\n * failure. `NaN` when BOTH errors are exactly zero: `0/0` has no value,\n * and the run is `'unresolved'` with reason `'no-error-to-reduce'`.\n */\n readonly ratio: number;\n}\n\n/** What a numeric witness asserts, and how to evaluate it. @internal */\nexport interface NumericWitnessSpec {\n /** The `Witness.id`. */\n readonly id: string;\n /**\n * Evaluate the claim at a resolution. The meaning of the argument is the\n * witness's own (a step count, a grid size, a truncation order); the runner\n * only requires that `fineResolution` is the more refined of the two.\n */\n readonly evaluate: (resolution: number) => number;\n /** The value the claim should reproduce. A non-finite target is `'unresolved'`. */\n readonly target: number;\n readonly coarseResolution: number;\n readonly fineResolution: number;\n /**\n * Absolute tolerance the FINE evaluation must meet. Required: a default\n * tolerance is a claim about accuracy that the caller, not this module,\n * is entitled to make. A tolerance that is not a finite number ≥ 0 is\n * `'unresolved'`: `fine > NaN` is false, so a NaN here would otherwise\n * report `'checked'` for any fine value.\n */\n readonly tolerance: number;\n}\n\n/** A result that also carries the two-resolution record, when one was produced. */\nexport interface NumericWitnessRunResult extends WitnessRunResult {\n readonly kind: 'numeric';\n /** Absent only when evaluation threw before any number existed. */\n readonly convergence?: Convergence;\n}\n\n/**\n * Run one numeric witness at two resolutions.\n *\n * @param spec - the claim and its two resolutions.\n * @returns a result carrying `convergence`; **never throws** — an evaluation\n * that throws is `'unresolved'` with `'parse-error'`, because a scheme that\n * blew up has not refuted the physics it was evaluating.\n * @internal\n */\nexport function runNumericWitness(spec: NumericWitnessSpec): NumericWitnessRunResult {\n const started = Date.now();\n const base = { witnessId: spec.id, kind: 'numeric' as const };\n const elapsed = (): number => Date.now() - started;\n\n // A NaN target or tolerance makes every comparison below false, which\n // would read as `'checked'`. Nothing is evaluated against a claim that\n // does not state a finite target and a finite, non-negative tolerance.\n if (!Number.isFinite(spec.target) || !Number.isFinite(spec.tolerance) || spec.tolerance < 0) {\n return {\n ...base,\n status: 'unresolved',\n reason: 'parse-error',\n detail:\n `The claim does not state a finite target and a finite non-negative tolerance ` +\n `(target ${spec.target}, tolerance ${spec.tolerance}). Nothing is concluded from it.`,\n elapsedMs: elapsed(),\n };\n }\n\n let coarseValue: number;\n let fineValue: number;\n try {\n coarseValue = spec.evaluate(spec.coarseResolution);\n fineValue = spec.evaluate(spec.fineResolution);\n } catch (err) {\n return {\n ...base,\n status: 'unresolved',\n reason: 'parse-error',\n detail: `Evaluation threw rather than producing a number: ${String(err)}.`,\n elapsedMs: elapsed(),\n };\n }\n\n if (!Number.isFinite(coarseValue) || !Number.isFinite(fineValue)) {\n return {\n ...base,\n status: 'unresolved',\n reason: 'parse-error',\n detail:\n `Evaluation produced a non-finite value (coarse ${coarseValue}, fine ` +\n `${fineValue}). Nothing is concluded from it.`,\n elapsedMs: elapsed(),\n };\n }\n\n const coarse = Math.abs(coarseValue - spec.target);\n const fine = Math.abs(fineValue - spec.target);\n // fine === 0 ⇒ an exact scheme. Infinity is the honest ratio there, and the\n // comparisons below treat it as \"refinement helped\", which it did. Both\n // zero is 0/0: no ratio exists, and that case is reported on its own below.\n const ratio = fine === 0 ? (coarse === 0 ? Number.NaN : Infinity) : coarse / fine;\n const convergence: Convergence = { coarse, fine, ratio };\n\n if (coarse === 0 && fine === 0) {\n return {\n ...base,\n status: 'unresolved',\n reason: 'no-error-to-reduce',\n convergence,\n detail:\n 'Both resolutions reproduce the target exactly, so there was no error for ' +\n 'refinement to reduce. Agreement is recorded; convergence is not shown.',\n elapsedMs: elapsed(),\n };\n }\n\n if (fine > spec.tolerance) {\n return {\n ...base,\n status: 'refuted',\n convergence,\n detail:\n `The fine evaluation misses the target by ${fine}, outside the stated ` +\n `tolerance ${spec.tolerance}.`,\n elapsedMs: elapsed(),\n };\n }\n\n if (ratio <= 1) {\n return {\n ...base,\n status: 'unresolved',\n reason: 'no-convergence',\n convergence,\n detail:\n `Refinement did not reduce the error (ratio ${ratio}). The fine value is ` +\n 'inside tolerance, but agreement that does not improve with refinement is ' +\n 'not evidence that the scheme converges to the target.',\n elapsedMs: elapsed(),\n };\n }\n\n return {\n ...base,\n status: 'checked',\n convergence,\n detail:\n `Fine error ${fine} is within tolerance ${spec.tolerance}, and refinement ` +\n `reduced the error by a factor of ${ratio}.`,\n elapsedMs: elapsed(),\n };\n}\n"]}
|
|
@@ -47,7 +47,13 @@ export type UnresolvedReason =
|
|
|
47
47
|
/** The check ran to completion and neither confirmed nor refuted. */
|
|
48
48
|
| 'not-simplified'
|
|
49
49
|
/** Refinement did not improve the answer, so nothing is concluded. */
|
|
50
|
-
| 'no-convergence'
|
|
50
|
+
| 'no-convergence'
|
|
51
|
+
/**
|
|
52
|
+
* Both resolutions hit the target exactly, so there was no error for
|
|
53
|
+
* refinement to reduce and convergence cannot be shown. Not a failure of
|
|
54
|
+
* the scheme and not a demonstration of it.
|
|
55
|
+
*/
|
|
56
|
+
| 'no-error-to-reduce';
|
|
51
57
|
/** What one witness run produced. @internal */
|
|
52
58
|
export interface WitnessRunResult {
|
|
53
59
|
/** The `Witness.id` this run corresponds to (`'W7b'`). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"witness-result.d.ts","sourceRoot":"","sources":["../../src/atlas/witness-result.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB;AAC1B,kEAAkE;AAChE,aAAa;AACf,8DAA8D;GAC5D,SAAS;AACX,yDAAyD;GACvD,aAAa;AACf,qEAAqE;GACnE,gBAAgB;AAClB,sEAAsE;GACpE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"witness-result.d.ts","sourceRoot":"","sources":["../../src/atlas/witness-result.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB;AAC1B,kEAAkE;AAChE,aAAa;AACf,8DAA8D;GAC5D,SAAS;AACX,yDAAyD;GACvD,aAAa;AACf,qEAAqE;GACnE,gBAAgB;AAClB,sEAAsE;GACpE,gBAAgB;AAClB;;;;GAIG;GACD,oBAAoB,CAAC;AAEzB,+CAA+C;AAC/C,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,iEAAiE;IACjE,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,gBAAgB,EAAE,GACnC,WAAW,CAAC,MAAM,CAAC,CAErB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"witness-result.js","sourceRoot":"","sources":["../../src/atlas/witness-result.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;
|
|
1
|
+
{"version":3,"file":"witness-result.js","sourceRoot":"","sources":["../../src/atlas/witness-result.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAmDH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAoC;IAEpC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AACxF,CAAC","sourcesContent":["/**\n * Atlas Phase 4, S4.2 — the shape a witness run reports.\n *\n * Design note: `docs/planning/Atlas-Phase-4-Design.md` §2.2.\n *\n * **The load-bearing distinction in this file: a check that DID NOT RUN is not\n * a check that FAILED.** Peer absent, budget exhausted, and parser throw are\n * all `'unresolved'`, each carrying the reason it could not answer. Only a\n * check that COMPLETES and finds a disagreement is `'refuted'`.\n *\n * This repo has been bitten by exactly that conflation more than once — a\n * checker that discarded its own stderr manufactured a false negative\n * indistinguishable from a clean pass. Folding \"could not run\" into \"failed\"\n * is the same defect with the sign flipped: it turns a missing optional peer\n * into a refutation of the physics.\n *\n * Nothing here throws. A runner that threw would force every caller into a\n * `try`/`catch` whose `catch` arm cannot tell which of the three outcomes it\n * is looking at.\n *\n * @module atlas/witness-result\n * @internal\n */\n\n/**\n * What a witness run concluded.\n *\n * - `'checked'` — the check RAN and the claim held.\n * - `'refuted'` — the check RAN and the claim did not hold.\n * - `'unresolved'` — the check did not run, or ran and could not decide.\n *\n * @internal\n */\nexport type WitnessStatus = 'checked' | 'refuted' | 'unresolved';\n\n/**\n * Why a witness is `'unresolved'`. Required on that status so a reader never\n * has to guess which of four very different situations produced it.\n *\n * @internal\n */\nexport type UnresolvedReason =\n /** The optional peer that performs the check is not installed. */\n | 'peer-absent'\n /** The wall-clock budget elapsed before an answer arrived. */\n | 'timeout'\n /** The input could not be parsed or evaluated at all. */\n | 'parse-error'\n /** The check ran to completion and neither confirmed nor refuted. */\n | 'not-simplified'\n /** Refinement did not improve the answer, so nothing is concluded. */\n | 'no-convergence'\n /**\n * Both resolutions hit the target exactly, so there was no error for\n * refinement to reduce and convergence cannot be shown. Not a failure of\n * the scheme and not a demonstration of it.\n */\n | 'no-error-to-reduce';\n\n/** What one witness run produced. @internal */\nexport interface WitnessRunResult {\n /** The `Witness.id` this run corresponds to (`'W7b'`). */\n readonly witnessId: string;\n readonly kind: 'symbolic' | 'numeric';\n readonly status: WitnessStatus;\n /** REQUIRED when `status === 'unresolved'`, absent otherwise. */\n readonly reason?: UnresolvedReason;\n /** Human-readable note — never the discriminator, always the explanation. */\n readonly detail: string;\n /** Milliseconds the runner waited. */\n readonly elapsedMs: number;\n}\n\n/**\n * The ids of runs that CHECKED, as `deriveEvidence` wants its\n * `passingWitnessIds` argument.\n *\n * A convenience with one purpose: keep the mapping from run results to\n * \"passing\" in ONE place. Writing `results.filter(r => r.status !== 'refuted')`\n * at a call site would hand `symbolically-checked` to every unresolved run —\n * the free-tag defect `derive-evidence.ts` documents at length, reintroduced\n * one layer up.\n *\n * @internal\n */\nexport function passingWitnessIds(\n results: readonly WitnessRunResult[],\n): ReadonlySet<string> {\n return new Set(results.filter((r) => r.status === 'checked').map((r) => r.witnessId));\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"witness-specs.js","sourceRoot":"","sources":["../../src/atlas/witness-specs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"witness-specs.js","sourceRoot":"","sources":["../../src/atlas/witness-specs.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 4, S4.3 — the EXECUTABLE witness registry.\n *\n * Design note: `docs/planning/Atlas-Phase-4-Design.md` §3.\n *\n * A `Witness` record names a check and the test file that runs it; it carries\n * nothing a runner can execute. This module holds the executable form of every\n * witness the results artifact covers, keyed by the record it supports. The\n * Lead-run `scripts/emit-witness-results.mjs` runs exactly this list, and\n * `tests/atlas/witness-results.test.ts` deep-equals the committed artifact\n * against a fresh run of it.\n *\n * ## The symbolic specs apply the bridge's DICTIONARY, they do not restate it\n *\n * Writing `lhs` and `rhs` as two hand-typed ASTs that happen to be equal would\n * check nothing but the typist. Each spec below starts from the PREMISE\n * model's expression and pushes it through the bridge's variable dictionary\n * with `substitute`; the CAS then has to show that the result equals the\n * CONCLUSION model's expression. What is checked is the dictionary.\n *\n * @module atlas/witness-specs\n * @internal\n */\n\nimport type { ExprNode } from '../dimensional/ast-types.js';\nimport { sym } from '../dimensional/ast-builders.js';\nimport { DIMENSIONLESS, ENERGY, LENGTH, MASS } from '../dimensional/types.js';\nimport { substitute } from '../composition/expr-subst.js';\nimport {\n CAPACITANCE,\n DAMPING,\n INDUCTANCE,\n RESISTANCE,\n SPRING_CONSTANT,\n} from './oscillators/dimensions.js';\nimport {\n heatSteadyDeviation,\n langevinMsdRatio,\n telegraphSlowRateRatio,\n telegraphWaveFrequencyRatio,\n diffusionKernel,\n gaussianSpread,\n heatFtcsCentre,\n randomWalkCentralDensity,\n wickHeatResidual,\n} from './diffusion/numerics.js';\nimport type {\n HeatFixture,\n LangevinFixture,\n SteadyStateFixture,\n WickFixture,\n} from './diffusion/numerics.js';\nimport { DENSITY, DIFFUSIVITY, SPECIFIC_HEAT, THERMAL_CONDUCTIVITY } from './diffusion/dimensions.js';\nimport { VISCOSITY } from './diffusion/models.js';\nimport { wickRotatedFreeKernel } from './witnesses/quantum-support.js';\nimport {\n kgNonrelativisticError,\n kgUniformModeValue,\n stiffStringPhaseVelocity,\n acousticLeapfrogQuarter,\n dalembertResidual,\n kleinGordonPhaseVelocity,\n stringLeapfrogMidpoint,\n} from './waves/numerics.js';\nimport type { AcousticFixture, DalembertFixture, StringFixture } from './waves/numerics.js';\nimport { pendulumPeriodErrorAt } from './oscillators/bridges-limits.js';\nimport { SPRING_LC_RELATIVE_PERIOD_TRANSPORT, W1TAU_FIXTURE } from './oscillators/norm-transport.js';\nimport { measureTransportedPeriodError } from './oscillators/norm-transport-witness.js';\nimport { dampedOffsetBoundAt } from './oscillators/bridges-limits.js';\nimport { dispersionErrorApproximation } from './oscillators/bridges-coarse.js';\nimport {\n measureChainDispersionError,\n measureMasslessOffset,\n measurePendulumPeriodRatio,\n W7_FIXTURE,\n W8B_FIXTURE,\n W9_FIXTURE,\n} from './oscillators/limit-witnesses.js';\nimport type { NumericWitnessSpec } from './witness-numeric.js';\nimport type { SymbolicWitnessSpec } from './witness-symbolic.js';\n\n/** A symbolic spec bound to the record it supports. @internal */\nexport interface RegisteredSymbolicWitness {\n /** The `AtlasBridge.id` (or other record id) the witness belongs to. */\n readonly recordId: string;\n readonly kind: 'symbolic';\n readonly spec: SymbolicWitnessSpec;\n}\n\n/**\n * The claim of its record a witness tests. `tests/atlas/witness-claims.test.ts`\n * checks each attribution against the spec.\n *\n * - `'bound'`: at `at(fineResolution)`, a point inside the record's regime, the\n * witness's error is the bound's own quantity in the bound's norm (it equals\n * `deltaAt` there: the bound is sharp), and its tolerance is no looser than\n * `delta`, so the bound failing there refutes the witness.\n * - `'bound-holds-at'`: for a bound that is not sharp. At that point, inside the\n * regime, the witness's error is measured in the bound's norm and its\n * tolerance IS `deltaAt` there, so the bound failing at that point refutes the\n * witness. That the spec measures the bound's norm is checked beside the spec.\n * - `'preserves'`: the witness tests `item`, one entry of the record's\n * `preserves`, at a point inside the regime.\n *\n * @internal\n */\nexport type WitnessClaim =\n | {\n readonly name: 'bound' | 'bound-holds-at';\n /** The point the spec evaluates at a resolution, in the names the bound's `deltaAt` reads. */\n readonly at: (resolution: number) => Readonly<Record<string, number>>;\n }\n | {\n readonly name: 'preserves';\n /** One entry of the record's `preserves`, verbatim. */\n readonly item: string;\n /** The point the spec evaluates at a resolution, in the names the regime's groups read. */\n readonly at: (resolution: number) => Readonly<Record<string, number>>;\n };\n\n/** A numeric spec bound to the record it supports. @internal */\nexport interface RegisteredNumericWitness {\n readonly recordId: string;\n readonly kind: 'numeric';\n readonly spec: NumericWitnessSpec;\n /** Absent: the witness is not attributed to any one claim of its record. */\n readonly claim?: WitnessClaim;\n}\n\n/** One entry of the registry. @internal */\nexport type RegisteredWitness = RegisteredSymbolicWitness | RegisteredNumericWitness;\n\nconst op = (o: '*' | '/' | '+' | '-' | '^', ...args: ExprNode[]): ExprNode => ({\n kind: 'op',\n op: o,\n args,\n});\nconst n = (value: number): ExprNode => sym(String(value), DIMENSIONLESS);\n\n/**\n * Push `expr` through a variable dictionary, REFUSING a mapping that matches no\n * leaf. A zero-occurrence substitution is a silent no-op that would leave the\n * premise variable in place and let the check pass or fail for the wrong\n * reason — the same guard `composeSymbolic` applies (Adam A-3).\n */\nfunction applyDictionary(expr: ExprNode, dictionary: Readonly<Record<string, ExprNode>>): ExprNode {\n let out = expr;\n for (const [name, replacement] of Object.entries(dictionary)) {\n const r = substitute(out, name, replacement);\n if (r.count === 0) {\n throw new Error(`witness-specs: dictionary entry '${name}' matches no leaf`);\n }\n out = r.expr;\n }\n return out;\n}\n\n// Spring and LC symbols, with the dimensions the oscillator models declare.\nconst m = sym('m', MASS);\nconst k = sym('k', SPRING_CONSTANT);\nconst b = sym('b', DAMPING);\nconst L = sym('L', INDUCTANCE);\nconst C = sym('C', CAPACITANCE);\nconst R = sym('R', RESISTANCE);\n\n/** The spring ↔ circuit dictionary of `ab-spring-lc` / `ab-damped-rlc`: m ↔ L, k ↔ 1/C, b ↔ R. */\nconst SPRING_TO_CIRCUIT: Readonly<Record<string, ExprNode>> = {\n m: L,\n k: op('/', n(1), C),\n b: R,\n};\n\n// ── Diffusion family (S4.4) ────────────────────────────────────────────────\n\n/** WD1 fixture: D and t, fixed while the walk is refined. @internal */\nexport const WD1_FIXTURE = { D: 0.5, t: 2 } as const;\n\n/**\n * WD2 fixture. κ, ρ and c_p are chosen so the heat equation's own variables\n * are all different from 1 while κ/(ρ c_p) = 1: a dictionary that dropped or\n * inverted a factor would move the answer.\n *\n * @internal\n */\nexport const WD2_FIXTURE: HeatFixture = {\n kappa: 2,\n rho: 4,\n cp: 0.5,\n s0: 0.05,\n tEnd: 0.2,\n halfWidth: 4,\n};\n\n/** WD3 fixture: an off-centre point, so no symmetry zeroes a derivative. @internal */\nexport const WD3_FIXTURE: WickFixture = { hbar: 1, m: 0.5, s: 0.7, x: 0.3, tau: 0.4, h0: 0.1 };\n\nconst kappa = sym('kappa', THERMAL_CONDUCTIVITY);\nconst rho = sym('rho', DENSITY);\nconst cp = sym('cp', SPECIFIC_HEAT);\nconst D = sym('D', DIFFUSIVITY);\nconst q = sym('q', { ...LENGTH, L: -1 });\n\n// ── Wave family (S4.5) ─────────────────────────────────────────────────────\n\n/** WS1 fixture: F and μ both ≠ 1 while c = √(F/μ) = 2. @internal */\nexport const WS1_FIXTURE: StringFixture = { tension: 2, mu: 0.5, tEnd: 0.3 };\n\n/** WS2 fixture: an off-centre point where both profiles contribute. @internal */\nexport const WS2_FIXTURE: DalembertFixture = { c: 1.5, x: 0.4, t: 0.3, h0: 0.1 };\n\n/** WS3 fixture: γ = 1.4 with nondimensional p₀ = 1, ρ₀ = 1.2. @internal */\nexport const WS3_FIXTURE: AcousticFixture = { p0: 1, rho0: 1.2, gamma: 1.4, tEnd: 0.37 };\n\n/** WS4 fixture: ω₀ = c = 1, base wavenumber k₀ = 10 (the domain edge ω₀/(ck) = 0.1). @internal */\nexport const WS4_FIXTURE = { omega0: 1, c: 1, k0: 10 } as const;\n\n// ── Sprint 4 closure ───────────────────────────────────────────────────────\n\n/** WD4 fixture: m, γ, k_BT all ≠ 1; τ_p = m/γ = 4. @internal */\nexport const WD4_FIXTURE: LangevinFixture = { m: 2, gamma: 0.5, kT: 1.5 };\n\n/** WD6 base: τ₀ = 0.1 with D = q = 1, so ε = τ at the resolution's τ = τ₀/resolution. @internal */\nexport const WD6_FIXTURE = { tau0: 0.1, D: 1, q: 1 } as const;\n\n/** WD7 base: ε = 25 · resolution with D = q = 1. @internal */\nexport const WD7_FIXTURE = { eps0: 25, D: 1, q: 1 } as const;\n\n/** WD8 fixture: a unit rod held at 2 and 5, base time 0.1 (Fourier number 0.1 per unit). @internal */\nexport const WD8_FIXTURE: SteadyStateFixture = {\n alpha: 1,\n ell: 1,\n tLeft: 2,\n tRight: 5,\n t0: 0.1,\n cells: 40,\n};\n\n/** WS5 base: x₀ = ck/ω₀ = 0.1, halved per resolution step. @internal */\nexport const WS5_FIXTURE = { x0: 0.1 } as const;\n\n/** WS6 fixture: c = 1, ω₀ = 2, t = 3; resolution = time steps. @internal */\nexport const WS6_FIXTURE = { c: 1, omega0: 2, tEnd: 3 } as const;\n\n/** WS7 fixture: F = 100, μ = 0.01 (so √(F/μ) = 100), EI = 0.01, k₀ = 10 (β = 0.01 at res 1). @internal */\nexport const WS7_FIXTURE = { F: 100, mu: 0.01, EI: 0.01, k0: 10 } as const;\n\nconst kT = sym('kT', ENERGY);\nconst gammaSym = sym('gamma', DAMPING);\nconst eta = sym('eta', VISCOSITY);\nconst a = sym('a', LENGTH);\nconst pi = sym('pi', DIMENSIONLESS);\n\n/**\n * Every witness the results artifact covers, in a fixed order (the artifact is\n * emitted in this order, so reordering is a reviewable diff, not churn).\n *\n * @internal\n */\nexport const WITNESS_REGISTRY: readonly RegisteredWitness[] = [\n {\n // ω0² of the spring, pushed through the dictionary, is ω0² of the LC circuit.\n recordId: 'ab-spring-lc',\n kind: 'symbolic',\n spec: {\n id: 'W1s',\n lhs: applyDictionary(op('/', k, m), { m: SPRING_TO_CIRCUIT['m']!, k: SPRING_TO_CIRCUIT['k']! }),\n rhs: op('/', n(1), op('*', L, C)),\n },\n },\n {\n // ζ² of the damped spring, b²/(4mk), pushed through the dictionary, is ζ² of\n // the RLC circuit, R²C/(4L). The squared form avoids a fractional exponent\n // on a dimensioned base, which the grammar forbids.\n recordId: 'ab-damped-rlc',\n kind: 'symbolic',\n spec: {\n id: 'W2s',\n lhs: applyDictionary(op('/', op('^', b, n(2)), op('*', n(4), m, k)), SPRING_TO_CIRCUIT),\n rhs: op('/', op('*', op('^', R, n(2)), C), op('*', n(4), L)),\n },\n },\n {\n // Norm transport, not a bridge claim: the pendulum's image under ab-spring-lc's\n // map, integrated in circuit time, has K times the pendulum's relative period\n // error against the circuit. Keyed by the transport id, so the bridge's own\n // evidence is not derived from it (ADR-transported-norm-composition.md §4).\n recordId: SPRING_LC_RELATIVE_PERIOD_TRANSPORT.id,\n kind: 'numeric',\n spec: {\n id: SPRING_LC_RELATIVE_PERIOD_TRANSPORT.witness.id,\n evaluate: (steps) => measureTransportedPeriodError(W1TAU_FIXTURE.theta0, steps),\n target: SPRING_LC_RELATIVE_PERIOD_TRANSPORT.KAt({}) * pendulumPeriodErrorAt({ theta0: W1TAU_FIXTURE.theta0 }),\n coarseResolution: 160,\n fineResolution: 640,\n tolerance: 1e-9,\n },\n },\n {\n // Coarse-graining: the walk's density at the origin converges to the\n // diffusion kernel as the closure D = Δx²/(2Δt) is held and Δt → 0.\n recordId: 'ab-walk-diffusion',\n kind: 'numeric',\n spec: {\n id: 'WD1',\n evaluate: (steps) => randomWalkCentralDensity(steps, WD1_FIXTURE.D, WD1_FIXTURE.t),\n target: diffusionKernel(0, WD1_FIXTURE.t, WD1_FIXTURE.D),\n coarseResolution: 100,\n fineResolution: 1000,\n tolerance: 1e-4,\n },\n },\n {\n // Exact equivalence: the HEAT equation, solved in κ, ρ, c_p, reproduces the\n // FICK solution with D = κ/(ρ c_p).\n recordId: 'ab-heat-diffusion',\n kind: 'numeric',\n spec: {\n id: 'WD2',\n evaluate: (cells) => heatFtcsCentre(cells, WD2_FIXTURE),\n target: gaussianSpread(\n 0,\n WD2_FIXTURE.tEnd,\n WD2_FIXTURE.kappa / (WD2_FIXTURE.rho * WD2_FIXTURE.cp),\n WD2_FIXTURE.s0,\n ),\n coarseResolution: 80,\n fineResolution: 160,\n tolerance: 5e-4,\n },\n },\n {\n // The heat side's Fourier-mode decay rate κq²/(ρ c_p), pushed through the\n // inverse dictionary κ ↦ D ρ c_p, is the Fick side's D q².\n recordId: 'ab-heat-diffusion',\n kind: 'symbolic',\n spec: {\n id: 'WD2s',\n lhs: applyDictionary(op('/', op('*', kappa, op('^', q, n(2))), op('*', rho, cp)), {\n kappa: op('*', D, rho, cp),\n }),\n rhs: op('*', D, op('^', q, n(2))),\n },\n },\n {\n // Analytic continuation: the Wick-rotated free kernel satisfies the\n // diffusion equation with D = ħ/(2m); the residual's target is zero.\n recordId: 'ab-schrodinger-diffusion',\n kind: 'numeric',\n spec: {\n id: 'WD3',\n evaluate: (resolution) => wickHeatResidual(resolution, WD3_FIXTURE, wickRotatedFreeKernel),\n target: 0,\n coarseResolution: 1,\n fineResolution: 4,\n tolerance: 1e-3,\n },\n },\n {\n // Restriction: the string, solved in F and μ, reproduces the 1-D wave\n // solution with c = √(F/μ).\n recordId: 'ab-string-wave',\n kind: 'numeric',\n spec: {\n id: 'WS1',\n evaluate: (cells) => stringLeapfrogMidpoint(cells, WS1_FIXTURE),\n target:\n Math.sin(Math.PI * 0.5) *\n Math.cos(Math.PI * Math.sqrt(WS1_FIXTURE.tension / WS1_FIXTURE.mu) * WS1_FIXTURE.tEnd),\n coarseResolution: 40,\n fineResolution: 80,\n tolerance: 2e-4,\n },\n },\n {\n // Derivation: d'Alembert's form satisfies the wave equation; residual → 0.\n recordId: 'ab-wave-dalembert',\n kind: 'numeric',\n spec: {\n id: 'WS2',\n evaluate: (resolution) => dalembertResidual(resolution, WS2_FIXTURE),\n target: 0,\n coarseResolution: 4,\n fineResolution: 8,\n tolerance: 2e-3,\n },\n },\n {\n // Hyperedge: linearized Euler closed by the adiabatic EOS reproduces the\n // sound model with c_s² = γp₀/ρ₀.\n recordId: 'ab-sound-speed',\n kind: 'numeric',\n spec: {\n id: 'WS3',\n evaluate: (cells) => acousticLeapfrogQuarter(cells, WS3_FIXTURE),\n target: Math.cos(\n 2 * Math.PI * Math.sqrt((WS3_FIXTURE.gamma * WS3_FIXTURE.p0) / WS3_FIXTURE.rho0) * WS3_FIXTURE.tEnd,\n ),\n coarseResolution: 64,\n fineResolution: 128,\n tolerance: 2e-4,\n },\n },\n {\n // Approximation: the Klein–Gordon phase velocity tends to c as k grows.\n recordId: 'ab-klein-gordon-wave',\n kind: 'numeric',\n spec: {\n id: 'WS4',\n evaluate: (resolution) =>\n kleinGordonPhaseVelocity(resolution, WS4_FIXTURE.omega0, WS4_FIXTURE.c, WS4_FIXTURE.k0),\n target: WS4_FIXTURE.c,\n coarseResolution: 1,\n fineResolution: 2,\n tolerance: 2e-3,\n },\n claim: {\n name: 'bound',\n at: (resolution) => ({ omega0: WS4_FIXTURE.omega0, c: WS4_FIXTURE.c, k: WS4_FIXTURE.k0 * resolution }),\n },\n },\n // ── Sprint 4 closure ─────────────────────────────────────────────────────\n {\n // Coarse-graining: Langevin second moments at t = resolution · τ_p, over 2Dt.\n recordId: 'ab-langevin-diffusion',\n kind: 'numeric',\n spec: {\n id: 'WD4',\n evaluate: (resolution) => langevinMsdRatio(resolution, WD4_FIXTURE),\n target: 1,\n coarseResolution: 10,\n fineResolution: 100,\n tolerance: 0.02,\n },\n },\n {\n // Hyperedge: γ = 6πηa pushed into Einstein's D = k_BT/γ.\n recordId: 'ab-stokes-einstein',\n kind: 'symbolic',\n spec: {\n id: 'WD5s',\n lhs: applyDictionary(op('/', kT, gammaSym), { gamma: op('*', n(6), pi, eta, a) }),\n rhs: op('/', kT, op('*', n(6), pi, eta, a)),\n },\n },\n {\n // Singular limit τ → 0: the telegraph slow rate over Dq² tends to 1.\n recordId: 'ab-telegraph-diffusion',\n kind: 'numeric',\n spec: {\n id: 'WD6',\n evaluate: (resolution) =>\n telegraphSlowRateRatio(WD6_FIXTURE.tau0 / resolution, WD6_FIXTURE.D, WD6_FIXTURE.q),\n target: 1,\n coarseResolution: 2,\n fineResolution: 4,\n tolerance: 0.03,\n },\n claim: {\n name: 'bound',\n at: (resolution) => ({ tau: WD6_FIXTURE.tau0 / resolution, D: WD6_FIXTURE.D, q: WD6_FIXTURE.q }),\n },\n },\n {\n // ε → ∞: the telegraph oscillation frequency over c q tends to 1.\n recordId: 'ab-telegraph-wave',\n kind: 'numeric',\n spec: {\n id: 'WD7',\n evaluate: (resolution) =>\n telegraphWaveFrequencyRatio(WD7_FIXTURE.eps0 * resolution, WD7_FIXTURE.D, WD7_FIXTURE.q),\n target: 1,\n coarseResolution: 1,\n fineResolution: 2,\n tolerance: 3e-3,\n },\n claim: {\n name: 'bound',\n at: (resolution) => ({\n tau: (WD7_FIXTURE.eps0 * resolution) / (WD7_FIXTURE.D * WD7_FIXTURE.q ** 2),\n D: WD7_FIXTURE.D,\n q: WD7_FIXTURE.q,\n }),\n },\n },\n {\n // Steady state: the heat solution's deviation from the Laplace profile → 0.\n recordId: 'ab-heat-laplace',\n kind: 'numeric',\n spec: {\n id: 'WD8',\n evaluate: (resolution) => heatSteadyDeviation(resolution, WD8_FIXTURE),\n target: 0,\n coarseResolution: 2,\n fineResolution: 4,\n tolerance: 0.025,\n },\n },\n {\n // Non-relativistic limit: kinetic-frequency error → 0 as x = ck/ω₀ halves.\n recordId: 'ab-kg-schrodinger',\n kind: 'numeric',\n spec: {\n id: 'WS5',\n evaluate: (resolution) => kgNonrelativisticError(WS5_FIXTURE.x0 / resolution),\n target: 0,\n coarseResolution: 1,\n fineResolution: 2,\n tolerance: 1e-3,\n },\n // The spec reads only x = ck/ω₀; c = ω₀ = 1 is one point with that x.\n claim: { name: 'bound', at: (resolution) => ({ c: 1, omega0: 1, k: WS5_FIXTURE.x0 / resolution }) },\n },\n {\n // Uniform-mode restriction: the full KG PDE, uniform data, vs cos(ω₀t).\n recordId: 'ab-kg-oscillator',\n kind: 'numeric',\n spec: {\n id: 'WS6',\n evaluate: (steps) =>\n kgUniformModeValue(steps, WS6_FIXTURE.c, WS6_FIXTURE.omega0, WS6_FIXTURE.tEnd),\n target: Math.cos(WS6_FIXTURE.omega0 * WS6_FIXTURE.tEnd),\n coarseResolution: 50,\n fineResolution: 100,\n tolerance: 3e-4,\n },\n },\n {\n // Flexible-string limit: stiff-string phase velocity → √(F/μ) as k shrinks.\n recordId: 'ab-stiff-string',\n kind: 'numeric',\n spec: {\n id: 'WS7',\n evaluate: (resolution) =>\n stiffStringPhaseVelocity(resolution, WS7_FIXTURE.F, WS7_FIXTURE.mu, WS7_FIXTURE.EI, WS7_FIXTURE.k0),\n target: Math.sqrt(WS7_FIXTURE.F / WS7_FIXTURE.mu),\n coarseResolution: 1,\n fineResolution: 2,\n tolerance: 0.15,\n },\n claim: {\n name: 'bound',\n at: (resolution) => ({\n F: WS7_FIXTURE.F,\n mu: WS7_FIXTURE.mu,\n EI: WS7_FIXTURE.EI,\n k: WS7_FIXTURE.k0 / resolution,\n }),\n },\n },\n // ── The three oscillator bridges that had no in-process witness ──────────\n {\n // Regular limit θ0 → 0: T/T0 of the pendulum, integrated by RK4, tends to 1.\n // The tolerance is the upper end W7 records, 0.002507 at θ0 = 0.2; the\n // bound's deltaAt there is the AGM form, a second method.\n recordId: 'ab-pendulum-linear',\n kind: 'numeric',\n spec: {\n id: 'W7',\n evaluate: (resolution) => measurePendulumPeriodRatio(W7_FIXTURE.theta0 / resolution),\n target: 1,\n coarseResolution: 1,\n fineResolution: 2,\n tolerance: 0.002507,\n },\n claim: { name: 'bound', at: (resolution) => ({ theta0: W7_FIXTURE.theta0 / resolution }) },\n },\n {\n // Singular limit m → 0: the full damped spring's offset from the reduced\n // model outside the layer, integrated by RK4; the tolerance is the bound's\n // own deltaAt at the fine mass, which is not sharp there.\n recordId: 'ab-damped-massless',\n kind: 'numeric',\n spec: {\n id: 'W8b',\n evaluate: (resolution) => measureMasslessOffset(W8B_FIXTURE.m / resolution),\n target: 0,\n coarseResolution: 1,\n fineResolution: 2,\n tolerance: dampedOffsetBoundAt({ m: W8B_FIXTURE.m / 2, b: W8B_FIXTURE.b, k: W8B_FIXTURE.k, x0: W8B_FIXTURE.x0, v0: W8B_FIXTURE.v0 }),\n },\n claim: {\n name: 'bound-holds-at',\n at: (resolution) => ({ m: W8B_FIXTURE.m / resolution, b: W8B_FIXTURE.b, k: W8B_FIXTURE.k, x0: W8B_FIXTURE.x0, v0: W8B_FIXTURE.v0 }),\n },\n },\n {\n // Coarse-graining, long wavelength: 1 − ω/(c q) measured on the integrated\n // ring, over (qa)²/24, tends to 1 within the 0.5% W9 records.\n recordId: 'ab-chain-wave',\n kind: 'numeric',\n spec: {\n id: 'W9',\n evaluate: (resolution) => {\n const masses = W9_FIXTURE.masses * resolution;\n return measureChainDispersionError(masses) / dispersionErrorApproximation((2 * Math.PI) / masses);\n },\n target: 1,\n coarseResolution: 1,\n fineResolution: 2,\n tolerance: 0.005,\n },\n claim: {\n name: 'preserves',\n item: 'long-wavelength dispersion ω ≈ c q',\n at: (resolution) => ({ qa: (2 * Math.PI) / (W9_FIXTURE.masses * resolution) }),\n },\n },\n];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"witness-symbolic.js","sourceRoot":"","sources":["../../src/atlas/witness-symbolic.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"witness-symbolic.js","sourceRoot":"","sources":["../../src/atlas/witness-symbolic.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 4, S4.2 — the symbolic witness runner.\n *\n * Design note: `docs/planning/Atlas-Phase-4-Design.md` §2.\n *\n * A symbolic witness claims `lhs = rhs`. The runner forms the DIFFERENCE and\n * asks the optional CAS peer to simplify it: a difference that collapses to a\n * literal zero is `'checked'`; one that collapses to a non-zero literal is\n * `'refuted'`; anything else is `'unresolved'` with the reason it could not\n * decide.\n *\n * ## The simplifier is INJECTED, and no test touches the registry\n *\n * `src/numerical/formula-registry.ts` caches its selection in module scope and\n * exposes no reset hook, so a test that registered a stub would leak it into\n * every later test in the same worker. {@link runSymbolicWitness} therefore\n * takes the simplifier as a PARAMETER, defaulting to `simplifyExpr`. Tests\n * pass a stub for the present path and `null` for the absent path; the\n * registry is never written. One test exercises the real peer under the\n * existing skip-when-absent pattern.\n *\n * `null` means \"the peer is absent\" and is a first-class argument value, not a\n * forgotten one. `simplifyExpr` itself CANNOT tell absence from \"nothing to\n * simplify\" — both return `simplified: false` — so when the argument is\n * OMITTED the runner asks `isSimplifierAvailable()` first and maps absence to\n * `null`. Without that step the default path would report a missing peer as\n * `'not-simplified'`, the wrong reason on the one path most callers take.\n *\n * Deviation from the plan's wording, recorded in the design note §2.1: the\n * plan names `getFormulaParser()` as the default. A parser cannot decide\n * `lhs − rhs = 0`; the capability needed is SIMPLIFICATION, which lives in\n * `expr-simplify.ts` (a different peer, `@danielsimonjr/mathts-functions`).\n *\n * @module atlas/witness-symbolic\n * @internal\n */\n\nimport type { ExprNode } from '../dimensional/ast-types.js';\nimport { isSimplifierAvailable, simplifyExpr } from '../composition/expr-simplify.js';\nimport type { WitnessRunResult } from './witness-result.js';\n\n/**\n * The simplification capability this runner needs, as a function rather than\n * the whole module — so a stub is five lines and cannot accidentally depend on\n * anything else `expr-simplify.ts` exports.\n *\n * @internal\n */\nexport type SymbolicSimplifier = (\n expr: ExprNode,\n) => Promise<{ readonly expr: ExprNode; readonly simplified: boolean }>;\n\n/** What a symbolic witness asserts. @internal */\nexport interface SymbolicWitnessSpec {\n /** The `Witness.id` (`'W7b'`). */\n readonly id: string;\n readonly lhs: ExprNode;\n readonly rhs: ExprNode;\n /**\n * Wall-clock budget in milliseconds. Default 5000.\n *\n * ⚠ **This bounds how long the RUNNER WAITS, not how long the CAS works.**\n * The peer's `simplify` is synchronous inside its promise, so nothing here\n * can interrupt it; a timeout reports that no answer arrived in time and the\n * underlying work may still be running. Saying otherwise would be the\n * \"a running process is not a working one\" error in reverse.\n */\n readonly budgetMs?: number;\n}\n\nconst DEFAULT_BUDGET_MS = 5000;\n\n/** The numeric value of a literal leaf, or `null`. Same rule as `validator.ts`. */\nfunction literalValue(node: ExprNode): number | null {\n if (node.kind !== 'symbol') return null;\n if (node.name.trim() === '') return null;\n const v = Number(node.name);\n return Number.isFinite(v) ? v : null;\n}\n\n/** A sentinel the timeout race resolves with; never confusable with a result. */\nconst TIMED_OUT = Symbol('timed-out');\n\n/**\n * Run one symbolic witness.\n *\n * @param spec - the claim, as two ASTs whose difference should vanish.\n * @param simplifier - the CAS capability, or `null` when the optional peer is\n * absent. When omitted, resolves to `simplifyExpr` if the peer is available and\n * to `null` otherwise. Pass `null` EXPLICITLY to exercise the absent path.\n * @returns a result; **never throws**, because a thrown error forces callers\n * into a `catch` that cannot distinguish \"did not run\" from \"failed\".\n * @internal\n */\nexport async function runSymbolicWitness(\n spec: SymbolicWitnessSpec,\n simplifier?: SymbolicSimplifier | null,\n): Promise<WitnessRunResult> {\n const started = Date.now();\n if (simplifier === undefined) {\n simplifier = (await isSimplifierAvailable()) ? simplifyExpr : null;\n }\n const base = { witnessId: spec.id, kind: 'symbolic' as const };\n const elapsed = (): number => Date.now() - started;\n\n if (simplifier === null) {\n return {\n ...base,\n status: 'unresolved',\n reason: 'peer-absent',\n detail:\n 'The optional CAS peer is absent, so the claim was never examined. This is ' +\n 'not evidence against it.',\n elapsedMs: elapsed(),\n };\n }\n\n const difference: ExprNode = { kind: 'op', op: '-', args: [spec.lhs, spec.rhs] };\n const budget = spec.budgetMs ?? DEFAULT_BUDGET_MS;\n\n let outcome: Awaited<ReturnType<SymbolicSimplifier>> | typeof TIMED_OUT;\n let timer: ReturnType<typeof setTimeout> | undefined;\n try {\n outcome = await Promise.race([\n simplifier(difference),\n new Promise<typeof TIMED_OUT>((resolve) => {\n timer = setTimeout(() => resolve(TIMED_OUT), budget);\n }),\n ]);\n } catch (err) {\n return {\n ...base,\n status: 'unresolved',\n reason: 'parse-error',\n detail:\n `The simplifier threw rather than answering: ${String(err)}. A throw is not a ` +\n 'refutation.',\n elapsedMs: elapsed(),\n };\n } finally {\n if (timer !== undefined) clearTimeout(timer);\n }\n\n if (outcome === TIMED_OUT) {\n return {\n ...base,\n status: 'unresolved',\n reason: 'timeout',\n detail:\n `No answer arrived within ${budget} ms. The budget bounds the WAIT, not the ` +\n 'CAS: the underlying simplification may still be running.',\n elapsedMs: elapsed(),\n };\n }\n\n const value = literalValue(outcome.expr);\n if (value === 0) {\n return {\n ...base,\n status: 'checked',\n detail: 'lhs − rhs simplified to literal 0.',\n elapsedMs: elapsed(),\n };\n }\n if (value !== null) {\n return {\n ...base,\n status: 'refuted',\n detail: `lhs − rhs simplified to the non-zero constant ${value}.`,\n elapsedMs: elapsed(),\n };\n }\n return {\n ...base,\n status: 'unresolved',\n reason: 'not-simplified',\n detail:\n 'The difference did not reduce to a constant. The claim may still hold; this ' +\n 'simplifier could not show it.',\n elapsedMs: elapsed(),\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quantum-support.js","sourceRoot":"","sources":["../../../src/atlas/witnesses/quantum-support.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iCAAiC,CAAC,CAAS,EAAE,KAAa,EAAE,IAAI,GAAG,CAAC;IAClF,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACxE,CAAC;AAYD;;;;;;;;GAQG;AACH,MAAM,UAAU,kCAAkC,CAChD,IAAY,EACZ,CAAS;IAET,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC;AAClF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,CAAS,EACT,GAAW,EACX,CAAS,EACT,IAAY,EACZ,CAAS;IAET,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACvE,CAAC"}
|
|
1
|
+
{"version":3,"file":"quantum-support.js","sourceRoot":"","sources":["../../../src/atlas/witnesses/quantum-support.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iCAAiC,CAAC,CAAS,EAAE,KAAa,EAAE,IAAI,GAAG,CAAC;IAClF,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACxE,CAAC;AAYD;;;;;;;;GAQG;AACH,MAAM,UAAU,kCAAkC,CAChD,IAAY,EACZ,CAAS;IAET,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC;AAClF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,CAAS,EACT,GAAW,EACX,CAAS,EACT,IAAY,EACZ,CAAS;IAET,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACvE,CAAC","sourcesContent":["/**\n * Quantum-side support functions for Phase 3's `deformation-quantization` and\n * `analytic-continuation` bridges. Phase 0 records NO quantum bridge: these\n * are the two closed forms the later bridges will need, landed early so their\n * witnesses (W4, W5) exist before the records that cite them.\n *\n * @module atlas/witnesses/quantum-support\n */\n\n/**\n * Uncertainty product σx σp of the chirped Gaussian\n * `ψ(x) = N exp(−x²/4s² + i α x²)`.\n *\n * Writing `ψ ~ exp(−A x²)` with `A = 1/(4 s²) − i α` gives `σx = s` and\n * `σp = (ħ/2s) √(1 + 16 α² s⁴)`, so the product is\n * `(ħ/2) √(1 + 16 α² s⁴)`. The chirp raises the product above the\n * Heisenberg floor without changing the position spread; at `α = 0` it is\n * exactly `ħ/2`.\n *\n * @internal\n */\nexport function chirpedGaussianUncertaintyProduct(s: number, alpha: number, hbar = 1): number {\n return (hbar / 2) * Math.sqrt(1 + 16 * alpha * alpha * s * s * s * s);\n}\n\n/** Coefficients of the Wick-rotated Schrödinger equation. @internal */\nexport interface WickRotatedCoefficients {\n /** Coefficient of ∇²φ: ħ/(2m). */\n readonly diffusion: number;\n /** Sign of the potential (reaction) term: −1. */\n readonly reactionSign: number;\n /** Magnitude scale of the potential term: 1/ħ. */\n readonly reactionScale: number;\n}\n\n/**\n * Wick rotation `t = −i τ` turns `i ħ ∂_t ψ = −(ħ²/2m) ∇²ψ + V ψ` into the\n * reaction–diffusion equation `∂_τ φ = (ħ/2m) ∇²φ − V φ / ħ`.\n *\n * The returned coefficients are that equation's: diffusivity `ħ/(2m)`, and a\n * reaction term of sign `−1` and scale `1/ħ`.\n *\n * @internal\n */\nexport function wickRotatedSchrodingerCoefficients(\n hbar: number,\n m: number,\n): WickRotatedCoefficients {\n return { diffusion: hbar / (2 * m), reactionSign: -1, reactionScale: 1 / hbar };\n}\n\n/**\n * Free-particle heat kernel of the Wick-rotated equation with `V = 0`:\n * `φ(x, τ) = (s²/σ(τ))^{1/2} exp(−x²/(4 σ(τ)))` with\n * `σ(τ) = s² + ħ τ / (2 m)`. Normalised so `φ(x, 0)` is the `α = 0` Gaussian\n * of {@link chirpedGaussianUncertaintyProduct} up to a constant.\n *\n * @internal\n */\nexport function wickRotatedFreeKernel(\n x: number,\n tau: number,\n s: number,\n hbar: number,\n m: number,\n): number {\n const sigma = s * s + (hbar * tau) / (2 * m);\n return Math.sqrt((s * s) / sigma) * Math.exp(-(x * x) / (4 * sigma));\n}\n"]}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @module bridges/caller-table
|
|
7
7
|
*/
|
|
8
|
-
import type
|
|
8
|
+
import { type ConfrontationOutcome } from './observations/types.js';
|
|
9
9
|
/** One row of a caller-supplied measured table. @public */
|
|
10
10
|
export interface MeasuredCouplingRow {
|
|
11
11
|
readonly scale: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"caller-table.d.ts","sourceRoot":"","sources":["../../src/bridges/caller-table.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"caller-table.d.ts","sourceRoot":"","sources":["../../src/bridges/caller-table.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAErF,2DAA2D;AAC3D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,6EAA6E;AAC7E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,mDAAmD;AACnD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED,sFAAsF;AACtF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,mBAAmB,EAAE,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,SAAS,CAAC,EACf;QACE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC;QACzD,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;KACzC,GACD,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,GAC3B,IAAI,CAAC;CACV;AAED,mFAAmF;AACnF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,sDAAsD;AACtD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,sFAAsF;AACtF,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,cAAc,CAAC;AA4CpE;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,GAAE,kBAAuB,GAAG,iBAAiB,CA6CnG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"caller-table.js","sourceRoot":"","sources":["../../src/bridges/caller-table.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"caller-table.js","sourceRoot":"","sources":["../../src/bridges/caller-table.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * A confrontation that exists only when the caller supplies a measured table\n * and a running procedure. A refusal names the missing inputs and carries no\n * residual. It does not change a catalog status.\n *\n * @module bridges/caller-table\n */\n\nimport { residualInSigma, type ConfrontationOutcome } from './observations/types.js';\n\n/** One row of a caller-supplied measured table. @public */\nexport interface MeasuredCouplingRow {\n readonly scale: number;\n readonly value: number;\n readonly uncertainty: number;\n readonly citation: string;\n}\n\n/** What a running procedure must state before it can be compared. @public */\nexport interface RunningProcedureRecord {\n readonly loopOrder: string;\n readonly flavorThresholds: string;\n}\n\n/** A caller-supplied running procedure. @public */\nexport interface RunningProcedure {\n readonly record: RunningProcedureRecord;\n at(scale: number): number;\n}\n\n/** What a caller may pass. Absent fields are missing inputs, not defaults. @public */\nexport interface CallerTableRequest {\n readonly table?: readonly MeasuredCouplingRow[] | null;\n readonly procedure?:\n | {\n readonly record?: Partial<RunningProcedureRecord> | null;\n readonly at?: (scale: number) => number;\n }\n | ((scale: number) => number)\n | null;\n}\n\n/** Refusal: the named inputs are missing, and no residual was computed. @public */\nexport interface CallerTableRefusal {\n readonly status: 'refused';\n readonly missing: readonly string[];\n}\n\n/** A comparison that uses a value outcome. @public */\nexport interface CallerTableHit {\n readonly status: 'confronted';\n readonly outcome: Extract<ConfrontationOutcome, { kind: 'value' }>;\n}\n\n/** A caller-table confrontation either refuses or reports a value outcome. @public */\nexport type CallerTableResult = CallerTableRefusal | CallerTableHit;\n\nfunction blank(value: string | undefined): boolean {\n return value === undefined || value.trim() === '';\n}\n\nfunction finite(value: unknown): value is number {\n return typeof value === 'number' && Number.isFinite(value);\n}\n\nfunction missingInputs(request: CallerTableRequest): string[] {\n const missing: string[] = [];\n if (request.table == null || request.table.length === 0) missing.push('table');\n const procedure = request.procedure;\n if (procedure == null) {\n missing.push('running procedure');\n return missing;\n }\n if (typeof procedure === 'function') {\n missing.push('loop order', 'flavor thresholds');\n return missing;\n }\n const record = procedure.record;\n if (blank(record?.loopOrder)) missing.push('loop order');\n if (blank(record?.flavorThresholds)) missing.push('flavor thresholds');\n if (typeof procedure.at !== 'function') missing.push('running procedure');\n return missing;\n}\n\nfunction rowProblems(table: readonly MeasuredCouplingRow[]): string[] {\n const missing: string[] = [];\n for (const row of table) {\n if (!finite(row.scale) && !missing.includes('scale')) missing.push('scale');\n if (!finite(row.value) && !missing.includes('value')) missing.push('value');\n if (!(finite(row.uncertainty) && row.uncertainty > 0) && !missing.includes('uncertainty')) {\n missing.push('uncertainty');\n }\n if ((typeof row.citation !== 'string' || row.citation.trim() === '') && !missing.includes('citation')) {\n missing.push('citation');\n }\n }\n return missing;\n}\n\n/**\n * Confront a caller-supplied table. Otherwise refuse. The refusal does not\n * read or write the catalog. Several rows collapse to the row with the\n * largest absolute residual in units of its uncertainty.\n *\n * @public\n */\nexport function requestCallerTableConfrontation(request: CallerTableRequest = {}): CallerTableResult {\n const missing = missingInputs(request);\n if (missing.length > 0) return { status: 'refused', missing };\n const table = request.table ?? [];\n const rowMissing = rowProblems(table);\n if (rowMissing.length > 0) return { status: 'refused', missing: rowMissing };\n\n const procedure = request.procedure as RunningProcedure;\n let reported: { predicted: number; observed: number; sigma: number; citation: string; residual: number } | undefined;\n for (const row of table) {\n const predicted = procedure.at(row.scale);\n if (!finite(predicted)) return { status: 'refused', missing: ['procedure output'] };\n const residual = residualInSigma(predicted, row.value, row.uncertainty);\n if (reported === undefined || residual > reported.residual) {\n reported = {\n predicted,\n observed: row.value,\n sigma: row.uncertainty,\n citation: row.citation,\n residual,\n };\n }\n }\n if (reported === undefined) return { status: 'refused', missing: ['table'] };\n\n return {\n status: 'confronted',\n outcome: {\n kind: 'value',\n predicted: reported.predicted,\n observed: reported.observed,\n sigma: reported.sigma,\n residualInSigma: reported.residual,\n withinObserved: reported.residual <= 1,\n units: 'caller-supplied',\n provenance: {\n citation: reported.citation,\n year: 0,\n retrieved: 'not supplied',\n note: 'The caller table states a citation and does not state a publication year or a retrieval date. The year 0 is not a year of record.',\n },\n preprocessing: { state: 'not-recorded' },\n independence: { state: 'not-recorded' },\n },\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carrier-sign.d.ts","sourceRoot":"","sources":["../../src/bridges/carrier-sign.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;
|
|
1
|
+
{"version":3,"file":"carrier-sign.d.ts","sourceRoot":"","sources":["../../src/bridges/carrier-sign.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAsBD;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAEnD;AAOD,4EAA4E;AAC5E,UAAU,eAAe;IACvB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,EACjD,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACxC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EACzB,IAAI,CAAC,EAAE,eAAe,GACrB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsCxB"}
|
|
@@ -26,11 +26,16 @@ function sameCarrierSign(a, b) {
|
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
28
|
* Reject opposite signs. `left` and `right` are the names in the message.
|
|
29
|
-
*
|
|
29
|
+
* A value that is not a finite number has no sign to compare, so it is
|
|
30
|
+
* refused as such rather than passed. Only {@link applyCarrierSignPolicy}
|
|
31
|
+
* calls this.
|
|
30
32
|
*/
|
|
31
33
|
function assertSameCarrierSign(a, b, left, right) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
if (!Number.isFinite(a))
|
|
35
|
+
throw new RangeError(`${left} must be a finite number to carry a sign, got ${a}`);
|
|
36
|
+
if (!Number.isFinite(b))
|
|
37
|
+
throw new RangeError(`${right} must be a finite number to carry a sign, got ${b}`);
|
|
38
|
+
if (!sameCarrierSign(a, b))
|
|
34
39
|
throw new CarrierSignError(`${left} and ${right} must have the same sign`);
|
|
35
40
|
}
|
|
36
41
|
/** How many times the sign policy has run since the last reset. The once-check reads this. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carrier-sign.js","sourceRoot":"","sources":["../../src/bridges/carrier-sign.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,0EAA0E;AAC1E,SAAS,eAAe,CAAC,CAAS,EAAE,CAAS;IAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"carrier-sign.js","sourceRoot":"","sources":["../../src/bridges/carrier-sign.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * One sign rule for a positive transport coefficient built from a carrier\n * charge and a mobility.\n *\n * `D = μ k_B T / q` and `σ = n q μ` are positive when μ and q have the same\n * sign, and zero when either is zero. Opposite signs are not a negative\n * diffusivity or a negative conductivity. A Hall coefficient and a cyclotron\n * frequency are odd in charge alone; this rule does not apply to them.\n *\n * @module bridges/carrier-sign\n */\n\n/**\n * Thrown when a positive transport coefficient would come out negative\n * because the carrier charge and the mobility have opposite signs.\n * @public\n */\nexport class CarrierSignError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'CarrierSignError';\n }\n}\n\n/** True when the product is positive or zero, including a zero factor. */\nfunction sameCarrierSign(a: number, b: number): boolean {\n return a * b >= 0;\n}\n\n/**\n * Reject opposite signs. `left` and `right` are the names in the message.\n * A value that is not a finite number has no sign to compare, so it is\n * refused as such rather than passed. Only {@link applyCarrierSignPolicy}\n * calls this.\n */\nfunction assertSameCarrierSign(a: number, b: number, left: string, right: string): void {\n if (!Number.isFinite(a)) throw new RangeError(`${left} must be a finite number to carry a sign, got ${a}`);\n if (!Number.isFinite(b)) throw new RangeError(`${right} must be a finite number to carry a sign, got ${b}`);\n if (!sameCarrierSign(a, b)) throw new CarrierSignError(`${left} and ${right} must have the same sign`);\n}\n\n/** How many times the sign policy has run since the last reset. The once-check reads this. */\nlet carrierSignPolicyCalls = 0;\n\n/**\n * Reset the sign-policy call count. The once-check reads the count after this.\n * @internal\n */\nexport function resetCarrierSignPolicyCalls(): void {\n carrierSignPolicyCalls = 0;\n}\n\n/**\n * How many times the sign policy has run since the last reset.\n * @internal\n */\nexport function readCarrierSignPolicyCalls(): number {\n return carrierSignPolicyCalls;\n}\n\n/** An integer exponent whose absolute value is odd. A half power is not odd. */\nfunction oddIntegerExponent(exp: number): boolean {\n return Number.isInteger(exp) && Math.abs(exp) % 2 === 1;\n}\n\n/** A same-sign pair whose names are not `charge` and `carrier-mobility`. */\ninterface CarrierSignPair {\n readonly a: number;\n readonly b: number;\n readonly left: string;\n readonly right: string;\n}\n\n/**\n * One sign policy. A monomial odd in both `charge` and `carrier-mobility`\n * rejects opposite signs. `pair` is that same check for a formula whose\n * names are not those two (the Einstein relation). Inputs the scalar AST\n * is even in are replaced by their absolute values. The math underneath\n * does not apply this again.\n * @internal\n */\nexport function applyCarrierSignPolicy(\n monomial: Readonly<Record<string, number>> | null,\n inputs: Readonly<Record<string, number>>,\n even: ReadonlySet<string>,\n pair?: CarrierSignPair,\n): Record<string, number> {\n carrierSignPolicyCalls += 1;\n let left: number | undefined;\n let right: number | undefined;\n let leftName = '';\n let rightName = '';\n if (pair !== undefined) {\n left = pair.a;\n right = pair.b;\n leftName = pair.left;\n rightName = pair.right;\n } else if (monomial !== null) {\n const qExp = monomial.charge;\n const muExp = monomial['carrier-mobility'];\n if (\n qExp !== undefined &&\n muExp !== undefined &&\n oddIntegerExponent(qExp) &&\n oddIntegerExponent(muExp)\n ) {\n left = inputs.charge;\n right = inputs['carrier-mobility'];\n leftName = 'charge';\n rightName = 'carrier-mobility';\n }\n }\n if (left !== undefined && right !== undefined && leftName !== '' && rightName !== '') {\n assertSameCarrierSign(left, right, leftName, rightName);\n }\n if (even.size === 0) return inputs;\n let out: Record<string, number> | undefined;\n for (const name of even) {\n const value = inputs[name];\n if (value === undefined || Object.is(value, Math.abs(value))) continue;\n out ??= { ...inputs };\n out[name] = Math.abs(value);\n }\n return out ?? inputs;\n}\n"]}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Catalog adapter: ingests
|
|
3
|
-
*
|
|
2
|
+
* Catalog adapter: ingests `BRIDGE_EQUATIONS` into the v0.7-p2 sparse
|
|
3
|
+
* semantic catalog as `BridgeCell` values.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* A cell needs a `PhysicalScale` on at least one end, and the catalog's
|
|
6
|
+
* `bridges` tuple names a scale on only part of the rows (the rest name a
|
|
7
|
+
* field such as `chemistry` or `plasma`). The adapter submits the rows it
|
|
8
|
+
* can place and lists every other row in `unsubmitted`, with the reason in
|
|
9
|
+
* `skipped`; it never guesses a scale. Phase 3 of v0.7 Proposal 2.
|
|
6
10
|
*
|
|
7
11
|
* Two entry points:
|
|
8
12
|
*
|
|
@@ -64,6 +68,11 @@ export interface CatalogIngestionReport {
|
|
|
64
68
|
readonly info: ReadonlyArray<FluxDiagnostic>;
|
|
65
69
|
/** Bridge IDs the adapter filtered out before submission. */
|
|
66
70
|
readonly unsubmitted: ReadonlyArray<number>;
|
|
71
|
+
/** Why each unsubmitted id was not placed: the tuple labels that name no `PhysicalScale`. */
|
|
72
|
+
readonly skipped: ReadonlyArray<{
|
|
73
|
+
readonly bridgeId: number;
|
|
74
|
+
readonly reason: string;
|
|
75
|
+
}>;
|
|
67
76
|
/** Cells that PASSED Rule 1 and would be submitted (or were). */
|
|
68
77
|
readonly submitted: ReadonlyArray<BridgeCell>;
|
|
69
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-adapter.d.ts","sourceRoot":"","sources":["../../src/bridges/catalog-adapter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"catalog-adapter.d.ts","sourceRoot":"","sources":["../../src/bridges/catalog-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EACV,mBAAmB,EAEpB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACX,MAAM,uBAAuB,CAAC;AAU/B;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC;CACtC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7C,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxF,iEAAiE;IACjE,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CAC/C;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,SAAgB,MAAM,EAAE,sBAAsB,CAAC;IAE/C,YAAY,MAAM,EAAE,sBAAsB,EAQzC;CACF;AAoDD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,aAAa,CAAC,mBAAmB,CAAC,GAC1C,aAAa,CAAC,UAAU,CAAC,CAO3B;AA+GD;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,aAAa,CAAC,mBAAmB,CAAC,GAC1C,sBAAsB,CA8CxB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,aAAa,CAAC,mBAAmB,CAAC,GAC1C,sBAAsB,CASxB;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,sBAAsB,GAC7B,UAAU,CAYZ"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Catalog adapter: ingests
|
|
3
|
-
*
|
|
2
|
+
* Catalog adapter: ingests `BRIDGE_EQUATIONS` into the v0.7-p2 sparse
|
|
3
|
+
* semantic catalog as `BridgeCell` values.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* A cell needs a `PhysicalScale` on at least one end, and the catalog's
|
|
6
|
+
* `bridges` tuple names a scale on only part of the rows (the rest name a
|
|
7
|
+
* field such as `chemistry` or `plasma`). The adapter submits the rows it
|
|
8
|
+
* can place and lists every other row in `unsubmitted`, with the reason in
|
|
9
|
+
* `skipped`; it never guesses a scale. Phase 3 of v0.7 Proposal 2.
|
|
6
10
|
*
|
|
7
11
|
* Two entry points:
|
|
8
12
|
*
|
|
@@ -29,6 +33,7 @@
|
|
|
29
33
|
* @module bridges/catalog-adapter
|
|
30
34
|
*/
|
|
31
35
|
import { EXPECTED_DIMENSION_BY_BRIDGE } from '../dimensional/bridge-check.js';
|
|
36
|
+
import { catalogEntries } from './catalog-load.js';
|
|
32
37
|
import { format } from '../dimensional/algebra.js';
|
|
33
38
|
/**
|
|
34
39
|
* Thrown by `ingestCatalog` when Rule 1 reports any errors. The
|
|
@@ -63,11 +68,8 @@ function statusToCellConfidence(status) {
|
|
|
63
68
|
case 'speculative': return 'speculative';
|
|
64
69
|
case 'highly-speculative': return 'highly-speculative';
|
|
65
70
|
case 'invalid':
|
|
66
|
-
//
|
|
67
|
-
//
|
|
68
|
-
// reach here, downgrade to 'highly-speculative' (safest).
|
|
69
|
-
return 'highly-speculative';
|
|
70
|
-
default:
|
|
71
|
+
// An invalid row is not a claim; the catalog carries none (the status
|
|
72
|
+
// distribution test pins 0). A cell built from one is the weakest grade.
|
|
71
73
|
return 'highly-speculative';
|
|
72
74
|
}
|
|
73
75
|
}
|
|
@@ -160,10 +162,9 @@ function entryToBridgeCell(entry) {
|
|
|
160
162
|
* - 'error' diagnostic: dimensional_signature is structurally null,
|
|
161
163
|
* or non-null but does not match the expected dimension from
|
|
162
164
|
* `EXPECTED_DIMENSION_BY_BRIDGE`.
|
|
163
|
-
* - 'info' diagnostic: no expected entry for this bridge ID
|
|
164
|
-
*
|
|
165
|
-
*
|
|
166
|
-
* gap.
|
|
165
|
+
* - 'info' diagnostic: no expected entry for this bridge ID; the
|
|
166
|
+
* message states how many catalog rows the table covers, counted
|
|
167
|
+
* when it is printed. We can't enforce, but we record the gap.
|
|
167
168
|
*
|
|
168
169
|
* @internal
|
|
169
170
|
*/
|
|
@@ -190,7 +191,7 @@ function checkDimensionalConsistency(entry) {
|
|
|
190
191
|
ruleName: 'dimensional-consistency',
|
|
191
192
|
cellId,
|
|
192
193
|
message: `BE-${entry.id} ('${entry.name}') has no entry in ` +
|
|
193
|
-
`EXPECTED_DIMENSION_BY_BRIDGE (
|
|
194
|
+
`EXPECTED_DIMENSION_BY_BRIDGE (${EXPECTED_DIMENSION_BY_BRIDGE.size} of ${catalogEntries().length} catalog rows covered); ` +
|
|
194
195
|
`dimensional-consistency check skipped for this entry.`,
|
|
195
196
|
};
|
|
196
197
|
}
|
|
@@ -223,13 +224,19 @@ export function scanCatalog(entries) {
|
|
|
223
224
|
const warnings = [];
|
|
224
225
|
const info = [];
|
|
225
226
|
const unsubmitted = [];
|
|
227
|
+
const skipped = [];
|
|
226
228
|
const submitted = [];
|
|
227
229
|
for (const entry of entries) {
|
|
228
230
|
const diagnostic = checkDimensionalConsistency(entry);
|
|
229
231
|
const cell = entryToBridgeCell(entry);
|
|
230
232
|
const submittable = cell !== null;
|
|
231
|
-
if (!submittable)
|
|
233
|
+
if (!submittable) {
|
|
232
234
|
unsubmitted.push(entry.id);
|
|
235
|
+
skipped.push({
|
|
236
|
+
bridgeId: entry.id,
|
|
237
|
+
reason: `bridges tuple [${entry.bridges.join(', ')}] names no PhysicalScale (quantum, mesoscopic, classical, cosmological) on either end`,
|
|
238
|
+
});
|
|
239
|
+
}
|
|
233
240
|
else
|
|
234
241
|
submitted.push(cell);
|
|
235
242
|
if (diagnostic) {
|
|
@@ -258,6 +265,7 @@ export function scanCatalog(entries) {
|
|
|
258
265
|
warnings,
|
|
259
266
|
info,
|
|
260
267
|
unsubmitted,
|
|
268
|
+
skipped,
|
|
261
269
|
submitted,
|
|
262
270
|
};
|
|
263
271
|
}
|