universal-physics-tensor 9.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 +19 -16
- package/data/atlas/atlas.json +55 -44
- package/data/atlas/atlas.jsonld +1 -1
- package/data/atlas/diffusion.json +19 -18
- package/data/atlas/oscillators.json +15 -10
- package/data/atlas/waves.json +23 -18
- package/data/bridge-catalog.json +886 -1473
- package/data/bridge-catalog.schema.json +349 -132
- package/data/quantities.json +53 -19
- package/data/schemas/atlas-record.v0.json +184 -46
- package/data/units.json +33 -4
- package/dist/atlas/applicability.d.ts.map +1 -1
- package/dist/atlas/applicability.js +14 -3
- package/dist/atlas/applicability.js.map +1 -1
- package/dist/atlas/association.js.map +1 -1
- package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -1
- package/dist/atlas/benchmark/backend-shapes.js +5 -1
- package/dist/atlas/benchmark/backend-shapes.js.map +1 -1
- package/dist/atlas/benchmark/baselines.d.ts.map +1 -1
- package/dist/atlas/benchmark/baselines.js +8 -0
- package/dist/atlas/benchmark/baselines.js.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts +3 -2
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.js +15 -8
- 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.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +79 -45
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +143 -62
- 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.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 +17 -9
- package/dist/bridges/catalog-adapter.js.map +1 -1
- package/dist/bridges/catalog-load.d.ts +12 -2
- package/dist/bridges/catalog-load.d.ts.map +1 -1
- package/dist/bridges/catalog-load.js +171 -8
- package/dist/bridges/catalog-load.js.map +1 -1
- package/dist/bridges/catalog-types.d.ts +48 -24
- 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 +15 -2
- package/dist/bridges/evaluation-errors.d.ts.map +1 -1
- package/dist/bridges/evaluation-errors.js +20 -2
- package/dist/bridges/evaluation-errors.js.map +1 -1
- package/dist/bridges/evaluator-inputs.js.map +1 -1
- package/dist/bridges/evaluators.d.ts +17 -2
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +49 -16
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/expr-parse.d.ts +27 -4
- package/dist/bridges/expr-parse.d.ts.map +1 -1
- package/dist/bridges/expr-parse.js +90 -10
- package/dist/bridges/expr-parse.js.map +1 -1
- package/dist/bridges/holds.d.ts +5 -1
- package/dist/bridges/holds.d.ts.map +1 -1
- package/dist/bridges/holds.js +18 -3
- package/dist/bridges/holds.js.map +1 -1
- package/dist/bridges/index.d.ts +15 -14
- package/dist/bridges/index.d.ts.map +1 -1
- package/dist/bridges/index.js +14 -15
- package/dist/bridges/index.js.map +1 -1
- package/dist/bridges/input-contract.js.map +1 -1
- package/dist/bridges/membership.d.ts +5 -3
- package/dist/bridges/membership.d.ts.map +1 -1
- package/dist/bridges/membership.js +5 -6
- package/dist/bridges/membership.js.map +1 -1
- package/dist/bridges/notices.js.map +1 -1
- package/dist/bridges/observations/types.js.map +1 -1
- package/dist/bridges/rejected.d.ts +11 -17
- package/dist/bridges/rejected.d.ts.map +1 -1
- package/dist/bridges/rejected.js +13 -68
- package/dist/bridges/rejected.js.map +1 -1
- package/dist/bridges/relation-eval.d.ts +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.js.map +1 -1
- package/dist/canonical/dimensional-fields.js.map +1 -1
- package/dist/canonical/entries/_l1-build.js.map +1 -1
- package/dist/canonical/entries/atomic.js.map +1 -1
- package/dist/canonical/entries/condensed-matter.js +4 -4
- package/dist/canonical/entries/condensed-matter.js.map +1 -1
- package/dist/canonical/entries/dimensional-classics.js +2 -2
- package/dist/canonical/entries/dimensional-classics.js.map +1 -1
- package/dist/canonical/entries/electromagnetism.js +2 -2
- package/dist/canonical/entries/electromagnetism.js.map +1 -1
- package/dist/canonical/entries/fluids-waves.js.map +1 -1
- 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 +29 -22
- package/dist/canonical/entries/nonmonomial.js.map +1 -1
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.js +5 -5
- package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.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.js.map +1 -1
- 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.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +42 -7
- 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 +1 -3
- 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 -20
- 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.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 +42 -17
- 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 +15 -9
- 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 +13 -10
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +53 -31
- 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 +14 -7
- 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 +40 -10
- package/dist/cli/commands/ground.js.map +1 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/map.d.ts.map +1 -1
- package/dist/cli/commands/map.js +82 -89
- 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 -18
- 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 +24 -26
- package/dist/cli/commands/regime.js.map +1 -1
- package/dist/cli/commands/retrieve.d.ts.map +1 -1
- package/dist/cli/commands/retrieve.js +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 +13 -9
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/commands/testplan.js +1 -1
- package/dist/cli/commands/testplan.js.map +1 -1
- package/dist/cli/conventions.js.map +1 -1
- package/dist/cli/determination.js.map +1 -1
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/euler-guard.js.map +1 -1
- package/dist/cli/eval-numbers.js.map +1 -1
- package/dist/cli/expr-print.d.ts +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.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.js +1 -1
- 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 +15 -9
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +14 -13
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/adjudication.js.map +1 -1
- 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 -18
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +57 -47
- 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 +8 -9
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +25 -67
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-json.js.map +1 -1
- package/dist/composition/canonical-prefactors.js.map +1 -1
- package/dist/composition/catalog-graph.d.ts.map +1 -1
- package/dist/composition/catalog-graph.js +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 +153 -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 +21 -11
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +81 -21
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +19 -8
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +24 -11
- 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.js.map +1 -1
- package/dist/composition/explain.d.ts +14 -9
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +46 -13
- package/dist/composition/explain.js.map +1 -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 +6 -4
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +4 -3
- 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 +11 -4
- 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 +16 -6
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +34 -9
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/uncertainty.js.map +1 -1
- 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 +8 -8
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +8 -10
- package/dist/core/constants.js.map +1 -1
- package/dist/core/data-file.js.map +1 -1
- package/dist/core/flux-rules.js +1 -1
- package/dist/core/flux-rules.js.map +1 -1
- package/dist/core/json-schema.d.ts +1 -1
- package/dist/core/json-schema.d.ts.map +1 -1
- package/dist/core/json-schema.js +31 -7
- package/dist/core/json-schema.js.map +1 -1
- package/dist/core/labeled-tensor.d.ts +6 -1
- package/dist/core/labeled-tensor.d.ts.map +1 -1
- package/dist/core/labeled-tensor.js +18 -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.js.map +1 -1
- package/dist/core/universal-index.js.map +1 -1
- package/dist/diff/bridge-ast-gradient.d.ts +4 -5
- package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-ast-gradient.js +10 -6
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/diff/bridge-gradient.d.ts +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 +16 -5
- package/dist/diff/bridge-specs.d.ts.map +1 -1
- package/dist/diff/bridge-specs.js +16 -4
- 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.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.map +1 -1
- package/dist/dimensional/constant-rows.js +9 -5
- package/dist/dimensional/constant-rows.js.map +1 -1
- package/dist/dimensional/constants.d.ts +5 -6
- package/dist/dimensional/constants.d.ts.map +1 -1
- package/dist/dimensional/constants.js +5 -6
- package/dist/dimensional/constants.js.map +1 -1
- package/dist/dimensional/curvature-composite.js.map +1 -1
- package/dist/dimensional/curvature-invariants.js.map +1 -1
- package/dist/dimensional/curvature.js.map +1 -1
- package/dist/dimensional/dimension-inference.js.map +1 -1
- package/dist/dimensional/dimension-spec.d.ts +13 -7
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/dimension-spec.js +49 -23
- package/dist/dimensional/dimension-spec.js.map +1 -1
- package/dist/dimensional/einstein-equation.js.map +1 -1
- package/dist/dimensional/errors.d.ts +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.js.map +1 -1
- package/dist/dimensional/field-equation-helpers.js.map +1 -1
- package/dist/dimensional/formula-names.js.map +1 -1
- package/dist/dimensional/fresh-label.js.map +1 -1
- package/dist/dimensional/friedmann-equation.d.ts +3 -3
- package/dist/dimensional/friedmann-equation.js +3 -3
- package/dist/dimensional/friedmann-equation.js.map +1 -1
- package/dist/dimensional/gauge-field.d.ts +2 -3
- package/dist/dimensional/gauge-field.d.ts.map +1 -1
- package/dist/dimensional/gauge-field.js +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 +13 -0
- package/dist/dimensional/quantity-registry.d.ts.map +1 -1
- package/dist/dimensional/quantity-registry.js +14 -6
- package/dist/dimensional/quantity-registry.js.map +1 -1
- package/dist/dimensional/rg-flow.js.map +1 -1
- package/dist/dimensional/stress-energy-validators.js.map +1 -1
- package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
- package/dist/dimensional/symbolic-constants.js +7 -2
- 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.map +1 -1
- package/dist/dimensional/unit-data.js +9 -5
- package/dist/dimensional/unit-data.js.map +1 -1
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +38 -20
- package/dist/dimensional/units.js.map +1 -1
- package/dist/dimensional/validator-registry.js.map +1 -1
- package/dist/dimensional/validator.d.ts +0 -16
- package/dist/dimensional/validator.d.ts.map +1 -1
- package/dist/dimensional/validator.js +65 -29
- package/dist/dimensional/validator.js.map +1 -1
- package/dist/dimensional/weyl-validators.js.map +1 -1
- package/dist/index.d.ts +50 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -20
- package/dist/index.js.map +1 -1
- package/dist/numerical/bianchi-residual.js.map +1 -1
- package/dist/numerical/binding-value.d.ts +11 -6
- package/dist/numerical/binding-value.d.ts.map +1 -1
- package/dist/numerical/binding-value.js +126 -122
- package/dist/numerical/binding-value.js.map +1 -1
- package/dist/numerical/christoffel-flat.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.map +1 -1
- package/dist/numerical/evaluator-uncertainty.js +19 -2
- package/dist/numerical/evaluator-uncertainty.js.map +1 -1
- package/dist/numerical/formula-contract.d.ts +63 -7
- package/dist/numerical/formula-contract.d.ts.map +1 -1
- package/dist/numerical/formula-contract.js +61 -42
- package/dist/numerical/formula-contract.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts +8 -7
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js +58 -36
- package/dist/numerical/formula-dimension.js.map +1 -1
- package/dist/numerical/formula-mathts.d.ts.map +1 -1
- package/dist/numerical/formula-mathts.js +5 -2
- package/dist/numerical/formula-mathts.js.map +1 -1
- package/dist/numerical/formula-registry.d.ts +13 -3
- package/dist/numerical/formula-registry.d.ts.map +1 -1
- package/dist/numerical/formula-registry.js +7 -2
- package/dist/numerical/formula-registry.js.map +1 -1
- package/dist/numerical/geodesic-integrator.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 +41 -42
- package/dist/numerical/gl4-integrator.js.map +1 -1
- package/dist/numerical/grid-field.js.map +1 -1
- package/dist/numerical/index.js.map +1 -1
- package/dist/numerical/input-validation.d.ts +3 -6
- package/dist/numerical/input-validation.d.ts.map +1 -1
- package/dist/numerical/input-validation.js +4 -8
- package/dist/numerical/input-validation.js.map +1 -1
- package/dist/numerical/killing.d.ts +8 -5
- package/dist/numerical/killing.d.ts.map +1 -1
- package/dist/numerical/killing.js.map +1 -1
- package/dist/numerical/klein-gordon.js.map +1 -1
- package/dist/numerical/kretschmann.js.map +1 -1
- package/dist/numerical/lowering-utils.js.map +1 -1
- package/dist/numerical/lowering.d.ts.map +1 -1
- package/dist/numerical/lowering.js +7 -17
- package/dist/numerical/lowering.js.map +1 -1
- package/dist/numerical/mathts-engine.d.ts.map +1 -1
- package/dist/numerical/mathts-engine.js +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 +13 -19
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
- package/dist/numerical/spacetime-metrics.js +126 -248
- 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 +18 -5
- package/dist/relations/types.d.ts.map +1 -1
- package/dist/relations/types.js +5 -3
- package/dist/relations/types.js.map +1 -1
- package/package.json +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
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* JSON projection of an atlas family (Atlas Phase 0, S0.6).
|
|
3
3
|
*
|
|
4
|
-
* The in-memory record is not JSON. Two
|
|
4
|
+
* The in-memory record is not JSON. Two things make that true, and both are
|
|
5
5
|
* handled here rather than left to `JSON.stringify`:
|
|
6
6
|
*
|
|
7
|
-
* 1.
|
|
8
|
-
*
|
|
9
|
-
* the
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
7
|
+
* 1. A bridge stores NO evidence set. The artifact's `evidence` is DERIVED
|
|
8
|
+
* at write time by `deriveEvidence`, against the committed witness results
|
|
9
|
+
* the caller passes in (`data/atlas/witness-results.json`), and emitted as
|
|
10
|
+
* a SORTED array so the artifact is stable under insertion order. The
|
|
11
|
+
* sentence that the record carried a `Set` the emitter copied is the
|
|
12
|
+
* record from before the hand-set field was removed.
|
|
13
|
+
* 2. `ApproximationBound.horizonHolds` and `deltaAt` are functions, which
|
|
14
|
+
* stringify to nothing at all. Only the `horizon` PROSE and the
|
|
15
|
+
* `deltaAtBasis` label cross into JSON; the machine forms stay in
|
|
16
|
+
* TypeScript, as `data/schemas/atlas-record.v0.json` states.
|
|
16
17
|
*
|
|
17
18
|
* Every record key order and every `Record<>` key order is fixed here, so two
|
|
18
19
|
* calls on the same family produce byte-identical output. That is what lets
|
|
@@ -21,7 +22,8 @@
|
|
|
21
22
|
*
|
|
22
23
|
* @module atlas/serialize
|
|
23
24
|
*/
|
|
24
|
-
import type { AtlasFamily } from './
|
|
25
|
+
import type { AtlasFamily } from './family.js';
|
|
26
|
+
import type { WitnessResultsArtifact } from './witness-artifact.js';
|
|
25
27
|
/** Record major version of the emitted artifact. @internal */
|
|
26
28
|
export declare const ATLAS_RECORD_SCHEMA_VERSION = "0";
|
|
27
29
|
/** A JSON value, as emitted. @internal */
|
|
@@ -44,7 +46,11 @@ export interface AtlasRecordJson {
|
|
|
44
46
|
*
|
|
45
47
|
* Deterministic: equal inputs give byte-identical `JSON.stringify` output.
|
|
46
48
|
*
|
|
49
|
+
* @param witnessResults - the committed `data/atlas/witness-results.json`.
|
|
50
|
+
* Each bridge's `evidence` is derived against it; it is REQUIRED, because a
|
|
51
|
+
* defaulted empty artifact would publish `proposed` for every bridge and
|
|
52
|
+
* read exactly like a measured negative.
|
|
47
53
|
* @internal
|
|
48
54
|
*/
|
|
49
|
-
export declare function toAtlasJson(family: AtlasFamily, packageVersion: string): AtlasRecordJson;
|
|
55
|
+
export declare function toAtlasJson(family: AtlasFamily, packageVersion: string, witnessResults: WitnessResultsArtifact): AtlasRecordJson;
|
|
50
56
|
//# sourceMappingURL=serialize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/atlas/serialize.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/atlas/serialize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAUH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAGpE,8DAA8D;AAC9D,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,0CAA0C;AAC1C,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,SAAS,EAAE,GACpB;IAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAExC,sCAAsC;AACtC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;CAC3C;AAmLD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,WAAW,EACnB,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,sBAAsB,GACrC,eAAe,CAUjB"}
|
package/dist/atlas/serialize.js
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* JSON projection of an atlas family (Atlas Phase 0, S0.6).
|
|
3
3
|
*
|
|
4
|
-
* The in-memory record is not JSON. Two
|
|
4
|
+
* The in-memory record is not JSON. Two things make that true, and both are
|
|
5
5
|
* handled here rather than left to `JSON.stringify`:
|
|
6
6
|
*
|
|
7
|
-
* 1.
|
|
8
|
-
*
|
|
9
|
-
* the
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
7
|
+
* 1. A bridge stores NO evidence set. The artifact's `evidence` is DERIVED
|
|
8
|
+
* at write time by `deriveEvidence`, against the committed witness results
|
|
9
|
+
* the caller passes in (`data/atlas/witness-results.json`), and emitted as
|
|
10
|
+
* a SORTED array so the artifact is stable under insertion order. The
|
|
11
|
+
* sentence that the record carried a `Set` the emitter copied is the
|
|
12
|
+
* record from before the hand-set field was removed.
|
|
13
|
+
* 2. `ApproximationBound.horizonHolds` and `deltaAt` are functions, which
|
|
14
|
+
* stringify to nothing at all. Only the `horizon` PROSE and the
|
|
15
|
+
* `deltaAtBasis` label cross into JSON; the machine forms stay in
|
|
16
|
+
* TypeScript, as `data/schemas/atlas-record.v0.json` states.
|
|
16
17
|
*
|
|
17
18
|
* Every record key order and every `Record<>` key order is fixed here, so two
|
|
18
19
|
* calls on the same family produce byte-identical output. That is what lets
|
|
@@ -21,6 +22,8 @@
|
|
|
21
22
|
*
|
|
22
23
|
* @module atlas/serialize
|
|
23
24
|
*/
|
|
25
|
+
import { deriveEvidence } from './derive-evidence.js';
|
|
26
|
+
import { artifactPassingWitnessIds } from './witness-artifact.js';
|
|
24
27
|
/** Record major version of the emitted artifact. @internal */
|
|
25
28
|
export const ATLAS_RECORD_SCHEMA_VERSION = '0';
|
|
26
29
|
/** Rebuild a record with its keys in sorted order, so emission is stable. */
|
|
@@ -63,8 +66,10 @@ const serializeRegime = (regime) => {
|
|
|
63
66
|
/**
|
|
64
67
|
* `horizonHolds` and `deltaAt` are deliberately absent: a predicate is not
|
|
65
68
|
* data, and a serialized function would be a claim no reader could check.
|
|
66
|
-
* `
|
|
67
|
-
*
|
|
69
|
+
* `deltaAtBasis` IS data: it says whether the point value `deltaAt` returns
|
|
70
|
+
* is the closed-form error or a numerically supported one, which a reader of
|
|
71
|
+
* the artifact cannot otherwise tell. `uniformity` IS data. `null` is the
|
|
72
|
+
* not-yet-analysed state and must be present in the artifact, not dropped.
|
|
68
73
|
*/
|
|
69
74
|
const serializeBound = (bound) => ({
|
|
70
75
|
K: zeroSafe(bound.K),
|
|
@@ -75,6 +80,7 @@ const serializeBound = (bound) => ({
|
|
|
75
80
|
...(bound.parameterRange === undefined ? {} : { parameterRange: bound.parameterRange }),
|
|
76
81
|
limitCharacter: bound.limitCharacter,
|
|
77
82
|
uniformity: bound.uniformity === null ? null : [...bound.uniformity],
|
|
83
|
+
...(bound.deltaAtBasis === undefined ? {} : { deltaAtBasis: bound.deltaAtBasis }),
|
|
78
84
|
});
|
|
79
85
|
/**
|
|
80
86
|
* Fields are enumerated EXPLICITLY, never spread: a new optional field stays
|
|
@@ -124,7 +130,7 @@ const serializeNormTransports = (transports) => transports.map((nt) => ({
|
|
|
124
130
|
witness: serializeWitnesses([nt.witness])[0],
|
|
125
131
|
basis: nt.basis,
|
|
126
132
|
}));
|
|
127
|
-
const serializeBridge = (bridge) => ({
|
|
133
|
+
const serializeBridge = (bridge, witnessResults) => ({
|
|
128
134
|
id: bridge.id,
|
|
129
135
|
relation: bridge.relation,
|
|
130
136
|
premises: [...bridge.premises],
|
|
@@ -140,9 +146,9 @@ const serializeBridge = (bridge) => ({
|
|
|
140
146
|
description: c.description,
|
|
141
147
|
witness: c.witness,
|
|
142
148
|
})),
|
|
143
|
-
//
|
|
144
|
-
// insertion order.
|
|
145
|
-
evidence: [...bridge.
|
|
149
|
+
// DERIVED against the committed witness results, never read from the
|
|
150
|
+
// record — sorted, so the artifact does not churn on insertion order.
|
|
151
|
+
evidence: [...deriveEvidence(bridge, artifactPassingWitnessIds(witnessResults, bridge.id))].sort(),
|
|
146
152
|
witnesses: serializeWitnesses(bridge.witnesses),
|
|
147
153
|
citations: [...bridge.citations],
|
|
148
154
|
reviewStatus: bridge.reviewStatus,
|
|
@@ -189,16 +195,20 @@ const serializeRejection = (rejection) => ({
|
|
|
189
195
|
*
|
|
190
196
|
* Deterministic: equal inputs give byte-identical `JSON.stringify` output.
|
|
191
197
|
*
|
|
198
|
+
* @param witnessResults - the committed `data/atlas/witness-results.json`.
|
|
199
|
+
* Each bridge's `evidence` is derived against it; it is REQUIRED, because a
|
|
200
|
+
* defaulted empty artifact would publish `proposed` for every bridge and
|
|
201
|
+
* read exactly like a measured negative.
|
|
192
202
|
* @internal
|
|
193
203
|
*/
|
|
194
|
-
export function toAtlasJson(family, packageVersion) {
|
|
204
|
+
export function toAtlasJson(family, packageVersion, witnessResults) {
|
|
195
205
|
return {
|
|
196
206
|
$schema: '../schemas/atlas-record.v0.json',
|
|
197
207
|
schemaVersion: ATLAS_RECORD_SCHEMA_VERSION,
|
|
198
208
|
packageVersion,
|
|
199
209
|
family: family.family,
|
|
200
210
|
models: family.models.map(serializeModel),
|
|
201
|
-
bridges: family.bridges.map(serializeBridge),
|
|
211
|
+
bridges: family.bridges.map((bridge) => serializeBridge(bridge, witnessResults)),
|
|
202
212
|
rejections: family.rejections.map(serializeRejection),
|
|
203
213
|
};
|
|
204
214
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/atlas/serialize.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/atlas/serialize.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * JSON projection of an atlas family (Atlas Phase 0, S0.6).\n *\n * The in-memory record is not JSON. Two things make that true, and both are\n * handled here rather than left to `JSON.stringify`:\n *\n * 1. A bridge stores NO evidence set. The artifact's `evidence` is DERIVED\n * at write time by `deriveEvidence`, against the committed witness results\n * the caller passes in (`data/atlas/witness-results.json`), and emitted as\n * a SORTED array so the artifact is stable under insertion order. The\n * sentence that the record carried a `Set` the emitter copied is the\n * record from before the hand-set field was removed.\n * 2. `ApproximationBound.horizonHolds` and `deltaAt` are functions, which\n * stringify to nothing at all. Only the `horizon` PROSE and the\n * `deltaAtBasis` label cross into JSON; the machine forms stay in\n * TypeScript, as `data/schemas/atlas-record.v0.json` states.\n *\n * Every record key order and every `Record<>` key order is fixed here, so two\n * calls on the same family produce byte-identical output. That is what lets\n * `tests/atlas/atlas-json.test.ts` pin the committed artifact against the live\n * family the way `catalog-json.test.ts` pins the bridge catalog.\n *\n * @module atlas/serialize\n */\n\nimport type { PiGroup } from '../dimensional/buckingham.js';\nimport type {\n ApproximationBound,\n AtlasBridge,\n AtlasRejection,\n Regime,\n} from './types.js';\nimport type { AtlasModel } from './model.js';\nimport type { AtlasFamily } from './family.js';\nimport { deriveEvidence } from './derive-evidence.js';\nimport type { WitnessResultsArtifact } from './witness-artifact.js';\nimport { artifactPassingWitnessIds } from './witness-artifact.js';\n\n/** Record major version of the emitted artifact. @internal */\nexport const ATLAS_RECORD_SCHEMA_VERSION = '0';\n\n/** A JSON value, as emitted. @internal */\nexport type JsonValue =\n | string\n | number\n | boolean\n | null\n | readonly JsonValue[]\n | { readonly [k: string]: JsonValue };\n\n/** The emitted artifact. @internal */\nexport interface AtlasRecordJson {\n readonly $schema: string;\n readonly schemaVersion: string;\n readonly packageVersion: string;\n readonly family: string;\n readonly models: readonly JsonValue[];\n readonly bridges: readonly JsonValue[];\n readonly rejections: readonly JsonValue[];\n}\n\n/** Rebuild a record with its keys in sorted order, so emission is stable. */\nconst sortedRecord = <T>(source: Readonly<Record<string, T>>): Record<string, T> => {\n const out: Record<string, T> = {};\n for (const key of Object.keys(source).sort()) out[key] = source[key] as T;\n return out;\n};\n\n/**\n * Normalize negative zero. `buckinghamPi` produces `-0` exponents (a `-1 * 0`\n * in the null-space arithmetic), and `JSON.stringify(-0)` is `\"0\"` — so a\n * record holding `-0` does NOT survive its own round-trip. Collapsing it here\n * makes the projection genuinely JSON-faithful instead of nearly so.\n */\nconst zeroSafe = (n: number): number => (n === 0 ? 0 : n);\n\nconst serializePiGroup = (group: PiGroup): JsonValue => {\n const exponents: Record<string, number> = {};\n const sorted = sortedRecord(group.exponents);\n for (const key of Object.keys(sorted)) exponents[key] = zeroSafe(sorted[key] as number);\n return { exponents, formula: group.formula };\n};\n\nconst serializeRegime = (regime: Regime): JsonValue => {\n const definitions: Record<string, JsonValue> = {};\n for (const key of Object.keys(regime.groupDefinitions).sort()) {\n definitions[key] = serializePiGroup(regime.groupDefinitions[key] as PiGroup);\n }\n return {\n family: regime.family,\n inequalities: regime.inequalities.map((i) => ({\n group: i.group,\n op: i.op,\n bound: zeroSafe(i.bound),\n ...(i.alias === undefined ? {} : { alias: i.alias }),\n })),\n groupDefinitions: definitions,\n };\n};\n\n/**\n * `horizonHolds` and `deltaAt` are deliberately absent: a predicate is not\n * data, and a serialized function would be a claim no reader could check.\n * `deltaAtBasis` IS data: it says whether the point value `deltaAt` returns\n * is the closed-form error or a numerically supported one, which a reader of\n * the artifact cannot otherwise tell. `uniformity` IS data. `null` is the\n * not-yet-analysed state and must be present in the artifact, not dropped.\n */\nconst serializeBound = (bound: ApproximationBound): JsonValue => ({\n K: zeroSafe(bound.K),\n delta: zeroSafe(bound.delta),\n norm: bound.norm,\n domain: bound.domain,\n horizon: bound.horizon,\n ...(bound.parameterRange === undefined ? {} : { parameterRange: bound.parameterRange }),\n limitCharacter: bound.limitCharacter,\n uniformity: bound.uniformity === null ? null : [...bound.uniformity],\n ...(bound.deltaAtBasis === undefined ? {} : { deltaAtBasis: bound.deltaAtBasis }),\n});\n\n/**\n * Fields are enumerated EXPLICITLY, never spread: a new optional field stays\n * invisible to the artifact until it is added here, so a model that records\n * none of the Phase 3 additions serializes byte-identically to the committed\n * `data/atlas/oscillators.json` that `tests/atlas/atlas-json.test.ts`\n * deep-equals against.\n */\nconst serializeModel = (model: AtlasModel): JsonValue => ({\n id: model.id,\n family: model.family,\n stateSpace: model.stateSpace,\n dynamics: model.dynamics,\n observables: [...model.observables],\n parameters: model.parameters.map((p) => ({\n name: p.name,\n dim: { ...p.dim },\n })),\n dimensionlessInputs: [...model.dimensionlessInputs],\n canonicalRefs: [...model.canonicalRefs],\n regime: serializeRegime(model.regime),\n ...(model.boundaryData === undefined ? {} : { boundaryData: [...model.boundaryData] }),\n ...(model.initialData === undefined ? {} : { initialData: [...model.initialData] }),\n ...(model.symmetryGroup === undefined ? {} : { symmetryGroup: model.symmetryGroup }),\n});\n\nconst serializeWitnesses = (\n witnesses: AtlasBridge['witnesses'],\n): readonly JsonValue[] =>\n witnesses.map((w) => ({\n id: w.id,\n kind: w.kind,\n test: w.test,\n ...(w.tolerance === undefined ? {} : { tolerance: w.tolerance }),\n }));\n\n/**\n * A norm transport's `KAt` and `timeMap.restateHorizon` are functions and are\n * absent for the reason `serializeBound` gives; the declaration's data is kept.\n */\nconst serializeNormTransports = (\n transports: NonNullable<AtlasBridge['normTransports']>,\n): readonly JsonValue[] =>\n transports.map((nt) => ({\n id: nt.id,\n fromModel: nt.fromModel,\n toModel: nt.toModel,\n from: nt.from,\n to: nt.to,\n K: zeroSafe(nt.K),\n domain: nt.domain,\n derivation: nt.derivation,\n timeMap: { map: nt.timeMap.map, uniform: nt.timeMap.uniform, horizon: nt.timeMap.horizon },\n uniformity: nt.uniformity,\n witness: serializeWitnesses([nt.witness])[0]!,\n basis: nt.basis,\n }));\n\nconst serializeBridge = (bridge: AtlasBridge, witnessResults: WitnessResultsArtifact): JsonValue => ({\n id: bridge.id,\n relation: bridge.relation,\n premises: [...bridge.premises],\n conclusion: bridge.conclusion,\n transformation: bridge.transformation,\n ...(bridge.inverse === undefined ? {} : { inverse: bridge.inverse }),\n preserves: [...bridge.preserves],\n doesNotPreserve: [...bridge.doesNotPreserve],\n sideConditions: [...bridge.sideConditions],\n ...(bridge.bound === undefined ? {} : { bound: serializeBound(bridge.bound) }),\n regime: serializeRegime(bridge.regime),\n counterexamples: bridge.counterexamples.map((c) => ({\n description: c.description,\n witness: c.witness,\n })),\n // DERIVED against the committed witness results, never read from the\n // record — sorted, so the artifact does not churn on insertion order.\n evidence: [...deriveEvidence(bridge, artifactPassingWitnessIds(witnessResults, bridge.id))].sort(),\n witnesses: serializeWitnesses(bridge.witnesses),\n citations: [...bridge.citations],\n reviewStatus: bridge.reviewStatus,\n // Omitted, never emptied, when absent (Phase 4 S4.6): an absent reference is\n // the honest default, and `{}` would read as a reference with no content.\n ...(bridge.formalRef === undefined\n ? {}\n : {\n formalRef: {\n system: bridge.formalRef.system,\n statement: bridge.formalRef.statement,\n version: bridge.formalRef.version,\n axioms: [...bridge.formalRef.axioms],\n fidelity: bridge.formalRef.fidelity,\n kind: bridge.formalRef.kind,\n url: bridge.formalRef.url,\n covers: bridge.formalRef.covers,\n },\n }),\n // Omitted when absent, like formalRef: no declaration is the default.\n ...(bridge.normTransports === undefined\n ? {}\n : { normTransports: serializeNormTransports(bridge.normTransports) }),\n});\n\n/**\n * `claimed` is emitted as `claimedRelation`, and `reason` is ALSO emitted as\n * `counterexample.description`, because the schema's rejection record names\n * those two keys. The description is the refutation itself restated under the\n * key the schema requires — no new claim is introduced.\n */\nconst serializeRejection = (rejection: AtlasRejection): JsonValue => ({\n id: rejection.id,\n claimedRelation: rejection.claimed,\n premises: [...rejection.premises],\n conclusion: rejection.conclusion,\n reason: rejection.reason,\n survivingGroup: rejection.survivingGroup,\n counterexample: { description: rejection.reason },\n witnesses: serializeWitnesses(rejection.witnesses),\n});\n\n/**\n * Project an atlas family into the shape of\n * `data/schemas/atlas-record.v0.json`.\n *\n * Deterministic: equal inputs give byte-identical `JSON.stringify` output.\n *\n * @param witnessResults - the committed `data/atlas/witness-results.json`.\n * Each bridge's `evidence` is derived against it; it is REQUIRED, because a\n * defaulted empty artifact would publish `proposed` for every bridge and\n * read exactly like a measured negative.\n * @internal\n */\nexport function toAtlasJson(\n family: AtlasFamily,\n packageVersion: string,\n witnessResults: WitnessResultsArtifact,\n): AtlasRecordJson {\n return {\n $schema: '../schemas/atlas-record.v0.json',\n schemaVersion: ATLAS_RECORD_SCHEMA_VERSION,\n packageVersion,\n family: family.family,\n models: family.models.map(serializeModel),\n bridges: family.bridges.map((bridge) => serializeBridge(bridge, witnessResults)),\n rejections: family.rejections.map(serializeRejection),\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statement.js","sourceRoot":"","sources":["../../src/atlas/statement.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"statement.js","sourceRoot":"","sources":["../../src/atlas/statement.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 3 — `Statement`, `Context`, and the CHECKED context union.\n *\n * A `Statement` is a claim IN A CONTEXT, not a string. Design note\n * `docs/planning/Atlas-Phase-3-Design.md` §1: two statements that render\n * identically can be claims about different things when their gauge, frame or\n * assumption set differs, and the poster index will place exactly such pairs\n * next to each other. `context` is therefore the reason this type exists at\n * all rather than reusing `CanonicalEquation`.\n *\n * ## `ast?` is optional ON PURPOSE\n *\n * The poster's hidden supporting nodes — the action principle, Noether, the\n * full Maxwell set, the Lorentz group, the central limit theorem — are\n * valuable because they are NAMED and LINKED, not because they are evaluable.\n * Requiring an `ast` would force either a fabricated encoding or their\n * exclusion, and both are worse than an honest `sourceExpression` with no\n * `ast` (design note §1). Do not make it required.\n *\n * ## The union is CHECKED, never computed\n *\n * {@link contextUnion} does not MERGE contexts. It asks whether a union\n * EXISTS, and returns an explicit refusal when it does not. Two refusals\n * matter, and neither is an error condition:\n *\n * 1. **Convention conflict** — delegated to `checkConventions`, whose contract\n * is that `undefined` means UNKNOWN and is never a mismatch. An absent\n * declaration must not read as agreement, so the asymmetry is preserved\n * here rather than re-derived.\n * 2. **Contradictory assumptions** — Blueprint v2 §5.2 step 2: incompatible\n * assumptions are NEVER POOLED. A derivation whose premises assume mutually\n * exclusive conditions has no context union, therefore no composite.\n *\n * The result is a DISCRIMINATED UNION, mirroring `boundPath`'s no-claim\n * (`./path-bound.ts`): a caller cannot read `.context` off a refusal, because\n * a refusal has no `.context`. That is the whole point — the refusal is\n * enforced by the type, so no caller can read a conclusion off a union that\n * was never formed.\n *\n * Pure: no I/O, no registry reads.\n *\n * @module atlas/statement\n */\n\nimport { checkConventions } from './conventions.js';\nimport type { ConventionKey } from './conventions.js';\nimport type { Conventions } from './types.js';\nimport type { ModelId } from './model.js';\nimport type { ExprNode } from '../dimensional/ast-types.js';\n\n/** A {@link Statement} id — `'statement-noether'`, … . @internal */\nexport type StatementId = string;\n\n/**\n * The context a claim is made in: what it quantifies over, which choices it\n * fixes, and what it assumes.\n *\n * Every field but `assumptions` and `excludes` is optional, and the SAME\n * asymmetry `checkConventions` documents applies to each: a context that\n * declares no `gauge` has not chosen the Lorenz gauge, it has not said.\n * Absence is unknown, never disagreement.\n *\n * `assumptions` and `excludes` are required (possibly empty) because they are\n * the pair that decides poolability, and an optional one would let a caller\n * omit the field that makes a refusal possible.\n *\n * @internal\n */\nexport interface Context {\n /** Canonical quantity types the claim ranges over — `['energy', 'time']`. */\n readonly quantityTypes?: readonly string[];\n /** `'Lorenz'`, `'Coulomb'` — a fixed gauge choice, when the claim depends on one. */\n readonly gauge?: string;\n /** `'comoving'`, `'lab'` — a fixed frame choice, when the claim depends on one. */\n readonly frame?: string;\n /** Sign and unit choices. Compared by `checkConventions`. */\n readonly conventions?: Conventions;\n /** Stated assumptions — `'isolated system'`, `'weak field'`. */\n readonly assumptions: readonly string[];\n /**\n * Assumption strings this context is INCOMPATIBLE with.\n *\n * Declared per context rather than inferred, because no rule in this repo\n * can decide that `'weak field'` and `'strong field'` exclude each other\n * from the strings alone. A guess here would manufacture refusals out of\n * vocabulary rather than physics.\n *\n * Matching is exact string equality against another context's\n * `assumptions`, and it is SYMMETRIC in effect: it is enough for one side\n * to declare the exclusion.\n */\n readonly excludes: readonly string[];\n}\n\n/**\n * A claim in a context.\n *\n * @internal\n */\nexport interface Statement {\n /** `'statement-noether'`, `'statement-l1-maxwell'`, … */\n readonly id: StatementId;\n /** The load-bearing field — see the module note. */\n readonly context: Context;\n readonly model: ModelId;\n /** OPTIONAL BY DESIGN — see the module note. Absent ⇒ named-and-linked only. */\n readonly ast?: ExprNode;\n /** `'dS = 0'` — the source form, always present even when `ast` is not. */\n readonly sourceExpression: string;\n /** Rendered form for the poster index. */\n readonly display: string;\n}\n\n/** Why a set of contexts has NO union. @internal */\nexport type NoUnionReason =\n /** Two contexts DECLARE different values for a convention key. */\n | 'convention-conflict'\n /** One context excludes an assumption another one states. */\n | 'contradictory-assumptions'\n /** Two contexts DECLARE different gauges or frames. */\n | 'choice-conflict';\n\n/** The contexts DO pool, and this is the pooled context. @internal */\nexport interface ContextUnionFormed {\n readonly kind: 'union';\n readonly context: Context;\n}\n\n/** The contexts do NOT pool, and this is why. @internal */\nexport interface ContextUnionRefused {\n readonly kind: 'no-union';\n readonly reason: NoUnionReason;\n /** Human-readable specifics: which key, which assumption. */\n readonly detail: string;\n}\n\n/**\n * The result of {@link contextUnion}: a pooled context, or an explicit refusal.\n *\n * @internal\n */\nexport type ContextUnionResult = ContextUnionFormed | ContextUnionRefused;\n\n/** Distinct declared values of one optional choice field, across contexts. */\nfunction declaredChoices(\n contexts: readonly Context[],\n key: 'gauge' | 'frame',\n): readonly string[] {\n const seen = new Set<string>();\n for (const c of contexts) {\n const v = c[key];\n if (v !== undefined) seen.add(v);\n }\n return [...seen];\n}\n\n/**\n * The union of `contexts`, or an explicit refusal.\n *\n * Three gates, in this order; the FIRST refusal found is the one reported.\n *\n * 1. **Conventions.** Every PAIR is compared with `checkConventions`. Pairwise\n * rather than folded, because folding would compare each context against a\n * running merge and a merge has already lost which side declared what —\n * the exact information the `undefined`-is-unknown rule needs.\n * 2. **Assumptions.** A context's `excludes` entry matching any context's\n * stated `assumption` refuses the pool. Blueprint v2 §5.2 step 2.\n * 3. **Gauge / frame.** Two DECLARED and different values refuse; one declared\n * and one absent does not, mirroring gate 1's asymmetry.\n *\n * An empty list has no union: a union over nothing would be a context\n * asserted about no claim, the same reason `boundPath` throws on an empty\n * path. It is a `RangeError`, not a refusal, because it is a caller bug rather\n * than a physical incompatibility.\n *\n * @throws RangeError when `contexts` is empty.\n * @internal\n */\nexport function contextUnion(contexts: readonly Context[]): ContextUnionResult {\n if (contexts.length === 0) {\n throw new RangeError('contextUnion: no contexts; a union over nothing states nothing');\n }\n\n // ── Gate 1: no DECLARED convention pair may disagree ──────────────────────\n for (let i = 0; i < contexts.length; i++) {\n for (let j = i + 1; j < contexts.length; j++) {\n const clash: readonly ConventionKey[] = checkConventions(\n contexts[i]!.conventions,\n contexts[j]!.conventions,\n );\n if (clash.length > 0) {\n return {\n kind: 'no-union',\n reason: 'convention-conflict',\n detail:\n `contexts ${i} and ${j} declare different values for ` +\n `${clash.map((k) => `'${k}'`).join(', ')}; they do not pool`,\n };\n }\n }\n }\n\n // ── Gate 2: incompatible assumptions are NEVER pooled ─────────────────────\n const stated = new Map<string, number>();\n for (let i = 0; i < contexts.length; i++) {\n for (const a of contexts[i]!.assumptions) {\n if (!stated.has(a)) stated.set(a, i);\n }\n }\n for (let i = 0; i < contexts.length; i++) {\n for (const x of contexts[i]!.excludes) {\n const at = stated.get(x);\n if (at !== undefined) {\n return {\n kind: 'no-union',\n reason: 'contradictory-assumptions',\n detail:\n `context ${i} excludes '${x}', which context ${at} assumes; ` +\n 'incompatible assumptions are never pooled',\n };\n }\n }\n }\n\n // ── Gate 3: a declared gauge or frame may not be contradicted ─────────────\n for (const key of ['gauge', 'frame'] as const) {\n const values = declaredChoices(contexts, key);\n if (values.length > 1) {\n return {\n kind: 'no-union',\n reason: 'choice-conflict',\n detail:\n `the contexts declare ${values.length} different ${key}s ` +\n `(${values.map((v) => `'${v}'`).join(', ')}); they do not pool`,\n };\n }\n }\n\n // ── The pool ──────────────────────────────────────────────────────────────\n // Conventions merge by KEY rather than by object, so a context silent on a\n // key inherits another's declaration instead of erasing it. Gate 1 has\n // already proved no two declarations disagree, so the order of assignment\n // cannot change the result.\n const conventions: Record<string, unknown> = {};\n for (const c of contexts) {\n for (const [k, v] of Object.entries(c.conventions ?? {})) {\n if (v !== undefined) conventions[k] = v;\n }\n }\n const quantityTypes = [...new Set(contexts.flatMap((c) => c.quantityTypes ?? []))];\n const gauge = declaredChoices(contexts, 'gauge')[0];\n const frame = declaredChoices(contexts, 'frame')[0];\n\n return {\n kind: 'union',\n context: {\n ...(quantityTypes.length > 0 ? { quantityTypes } : {}),\n ...(gauge !== undefined ? { gauge } : {}),\n ...(frame !== undefined ? { frame } : {}),\n ...(Object.keys(conventions).length > 0\n ? { conventions: conventions as Conventions }\n : {}),\n assumptions: [...stated.keys()],\n excludes: [...new Set(contexts.flatMap((c) => c.excludes))],\n },\n };\n}\n\n/**\n * The context union of a set of STATEMENTS, by id, resolved through `registry`.\n *\n * @throws RangeError if an id does not resolve. An unresolved id silently\n * dropped would narrow the union and could turn a refusal into a pool —\n * precisely the direction that manufactures a false claim.\n * @internal\n */\nexport function statementContextUnion(\n ids: readonly StatementId[],\n registry: ReadonlyMap<StatementId, Statement>,\n): ContextUnionResult {\n const contexts: Context[] = [];\n for (const id of ids) {\n const s = registry.get(id);\n if (s === undefined) {\n throw new RangeError(`statementContextUnion: unknown statement '${id}'`);\n }\n contexts.push(s.context);\n }\n return contextUnion(contexts);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translation-registry.js","sourceRoot":"","sources":["../../src/atlas/translation-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAEtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,gBAAgB;AAChB,MAAM,CAAC,MAAM,uBAAuB,GAAqC,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,CAAC;AAErI,gBAAgB;AAChB,MAAM,CAAC,MAAM,oBAAoB,GAAkC,CAAC,wBAAwB,CAAC,CAAC;AAE9F,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AACxE,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,UAAkB;IAC7D,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;AAClG,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,mBAAmB,CAAC,KAAuB;IACzD,OAAO,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACjF,CAAC"}
|
|
1
|
+
{"version":3,"file":"translation-registry.js","sourceRoot":"","sources":["../../src/atlas/translation-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAEtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,gBAAgB;AAChB,MAAM,CAAC,MAAM,uBAAuB,GAAqC,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,CAAC;AAErI,gBAAgB;AAChB,MAAM,CAAC,MAAM,oBAAoB,GAAkC,CAAC,wBAAwB,CAAC,CAAC;AAE9F,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AACxE,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,UAAkB;IAC7D,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;AAClG,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,mBAAmB,CAAC,KAAuB;IACzD,OAAO,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACjF,CAAC","sourcesContent":["/**\n * Every declared observable translation (`./translation.ts`), and every\n * bridge's declaration that it carries an observable. A bridge absent here\n * has none, and a tolerance in another observable is not judged for it or\n * through it.\n *\n * @module atlas/translation-registry\n * @internal\n */\n\nimport { SPRING_LC_PHASE_CARRIAGE } from './oscillators/phase-carriage.js';\nimport { PENDULUM_PHASE_TRANSLATION } from './oscillators/phase-translation.js';\nimport { PENDULUM_POSITION_TRANSLATION } from './oscillators/position-translation.js';\nimport type { ObservableCarriage, ObservableTranslation, TranslationCheck } from './translation.js';\nimport { runDominanceWitness } from './witness-dominance.js';\nimport { runNumericWitness } from './witness-numeric.js';\nimport type { WitnessRunResult } from './witness-result.js';\n\n/** @internal */\nexport const OBSERVABLE_TRANSLATIONS: readonly ObservableTranslation[] = [PENDULUM_PHASE_TRANSLATION, PENDULUM_POSITION_TRANSLATION];\n\n/** @internal */\nexport const OBSERVABLE_CARRIAGES: readonly ObservableCarriage[] = [SPRING_LC_PHASE_CARRIAGE];\n\n/** The translations declared for one bridge, in registry order. @internal */\nexport function translationsOf(bridgeId: string): readonly ObservableTranslation[] {\n return OBSERVABLE_TRANSLATIONS.filter((t) => t.bridgeId === bridgeId);\n}\n\n/** The bridge's declaration that it carries `observable`, if it makes one. @internal */\nexport function carriageOf(bridgeId: string, observable: string): ObservableCarriage | undefined {\n return OBSERVABLE_CARRIAGES.find((c) => c.bridgeId === bridgeId && c.observable === observable);\n}\n\n/** Run a translation or carriage check of either shape. @internal */\nexport function runTranslationCheck(check: TranslationCheck): WitnessRunResult {\n return 'kind' in check ? runDominanceWitness(check) : runNumericWitness(check);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translation.js","sourceRoot":"","sources":["../../src/atlas/translation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG"}
|
|
1
|
+
{"version":3,"file":"translation.js","sourceRoot":"","sources":["../../src/atlas/translation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG","sourcesContent":["/**\n * A bridge's declared translation of its bound's quantity into ANOTHER\n * observable (CLI audit §14 item 8).\n *\n * A bound is stated in one norm. A user asking for a tolerance in a different\n * observable is asking a different question, and the answer is only as good\n * as the map between the two. So the map is a record of its own: declared per\n * bridge, with its derivation, its premises, what it does NOT cover, and its\n * own witnesses. Its evidence is derived from those witnesses and is never the\n * bound's: a translation that rests on a numerically-supported check does not\n * inherit a proof the bound's transformation may carry, and it carries no\n * `formalRef`.\n *\n * Both maps take the bound's own quantity as an argument, so the same\n * translation serves the point value (`deltaAt`) and the domain supremum\n * (`delta`). That is sound only when the translated error is monotone\n * non-decreasing in the bound's quantity, which `derivation` must state.\n *\n * A translation is either the error itself (`'exact'`) or an upper bound on\n * it (`'upper-bound'`). Past the horizon of an exact translation the error\n * exceeds the tolerance; past the horizon of an upper bound only the BOUND\n * does, and the error may still be within it — a caller must not report the\n * second as inadequate.\n *\n * A translation composes across a following bridge only through an\n * `ObservableCarriage` that bridge declares for the same observable. The\n * composition table is not consulted and not widened: a carriage is a claim\n * about one observable, not about the bound's norm.\n *\n * @module atlas/translation\n * @internal\n */\n\nimport type { Witness } from './types.js';\nimport type { DominanceWitnessSpec } from './witness-dominance.js';\nimport type { NumericWitnessSpec } from './witness-numeric.js';\n\n/** An executable witness of either shape. @internal */\nexport type TranslationCheck = NumericWitnessSpec | DominanceWitnessSpec;\n\n/** A witness run at the caller's point, with the control that shows it can fail there. @internal */\nexport interface PointCheck {\n /** What is checked at this point, in words, including the resolutions. */\n readonly claim: string;\n readonly check: TranslationCheck;\n /** The same measurement against a plausible wrong map. */\n readonly control: TranslationCheck;\n /** The wrong map the control uses. */\n readonly controlClaim: string;\n}\n\n/** A bridge-specific map from a bound's norm to an observable error and horizon. @internal */\nexport interface ObservableTranslation {\n /** The `AtlasBridge.id` whose bound is translated. */\n readonly bridgeId: string;\n /** `'phase'` — the name a `--tolerance=<observable>:EPS` request uses. */\n readonly observable: string;\n /** Unit of the translated error and of a tolerance on it. */\n readonly unit: string;\n /** Must equal the bridge's `bound.norm`: the quantity the maps consume. */\n readonly fromNorm: string;\n /** Whether `errorAt` is the error itself or an upper bound on it. */\n readonly errorKind: 'exact' | 'upper-bound';\n /** What the observable is, precisely enough to measure it. */\n readonly definition: string;\n /** How the maps follow from the bound's quantity, and why the supremum may be passed. */\n readonly derivation: string;\n /** Conditions the derivation assumes and nothing here checks. */\n readonly premises: readonly string[];\n /** Point parameters the maps need beyond the bound's own (`'T0'`). */\n readonly parameters: readonly string[];\n /** The unit an observation time is read in. */\n readonly timeUnit: string;\n /** The accumulated error in `observable` at time `t`, given the bound's value. */\n readonly errorAt: (boundValue: number, t: number, params: Readonly<Record<string, number>>) => number;\n /**\n * The time at which the accumulated error reaches `tolerance`; `Infinity` if\n * it never does; `NaN` if undefined, including when `floor` already exceeds\n * the tolerance.\n */\n readonly horizonFor: (boundValue: number, tolerance: number, params: Readonly<Record<string, number>>) => number;\n /** The part of `errorAt` present at every t (its value at t = 0); absent when it is 0. */\n readonly floor?: (boundValue: number) => number;\n /** Which side of the horizon is adequate, stated. */\n readonly boundary: string;\n /** Observables this translation is NOT a bound on. */\n readonly notCovered: readonly string[];\n readonly witnesses: readonly Witness[];\n /** The executable form of each numeric witness, run on request. */\n readonly checks: readonly TranslationCheck[];\n /** The witness at the caller's point, bounded in cost, or why it cannot be run there. */\n readonly pointCheck: (boundValue: number) => PointCheck | { readonly unavailable: string };\n}\n\n/**\n * A bridge's declaration that its map carries an observable unchanged, so a\n * translation into that observable on an earlier step holds for the path\n * through it. Declared per bridge, with its own derivation and witnesses; a\n * bridge without one does not carry the observable, whatever its relation.\n *\n * @internal\n */\nexport interface ObservableCarriage {\n /** The bridge that carries. */\n readonly bridgeId: string;\n /** The observable carried: a translation's `observable`. */\n readonly observable: string;\n /** How the observable on the premise maps to the conclusion's. */\n readonly map: string;\n /** Why the map leaves the observable's error unchanged. */\n readonly derivation: string;\n /** Conditions the carriage assumes and nothing here checks. */\n readonly premises: readonly string[];\n /** How the observation time on the premise maps to the conclusion's clock. */\n readonly timeMap: string;\n readonly witnesses: readonly Witness[];\n readonly checks: readonly TranslationCheck[];\n}\n"]}
|
package/dist/atlas/types.d.ts
CHANGED
|
@@ -110,7 +110,14 @@ export interface AtlasBridge {
|
|
|
110
110
|
readonly bound?: ApproximationBound;
|
|
111
111
|
readonly regime: Regime;
|
|
112
112
|
readonly counterexamples: readonly Counterexample[];
|
|
113
|
-
|
|
113
|
+
/**
|
|
114
|
+
* There is NO `evidence` field. Every evidence tag is derived at read time
|
|
115
|
+
* by `deriveEvidence` from the witnesses, the formal reference and the
|
|
116
|
+
* counterexamples a record carries, against the committed witness results;
|
|
117
|
+
* `toAtlasJson` writes that derivation into the artifact. The sentence
|
|
118
|
+
* that a record stored its own set is the record from before this field
|
|
119
|
+
* was removed.
|
|
120
|
+
*/
|
|
114
121
|
readonly witnesses: readonly Witness[];
|
|
115
122
|
readonly citations: readonly string[];
|
|
116
123
|
readonly reviewStatus: 'proposed' | 'reviewed';
|
|
@@ -149,7 +156,7 @@ export declare class MissingHorizonError extends Error {
|
|
|
149
156
|
* such a record is present and correct, and reporting a missing horizon for it
|
|
150
157
|
* would send the next reader to the one field that is not the defect.
|
|
151
158
|
*
|
|
152
|
-
* @
|
|
159
|
+
* @public
|
|
153
160
|
*/
|
|
154
161
|
export declare class MissingDeltaAtError extends Error {
|
|
155
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/atlas/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/atlas/types.ts"],"names":[],"mappings":"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"}
|
package/dist/atlas/types.js
CHANGED
|
@@ -19,7 +19,7 @@ export class MissingHorizonError extends Error {
|
|
|
19
19
|
* such a record is present and correct, and reporting a missing horizon for it
|
|
20
20
|
* would send the next reader to the one field that is not the defect.
|
|
21
21
|
*
|
|
22
|
-
* @
|
|
22
|
+
* @public
|
|
23
23
|
*/
|
|
24
24
|
export class MissingDeltaAtError extends Error {
|
|
25
25
|
}
|
package/dist/atlas/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/atlas/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA0BH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/atlas/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA0BH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAkI1D,wFAAwF;AACxF,MAAM,OAAO,mBAAoB,SAAQ,KAAK;CAAG;AAEjD;;;;;;;;;GASG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;CAAG;AAEjD,0FAA0F;AAC1F,MAAM,OAAO,qBAAsB,SAAQ,KAAK;CAAG","sourcesContent":["/**\n * Atlas record types.\n *\n * The shared vocabulary lives in `src/relations/types.ts` and is re-exported\n * here. A public name is also a local type alias in this file, so the\n * facade scan still sees a declaration, and the alias is the same type.\n *\n * @module atlas/types\n */\n\nimport type { FormalRef } from '../relations/types.js';\n\n/** The relation a bridge asserts between its premises and its conclusion. @public */\nexport type RelationType = import('../relations/types.js').RelationType;\n/** What kind of support a record carries. Carried only if its witness passes. @public */\nexport type EvidenceTag = import('../relations/types.js').EvidenceTag;\n/** Whether the limit a bridge takes is regular or singular. @public */\nexport type LimitCharacter = import('../relations/types.js').LimitCharacter;\n/** One inequality on a regime coordinate, a π-group or a dimensionless input. @public */\nexport type RegimeInequality = import('../relations/types.js').RegimeInequality;\n/** Where in parameter space a model or bridge is claimed to apply. @public */\nexport type Regime = import('../relations/types.js').Regime;\n/** A Lipschitz-plus-offset error bound with a mandatory horizon. @public */\nexport type ApproximationBound = import('../relations/types.js').ApproximationBound;\n/** A case a bridge does not cover, and the witness that shows it. @public */\nexport type Counterexample = import('../relations/types.js').Counterexample;\n\nexport type {\n Conventions,\n FormalFidelity,\n FormalRef,\n FormalRefKind,\n RelationContract,\n} from '../relations/types.js';\nexport { ALL_EVIDENCE_TAGS } from '../relations/types.js';\n\n/** A named check that supports a record, and the test file that runs it. @public */\nexport interface Witness {\n /** `'W7b'`. */\n readonly id: string;\n readonly kind: 'symbolic' | 'numeric' | 'formal';\n /** Test file path. */\n readonly test: string;\n /** As stated in the brief. */\n readonly tolerance?: string;\n}\n\n/**\n * `AtlasModel` MOVED to `./model.ts` in Phase 3, where it gained\n * `boundaryData?`, `initialData?` and `symmetryGroup?`. It is NOT re-exported\n * from here: `model.ts` imports `Regime` from this module, so a re-export\n * would close a cycle `bun run docs:deps` reports. Import it from\n * `./model.js`.\n */\n\n/**\n * An exact bridge's declaration of how its map acts on ONE norm, in ONE\n * direction: a bound stated in `from` about `fromModel` becomes a bound in `to`\n * about `toModel`, multiplied by `K`. Design:\n * `docs/planning/ADR-transported-norm-composition.md`.\n *\n * Without a declaration an exact map contributes the identity in no norm, and a\n * route through it after a normed bound carries no bound (`'norm-not-stated'`).\n * A declaration licenses exactly the norm and direction it names; every other\n * norm, and the reverse direction, stay refused.\n *\n * @internal\n */\nexport interface NormTransport {\n /** `'nt-spring-lc-relative-period'`; also the `recordId` of its registered witness. */\n readonly id: string;\n /** The model the bound is about before the map. */\n readonly fromModel: string;\n /** The model the transported bound is about. */\n readonly toModel: string;\n /** The norm the incoming bound must state, verbatim. */\n readonly from: string;\n /** The norm the transported bound holds in. */\n readonly to: string;\n /** The factor the map multiplies the error by: the supremum of {@link KAt} over {@link domain}. */\n readonly K: number;\n /** The same factor at a point, in closed form. */\n readonly KAt: (params: Readonly<Record<string, number>>) => number;\n /** Where `K` is the supremum. */\n readonly domain: string;\n /** Why the map acts on the norm by `K`. */\n readonly derivation: string;\n readonly timeMap: {\n /** The map from the `fromModel`'s clock to the `toModel`'s. */\n readonly map: string;\n /** A transport whose time map is not uniform is refused by `boundPath`. */\n readonly uniform: boolean;\n /** How a horizon stated before the map reads after it. */\n readonly horizon: string;\n /** The machine form of {@link horizon}. */\n readonly restateHorizon: (\n holds: (t: number, params: Readonly<Record<string, number>>) => boolean,\n ) => (t: number, params: Readonly<Record<string, number>>) => boolean;\n };\n /** What the incoming bound's uniformity becomes; the list is carried unchanged when the map preserves it. */\n readonly uniformity: string;\n /** The check that the map acts on the norm by `K`. */\n readonly witness: Witness;\n /** The evidence tag the witness supports when it checks; never `'formally-proved'`. */\n readonly basis: 'numerically-supported' | 'symbolically-checked';\n}\n\n/** Field set = Blueprint v2 §3.1 Bridge record + citations. @internal */\nexport interface AtlasBridge {\n /** `'ab-spring-lc'`. */\n readonly id: string;\n readonly relation: RelationType;\n /** Model ids (many). */\n readonly premises: readonly string[];\n /** Model id (one). */\n readonly conclusion: string;\n /** `'u = x/x0 (or q/q0), τ = ω0 t'`. */\n readonly transformation: string;\n /** `'x = x0 u, t = τ/ω0'` — required for `exact-equivalence`. */\n readonly inverse?: string;\n readonly preserves: readonly string[];\n readonly doesNotPreserve: readonly string[];\n readonly sideConditions: readonly string[];\n /** Required iff `relation === 'approximation'`. */\n readonly bound?: ApproximationBound;\n readonly regime: Regime;\n readonly counterexamples: readonly Counterexample[];\n /**\n * There is NO `evidence` field. Every evidence tag is derived at read time\n * by `deriveEvidence` from the witnesses, the formal reference and the\n * counterexamples a record carries, against the committed witness results;\n * `toAtlasJson` writes that derivation into the artifact. The sentence\n * that a record stored its own set is the record from before this field\n * was removed.\n */\n readonly witnesses: readonly Witness[];\n readonly citations: readonly string[];\n readonly reviewStatus: 'proposed' | 'reviewed';\n /**\n * A machine-checked counterpart, when one genuinely exists (Phase 4, S4.6).\n * Absent is the honest default: a statement with no checked counterpart gets\n * no reference rather than an `'unreviewed'` placeholder.\n */\n readonly formalRef?: FormalRef;\n /**\n * Only on an `exact-equivalence`: the norms, and directions, the map is\n * declared to transport a bound in. Absent means none.\n */\n readonly normTransports?: readonly NormTransport[];\n}\n\n/** A claimed bridge the atlas records as REJECTED, with the reason. @public */\nexport interface AtlasRejection {\n /** `'ax-cubic-spring-lc'`. */\n readonly id: string;\n readonly claimed: RelationType;\n readonly premises: readonly string[];\n readonly conclusion: string;\n readonly reason: string;\n /** `'beta·x0²·k⁻¹'`. */\n readonly survivingGroup: string;\n readonly witnesses: readonly Witness[];\n}\n\n/** Thrown when an `ApproximationBound` is built without its machine horizon. @public */\nexport class MissingHorizonError extends Error {}\n\n/**\n * Thrown when an `approximation` bound is built without the machine form of\n * its `delta`.\n *\n * A distinct type rather than a reuse of `MissingHorizonError`: the horizon of\n * such a record is present and correct, and reporting a missing horizon for it\n * would send the next reader to the one field that is not the defect.\n *\n * @public\n */\nexport class MissingDeltaAtError extends Error {}\n\n/** Thrown when a bound path has no Lipschitz constant anywhere but at its end. @public */\nexport class MissingLipschitzError extends Error {}\n\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridges-closure.d.ts","sourceRoot":"","sources":["../../../src/atlas/waves/bridges-closure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAQH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM/C,wEAAwE;AACxE,eAAO,MAAM,WAAW,MAAM,CAAC;AAE/B,6EAA6E;AAC7E,eAAO,MAAM,cAAc,OAAO,CAAC;AAWnC;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"bridges-closure.d.ts","sourceRoot":"","sources":["../../../src/atlas/waves/bridges-closure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAQH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM/C,wEAAwE;AACxE,eAAO,MAAM,WAAW,MAAM,CAAC;AAE/B,6EAA6E;AAC7E,eAAO,MAAM,cAAc,OAAO,CAAC;AAWnC;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,EAAE,WA+EnC,CAAC;AAEF,yFAAyF;AACzF,eAAO,MAAM,oBAAoB,EAAE,WA+BlC,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,EAAE,WAqEjC,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,oBAAoB,EAAE,SAAS,WAAW,EAItD,CAAC"}
|
|
@@ -99,7 +99,6 @@ export const BRIDGE_KG_SCHRODINGER = {
|
|
|
99
99
|
witness: 'WS5b',
|
|
100
100
|
},
|
|
101
101
|
],
|
|
102
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
103
102
|
witnesses: [
|
|
104
103
|
{
|
|
105
104
|
id: 'WS5',
|
|
@@ -136,7 +135,6 @@ export const BRIDGE_KG_OSCILLATOR = {
|
|
|
136
135
|
{ name: 'k', dim: SPRING_CONSTANT },
|
|
137
136
|
], []),
|
|
138
137
|
counterexamples: [],
|
|
139
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
140
138
|
witnesses: [
|
|
141
139
|
{
|
|
142
140
|
id: 'WS6',
|
|
@@ -200,7 +198,6 @@ export const BRIDGE_STIFF_STRING = {
|
|
|
200
198
|
witness: 'WS7b',
|
|
201
199
|
},
|
|
202
200
|
],
|
|
203
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
204
201
|
witnesses: [
|
|
205
202
|
{
|
|
206
203
|
id: 'WS7',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridges-closure.js","sourceRoot":"","sources":["../../../src/atlas/waves/bridges-closure.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridges-closure.js","sourceRoot":"","sources":["../../../src/atlas/waves/bridges-closure.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 4 — the three wave-family bridges added to close Sprint 4's\n * \"≥ 20 bridges\" exit criterion.\n *\n * Design note: `docs/planning/Atlas-Phase-4-Design.md` §4 (Sprint 4 closure).\n *\n * | Bridge | Relation | Witnesses |\n * |---|---|---|\n * | Klein–Gordon → free Schrödinger | `approximation` (ck/ω₀ → 0) | WS5 (convergence), WS5b |\n * | Klein–Gordon → spring | `restriction` (uniform mode) | WS6 (convergence) |\n * | stiff string → string | `approximation` (EIk²/F → 0) | WS7 (convergence), WS7b |\n *\n * Two of these END in other families (`model-schrodinger-free` in diffusion,\n * `model-spring` in oscillators): the atlas is one graph, and\n * `tests/atlas/families.test.ts` resolves endpoints across all of it.\n *\n * @module atlas/waves/bridges-closure\n */\n\nimport type { Dimension } from '../../dimensional/types.js';\nimport { ACTION, FORCE, FREQUENCY, MASS, VELOCITY } from '../../dimensional/types.js';\nimport { makeApproximation } from '../oscillators/bridges-limits.js';\nimport { SPRING_CONSTANT } from '../oscillators/dimensions.js';\nimport { deriveRegimeGroups } from '../regime.js';\nimport { physjsFormalRef } from '../physjs-ref.js';\nimport type { AtlasBridge } from '../types.js';\nimport { FLEXURAL_RIGIDITY, LINEAR_DENSITY, WAVENUMBER, WAVES_FAMILY_NAME } from './models.js';\nimport { kgNonrelativisticError, stiffStringPhaseError } from './numerics.js';\n\nconst TEST = 'tests/atlas/closure.test.ts';\n\n/** Domain edge of the non-relativistic limit: ck/ω₀ ≤ 0.1. @internal */\nexport const KG_NR_MAX_X = 0.1;\n\n/** Domain edge of the flexible-string limit: β = EIk²/F ≤ 0.01. @internal */\nexport const STIFF_MAX_BETA = 0.01;\n\nconst regime = (\n parameters: readonly { name: string; dim: Dimension }[],\n inequalities: AtlasBridge['regime']['inequalities'],\n): AtlasBridge['regime'] => ({\n family: WAVES_FAMILY_NAME,\n inequalities,\n groupDefinitions: deriveRegimeGroups(WAVES_FAMILY_NAME, parameters, []),\n});\n\n/**\n * Bridge: Klein–Gordon → free Schrödinger, the non-relativistic limit.\n *\n * Factor out the rest-frequency phase e^{−iω₀t}; the remaining envelope obeys\n * the free Schrödinger equation with ħ/m ↦ c²/ω₀ (that is, mc² = ħω₀).\n *\n * @internal\n */\nexport const BRIDGE_KG_SCHRODINGER: AtlasBridge = {\n id: 'ab-kg-schrodinger',\n relation: 'approximation',\n premises: ['model-klein-gordon'],\n conclusion: 'model-schrodinger-free',\n transformation:\n 'u = Re(ψ e^{−iω₀t}) with ψ slowly varying; ħ/m ↦ c²/ω₀: ω − ω₀ = ω₀(√(1 + x²) − 1) → ω₀x²/2, x = ck/ω₀',\n preserves: ['the kinetic frequency ħk²/(2m) to O(x²)', 'linearity'],\n doesNotPreserve: [\n 'the rest-frequency phase e^{−iω₀t}',\n 'the negative-frequency branch',\n 'relativistic dispersion at x ≳ 1',\n ],\n sideConditions: ['non-relativistic modes: x = ck/ω₀ ≤ 0.1', 'the bound is a FREQUENCY error, not uniform in time'],\n bound: makeApproximation({\n K: 1,\n delta: kgNonrelativisticError(KG_NR_MAX_X),\n deltaAt: (p) => {\n const { c, k, omega0 } = p;\n if (c === undefined || k === undefined || omega0 === undefined) return Number.NaN;\n return kgNonrelativisticError((c * k) / omega0);\n },\n deltaAtBasis: 'closed-form',\n norm: 'relative error of the kinetic frequency ω − ω₀, normalized by the value of the reduced model',\n domain: 'x = ck/ω₀ ≤ 0.1',\n horizon:\n 't ≪ π/(δ ω₀ x²): the kinetic-phase drift reaches π/2; machine form t < π/(δ ω₀ x²)',\n horizonHolds: (t, p) => {\n const { c, k, omega0 } = p;\n if (c === undefined || k === undefined || omega0 === undefined) return false;\n const x = (c * k) / omega0;\n const delta = kgNonrelativisticError(x);\n if (!Number.isFinite(delta)) return false;\n if (delta === 0) return true;\n return t < Math.PI / (delta * omega0 * x * x);\n },\n parameterRange: 'x = ck/ω₀ ≤ 0.1',\n limitCharacter: 'regular',\n // A frequency error. The record says it is not uniform in time.\n uniformity: ['kinetic frequency of one mode, for x = ck/ω₀ ≤ 0.1'],\n }),\n regime: regime(\n [\n { name: 'c', dim: VELOCITY },\n { name: 'omega0', dim: FREQUENCY },\n { name: 'k', dim: WAVENUMBER },\n { name: 'hbar', dim: ACTION },\n { name: 'm', dim: MASS },\n ],\n [{ group: 'c · omega0^-1 · k', op: '<=', bound: KG_NR_MAX_X, alias: 'ck/ω₀ ≤ 0.1' }],\n ),\n counterexamples: [\n {\n description:\n 'At x = ck/ω₀ = 1 the non-relativistic kinetic frequency ω₀/2 is 20.7% above the exact ' +\n 'ω₀(√2 − 1), which is 17.2% of its own value (the normalization of delta): the limit is a ' +\n 'long-wavelength statement.',\n witness: 'WS5b',\n },\n ],\n witnesses: [\n {\n id: 'WS5',\n kind: 'numeric',\n test: TEST,\n tolerance: 'kinetic-frequency error below 1e-3 at x = 0.05; falls ≈4× per halving of x',\n },\n {\n id: 'WS5b',\n kind: 'numeric',\n test: TEST,\n tolerance: 'relative error 3 − 2√2 = 0.1716 at x = 1, normalized by the reduced value',\n },\n ],\n citations: [\n 'Greiner, Relativistic Quantum Mechanics: Wave Equations - Ch. 1, the Klein-Gordon equation and its non-relativistic limit',\n ],\n reviewStatus: 'proposed',\n formalRef: physjsFormalRef('ab-kg-schrodinger'),\n};\n\n/** Bridge: Klein–Gordon → spring, restricted to the spatially uniform mode. @internal */\nexport const BRIDGE_KG_OSCILLATOR: AtlasBridge = {\n id: 'ab-kg-oscillator',\n relation: 'restriction',\n premises: ['model-klein-gordon'],\n conclusion: 'model-spring',\n transformation: 'u(x, t) = u(t): u_tt = −ω₀² u; u ↦ x, ω₀² ↦ k/m',\n preserves: ['the k = 0 mode exactly', 'the frequency ω₀'],\n doesNotPreserve: ['every mode with k ≠ 0', 'spatial structure'],\n sideConditions: ['spatially uniform initial data', 'periodic or infinite domain (no boundary forcing)'],\n regime: regime(\n [\n { name: 'omega0', dim: FREQUENCY },\n { name: 'm', dim: MASS },\n { name: 'k', dim: SPRING_CONSTANT },\n ],\n [],\n ),\n counterexamples: [],\n witnesses: [\n {\n id: 'WS6',\n kind: 'numeric',\n test: TEST,\n tolerance: 'uniform leapfrog field within 3e-4 of cos(ω₀t) at 100 steps (ω₀ = 2, t = 3); ≈4× per halving',\n },\n ],\n citations: [\n 'Whitham, Linear and Nonlinear Waves - §11.1, dispersive waves and the Klein-Gordon equation',\n ],\n reviewStatus: 'proposed',\n formalRef: physjsFormalRef('ab-kg-oscillator'),\n};\n\n/** Bridge: stiff string → flexible string, as bending stiffness → 0. @internal */\nexport const BRIDGE_STIFF_STRING: AtlasBridge = {\n id: 'ab-stiff-string',\n relation: 'approximation',\n premises: ['model-stiff-string'],\n conclusion: 'model-string',\n transformation: 'drop EI y_xxxx: ω² = (F/μ)k² + (EI/μ)k⁴ → (F/μ)k²',\n preserves: ['the wave speed √(F/μ) for long wavelengths', 'harmonic partials to O(β)'],\n doesNotPreserve: ['inharmonicity: high partials of a stiff string are sharp', 'the fourth-order boundary conditions'],\n sideConditions: ['β = EIk²/F ≤ 0.01', 'the bound is a PHASE-VELOCITY error, not uniform in time'],\n bound: makeApproximation({\n K: 1,\n delta: stiffStringPhaseError(1, STIFF_MAX_BETA, 1),\n deltaAt: (p) =>\n stiffStringPhaseError(p['F'] ?? Number.NaN, p['EI'] ?? Number.NaN, p['k'] ?? Number.NaN),\n deltaAtBasis: 'closed-form',\n norm: 'relative phase-velocity error of a Fourier mode, normalized by the value of the reduced model',\n domain: 'β = EIk²/F ≤ 0.01',\n horizon:\n 't ≪ π/(2 c k δ): the phase drift reaches π/2; machine form t < π/(2 √(F/μ) k δ)',\n horizonHolds: (t, p) => {\n const { F, EI, k, mu } = p;\n if (F === undefined || EI === undefined || k === undefined || mu === undefined) return false;\n const delta = stiffStringPhaseError(F, EI, k);\n if (!Number.isFinite(delta)) return false;\n if (delta === 0) return true;\n return t < Math.PI / (2 * Math.sqrt(F / mu) * k * delta);\n },\n parameterRange: 'β = EIk²/F ≤ 0.01',\n limitCharacter: 'regular',\n // A phase-velocity error. The record says it is not uniform in time.\n uniformity: ['phase velocity of one Fourier mode, for β = EIk²/F ≤ 0.01'],\n }),\n regime: regime(\n [\n { name: 'F', dim: FORCE },\n { name: 'mu', dim: LINEAR_DENSITY },\n { name: 'EI', dim: FLEXURAL_RIGIDITY },\n { name: 'k', dim: WAVENUMBER },\n ],\n // The derived group is F/(EIk²) = 1/β, so β ≤ 0.01 is F/(EIk²) ≥ 100.\n [{ group: 'F · EI^-1 · k^-2', op: '>=', bound: 1 / STIFF_MAX_BETA, alias: 'β = EIk²/F ≤ 0.01' }],\n ),\n counterexamples: [\n {\n description:\n 'The partials of a stiff string are sharp: at β = 1 the phase velocity is √2 times the ' +\n 'flexible-string value, the inharmonicity piano tuners stretch octaves to accommodate.',\n witness: 'WS7b',\n },\n ],\n witnesses: [\n {\n id: 'WS7',\n kind: 'numeric',\n test: TEST,\n tolerance: 'phase velocity within 0.15 of √(F/μ) = 100 at k = 5 (EI/F = 1e-4); ≈4× per halving of k',\n },\n {\n id: 'WS7b',\n kind: 'numeric',\n test: TEST,\n tolerance: 'relative phase error √2 − 1 at β = 1',\n },\n ],\n citations: [\n 'Fletcher, J. Acoust. Soc. Am. 36 (1964) 203 - Normal vibration frequencies of a stiff piano string',\n ],\n reviewStatus: 'proposed',\n formalRef: physjsFormalRef('ab-stiff-string'),\n};\n\n/** The wave-family closure bridges. @internal */\nexport const WAVE_CLOSURE_BRIDGES: readonly AtlasBridge[] = [\n BRIDGE_KG_SCHRODINGER,\n BRIDGE_KG_OSCILLATOR,\n BRIDGE_STIFF_STRING,\n];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridges.d.ts","sourceRoot":"","sources":["../../../src/atlas/waves/bridges.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM/C,mFAAmF;AACnF,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,mEAAmE;AACnE,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,iFAAiF;AACjF,eAAO,MAAM,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"bridges.d.ts","sourceRoot":"","sources":["../../../src/atlas/waves/bridges.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM/C,mFAAmF;AACnF,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,mEAAmE;AACnE,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,iFAAiF;AACjF,eAAO,MAAM,kBAAkB,EAAE,WAuChC,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,EAAE,WA+BnC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAmEhC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAmFtC,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,YAAY,EAAE,SAAS,WAAW,EAK9C,CAAC"}
|
|
@@ -50,7 +50,6 @@ export const BRIDGE_STRING_WAVE = {
|
|
|
50
50
|
], []),
|
|
51
51
|
},
|
|
52
52
|
counterexamples: [],
|
|
53
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
54
53
|
witnesses: [
|
|
55
54
|
{
|
|
56
55
|
id: 'WS1',
|
|
@@ -82,7 +81,6 @@ export const BRIDGE_WAVE_DALEMBERT = {
|
|
|
82
81
|
groupDefinitions: deriveRegimeGroups(WAVES_FAMILY_NAME, [{ name: 'c', dim: VELOCITY }], []),
|
|
83
82
|
},
|
|
84
83
|
counterexamples: [],
|
|
85
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
86
84
|
witnesses: [
|
|
87
85
|
{
|
|
88
86
|
id: 'WS2',
|
|
@@ -147,7 +145,6 @@ export const BRIDGE_SOUND_SPEED = {
|
|
|
147
145
|
witness: 'WS3b',
|
|
148
146
|
},
|
|
149
147
|
],
|
|
150
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
151
148
|
witnesses: [
|
|
152
149
|
{
|
|
153
150
|
id: 'WS3',
|
|
@@ -238,7 +235,6 @@ export const BRIDGE_KLEIN_GORDON_WAVE = {
|
|
|
238
235
|
witness: 'WS4b',
|
|
239
236
|
},
|
|
240
237
|
],
|
|
241
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
242
238
|
witnesses: [
|
|
243
239
|
{
|
|
244
240
|
id: 'WS4',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridges.js","sourceRoot":"","sources":["../../../src/atlas/waves/bridges.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridges.js","sourceRoot":"","sources":["../../../src/atlas/waves/bridges.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 4, S4.5 — the four bridges of the wave family.\n *\n * Design note: `docs/planning/Atlas-Phase-4-Design.md` §4.\n *\n * | Bridge | Relation | Premises | Witnesses |\n * |---|---|---|---|\n * | string → 1-D wave | `restriction` | 1 | WS1 (convergence) |\n * | 1-D wave → d'Alembert | `derivation` | 1 | WS2 (convergence) |\n * | Euler + adiabatic EOS → sound | `derivation` | **2 (hyperedge)** | WS3 (convergence), WS3b (Newton) |\n * | Klein–Gordon → 1-D wave | `approximation` | 1 | WS4 (convergence), WS4b (long waves) |\n *\n * The chain → wave coarse-graining the plan also lists already exists in the\n * oscillator family (`ab-chain-wave`) and is not duplicated.\n *\n * @module atlas/waves/bridges\n */\n\nimport { FORCE, FREQUENCY, VELOCITY } from '../../dimensional/types.js';\nimport { DENSITY } from '../diffusion/dimensions.js';\nimport { makeApproximation } from '../oscillators/bridges-limits.js';\nimport { deriveRegimeGroups } from '../regime.js';\nimport { physjsFormalRef } from '../physjs-ref.js';\nimport type { AtlasBridge } from '../types.js';\nimport { LINEAR_DENSITY, PRESSURE, WAVENUMBER, WAVES_FAMILY_NAME } from './models.js';\nimport { kleinGordonPhaseError } from './numerics.js';\n\nconst TEST = 'tests/atlas/waves.test.ts';\n\n/** The perturbation ceiling of the sound derivation: `p₁/p₀ ≤ 1/100`. @internal */\nexport const SOUND_MAX_PERTURBATION = 0.01;\n\n/** The dispersion-free domain edge: `ω₀/(c k) ≤ 0.1`. @internal */\nexport const KG_MAX_DISPERSION_RATIO = 0.1;\n\n/** Bridge: string → 1-D wave equation, a restriction with c² = F/μ. @internal */\nexport const BRIDGE_STRING_WAVE: AtlasBridge = {\n id: 'ab-string-wave',\n relation: 'restriction',\n premises: ['model-string'],\n conclusion: 'model-wave-1d',\n transformation: 'y ↦ u, with c² = F/μ',\n preserves: ['the solution operator for small slopes', 'normal-mode frequencies nπc/ℓ'],\n doesNotPreserve: [\n 'the separate values of F and μ — only F/μ survives',\n 'the transverse geometry: the wave equation does not know u is a displacement',\n ],\n sideConditions: ['small slopes |y_x| ≪ 1', 'uniform tension and density', 'perfectly flexible'],\n regime: {\n family: WAVES_FAMILY_NAME,\n inequalities: [],\n groupDefinitions: deriveRegimeGroups(\n WAVES_FAMILY_NAME,\n [\n { name: 'F', dim: FORCE },\n { name: 'mu', dim: LINEAR_DENSITY },\n { name: 'c', dim: VELOCITY },\n ],\n [],\n ),\n },\n counterexamples: [],\n witnesses: [\n {\n id: 'WS1',\n kind: 'numeric',\n test: TEST,\n tolerance:\n 'leapfrog string solution at the midpoint within 2e-4 of sin(πx)cos(πct), c = √(F/μ), at 80 cells',\n },\n ],\n citations: [\n 'Morse & Ingard, Theoretical Acoustics - the flexible string and its wave equation with c² = T/ρ',\n ],\n reviewStatus: 'proposed',\n};\n\n/** Bridge: 1-D wave equation → d'Alembert's general solution. @internal */\nexport const BRIDGE_WAVE_DALEMBERT: AtlasBridge = {\n id: 'ab-wave-dalembert',\n relation: 'derivation',\n premises: ['model-wave-1d'],\n conclusion: 'model-dalembert',\n transformation: 'characteristics ξ = x − ct, η = x + ct turn u_tt = c²u_xx into u_ξη = 0',\n preserves: ['every C² solution on the whole line', 'the speed c'],\n doesNotPreserve: [\n 'boundary conditions: on a bounded domain f and g are fixed only up to reflections',\n ],\n sideConditions: ['infinite line, or boundaries handled by the method of images', 'u ∈ C²'],\n regime: {\n family: WAVES_FAMILY_NAME,\n inequalities: [],\n groupDefinitions: deriveRegimeGroups(WAVES_FAMILY_NAME, [{ name: 'c', dim: VELOCITY }], []),\n },\n counterexamples: [],\n witnesses: [\n {\n id: 'WS2',\n kind: 'numeric',\n test: TEST,\n tolerance: 'finite-difference residual |u_tt − c²u_xx| below 2e-3 at h = 0.0125',\n },\n ],\n citations: [\n \"d'Alembert, Recherches sur la courbe que forme une corde tendue mise en vibration (1747)\",\n 'Strauss, Partial Differential Equations: An Introduction - §2.1, the wave equation on the line',\n ],\n reviewStatus: 'proposed',\n formalRef: physjsFormalRef('ab-wave-dalembert'),\n};\n\n/**\n * Bridge: linearized Euler + adiabatic EOS → the acoustic wave equation.\n *\n * A HYPEREDGE: neither premise alone yields sound. The Euler pair has no\n * closure from ρ′ to p′, and the equation of state has no dynamics.\n *\n * @internal\n */\nexport const BRIDGE_SOUND_SPEED: AtlasBridge = {\n id: 'ab-sound-speed',\n relation: 'derivation',\n premises: ['model-euler-linear', 'model-adiabatic-eos'],\n conclusion: 'model-sound',\n transformation:\n 'close the Euler pair with p′ = (dp/dρ)|ρ₀ ρ′ = (γp₀/ρ₀) ρ′, then eliminate v: p′_tt = (γp₀/ρ₀) p′_xx',\n preserves: ['linearity', 'the sound speed c_s² = γp₀/ρ₀'],\n doesNotPreserve: [\n 'nonlinear steepening and shocks at finite amplitude',\n 'viscous and thermal attenuation',\n ],\n sideConditions: [\n 'small perturbations: |p′| ≪ p₀',\n 'adiabatic compression (no heat exchange within a wavelength)',\n 'fluid at rest, no ambient flow',\n ],\n regime: {\n family: WAVES_FAMILY_NAME,\n inequalities: [\n {\n group: 'p0 · p1^-1',\n op: '>=',\n bound: 1 / SOUND_MAX_PERTURBATION,\n alias: '|p′| ≪ p₀ (machine form p₀/p₁ ≥ 100)',\n },\n ],\n groupDefinitions: deriveRegimeGroups(\n WAVES_FAMILY_NAME,\n [\n { name: 'rho0', dim: DENSITY },\n { name: 'p0', dim: PRESSURE },\n { name: 'p1', dim: PRESSURE },\n { name: 'c', dim: VELOCITY },\n ],\n ['gamma'],\n ),\n },\n counterexamples: [\n {\n description:\n 'The adiabatic premise is necessary. Closing the same Euler pair ISOTHERMALLY (Newton) ' +\n 'gives √(p₀/ρ₀) = 290.1 m/s for air at 20 °C, 15% below the measured ≈343 m/s; the ' +\n 'adiabatic closure gives 343.2 m/s.',\n witness: 'WS3b',\n },\n ],\n witnesses: [\n {\n id: 'WS3',\n kind: 'numeric',\n test: TEST,\n tolerance:\n 'staggered Euler + adiabatic-closure solution within 2e-4 of the sound model’s sin(2πx)cos(2πc_s t) at 128 cells',\n },\n {\n id: 'WS3b',\n kind: 'numeric',\n test: TEST,\n tolerance: 'air, 101325 Pa, 1.204 kg/m³, γ = 1.4: adiabatic 343.25 m/s, isothermal 290.10 m/s',\n },\n ],\n citations: [\n 'Laplace, Ann. Chim. Phys. 3 (1816) 238 - the adiabatic correction to Newton’s speed of sound',\n 'Landau & Lifshitz, Fluid Mechanics §64 - sound waves from the linearized equations of motion',\n ],\n reviewStatus: 'proposed',\n};\n\n/**\n * Bridge: Klein–Gordon → 1-D wave, the dispersion-free limit ω₀/(ck) → 0.\n *\n * `delta` is the EXACT relative phase-velocity error at the domain edge, not a\n * series term: {@link kleinGordonPhaseError} is increasing in ω₀/(ck), so its\n * edge value is the supremum. The pendulum record learned the hard way that a\n * truncated series can sit BELOW the error it claims to bound.\n *\n * @internal\n */\nexport const BRIDGE_KLEIN_GORDON_WAVE: AtlasBridge = {\n id: 'ab-klein-gordon-wave',\n relation: 'approximation',\n premises: ['model-klein-gordon'],\n conclusion: 'model-wave-1d',\n transformation: 'drop the mass term ω₀²u; ω(k) = √(c²k² + ω₀²) → ck',\n preserves: ['the wave speed c for short wavelengths', 'linearity'],\n doesNotPreserve: [\n 'dispersion: wave packets spread under Klein–Gordon and not under the wave equation',\n 'the gap: Klein–Gordon has no mode below ω₀',\n ],\n sideConditions: ['short wavelengths: ω₀/(ck) ≤ 0.1', 'the bound is a PHASE-VELOCITY error, not uniform in time'],\n bound: makeApproximation({\n K: 1,\n delta: kleinGordonPhaseError(KG_MAX_DISPERSION_RATIO, 1, 1),\n deltaAt: (params) => {\n const { omega0, c, k } = params;\n return kleinGordonPhaseError(omega0 ?? Number.NaN, c ?? Number.NaN, k ?? Number.NaN);\n },\n deltaAtBasis: 'closed-form',\n norm: 'relative phase-velocity error of a Fourier mode, normalized by the value of the reduced model',\n domain: 'ω₀/(c k) ≤ 0.1',\n horizon:\n 't ≪ π/(2 c k δ): the phase drift reaches π/2; machine form t < π/(2 c k δ(ω₀, c, k))',\n horizonHolds: (t, params) => {\n const { omega0, c, k } = params;\n if (omega0 === undefined || c === undefined || k === undefined) return false;\n const delta = kleinGordonPhaseError(omega0, c, k);\n if (!Number.isFinite(delta) || delta <= 0) return delta === 0;\n return t < Math.PI / (2 * c * k * delta);\n },\n parameterRange: 'ω₀/(c k) ≤ 0.1',\n limitCharacter: 'regular',\n // A phase-velocity error. The record says it is not uniform in time.\n uniformity: ['phase velocity of one Fourier mode, for ω₀/(ck) ≤ 0.1'],\n }),\n regime: {\n family: WAVES_FAMILY_NAME,\n inequalities: [\n {\n group: 'c · omega0^-1 · k',\n op: '>=',\n bound: 1 / KG_MAX_DISPERSION_RATIO,\n alias: 'ω₀/(c k) ≤ 0.1',\n },\n ],\n groupDefinitions: deriveRegimeGroups(\n WAVES_FAMILY_NAME,\n [\n { name: 'c', dim: VELOCITY },\n { name: 'omega0', dim: FREQUENCY },\n { name: 'k', dim: WAVENUMBER },\n ],\n [],\n ),\n },\n counterexamples: [\n {\n description:\n 'At ω₀/(c k) = 1 the phase velocity is √2 c: a 41% error. The dispersion-free limit is a ' +\n 'short-wavelength statement and fails for the long waves the domain excludes.',\n witness: 'WS4b',\n },\n ],\n witnesses: [\n {\n id: 'WS4',\n kind: 'numeric',\n test: TEST,\n tolerance: 'phase velocity within 2e-3 of c at k = 20 (ω₀ = c = 1); error falls ≈4× per doubling of k',\n },\n {\n id: 'WS4b',\n kind: 'numeric',\n test: TEST,\n tolerance: 'relative phase error √2 − 1 at ω₀/(ck) = 1',\n },\n ],\n citations: [\n 'Whitham, Linear and Nonlinear Waves - §11.1, dispersive waves and the Klein-Gordon equation',\n ],\n reviewStatus: 'proposed',\n formalRef: physjsFormalRef('ab-klein-gordon-wave'),\n};\n\n/** The wave family's bridges, in design-note order. @internal */\nexport const WAVE_BRIDGES: readonly AtlasBridge[] = [\n BRIDGE_STRING_WAVE,\n BRIDGE_WAVE_DALEMBERT,\n BRIDGE_SOUND_SPEED,\n BRIDGE_KLEIN_GORDON_WAVE,\n];\n"]}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @module atlas/waves
|
|
7
7
|
*/
|
|
8
|
-
import type { AtlasFamily } from '../
|
|
8
|
+
import type { AtlasFamily } from '../family.js';
|
|
9
9
|
/**
|
|
10
10
|
* The wave family: seven models and seven bridges (four from S4.5, three from
|
|
11
11
|
* the Sprint 4 closure), no rejections. Several bridges end in other families.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atlas/waves/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atlas/waves/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAKhD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,WAK1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/atlas/waves/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,CAAC,GAAG,YAAY,EAAE,GAAG,oBAAoB,CAAC;IACnD,UAAU,EAAE,EAAE;CACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/atlas/waves/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,CAAC,GAAG,YAAY,EAAE,GAAG,oBAAoB,CAAC;IACnD,UAAU,EAAE,EAAE;CACf,CAAC","sourcesContent":["/**\n * Wave-family assembly (Atlas Phase 4, S4.5).\n *\n * Assembly only: this module defines no physics and no numbers of its own.\n *\n * @module atlas/waves\n */\n\nimport type { AtlasFamily } from '../family.js';\nimport { WAVE_BRIDGES } from './bridges.js';\nimport { WAVE_CLOSURE_BRIDGES } from './bridges-closure.js';\nimport { WAVE_MODELS, WAVES_FAMILY_NAME } from './models.js';\n\n/**\n * The wave family: seven models and seven bridges (four from S4.5, three from\n * the Sprint 4 closure), no rejections. Several bridges end in other families.\n *\n * @internal\n */\nexport const WAVES_FAMILY: AtlasFamily = {\n family: WAVES_FAMILY_NAME,\n models: WAVE_MODELS,\n bridges: [...WAVE_BRIDGES, ...WAVE_CLOSURE_BRIDGES],\n rejections: [],\n};\n"]}
|