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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridges-closure.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/bridges-closure.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridges-closure.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/bridges-closure.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 4 — the five diffusion-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 * | Langevin → Fick | `coarse-graining` | WD4 (convergence), WD4b (ballistic regime) |\n * | Langevin + Stokes drag → Fick | `derivation`, **hyperedge** | WD5 (canonical + water), WD5s (CAS) |\n * | telegraph → Fick | `approximation` (singular, τ → 0) | WD6 (convergence), WD6b (oscillatory modes) |\n * | telegraph → 1-D wave | `approximation` (τDq² → ∞, t ≪ τ) | WD7 (convergence) |\n * | heat → Laplace | `restriction` (steady state) | WD8 (convergence in time) |\n *\n * Every regime inequality keys a `PiGroup.formula` derived from the dimension\n * matrix. Every `delta` is the EXACT error at its domain edge; every error\n * function used for it is monotone on the domain, so the edge value is the\n * supremum.\n *\n * @module atlas/diffusion/bridges-closure\n */\n\nimport { ENERGY, LENGTH, MASS, TIME, VELOCITY } from '../../dimensional/types.js';\nimport { makeApproximation } from '../oscillators/bridges-limits.js';\nimport { DAMPING } from '../oscillators/dimensions.js';\nimport { deriveRegimeGroups } from '../regime.js';\nimport { physjsFormalRef } from '../physjs-ref.js';\nimport type { AtlasBridge } from '../types.js';\nimport { WAVENUMBER } from '../waves/models.js';\nimport { DENSITY, DIFFUSIVITY, SPECIFIC_HEAT, THERMAL_CONDUCTIVITY } from './dimensions.js';\nimport { DIFFUSION_FAMILY_NAME, VISCOSITY } from './models.js';\nimport { telegraphSlowRateRatio, telegraphWaveFrequencyRatio } from './numerics.js';\n\nconst TEST = 'tests/atlas/closure.test.ts';\nconst WITNESS_RESULTS_TEST = 'tests/atlas/witness-results.test.ts';\n\n/** τ_p/t ceiling of the Langevin → Fick regime: WD4's fine resolution, t = 100 τ_p. @internal */\nexport const LANGEVIN_MAX_TAU_RATIO = 0.01;\n\n/** ε = τDq² ceiling of the telegraph → Fick domain. @internal */\nexport const TELEGRAPH_FICK_MAX_EPS = 0.05;\n\n/** ε = τDq² floor of the telegraph → wave domain. @internal */\nexport const TELEGRAPH_WAVE_MIN_EPS = 25;\n\n/** Fourier-number floor of the steady-state restriction. @internal */\nexport const STEADY_MIN_FOURIER = 1;\n\nconst regime = (\n parameters: readonly { name: string; dim: import('../../dimensional/types.js').Dimension }[],\n inequalities: AtlasBridge['regime']['inequalities'],\n): AtlasBridge['regime'] => regimeWithInputs(parameters, [], inequalities);\n\n/** A regime whose coordinates also include dimensionless model inputs (such as Re). */\nconst regimeWithInputs = (\n parameters: readonly { name: string; dim: import('../../dimensional/types.js').Dimension }[],\n dimensionlessInputs: readonly string[],\n inequalities: AtlasBridge['regime']['inequalities'],\n): AtlasBridge['regime'] => ({\n family: DIFFUSION_FAMILY_NAME,\n inequalities,\n groupDefinitions: deriveRegimeGroups(DIFFUSION_FAMILY_NAME, parameters, dimensionlessInputs),\n});\n\n/** Reynolds-number ceiling of the Stokes–Einstein derivation: a chosen threshold for Re ≪ 1. @internal */\nconst STOKES_MAX_RE = 0.1;\n\n/** Ceiling of τ_p/t = m/(γt) for the overdamped limit: a chosen threshold for ≪ 1. @internal */\nconst STOKES_MAX_TAU_RATIO = 0.01;\n\n/** Bridge: Langevin → Fick, the Einstein coarse-graining D = k_BT/γ. @internal */\nexport const BRIDGE_LANGEVIN_DIFFUSION: AtlasBridge = {\n id: 'ab-langevin-diffusion',\n relation: 'coarse-graining',\n premises: ['model-langevin'],\n conclusion: 'model-fick',\n transformation: 'average over times t ≫ τ_p = m/γ: ⟨x²⟩ → 2Dt with D = k_B T/γ (Einstein)',\n preserves: ['the long-time mean-square displacement', 'the equilibrium velocity variance k_B T/m'],\n doesNotPreserve: [\n 'the velocity as a state variable',\n 'the ballistic regime t ≲ τ_p, where ⟨x²⟩ ≈ (k_B T/m) t²',\n 'the momentum relaxation time τ_p as an independent scale',\n ],\n sideConditions: ['overdamped observation times: τ_p/t ≪ 1', 'white thermal noise, fluctuation–dissipation 2γk_BT'],\n regime: regime(\n [\n { name: 'm', dim: MASS },\n { name: 'gamma', dim: DAMPING },\n { name: 'kT', dim: ENERGY },\n { name: 'D', dim: DIFFUSIVITY },\n { name: 't', dim: TIME },\n ],\n [\n {\n group: 'm · gamma^-1 · t^-1',\n op: '<=',\n bound: LANGEVIN_MAX_TAU_RATIO,\n alias: 'τ_p/t ≪ 1 (machine form ≤ 0.01)',\n },\n ],\n ),\n counterexamples: [\n {\n description:\n 'At t = 0.1 τ_p the Langevin mean-square displacement is 0.048 of 2Dt: the particle is ' +\n 'still ballistic, ⟨x²⟩ ≈ (k_BT/m)t², and the diffusion model does not describe it.',\n witness: 'WD4b',\n },\n ],\n witnesses: [\n {\n id: 'WD4',\n kind: 'numeric',\n test: TEST,\n tolerance: '⟨x²⟩/(2Dt) within 0.02 of 1 at t = 100 τ_p, from the Langevin moment equations by RK4',\n },\n {\n id: 'WD4b',\n kind: 'numeric',\n test: TEST,\n tolerance: '⟨x²⟩/(2Dt) = 0.0484 at t = 0.1 τ_p',\n },\n ],\n citations: [\n 'Uhlenbeck & Ornstein, Phys. Rev. 36 (1930) 823 - On the theory of the Brownian motion',\n 'Einstein, Ann. Phys. 17 (1905) 549 - the relation D = k_B T/γ',\n ],\n reviewStatus: 'proposed',\n};\n\n/**\n * Bridge: Langevin + Stokes drag → Fick with the Stokes–Einstein coefficient.\n *\n * A HYPEREDGE: the Langevin model supplies D = k_BT/γ with γ free; Stokes drag\n * supplies γ = 6πηa for a sphere. Neither alone gives D in terms of the fluid.\n *\n * @internal\n */\nexport const BRIDGE_STOKES_EINSTEIN: AtlasBridge = {\n id: 'ab-stokes-einstein',\n relation: 'derivation',\n premises: ['model-langevin', 'model-stokes-drag'],\n conclusion: 'model-fick',\n transformation: 'substitute γ = 6πηa into D = k_B T/γ: D = k_B T/(6πηa)',\n preserves: ['the long-time diffusion coefficient of a sphere'],\n doesNotPreserve: ['the particle mass (it drops out)', 'the shape beyond the radius a'],\n sideConditions: [\n 'creeping flow around the sphere, Re ≪ 1 (machine form Re ≤ 0.1: a chosen threshold for \"≪ 1\")',\n 'no-slip boundary',\n 'overdamped times t ≫ m/γ (machine form m/(γt) ≤ 0.01: a chosen threshold for \"≪ 1\", as in ab-langevin-diffusion)',\n ],\n // The prose conditions were not machine-checked, so `upt regime` reported this\n // bridge VACUOUS and \"valid\" at Re = 1000 (persona finding L8). Re is a\n // dimensionless input of the flow; m/(γt) is listed first so its π-group key is\n // the one ab-langevin-diffusion uses, and one --at value checks both bridges.\n regime: regimeWithInputs(\n [\n { name: 'm', dim: MASS },\n { name: 'gamma', dim: DAMPING },\n { name: 't', dim: TIME },\n { name: 'kT', dim: ENERGY },\n { name: 'eta', dim: VISCOSITY },\n { name: 'a', dim: LENGTH },\n { name: 'D', dim: DIFFUSIVITY },\n ],\n ['Re'],\n [\n { group: 'Re', op: '<=', bound: STOKES_MAX_RE, alias: 'Re ≪ 1 (machine form Re ≤ 0.1)' },\n {\n group: 'm · gamma^-1 · t^-1',\n op: '<=',\n bound: STOKES_MAX_TAU_RATIO,\n alias: 'τ_p/t ≪ 1 (machine form m/(γt) ≤ 0.01)',\n },\n ],\n ),\n counterexamples: [],\n witnesses: [\n {\n id: 'WD5',\n kind: 'numeric',\n test: TEST,\n tolerance:\n 'agrees with CE-stokes-einstein to 1e-12 relative; a sphere of radius a = 0.5 µm (1 µm diameter) in water ' +\n 'at T = 293.15 K, η = 1.0016e-3 Pa·s gives D = 4.29e-13 m²/s',\n },\n {\n id: 'WD5s',\n kind: 'symbolic',\n test: WITNESS_RESULTS_TEST,\n tolerance: 'CAS: k_BT/γ under γ ↦ 6πηa minus k_BT/(6πηa) simplifies to literal 0',\n },\n ],\n citations: [\n 'Einstein, Ann. Phys. 17 (1905) 549 - Brownian motion of a sphere, D = k_B T/(6πηa)',\n 'Stokes, Trans. Camb. Phil. Soc. 9 (1851) 8 - the drag on a sphere in creeping flow',\n ],\n reviewStatus: 'proposed',\n};\n\n/**\n * Bridge: telegraph → Fick, the SINGULAR limit τ → 0.\n *\n * Singular because the highest time derivative is lost: the telegraph equation\n * needs two initial conditions and diffusion takes one, so a fast mode\n * `e^{−t/τ}` forms an initial layer. The bound therefore holds only AFTER that\n * layer, and the machine horizon has a LOWER edge as well as an upper one.\n *\n * @internal\n */\nexport const BRIDGE_TELEGRAPH_DIFFUSION: AtlasBridge = {\n id: 'ab-telegraph-diffusion',\n relation: 'approximation',\n premises: ['model-telegraph'],\n conclusion: 'model-fick',\n transformation: 'drop τ u_tt: the slow mode decays at Dq²(1 + ε + 2ε² + …) → Dq², ε = τDq²',\n preserves: ['the slow decay rate of each Fourier mode to O(ε)', 'the total amount ∫u dx'],\n doesNotPreserve: [\n 'the finite signal speed √(D/τ)',\n 'the second initial condition u_t(x, 0)',\n 'oscillatory modes, which exist for ε > 1/4',\n ],\n sideConditions: ['ε = τDq² ≤ 0.05', 'after the initial layer: t ≫ τ'],\n bound: makeApproximation({\n K: 1,\n delta: telegraphSlowRateRatio(TELEGRAPH_FICK_MAX_EPS, 1, 1) - 1,\n deltaAt: (p) =>\n telegraphSlowRateRatio(p['tau'] ?? Number.NaN, p['D'] ?? Number.NaN, p['q'] ?? Number.NaN) - 1,\n deltaAtBasis: 'closed-form',\n norm: 'relative error of the slow-mode decay rate of a Fourier mode, normalized by the value of the reduced model',\n domain: 'ε = τDq² ≤ 0.05',\n horizon:\n 'τ ≪ t ≪ 1/(δ D q²): after the initial layer and before the decay-rate error accumulates; ' +\n 'machine form 5τ < t < 0.1/(δ D q²)',\n horizonHolds: (t, p) => {\n const { tau, D, q } = p;\n if (tau === undefined || D === undefined || q === undefined) return false;\n const delta = telegraphSlowRateRatio(tau, D, q) - 1;\n if (!Number.isFinite(delta)) return false;\n if (t <= 5 * tau) return false;\n return delta === 0 || t < 0.1 / (delta * D * q * q);\n },\n parameterRange: 'ε = τDq² ≤ 0.05',\n limitCharacter: 'singular',\n // A slow-mode decay-rate error. The horizon says that error accumulates,\n // so time is not listed.\n uniformity: ['slow-mode decay rate of one Fourier mode, for ε = τDq² ≤ 0.05'],\n }),\n regime: regime(\n [\n { name: 'tau', dim: TIME },\n { name: 'D', dim: DIFFUSIVITY },\n { name: 'q', dim: WAVENUMBER },\n ],\n [{ group: 'tau · D · q^2', op: '<=', bound: TELEGRAPH_FICK_MAX_EPS, alias: 'ε = τDq² ≤ 0.05' }],\n ),\n counterexamples: [\n {\n description:\n 'At ε = τDq² = 1 the telegraph mode is OSCILLATORY (complex rate, NaN on the slow branch): ' +\n 'no diffusion mode oscillates.',\n witness: 'WD6b',\n },\n ],\n witnesses: [\n {\n id: 'WD6',\n kind: 'numeric',\n test: TEST,\n tolerance: 'slow rate / Dq² within 0.03 of 1 at τ = 0.025 (D = q = 1); error halves with τ',\n },\n {\n id: 'WD6b',\n kind: 'numeric',\n test: TEST,\n tolerance: 'no real slow rate at ε = 1',\n },\n ],\n citations: [\n 'Cattaneo, Atti Sem. Mat. Fis. Univ. Modena 3 (1948) 83 - heat conduction with a relaxation time',\n 'Goldstein, Q. J. Mech. Appl. Math. 4 (1951) 129 - On diffusion by discontinuous movements, and on the telegraph equation',\n ],\n reviewStatus: 'proposed',\n formalRef: physjsFormalRef('ab-telegraph-diffusion'),\n};\n\n/**\n * Bridge: telegraph → 1-D wave, for strongly underdamped modes over short times.\n *\n * @internal\n */\nexport const BRIDGE_TELEGRAPH_WAVE: AtlasBridge = {\n id: 'ab-telegraph-wave',\n relation: 'approximation',\n premises: ['model-telegraph'],\n conclusion: 'model-wave-1d',\n transformation: 'drop u_t: τ u_tt = D u_xx, a wave with c² = D/τ',\n preserves: ['the signal speed √(D/τ)', 'the oscillation frequency to O(1/ε)'],\n doesNotPreserve: ['damping: telegraph modes decay as e^{−t/(2τ)}', 'relaxation to diffusion at long times'],\n sideConditions: ['ε = τDq² ≥ 25', 'short times t ≪ τ (the bound is not uniform in time)'],\n bound: makeApproximation({\n K: 1,\n delta: 1 - telegraphWaveFrequencyRatio(TELEGRAPH_WAVE_MIN_EPS, 1, 1),\n deltaAt: (p) =>\n 1 - telegraphWaveFrequencyRatio(p['tau'] ?? Number.NaN, p['D'] ?? Number.NaN, p['q'] ?? Number.NaN),\n deltaAtBasis: 'closed-form',\n norm: 'relative error of the oscillation frequency of a Fourier mode, normalized by the value of the reduced model',\n domain: 'ε = τDq² ≥ 25',\n horizon:\n 't ≪ τ: before damping e^{−t/(2τ)} removes 10% of the amplitude; machine form t < 2τ ln(10/9)',\n horizonHolds: (t, p) => {\n const { tau } = p;\n if (tau === undefined || !(tau > 0)) return false;\n return t >= 0 && t < 2 * tau * Math.log(10 / 9);\n },\n parameterRange: 'ε = τDq² ≥ 25',\n limitCharacter: 'regular',\n // An oscillation-frequency error. The record says it is not uniform in time.\n uniformity: ['oscillation frequency of one Fourier mode, for ε = τDq² ≥ 25'],\n }),\n regime: regime(\n [\n { name: 'tau', dim: TIME },\n { name: 'D', dim: DIFFUSIVITY },\n { name: 'q', dim: WAVENUMBER },\n { name: 'c', dim: VELOCITY },\n ],\n [{ group: 'tau · D · q^2', op: '>=', bound: TELEGRAPH_WAVE_MIN_EPS, alias: 'ε = τDq² ≥ 25' }],\n ),\n counterexamples: [],\n witnesses: [\n {\n id: 'WD7',\n kind: 'numeric',\n test: TEST,\n tolerance: 'frequency ratio within 3e-3 of 1 at ε = 50; error halves as ε doubles',\n },\n ],\n citations: ['Goldstein, Q. J. Mech. Appl. Math. 4 (1951) 129 - On diffusion by discontinuous movements, and on the telegraph equation'],\n reviewStatus: 'proposed',\n formalRef: physjsFormalRef('ab-telegraph-wave'),\n};\n\n/** Bridge: heat → Laplace, the steady-state restriction. @internal */\nexport const BRIDGE_HEAT_LAPLACE: AtlasBridge = {\n id: 'ab-heat-laplace',\n relation: 'restriction',\n premises: ['model-heat'],\n conclusion: 'model-laplace-1d',\n transformation: '∂T/∂t = 0: κ T_xx = 0, T linear between the end temperatures',\n preserves: ['the end temperatures', 'the steady heat flux κ(T_b − T_a)/ℓ'],\n doesNotPreserve: ['the transient', 'ρ and c_p, which drop out of the steady state'],\n sideConditions: ['fixed end temperatures', 'Fourier number αt/ℓ² ≥ 1 (transients decayed)'],\n regime: regime(\n [\n { name: 'kappa', dim: THERMAL_CONDUCTIVITY },\n { name: 'rho', dim: DENSITY },\n { name: 'cp', dim: SPECIFIC_HEAT },\n { name: 'ell', dim: LENGTH },\n { name: 't', dim: TIME },\n ],\n [\n {\n group: 'kappa · rho^-1 · cp^-1 · ell^-2 · t',\n op: '>=',\n bound: STEADY_MIN_FOURIER,\n alias: 'Fo = αt/ℓ² ≥ 1',\n },\n ],\n ),\n counterexamples: [],\n witnesses: [\n {\n id: 'WD8',\n kind: 'numeric',\n test: TEST,\n tolerance: 'max deviation from the linear profile below 0.025 at αt/ℓ² = 0.4; shrinks with time',\n },\n ],\n citations: ['Carslaw & Jaeger, Conduction of Heat in Solids - steady linear flow in a slab'],\n reviewStatus: 'proposed',\n};\n\n/** The diffusion-family closure bridges. @internal */\nexport const DIFFUSION_CLOSURE_BRIDGES: readonly AtlasBridge[] = [\n BRIDGE_LANGEVIN_DIFFUSION,\n BRIDGE_STOKES_EINSTEIN,\n BRIDGE_TELEGRAPH_DIFFUSION,\n BRIDGE_TELEGRAPH_WAVE,\n BRIDGE_HEAT_LAPLACE,\n];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridges.d.ts","sourceRoot":"","sources":["../../../src/atlas/diffusion/bridges.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAO/C,qGAAqG;AACrG,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,kFAAkF;AAClF,eAAO,MAAM,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"bridges.d.ts","sourceRoot":"","sources":["../../../src/atlas/diffusion/bridges.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAO/C,qGAAqG;AACrG,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,kFAAkF;AAClF,eAAO,MAAM,qBAAqB,EAAE,WAuEnC,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,qBAAqB,EAAE,WA0DnC,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,4BAA4B,EAAE,WAkE1C,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,iBAAiB,EAAE,SAAS,WAAW,EAInD,CAAC"}
|
|
@@ -77,7 +77,6 @@ export const BRIDGE_WALK_DIFFUSION = {
|
|
|
77
77
|
witness: 'WD1b',
|
|
78
78
|
},
|
|
79
79
|
],
|
|
80
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
81
80
|
witnesses: [
|
|
82
81
|
{
|
|
83
82
|
id: 'WD1',
|
|
@@ -133,7 +132,6 @@ export const BRIDGE_HEAT_DIFFUSION = {
|
|
|
133
132
|
], []),
|
|
134
133
|
},
|
|
135
134
|
counterexamples: [],
|
|
136
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
137
135
|
witnesses: [
|
|
138
136
|
{
|
|
139
137
|
id: 'WD2',
|
|
@@ -190,7 +188,6 @@ export const BRIDGE_SCHRODINGER_DIFFUSION = {
|
|
|
190
188
|
witness: 'WD3b',
|
|
191
189
|
},
|
|
192
190
|
],
|
|
193
|
-
evidence: new Set(['proposed', 'numerically-supported']),
|
|
194
191
|
witnesses: [
|
|
195
192
|
{
|
|
196
193
|
id: 'W5',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridges.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/bridges.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridges.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/bridges.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 4, S4.4 — the three bridges of the diffusion family.\n *\n * Design note: `docs/planning/Atlas-Phase-4-Design.md` §4.\n *\n * | Bridge | Relation | Witnesses |\n * |---|---|---|\n * | random walk → Fick | `coarse-graining` | WD1 (convergence), WD1b (light cone) |\n * | heat ↔ Fick | `exact-equivalence` | WD2 (convergence), WD2s (CAS) |\n * | free Schrödinger → Fick | `analytic-continuation` | W5, WD3 (convergence), WD3b (norm) |\n *\n * Regime groups are DERIVED through `deriveRegimeGroups` and keyed by\n * `PiGroup.formula`; every inequality names one of those keys. The Fourier\n * number `D·t/ℓ²` appears as `kappa · rho^-1 · cp^-1 · ell^-2 · t` on the heat\n * side. **The Péclet number is not applicable to any model here**: it needs an\n * advection velocity, and none of the four models has one. It is stated as a\n * side condition (`no advection`) rather than invented as a group.\n *\n * Tolerances were set AFTER measuring each witness at several resolutions and\n * are stated in the witness records; `tests/atlas/diffusion.test.ts` asserts\n * the measured numbers.\n *\n * @module atlas/diffusion/bridges\n */\n\nimport { LENGTH, MASS, ACTION, TIME } from '../../dimensional/types.js';\nimport { deriveRegimeGroups } from '../regime.js';\nimport type { AtlasBridge } from '../types.js';\nimport { DENSITY, DIFFUSIVITY, SPECIFIC_HEAT, THERMAL_CONDUCTIVITY } from './dimensions.js';\nimport { DIFFUSION_FAMILY_NAME } from './models.js';\n\nconst TEST = 'tests/atlas/diffusion.test.ts';\nconst WITNESS_RESULTS_TEST = 'tests/atlas/witness-results.test.ts';\n\n/** The Δt/t ceiling of the walk → diffusion regime: WD1's coarse resolution, 100 steps. @internal */\nexport const WALK_MAX_STEP_FRACTION = 0.01;\n\n/** Bridge: lattice random walk → Fick diffusion, by coarse-graining. @internal */\nexport const BRIDGE_WALK_DIFFUSION: AtlasBridge = {\n id: 'ab-walk-diffusion',\n relation: 'coarse-graining',\n premises: ['model-random-walk'],\n conclusion: 'model-fick',\n transformation: 'P(n, k)/(2Δx) ↦ c(x = nΔx, t = kΔt), with the closure D = Δx²/(2Δt)',\n preserves: [\n 'mean-square displacement ⟨x²⟩ = 2Dt, exactly at every step',\n 'total probability',\n 'the Gaussian long-time profile',\n ],\n doesNotPreserve: [\n 'the lattice spacing Δx and the step Δt as independent scales — only Δx²/Δt survives',\n 'parity: after an even number of steps only even sites are occupied',\n 'the finite propagation speed Δx/Δt: diffusion is positive everywhere at once',\n ],\n sideConditions: [\n 'the closure D = Δx²/(2Δt) is held fixed as Δx, Δt → 0',\n 'many steps: Δt/t ≪ 1',\n 'symmetric, unbiased steps',\n ],\n regime: {\n family: DIFFUSION_FAMILY_NAME,\n inequalities: [\n {\n group: 'dt · t^-1',\n op: '<=',\n bound: WALK_MAX_STEP_FRACTION,\n alias: 'Δt/t ≪ 1 (machine form ≤ 0.01, the coarse resolution WD1 measures)',\n },\n ],\n groupDefinitions: deriveRegimeGroups(\n DIFFUSION_FAMILY_NAME,\n [\n { name: 'dx', dim: LENGTH },\n { name: 'dt', dim: TIME },\n { name: 'D', dim: DIFFUSIVITY },\n { name: 't', dim: TIME },\n ],\n [],\n ),\n },\n counterexamples: [\n {\n description:\n 'After 100 steps the walker cannot be more than 100 sites from the origin, so its ' +\n 'density at site 101 is exactly 0, while the diffusion kernel there is positive: the ' +\n 'coarse-grained model has no light cone.',\n witness: 'WD1b',\n },\n ],\n witnesses: [\n {\n id: 'WD1',\n kind: 'numeric',\n test: TEST,\n tolerance:\n 'density at the origin within 1e-4 of (4πDt)^-1/2 at 1000 steps; error shrinks with refinement',\n },\n {\n id: 'WD1b',\n kind: 'numeric',\n test: TEST,\n tolerance: 'walk density exactly 0 beyond the light cone while the kernel is > 0',\n },\n ],\n citations: [\n 'Einstein, Ann. Phys. 17 (1905) 549 - Brownian motion; the mean-square displacement grows as 2Dt',\n 'Feller, An Introduction to Probability Theory and Its Applications, Vol. I - the symmetric random walk and the de Moivre-Laplace limit',\n ],\n reviewStatus: 'proposed',\n};\n\n/** Bridge: heat conduction ↔ Fick diffusion, an exact equivalence. @internal */\nexport const BRIDGE_HEAT_DIFFUSION: AtlasBridge = {\n id: 'ab-heat-diffusion',\n relation: 'exact-equivalence',\n premises: ['model-heat'],\n conclusion: 'model-fick',\n transformation: 'T ↦ c, κ/(ρ c_p) ↦ D',\n inverse: 'c ↦ T, D ↦ κ/(ρ c_p) (any κ, ρ, c_p with that ratio)',\n preserves: [\n 'the solution operator: equal initial data give equal solutions at every t',\n 'Fourier-mode decay rates D q²',\n 'the Fourier number D t/ℓ²',\n ],\n doesNotPreserve: [\n 'physical interpretation: temperature versus concentration',\n 'units',\n 'the separate values of κ, ρ and c_p — only their ratio survives',\n ],\n sideConditions: [\n 'homogeneous isotropic medium: κ, ρ, c_p constant',\n 'no sources and no advection (the Péclet number is not applicable to either model)',\n ],\n regime: {\n family: DIFFUSION_FAMILY_NAME,\n inequalities: [],\n groupDefinitions: deriveRegimeGroups(\n DIFFUSION_FAMILY_NAME,\n [\n { name: 'kappa', dim: THERMAL_CONDUCTIVITY },\n { name: 'rho', dim: DENSITY },\n { name: 'cp', dim: SPECIFIC_HEAT },\n { name: 'D', dim: DIFFUSIVITY },\n { name: 'ell', dim: LENGTH },\n { name: 't', dim: TIME },\n ],\n [],\n ),\n },\n counterexamples: [],\n witnesses: [\n {\n id: 'WD2',\n kind: 'numeric',\n test: TEST,\n tolerance:\n 'FTCS heat solution at x = 0 within 5e-4 of the Fick solution with D = κ/(ρ c_p) at 160 cells',\n },\n {\n id: 'WD2s',\n kind: 'symbolic',\n test: WITNESS_RESULTS_TEST,\n tolerance: 'CAS: κq²/(ρ c_p) under κ ↦ D ρ c_p minus D q² simplifies to literal 0',\n },\n ],\n citations: [\n 'Carslaw & Jaeger, Conduction of Heat in Solids - the heat equation and the thermal diffusivity κ/(ρ c_p)',\n 'Crank, The Mathematics of Diffusion - Fick’s second law and its identity with the heat-conduction equation',\n ],\n reviewStatus: 'proposed',\n};\n\n/** Bridge: free Schrödinger → Fick diffusion, by Wick rotation. @internal */\nexport const BRIDGE_SCHRODINGER_DIFFUSION: AtlasBridge = {\n id: 'ab-schrodinger-diffusion',\n relation: 'analytic-continuation',\n premises: ['model-schrodinger-free'],\n conclusion: 'model-fick',\n transformation: 't = −iτ: ψ(x, −iτ) ↦ c(x, τ), with D = ħ/(2m)',\n preserves: [\n 'linearity',\n 'the Gaussian kernel structure, with a spread growing linearly in time',\n ],\n doesNotPreserve: [\n 'unitarity: ∫|ψ|² dx is conserved, ∫φ² dx decays',\n 'oscillation and phase: the oscillating propagator becomes a decaying Gaussian',\n 'time-reversal symmetry: diffusion is irreversible',\n ],\n sideConditions: [\n 'V = 0 (free particle)',\n 'the continuation is formal: real Schrödinger time maps to imaginary diffusion time',\n ],\n regime: {\n family: DIFFUSION_FAMILY_NAME,\n inequalities: [],\n groupDefinitions: deriveRegimeGroups(\n DIFFUSION_FAMILY_NAME,\n [\n { name: 'hbar', dim: ACTION },\n { name: 'm', dim: MASS },\n { name: 'D', dim: DIFFUSIVITY },\n ],\n [],\n ),\n },\n counterexamples: [\n {\n description:\n 'The squared norm of the Wick-rotated kernel falls from 1.755 at τ = 0 to 0.580 at ' +\n 'τ = 4 (ħ = 1, m = 0.5, s = 0.7), where the Schrödinger norm would be conserved.',\n witness: 'WD3b',\n },\n ],\n witnesses: [\n {\n id: 'W5',\n kind: 'numeric',\n test: 'tests/atlas/quantum-support.test.ts',\n tolerance:\n 'coefficients ħ/2m, −1, 1/ħ; free-kernel sup-norm residual ratio of ∂τφ = (ħ/2m)∂²φ below 1e-4',\n },\n {\n id: 'WD3',\n kind: 'numeric',\n test: TEST,\n tolerance: 'finite-difference residual of ∂τφ = (ħ/2m)∂²φ below 1e-3 at h = 0.025',\n },\n {\n id: 'WD3b',\n kind: 'numeric',\n test: TEST,\n tolerance: '∫φ² dx matches s²√(2π/σ(τ)) within 1e-9 and decreases in τ',\n },\n ],\n citations: [\n 'Feynman & Hibbs, Quantum Mechanics and Path Integrals - the free-particle kernel and its imaginary-time form',\n 'Nelson, J. Math. Phys. 5 (1964) 332 - Feynman integrals and the Schrödinger equation (the analytic continuation to the heat kernel)',\n ],\n reviewStatus: 'proposed',\n};\n\n/** The diffusion family's bridges, in design-note order. @internal */\nexport const DIFFUSION_BRIDGES: readonly AtlasBridge[] = [\n BRIDGE_WALK_DIFFUSION,\n BRIDGE_HEAT_DIFFUSION,\n BRIDGE_SCHRODINGER_DIFFUSION,\n];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dimensions.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/dimensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,mCAAmC,CAAC;AAGxD,uFAAuF;AACvF,MAAM,CAAC,MAAM,WAAW,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEpD,iGAAiG;AACjG,MAAM,CAAC,MAAM,oBAAoB,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEpE,sFAAsF;AACtF,MAAM,CAAC,MAAM,OAAO,GAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE7C,kGAAkG;AAClG,MAAM,CAAC,MAAM,aAAa,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"dimensions.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/dimensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,mCAAmC,CAAC;AAGxD,uFAAuF;AACvF,MAAM,CAAC,MAAM,WAAW,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEpD,iGAAiG;AACjG,MAAM,CAAC,MAAM,oBAAoB,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEpE,sFAAsF;AACtF,MAAM,CAAC,MAAM,OAAO,GAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE7C,kGAAkG;AAClG,MAAM,CAAC,MAAM,aAAa,GAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC","sourcesContent":["/**\n * Dimension constants the diffusion family needs that the canonical entry\n * files declare MODULE-LOCAL and do not export.\n *\n * Redefined here with the same `dim(...)` arguments as their sources, the same\n * discipline as `oscillators/dimensions.ts`. `tests/atlas/diffusion.test.ts`\n * asserts the values against the canonical registry, so a future divergence\n * fails a test rather than silently forking the physics.\n *\n * @module atlas/diffusion/dimensions\n */\n\nimport { dim } from '../../dimensional/ast-builders.js';\nimport type { Dimension } from '../../dimensional/types.js';\n\n/** m²/s, `L^2 T^-1` — `src/canonical/entries/thermo-nuclear-cosmo.ts:44`. @internal */\nexport const DIFFUSIVITY: Dimension = dim(2, 0, -1);\n\n/** W·m⁻¹·K⁻¹, `L M T^-3 Θ^-1` — `src/canonical/entries/thermo-nuclear-cosmo.ts:42`. @internal */\nexport const THERMAL_CONDUCTIVITY: Dimension = dim(1, 1, -3, 0, -1);\n\n/** kg/m³, `L^-3 M` — `src/canonical/entries/thermo-nuclear-cosmo.ts:43`. @internal */\nexport const DENSITY: Dimension = dim(-3, 1);\n\n/** J·kg⁻¹·K⁻¹, `L^2 T^-2 Θ^-1` — `src/canonical/entries/thermo-nuclear-cosmo.ts:35`. @internal */\nexport const SPECIFIC_HEAT: Dimension = dim(2, 0, -2, 0, -1);\n"]}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @module atlas/diffusion
|
|
7
7
|
*/
|
|
8
|
-
import type { AtlasFamily } from '../
|
|
8
|
+
import type { AtlasFamily } from '../family.js';
|
|
9
9
|
/**
|
|
10
10
|
* The diffusion family: eight models and eight bridges (three from S4.4, five
|
|
11
11
|
* from the Sprint 4 closure), no rejections.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atlas/diffusion/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atlas/diffusion/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAKhD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAK9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAgB;IAC3C,MAAM,EAAE,qBAAqB;IAC7B,MAAM,EAAE,gBAAgB;IACxB,OAAO,EAAE,CAAC,GAAG,iBAAiB,EAAE,GAAG,yBAAyB,CAAC;IAC7D,UAAU,EAAE,EAAE;CACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAgB;IAC3C,MAAM,EAAE,qBAAqB;IAC7B,MAAM,EAAE,gBAAgB;IACxB,OAAO,EAAE,CAAC,GAAG,iBAAiB,EAAE,GAAG,yBAAyB,CAAC;IAC7D,UAAU,EAAE,EAAE;CACf,CAAC","sourcesContent":["/**\n * Diffusion-family assembly (Atlas Phase 4, S4.4).\n *\n * Assembly only: this module defines no physics and no numbers of its own.\n *\n * @module atlas/diffusion\n */\n\nimport type { AtlasFamily } from '../family.js';\nimport { DIFFUSION_BRIDGES } from './bridges.js';\nimport { DIFFUSION_CLOSURE_BRIDGES } from './bridges-closure.js';\nimport { DIFFUSION_FAMILY_NAME, DIFFUSION_MODELS } from './models.js';\n\n/**\n * The diffusion family: eight models and eight bridges (three from S4.4, five\n * from the Sprint 4 closure), no rejections.\n *\n * @internal\n */\nexport const DIFFUSION_FAMILY: AtlasFamily = {\n family: DIFFUSION_FAMILY_NAME,\n models: DIFFUSION_MODELS,\n bridges: [...DIFFUSION_BRIDGES, ...DIFFUSION_CLOSURE_BRIDGES],\n rejections: [],\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/models.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/models.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 4, S4.4 — the four models of the diffusion family.\n *\n * Design note: `docs/planning/Atlas-Phase-4-Design.md` §4.\n *\n * `canonicalRefs` lists an entry only where the canonical registry genuinely\n * holds one. It has `CE-thermal-diffusivity` (α = κ/(ρ c_p)) and nothing for\n * Fick's law, the heat equation as a PDE, the lattice random walk, or the free\n * Schrödinger equation — so those models carry `[]` rather than a nearby entry\n * that states something else.\n *\n * @module atlas/diffusion/models\n */\n\nimport type { DimensionalVariable } from '../../dimensional/buckingham.js';\nimport { ACTION, ENERGY, LENGTH, MASS, TIME } from '../../dimensional/types.js';\nimport { dim } from '../../dimensional/ast-builders.js';\nimport type { Dimension } from '../../dimensional/types.js';\nimport { DAMPING } from '../oscillators/dimensions.js';\nimport type { AtlasModel } from '../model.js';\nimport { deriveRegimeGroups } from '../regime.js';\nimport { DENSITY, DIFFUSIVITY, SPECIFIC_HEAT, THERMAL_CONDUCTIVITY } from './dimensions.js';\n\n/** The family name every diffusion record carries. @internal */\nexport const DIFFUSION_FAMILY_NAME = 'diffusion';\n\ninterface ModelSpec {\n readonly id: string;\n readonly stateSpace: string;\n readonly dynamics: string;\n readonly observables: readonly string[];\n readonly parameters: readonly DimensionalVariable[];\n readonly canonicalRefs: readonly string[];\n readonly symmetryGroup?: string;\n}\n\nfunction model(spec: ModelSpec): AtlasModel {\n return {\n id: spec.id,\n family: DIFFUSION_FAMILY_NAME,\n stateSpace: spec.stateSpace,\n dynamics: spec.dynamics,\n observables: spec.observables,\n parameters: spec.parameters,\n dimensionlessInputs: [],\n canonicalRefs: spec.canonicalRefs,\n regime: {\n family: DIFFUSION_FAMILY_NAME,\n inequalities: [],\n groupDefinitions: deriveRegimeGroups(DIFFUSION_FAMILY_NAME, spec.parameters, []),\n },\n ...(spec.symmetryGroup === undefined ? {} : { symmetryGroup: spec.symmetryGroup }),\n };\n}\n\n/** Pa·s, `L^-1 M T^-1` — `src/canonical/entries/fluids-waves.ts:45` (`VISCOSITY`). @internal */\nexport const VISCOSITY: Dimension = dim(-1, 1, -1);\n\n/** The diffusion models, in design-note order; the last four were added to close Sprint 4. @internal */\nexport const DIFFUSION_MODELS: readonly AtlasModel[] = [\n model({\n id: 'model-random-walk',\n stateSpace: 'P(n, k): probability at lattice site n ∈ ℤ after k ∈ ℕ steps',\n dynamics: 'P(n, k+1) = ½ P(n−1, k) + ½ P(n+1, k), sites Δx apart, steps Δt apart',\n observables: ['P(n, k)', 'mean-square displacement ⟨x²⟩'],\n parameters: [\n { name: 'dx', dim: LENGTH },\n { name: 'dt', dim: TIME },\n ],\n canonicalRefs: [],\n }),\n model({\n id: 'model-fick',\n stateSpace: 'c(x, t), x ∈ ℝ',\n dynamics: '∂c/∂t = D ∂²c/∂x² (Fick’s second law)',\n observables: ['c(x, t)', 'total amount ∫c dx', 'variance of c'],\n parameters: [\n { name: 'D', dim: DIFFUSIVITY },\n { name: 'ell', dim: LENGTH },\n ],\n canonicalRefs: [],\n }),\n model({\n id: 'model-heat',\n stateSpace: 'T(x, t), x ∈ ℝ',\n dynamics: 'ρ c_p ∂T/∂t = κ ∂²T/∂x²',\n observables: ['T(x, t)', 'heat content ∫ρ c_p T dx'],\n parameters: [\n { name: 'kappa', dim: THERMAL_CONDUCTIVITY },\n { name: 'rho', dim: DENSITY },\n { name: 'cp', dim: SPECIFIC_HEAT },\n { name: 'ell', dim: LENGTH },\n ],\n canonicalRefs: ['CE-thermal-diffusivity'],\n }),\n model({\n id: 'model-schrodinger-free',\n stateSpace: 'ψ(x, t) ∈ ℂ, x ∈ ℝ',\n dynamics: 'i ħ ∂ψ/∂t = −(ħ²/2m) ∂²ψ/∂x²',\n observables: ['|ψ|²', 'position spread σx'],\n parameters: [\n { name: 'hbar', dim: ACTION },\n { name: 'm', dim: MASS },\n ],\n canonicalRefs: [],\n }),\n model({\n id: 'model-langevin',\n stateSpace: '(x, v)(t), a Brownian particle',\n dynamics: 'm v̇ = −γ v + ξ(t), ⟨ξ(t)ξ(t′)⟩ = 2γ k_B T δ(t − t′), ẋ = v',\n observables: ['⟨x²⟩(t)', '⟨v²⟩ = k_B T/m'],\n parameters: [\n { name: 'm', dim: MASS },\n { name: 'gamma', dim: DAMPING },\n { name: 'kT', dim: ENERGY },\n ],\n canonicalRefs: [],\n }),\n model({\n id: 'model-stokes-drag',\n stateSpace: 'a sphere of radius a moving at speed v through a viscous fluid',\n dynamics: 'F = −6π η a v (creeping flow, Re ≪ 1)',\n observables: ['drag force F', 'friction coefficient γ = 6πηa'],\n parameters: [\n { name: 'eta', dim: VISCOSITY },\n { name: 'a', dim: LENGTH },\n ],\n canonicalRefs: ['CE-stokes-drag'],\n }),\n model({\n id: 'model-telegraph',\n stateSpace: 'u(x, t), x ∈ ℝ',\n dynamics: 'τ u_tt + u_t = D u_xx (Cattaneo: diffusion with a relaxation time)',\n observables: ['u(x, t)', 'mode decay rates', 'signal speed √(D/τ)'],\n parameters: [\n { name: 'tau', dim: TIME },\n { name: 'D', dim: DIFFUSIVITY },\n ],\n canonicalRefs: [],\n }),\n model({\n id: 'model-laplace-1d',\n stateSpace: 'T(x) on [0, ℓ] with fixed end values',\n dynamics: 'T_xx = 0, so T is linear between T(0) and T(ℓ)',\n observables: ['T(x)', 'steady heat flux'],\n parameters: [{ name: 'ell', dim: LENGTH }],\n canonicalRefs: [],\n }),\n];\n\n/** Look up a diffusion model by id, throwing on an unknown one. @internal */\nexport function getDiffusionModel(id: string): AtlasModel {\n const found = DIFFUSION_MODELS.find((m) => m.id === id);\n if (found === undefined) throw new Error(`unknown diffusion model id: ${id}`);\n return found;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numerics.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/numerics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"numerics.js","sourceRoot":"","sources":["../../../src/atlas/diffusion/numerics.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Atlas Phase 4, S4.4 — the numerics behind the diffusion family's witnesses.\n *\n * Each function evaluates one claim at a RESOLUTION, so the numeric witness\n * runner can evaluate it twice and record how the error shrank. None of them\n * asserts an order of convergence; the runner reports the ratio and a reviewer\n * reads it (Phase 4 design note §2.3).\n *\n * @module atlas/diffusion/numerics\n */\n\nimport { solveODESystem } from '@danielsimonjr/mathts-functions';\n\n/**\n * The Gaussian solution of `∂c/∂t = D ∂²c/∂x²` from a point source of unit\n * mass, evaluated at `x`: `(4πDt)^{-1/2} exp(−x²/(4Dt))`.\n *\n * @internal\n */\nexport function diffusionKernel(x: number, t: number, D: number): number {\n return Math.exp(-(x * x) / (4 * D * t)) / Math.sqrt(4 * Math.PI * D * t);\n}\n\n/** `ln C(n, k)` by summing logs — exact enough for the n ≤ 10⁵ used here. */\nfunction logBinomial(n: number, k: number): number {\n let s = 0;\n for (let i = 1; i <= k; i++) s += Math.log(n - k + i) - Math.log(i);\n return s;\n}\n\n/**\n * WD1 — the probability DENSITY at the origin of a symmetric lattice random\n * walk after `steps` steps, under the closure `D = Δx²/(2Δt)` at fixed `D`\n * and `t`.\n *\n * With `Δt = t/steps` and `Δx = √(2DΔt)`, the walker sits at the origin with\n * probability `C(steps, steps/2)/2^steps`. Only every other site is reachable\n * after an even number of steps, so the probability is spread over a cell of\n * width `2Δx`, and the density is that probability divided by `2Δx`.\n * As `steps → ∞` it converges to {@link diffusionKernel}`(0, t, D)`.\n *\n * @param steps - the resolution; rounded up to the next even integer.\n * @internal\n */\nexport function randomWalkCentralDensity(steps: number, D: number, t: number): number {\n const n = 2 * Math.ceil(steps / 2);\n const dt = t / n;\n const dx = Math.sqrt(2 * D * dt);\n const logP = logBinomial(n, n / 2) - n * Math.LN2;\n return Math.exp(logP) / (2 * dx);\n}\n\n/**\n * WD1b — the random walk's density at lattice site `site` after `steps` steps\n * (same closure and grid as {@link randomWalkCentralDensity}). Exactly zero\n * outside the light cone `|site| > steps` and on sites of the wrong parity.\n *\n * @internal\n */\nexport function randomWalkDensity(site: number, steps: number, D: number, t: number): number {\n const n = 2 * Math.ceil(steps / 2);\n if (Math.abs(site) > n || (site + n) % 2 !== 0) return 0;\n const dx = Math.sqrt((2 * D * t) / n);\n const k = (n + site) / 2;\n return Math.exp(logBinomial(n, k) - n * Math.LN2) / (2 * dx);\n}\n\n/** Parameters of the WD2 heat-conduction fixture. @internal */\nexport interface HeatFixture {\n /** Thermal conductivity κ. */\n readonly kappa: number;\n /** Density ρ. */\n readonly rho: number;\n /** Specific heat capacity c_p. */\n readonly cp: number;\n /** Initial Gaussian width parameter: `T(x, 0) = exp(−x²/(4 s0))`. */\n readonly s0: number;\n /** Final time. */\n readonly tEnd: number;\n /**\n * Half-width of the domain. The edges are held at ZERO, not at the exact\n * solution: the exact solution is the Fick side of the claim, and feeding it\n * to the heat solver would leak the dictionary under test into the side that\n * is supposed to be independent of it. The true edge value is below\n * `exp(−halfWidth²/(4(s0 + D tEnd)))`, far under the tolerance.\n */\n readonly halfWidth: number;\n}\n\n/**\n * The exact solution of the DIFFUSION equation with coefficient `D` from the\n * WD2 initial condition: `√(s0/(s0 + D t)) · exp(−x²/(4(s0 + D t)))`.\n *\n * @internal\n */\nexport function gaussianSpread(x: number, t: number, D: number, s0: number): number {\n const s = s0 + D * t;\n return Math.sqrt(s0 / s) * Math.exp(-(x * x) / (4 * s));\n}\n\n/**\n * WD2 — the temperature at `x = 0, t = tEnd` from an explicit FTCS solution of\n * the HEAT equation `ρ c_p ∂T/∂t = κ ∂²T/∂x²` on `cells` intervals.\n *\n * The heat equation is solved in its OWN variables: the step uses `κ`, `ρ` and\n * `c_p`, never a pre-combined `D`. Comparing the result against\n * {@link gaussianSpread} with `D = κ/(ρ c_p)` is what tests the dictionary.\n * The mesh ratio `κΔt/(ρ c_p Δx²)` is held at or below 1/4, inside the FTCS\n * stability limit of 1/2, so refinement halves `Δx` and quarters `Δt`.\n *\n * @param cells - the resolution: the number of spatial intervals (made even so\n * `x = 0` is a node).\n * @internal\n */\nexport function heatFtcsCentre(cells: number, f: HeatFixture): number {\n const nx = 2 * Math.ceil(cells / 2);\n const dx = (2 * f.halfWidth) / nx;\n const capacity = f.rho * f.cp;\n const dtMax = (0.25 * capacity * dx * dx) / f.kappa;\n const steps = Math.ceil(f.tEnd / dtMax);\n const dt = f.tEnd / steps;\n const r = (f.kappa * dt) / (capacity * dx * dx);\n\n let u = new Float64Array(nx + 1);\n let next = new Float64Array(nx + 1);\n // The initial condition exp(−x²/(4 s0)) involves no diffusivity at all.\n for (let i = 0; i <= nx; i++) {\n const x = -f.halfWidth + i * dx;\n u[i] = Math.exp(-(x * x) / (4 * f.s0));\n }\n u[0] = 0;\n u[nx] = 0;\n for (let n = 1; n <= steps; n++) {\n for (let i = 1; i < nx; i++) {\n next[i] = u[i]! + r * (u[i + 1]! - 2 * u[i]! + u[i - 1]!);\n }\n next[0] = 0;\n next[nx] = 0;\n [u, next] = [next, u];\n }\n return u[nx / 2]!;\n}\n\n/** Parameters of the WD3 Wick-rotation fixture. @internal */\nexport interface WickFixture {\n readonly hbar: number;\n readonly m: number;\n /** Initial width of the α = 0 Gaussian. */\n readonly s: number;\n /** The point `(x, τ)` the residual is evaluated at. */\n readonly x: number;\n readonly tau: number;\n /** Base finite-difference step; the resolution divides it. */\n readonly h0: number;\n}\n\n/**\n * WD3 — the finite-difference residual `|∂_τ φ − (ħ/2m) ∂²_x φ|` of the\n * Wick-rotated free kernel `φ(x, τ)` (`witnesses/quantum-support.ts`, W5) at\n * one point, with step `h = h0/resolution` in both variables.\n *\n * The residual measures whether the Wick rotation `t = −iτ` of the free\n * Schrödinger equation really lands on the DIFFUSION equation with\n * `D = ħ/(2m)`. Its exact value is zero; the finite-difference estimate\n * approaches zero as `h` shrinks, and the runner records how fast.\n *\n * @internal\n */\nexport function wickHeatResidual(\n resolution: number,\n f: WickFixture,\n kernel: (x: number, tau: number, s: number, hbar: number, m: number) => number,\n): number {\n const h = f.h0 / resolution;\n const phi = (x: number, tau: number): number => kernel(x, tau, f.s, f.hbar, f.m);\n const dTau = (phi(f.x, f.tau + h) - phi(f.x, f.tau - h)) / (2 * h);\n const dXX = (phi(f.x + h, f.tau) - 2 * phi(f.x, f.tau) + phi(f.x - h, f.tau)) / (h * h);\n return Math.abs(dTau - (f.hbar / (2 * f.m)) * dXX);\n}\n\n/**\n * WD3b — `∫ φ(x, τ)² dx` of the Wick-rotated free kernel, by the trapezoid\n * rule over `[−halfWidth, halfWidth]`. The Schrödinger norm `∫|ψ|² dx` is\n * conserved; this one DECAYS with τ, which is the unitarity the continuation\n * does not preserve.\n *\n * @internal\n */\nexport function wickKernelSquaredNorm(\n tau: number,\n f: WickFixture,\n kernel: (x: number, tau: number, s: number, hbar: number, m: number) => number,\n halfWidth = 20,\n cells = 4000,\n): number {\n const dx = (2 * halfWidth) / cells;\n let sum = 0;\n for (let i = 0; i <= cells; i++) {\n const v = kernel(-halfWidth + i * dx, tau, f.s, f.hbar, f.m);\n sum += (i === 0 || i === cells ? 0.5 : 1) * v * v;\n }\n return sum * dx;\n}\n\n// ── Sprint 4 closure: Langevin, telegraph, steady state ────────────────────\n\n/** Parameters of the Langevin (Ornstein–Uhlenbeck) fixture. @internal */\nexport interface LangevinFixture {\n /** Particle mass m. */\n readonly m: number;\n /** Friction coefficient γ (force per velocity). */\n readonly gamma: number;\n /** Thermal energy k_B T. */\n readonly kT: number;\n}\n\n/**\n * WD4 — `⟨x²⟩(t) / (2Dt)` for the Langevin model `m v̇ = −γv + ξ`,\n * `⟨ξ(t)ξ(t′)⟩ = 2γ k_B T δ(t − t′)`, started from x = 0 with a thermalized\n * velocity, at `t = resolution · τ_p` where `τ_p = m/γ`.\n *\n * The second moments are integrated from the LANGEVIN model's own moment\n * equations, `d⟨x²⟩/dt = 2⟨xv⟩`, `d⟨xv⟩/dt = ⟨v²⟩ − (γ/m)⟨xv⟩`, with\n * `⟨v²⟩ = k_B T/m` held at equipartition, by `solveODESystem` with `dt` on a fine fixed grid. The\n * diffusion coefficient `D = k_B T/γ` (Einstein) enters only the DENOMINATOR:\n * the ratio tends to 1 in the diffusive regime `t ≫ τ_p`.\n *\n * @internal\n */\nexport function langevinMsdRatio(resolution: number, f: LangevinFixture): number {\n const tauP = f.m / f.gamma;\n const tEnd = resolution * tauP;\n const v2 = f.kT / f.m;\n const steps = Math.max(2000, Math.ceil(200 * resolution));\n const h = tEnd / steps;\n const sol = solveODESystem(\n (_t, y) => [2 * y[1]!, v2 - y[1]! / tauP],\n [0, 0],\n [0, steps * h],\n { dt: h },\n );\n const end = sol.y[sol.y.length - 1];\n const x2 = end?.[0] ?? Number.NaN;\n const D = f.kT / f.gamma;\n return x2 / (2 * D * tEnd);\n}\n\n/**\n * The slow decay rate of a Fourier mode of the TELEGRAPH equation\n * `τ u_tt + u_t = D u_xx`, divided by the diffusion rate `D q²`:\n * `(1 − √(1 − 4ε)) / (2ε)` with `ε = τ D q²`. Tends to 1 as τ → 0; complex\n * (oscillatory) for `ε > 1/4`, where it returns NaN.\n *\n * @internal\n */\nexport function telegraphSlowRateRatio(tau: number, D: number, q: number): number {\n const eps = tau * D * q * q;\n if (eps === 0) return 1;\n const disc = 1 - 4 * eps;\n if (disc < 0) return Number.NaN;\n return (1 - Math.sqrt(disc)) / (2 * eps);\n}\n\n/**\n * The oscillation frequency of a telegraph mode in its underdamped range,\n * divided by the undamped wave frequency `c q` with `c² = D/τ`:\n * `√(1 − 1/(4ε))`, `ε = τ D q²`. Tends to 1 as ε grows.\n *\n * @internal\n */\nexport function telegraphWaveFrequencyRatio(tau: number, D: number, q: number): number {\n const eps = tau * D * q * q;\n if (eps <= 0.25) return Number.NaN;\n return Math.sqrt(1 - 1 / (4 * eps));\n}\n\n/** Parameters of the WD8 steady-state fixture. @internal */\nexport interface SteadyStateFixture {\n /** Thermal diffusivity α (= κ/(ρ c_p)). */\n readonly alpha: number;\n /** Rod length ℓ. */\n readonly ell: number;\n /** End temperatures. */\n readonly tLeft: number;\n readonly tRight: number;\n /** Base time; the resolution multiplies it. */\n readonly t0: number;\n readonly cells: number;\n}\n\n/**\n * WD8 — the largest deviation from the LINEAR steady profile (the Laplace\n * equation's solution) of an FTCS heat solution with fixed end temperatures,\n * started from a profile with a sin(πx/ℓ) bump, at `t = resolution · t0`.\n * Tends to zero as t → ∞: the steady state is the heat equation's attractor.\n * `reference` replaces the linear profile the deviation is measured against.\n *\n * @internal\n */\nexport function heatSteadyDeviation(\n resolution: number,\n f: SteadyStateFixture,\n reference?: (i: number, cells: number) => number,\n): number {\n const nx = f.cells;\n const dx = f.ell / nx;\n const dtMax = (0.25 * dx * dx) / f.alpha;\n const tEnd = resolution * f.t0;\n const steps = Math.ceil(tEnd / dtMax);\n const dt = tEnd / steps;\n const r = (f.alpha * dt) / (dx * dx);\n const linear = (i: number): number => f.tLeft + ((f.tRight - f.tLeft) * i) / nx;\n let u = new Float64Array(nx + 1);\n let next = new Float64Array(nx + 1);\n for (let i = 0; i <= nx; i++) u[i] = linear(i) + Math.sin((Math.PI * i) / nx);\n next[0] = f.tLeft;\n next[nx] = f.tRight;\n for (let n = 0; n < steps; n++) {\n for (let i = 1; i < nx; i++) next[i] = u[i]! + r * (u[i + 1]! - 2 * u[i]! + u[i - 1]!);\n [u, next] = [next, u];\n }\n // The deviation is measured against `reference` when given — the negative\n // control uses a WRONG steady state here — and against the linear Laplace\n // profile otherwise. The solver itself never sees the reference.\n const ref = reference ?? ((i: number) => linear(i));\n let worst = 0;\n for (let i = 0; i <= nx; i++) worst = Math.max(worst, Math.abs(u[i]! - ref(i, nx)));\n return worst;\n}\n"]}
|
|
@@ -25,6 +25,8 @@ export declare const IDENTITY_BOUND: BoundPair;
|
|
|
25
25
|
/**
|
|
26
26
|
* Compose two bounds, `outer` after `inner`.
|
|
27
27
|
*
|
|
28
|
+
* @throws RangeError when either pair has a `K` or `delta` that is not a
|
|
29
|
+
* finite number ≥ 0.
|
|
28
30
|
* @public
|
|
29
31
|
*/
|
|
30
32
|
export declare function composeBounds(outer: BoundPair, inner: BoundPair): BoundPair;
|
|
@@ -46,6 +48,10 @@ export interface ComposedPath {
|
|
|
46
48
|
* composite would be unbounded, and {@link MissingLipschitzError} is thrown
|
|
47
49
|
* rather than a number invented for it.
|
|
48
50
|
*
|
|
51
|
+
* @throws RangeError on an empty path: a path of nothing composes nothing,
|
|
52
|
+
* and returning the exact identity for it would state an error-free map
|
|
53
|
+
* where no map was given. A step that is not a bound throws through
|
|
54
|
+
* {@link composeBounds}.
|
|
49
55
|
* @public
|
|
50
56
|
*/
|
|
51
57
|
export declare function composeBoundPath(bounds: readonly (BoundPair | null)[]): ComposedPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-algebra.d.ts","sourceRoot":"","sources":["../../src/atlas/error-algebra.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,6EAA6E;AAC7E,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,yFAAyF;AACzF,eAAO,MAAM,cAAc,EAAE,SAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"error-algebra.d.ts","sourceRoot":"","sources":["../../src/atlas/error-algebra.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,6EAA6E;AAC7E,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,yFAAyF;AACzF,eAAO,MAAM,cAAc,EAAE,SAA8B,CAAC;AAkB5D;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,CAI3E;AAED,kDAAkD;AAClD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,GAAG,YAAY,CAmBpF"}
|
|
@@ -18,12 +18,31 @@
|
|
|
18
18
|
import { MissingLipschitzError } from './types.js';
|
|
19
19
|
/** The two-sided identity of {@link composeBounds}: an exact, error-free map. @public */
|
|
20
20
|
export const IDENTITY_BOUND = { K: 1, delta: 0 };
|
|
21
|
+
/**
|
|
22
|
+
* A pair is a finite `K ≥ 0` and a finite `delta ≥ 0`: a Lipschitz constant
|
|
23
|
+
* and an offset. Anything else is not a bound, and composing it would
|
|
24
|
+
* propagate `NaN` or a negative error silently.
|
|
25
|
+
*
|
|
26
|
+
* @throws RangeError naming the offending field.
|
|
27
|
+
*/
|
|
28
|
+
function assertBoundPair(pair, which) {
|
|
29
|
+
if (!Number.isFinite(pair.K) || pair.K < 0) {
|
|
30
|
+
throw new RangeError(`composeBounds: ${which}.K must be a finite number ≥ 0, got ${pair.K}`);
|
|
31
|
+
}
|
|
32
|
+
if (!Number.isFinite(pair.delta) || pair.delta < 0) {
|
|
33
|
+
throw new RangeError(`composeBounds: ${which}.delta must be a finite number ≥ 0, got ${pair.delta}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
21
36
|
/**
|
|
22
37
|
* Compose two bounds, `outer` after `inner`.
|
|
23
38
|
*
|
|
39
|
+
* @throws RangeError when either pair has a `K` or `delta` that is not a
|
|
40
|
+
* finite number ≥ 0.
|
|
24
41
|
* @public
|
|
25
42
|
*/
|
|
26
43
|
export function composeBounds(outer, inner) {
|
|
44
|
+
assertBoundPair(outer, 'outer');
|
|
45
|
+
assertBoundPair(inner, 'inner');
|
|
27
46
|
return { K: outer.K * inner.K, delta: outer.K * inner.delta + outer.delta };
|
|
28
47
|
}
|
|
29
48
|
/**
|
|
@@ -35,9 +54,16 @@ export function composeBounds(outer, inner) {
|
|
|
35
54
|
* composite would be unbounded, and {@link MissingLipschitzError} is thrown
|
|
36
55
|
* rather than a number invented for it.
|
|
37
56
|
*
|
|
57
|
+
* @throws RangeError on an empty path: a path of nothing composes nothing,
|
|
58
|
+
* and returning the exact identity for it would state an error-free map
|
|
59
|
+
* where no map was given. A step that is not a bound throws through
|
|
60
|
+
* {@link composeBounds}.
|
|
38
61
|
* @public
|
|
39
62
|
*/
|
|
40
63
|
export function composeBoundPath(bounds) {
|
|
64
|
+
if (bounds.length === 0) {
|
|
65
|
+
throw new RangeError('composeBoundPath: an empty path composes nothing; there is no bound to state');
|
|
66
|
+
}
|
|
41
67
|
let acc = IDENTITY_BOUND;
|
|
42
68
|
for (let i = 0; i < bounds.length; i++) {
|
|
43
69
|
const step = bounds[i];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-algebra.js","sourceRoot":"","sources":["../../src/atlas/error-algebra.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAQnD,yFAAyF;AACzF,MAAM,CAAC,MAAM,cAAc,GAAc,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAE5D
|
|
1
|
+
{"version":3,"file":"error-algebra.js","sourceRoot":"","sources":["../../src/atlas/error-algebra.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAQnD,yFAAyF;AACzF,MAAM,CAAC,MAAM,cAAc,GAAc,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAE5D;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,IAAe,EAAE,KAAwB;IAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,UAAU,CAAC,kBAAkB,KAAK,uCAAuC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,UAAU,CAAC,kBAAkB,KAAK,2CAA2C,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACvG,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAAgB,EAAE,KAAgB;IAC9D,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;AAC9E,CAAC;AAYD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAqC;IACpE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,UAAU,CAAC,8EAA8E,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,GAAG,GAAc,cAAc,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,qBAAqB,CAC7B,gDAAgD,CAAC,OAAO,MAAM,CAAC,MAAM,IAAI;oBACvE,yDAAyD,CAC5D,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACxC,CAAC;QACD,GAAG,GAAG,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACzC,CAAC","sourcesContent":["/**\n * The Phase 0 error algebra: composition of Lipschitz-plus-offset bounds.\n *\n * With `∘` read as OUTER-AFTER-INNER, a bound `(K, δ)` states\n * `|f(x) − f̃(x̃)| ≤ K|x − x̃| + δ` in the bound's own norm. Composing an outer\n * map onto an inner one therefore gives\n *\n * (K_o, δ_o) ∘ (K_i, δ_i) = (K_o·K_i, K_o·δ_i + δ_o)\n *\n * which is associative and NOT commutative. `IDENTITY_BOUND` is the two-sided\n * identity, so `(bounds, ∘, IDENTITY_BOUND)` is a monoid.\n *\n * An exact equivalence contributes `IDENTITY_BOUND` **in the norms these\n * Phase 0 bridges state** — not in every norm (design note §9 YELLOW (a)).\n *\n * @module atlas/error-algebra\n */\n\nimport { MissingLipschitzError } from './types.js';\n\n/** The `K`/`delta` pair an `ApproximationBound` composes through. @public */\nexport interface BoundPair {\n readonly K: number;\n readonly delta: number;\n}\n\n/** The two-sided identity of {@link composeBounds}: an exact, error-free map. @public */\nexport const IDENTITY_BOUND: BoundPair = { K: 1, delta: 0 };\n\n/**\n * A pair is a finite `K ≥ 0` and a finite `delta ≥ 0`: a Lipschitz constant\n * and an offset. Anything else is not a bound, and composing it would\n * propagate `NaN` or a negative error silently.\n *\n * @throws RangeError naming the offending field.\n */\nfunction assertBoundPair(pair: BoundPair, which: 'outer' | 'inner'): void {\n if (!Number.isFinite(pair.K) || pair.K < 0) {\n throw new RangeError(`composeBounds: ${which}.K must be a finite number ≥ 0, got ${pair.K}`);\n }\n if (!Number.isFinite(pair.delta) || pair.delta < 0) {\n throw new RangeError(`composeBounds: ${which}.delta must be a finite number ≥ 0, got ${pair.delta}`);\n }\n}\n\n/**\n * Compose two bounds, `outer` after `inner`.\n *\n * @throws RangeError when either pair has a `K` or `delta` that is not a\n * finite number ≥ 0.\n * @public\n */\nexport function composeBounds(outer: BoundPair, inner: BoundPair): BoundPair {\n assertBoundPair(outer, 'outer');\n assertBoundPair(inner, 'inner');\n return { K: outer.K * inner.K, delta: outer.K * inner.delta + outer.delta };\n}\n\n/** Result of {@link composeBoundPath}. @public */\nexport interface ComposedPath {\n readonly bound: BoundPair;\n /**\n * True when the path ended on a step with no Lipschitz constant: `bound`\n * covers the prefix, and nothing is claimed past the final step.\n */\n readonly terminal: boolean;\n}\n\n/**\n * Fold a path of bounds in TRAVERSAL order — `[b1, b2]` means b1 then b2, so\n * the composite is `b2 ∘ b1`.\n *\n * A `null` entry is a step whose Lipschitz constant is unknown. It is tolerated\n * only as the LAST entry, where it terminates the claim; anywhere else the\n * composite would be unbounded, and {@link MissingLipschitzError} is thrown\n * rather than a number invented for it.\n *\n * @throws RangeError on an empty path: a path of nothing composes nothing,\n * and returning the exact identity for it would state an error-free map\n * where no map was given. A step that is not a bound throws through\n * {@link composeBounds}.\n * @public\n */\nexport function composeBoundPath(bounds: readonly (BoundPair | null)[]): ComposedPath {\n if (bounds.length === 0) {\n throw new RangeError('composeBoundPath: an empty path composes nothing; there is no bound to state');\n }\n let acc: BoundPair = IDENTITY_BOUND;\n for (let i = 0; i < bounds.length; i++) {\n const step = bounds[i];\n if (step === null) {\n if (i !== bounds.length - 1) {\n throw new MissingLipschitzError(\n `bound path has no Lipschitz constant at step ${i} of ${bounds.length}; ` +\n 'an unknown constant is tolerated only as the final step',\n );\n }\n return { bound: acc, terminal: true };\n }\n acc = composeBounds(step, acc);\n }\n return { bound: acc, terminal: false };\n}\n"]}
|
package/dist/atlas/export.d.ts
CHANGED
|
@@ -24,7 +24,9 @@
|
|
|
24
24
|
* @module atlas/export
|
|
25
25
|
* @internal
|
|
26
26
|
*/
|
|
27
|
-
import type { AtlasFamily } from './
|
|
27
|
+
import type { AtlasFamily } from './family.js';
|
|
28
|
+
import type { AtlasRecordJson } from './serialize.js';
|
|
29
|
+
import type { WitnessResultsArtifact } from './witness-artifact.js';
|
|
28
30
|
/** The QUDT resolution table: `"<model-id>/<parameter>"` → IRI, or null when none resolves. @internal */
|
|
29
31
|
export interface QudtResolution {
|
|
30
32
|
/** When and how the IRIs were checked. */
|
|
@@ -34,8 +36,22 @@ export interface QudtResolution {
|
|
|
34
36
|
}
|
|
35
37
|
/** The stable id namespace. A URN, so no id depends on a host that could move. @internal */
|
|
36
38
|
export declare const ATLAS_ID_PREFIX = "urn:upt:atlas:";
|
|
39
|
+
/** One family's record inside the combined artifact: the per-family record without its own version stamp. @internal */
|
|
40
|
+
export type CombinedFamilyRecord = Omit<AtlasRecordJson, 'packageVersion'>;
|
|
37
41
|
/** The combined artifact: every family's record under one version stamp. @internal */
|
|
38
|
-
export
|
|
42
|
+
export interface CombinedAtlasJson {
|
|
43
|
+
readonly schemaVersion: '0';
|
|
44
|
+
readonly packageVersion: string;
|
|
45
|
+
readonly families: readonly CombinedFamilyRecord[];
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The combined artifact: every family's record under one version stamp.
|
|
49
|
+
*
|
|
50
|
+
* @param witnessResults - forwarded to `toAtlasJson`, which derives each
|
|
51
|
+
* bridge's `evidence` against it.
|
|
52
|
+
* @internal
|
|
53
|
+
*/
|
|
54
|
+
export declare function toCombinedAtlasJson(families: readonly AtlasFamily[], packageVersion: string, witnessResults: WitnessResultsArtifact): CombinedAtlasJson;
|
|
39
55
|
/**
|
|
40
56
|
* The JSON-LD projection.
|
|
41
57
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/atlas/export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/atlas/export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,yGAAyG;AACzG,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;CAC3D;AAED,4FAA4F;AAC5F,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAKhD,uHAAuH;AACvH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;AAE3E,sFAAsF;AACtF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACpD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,sBAAsB,GACrC,iBAAiB,CASnB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAsDT"}
|
package/dist/atlas/export.js
CHANGED
|
@@ -29,13 +29,19 @@ import { toAtlasJson } from './serialize.js';
|
|
|
29
29
|
export const ATLAS_ID_PREFIX = 'urn:upt:atlas:';
|
|
30
30
|
const modelIri = (id) => `${ATLAS_ID_PREFIX}model:${id}`;
|
|
31
31
|
const bridgeIri = (id) => `${ATLAS_ID_PREFIX}bridge:${id}`;
|
|
32
|
-
/**
|
|
33
|
-
|
|
32
|
+
/**
|
|
33
|
+
* The combined artifact: every family's record under one version stamp.
|
|
34
|
+
*
|
|
35
|
+
* @param witnessResults - forwarded to `toAtlasJson`, which derives each
|
|
36
|
+
* bridge's `evidence` against it.
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
39
|
+
export function toCombinedAtlasJson(families, packageVersion, witnessResults) {
|
|
34
40
|
return {
|
|
35
41
|
schemaVersion: '0',
|
|
36
42
|
packageVersion,
|
|
37
43
|
families: families.map((f) => {
|
|
38
|
-
const { packageVersion: _dropped, ...record } = toAtlasJson(f, packageVersion);
|
|
44
|
+
const { packageVersion: _dropped, ...record } = toAtlasJson(f, packageVersion, witnessResults);
|
|
39
45
|
return record;
|
|
40
46
|
}),
|
|
41
47
|
};
|
package/dist/atlas/export.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/atlas/export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/atlas/export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAW7C,4FAA4F;AAC5F,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAEhD,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,GAAG,eAAe,SAAS,EAAE,EAAE,CAAC;AACzE,MAAM,SAAS,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,GAAG,eAAe,UAAU,EAAE,EAAE,CAAC;AAY3E;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAgC,EAChC,cAAsB,EACtB,cAAsC;IAEtC,OAAO;QACL,aAAa,EAAE,GAAG;QAClB,cAAc;QACd,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3B,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;YAC/F,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAC3B,QAAgC,EAChC,cAAsB,EACtB,IAAoB;IAEpB,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,OAAO,EAAE,WAAW;gBACpB,YAAY,EAAE,MAAM,CAAC,MAAM;gBAC3B,cAAc,EAAE,CAAC,CAAC,QAAQ;gBAC1B,eAAe,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACtC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC3B,MAAM,IAAI,KAAK,CAAC,+CAA+C,GAAG,EAAE,CAAC,CAAC;oBACxE,CAAC;oBACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC/B,OAAO;wBACL,YAAY,EAAE,CAAC,CAAC,IAAI;wBACpB,eAAe,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACpF,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;qBACtE,CAAC;gBACJ,CAAC,CAAC;gBACF,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;aACtF,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtB,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;gBACtC,cAAc,EAAE,CAAC,CAAC,QAAQ;gBAC1B,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC9D,gBAAgB,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;gBACnD,qEAAqE;gBACrE,2CAA2C;gBAC3C,qBAAqB,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtE,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;gBAClC,kBAAkB,EAAE,CAAC,CAAC,YAAY;gBAClC,aAAa,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnG,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS;oBAC3B,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;aAC3G,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO;QACL,UAAU,EAAE;YACV,GAAG,EAAE,GAAG,eAAe,QAAQ;YAC/B,IAAI,EAAE,4BAA4B;YAClC,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE,2BAA2B;SACrC;QACD,KAAK,EAAE,GAAG,eAAe,WAAW,cAAc,EAAE;QACpD,kBAAkB,EAAE,IAAI,CAAC,QAAQ;QACjC,QAAQ,EAAE,KAAK;KAChB,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Atlas Phase 6, S6.4 — the versioned export: one combined JSON artifact for\n * every family, and a JSON-LD projection with stable ids, QUDT quantity kinds\n * where they genuinely resolve, and PROV-O-shaped provenance.\n *\n * Design note: `docs/planning/Atlas-Phase-6-Design.md` §2.\n *\n * Pure: no I/O. The QUDT resolution table (`data/atlas/qudt-resolution.json`) is\n * passed IN by the emitter, so this module cannot drift from the table it was\n * given and never reads the tree.\n *\n * ## Why the QUDT table is keyed by (model, parameter), never by name\n *\n * `kappa` is a SPRING CONSTANT in `model-chain` and a THERMAL CONDUCTIVITY in\n * `model-heat`. A name-keyed table would assign one of them the other's\n * quantity kind — a notation collision in the atlas's own data.\n *\n * ## Schema version\n *\n * The combined artifact keeps `schemaVersion: '0'`. Phase 4 added one OPTIONAL\n * field (`formalRef`); an additive optional field is not a breaking change, and\n * the plan bumps to `v1` only on one.\n *\n * @module atlas/export\n * @internal\n */\n\nimport type { AtlasFamily } from './family.js';\nimport type { AtlasRecordJson } from './serialize.js';\nimport { toAtlasJson } from './serialize.js';\nimport type { WitnessResultsArtifact } from './witness-artifact.js';\n\n/** The QUDT resolution table: `\"<model-id>/<parameter>\"` → IRI, or null when none resolves. @internal */\nexport interface QudtResolution {\n /** When and how the IRIs were checked. */\n readonly probedAt: string;\n readonly method: string;\n readonly entries: Readonly<Record<string, string | null>>;\n}\n\n/** The stable id namespace. A URN, so no id depends on a host that could move. @internal */\nexport const ATLAS_ID_PREFIX = 'urn:upt:atlas:';\n\nconst modelIri = (id: string): string => `${ATLAS_ID_PREFIX}model:${id}`;\nconst bridgeIri = (id: string): string => `${ATLAS_ID_PREFIX}bridge:${id}`;\n\n/** One family's record inside the combined artifact: the per-family record without its own version stamp. @internal */\nexport type CombinedFamilyRecord = Omit<AtlasRecordJson, 'packageVersion'>;\n\n/** The combined artifact: every family's record under one version stamp. @internal */\nexport interface CombinedAtlasJson {\n readonly schemaVersion: '0';\n readonly packageVersion: string;\n readonly families: readonly CombinedFamilyRecord[];\n}\n\n/**\n * The combined artifact: every family's record under one version stamp.\n *\n * @param witnessResults - forwarded to `toAtlasJson`, which derives each\n * bridge's `evidence` against it.\n * @internal\n */\nexport function toCombinedAtlasJson(\n families: readonly AtlasFamily[],\n packageVersion: string,\n witnessResults: WitnessResultsArtifact,\n): CombinedAtlasJson {\n return {\n schemaVersion: '0',\n packageVersion,\n families: families.map((f) => {\n const { packageVersion: _dropped, ...record } = toAtlasJson(f, packageVersion, witnessResults);\n return record;\n }),\n };\n}\n\n/**\n * The JSON-LD projection.\n *\n * @throws Error when a model parameter has NO entry in the resolution table — an\n * unlisted parameter is a gap in the table, and exporting it silently blank\n * would be indistinguishable from a deliberate \"no QUDT kind resolves\".\n * @internal\n */\nexport function toAtlasJsonLd(\n families: readonly AtlasFamily[],\n packageVersion: string,\n qudt: QudtResolution,\n): unknown {\n const graph: unknown[] = [];\n for (const family of families) {\n for (const m of family.models) {\n graph.push({\n '@id': modelIri(m.id),\n '@type': 'upt:Model',\n 'upt:family': family.family,\n 'upt:dynamics': m.dynamics,\n 'upt:parameter': m.parameters.map((p) => {\n const key = `${m.id}/${p.name}`;\n if (!(key in qudt.entries)) {\n throw new Error(`toAtlasJsonLd: no QUDT resolution entry for ${key}`);\n }\n const kind = qudt.entries[key];\n return {\n 'upt:symbol': p.name,\n 'upt:dimension': [p.dim.L, p.dim.M, p.dim.T, p.dim.I, p.dim.Theta, p.dim.N, p.dim.J],\n ...(kind === null ? {} : { 'qudt:hasQuantityKind': { '@id': kind } }),\n };\n }),\n ...(m.canonicalRefs.length === 0 ? {} : { 'upt:canonicalRef': [...m.canonicalRefs] }),\n });\n }\n for (const b of family.bridges) {\n graph.push({\n '@id': bridgeIri(b.id),\n '@type': ['upt:Bridge', 'prov:Entity'],\n 'upt:relation': b.relation,\n 'upt:premise': b.premises.map((p) => ({ '@id': modelIri(p) })),\n 'upt:conclusion': { '@id': modelIri(b.conclusion) },\n // PROV-O shape: the bridge's claim is derived from its premises, and\n // its sources are the citations it states.\n 'prov:wasDerivedFrom': b.premises.map((p) => ({ '@id': modelIri(p) })),\n 'dcterms:source': [...b.citations],\n 'upt:reviewStatus': b.reviewStatus,\n 'upt:witness': b.witnesses.map((w) => ({ 'upt:id': w.id, 'upt:kind': w.kind, 'upt:test': w.test })),\n ...(b.formalRef === undefined\n ? {}\n : { 'upt:formalRef': { 'upt:statement': b.formalRef.statement, 'upt:fidelity': b.formalRef.fidelity } }),\n });\n }\n }\n return {\n '@context': {\n upt: `${ATLAS_ID_PREFIX}vocab:`,\n prov: 'http://www.w3.org/ns/prov#',\n qudt: 'http://qudt.org/schema/qudt/',\n dcterms: 'http://purl.org/dc/terms/',\n },\n '@id': `${ATLAS_ID_PREFIX}release:${packageVersion}`,\n 'upt:qudtProbedAt': qudt.probedAt,\n '@graph': graph,\n };\n}\n"]}
|
package/dist/atlas/families.d.ts
CHANGED
|
@@ -6,9 +6,26 @@
|
|
|
6
6
|
* family is checked the moment it is registered here. A gate that named
|
|
7
7
|
* `OSCILLATOR_FAMILY` directly would pass forever over a family it never read.
|
|
8
8
|
*
|
|
9
|
+
* Registration IS admission: every bridge of every family passes
|
|
10
|
+
* `admitApproximation` here, at module load, so an approximation without a
|
|
11
|
+
* horizon or a `deltaAt` cannot reach the registry, the JSON export or the
|
|
12
|
+
* CLI. The sentence that the gate ran only inside
|
|
13
|
+
* `tests/atlas/regime-admission.test.ts` is the record from before this
|
|
14
|
+
* call.
|
|
15
|
+
*
|
|
9
16
|
* @module atlas/families
|
|
10
17
|
*/
|
|
11
|
-
import type { AtlasFamily } from './
|
|
12
|
-
/**
|
|
18
|
+
import type { AtlasFamily } from './family.js';
|
|
19
|
+
/**
|
|
20
|
+
* Admit every bridge of every family, in order, and return the same list.
|
|
21
|
+
*
|
|
22
|
+
* @throws MissingHorizonError or MissingDeltaAtError from
|
|
23
|
+
* {@link admitApproximation} on the first bridge that fails; the family
|
|
24
|
+
* objects are returned unchanged otherwise, so identity is preserved for
|
|
25
|
+
* callers that import a family directly.
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export declare function admitFamilies(families: readonly AtlasFamily[]): readonly AtlasFamily[];
|
|
29
|
+
/** All atlas families, admitted. @internal */
|
|
13
30
|
export declare const ATLAS_FAMILIES: readonly AtlasFamily[];
|
|
14
31
|
//# sourceMappingURL=families.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"families.d.ts","sourceRoot":"","sources":["../../src/atlas/families.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"families.d.ts","sourceRoot":"","sources":["../../src/atlas/families.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,WAAW,EAAE,CAGtF;AAED,8CAA8C;AAC9C,eAAO,MAAM,cAAc,EAAE,SAAS,WAAW,EAI/C,CAAC"}
|
package/dist/atlas/families.js
CHANGED
|
@@ -6,15 +6,38 @@
|
|
|
6
6
|
* family is checked the moment it is registered here. A gate that named
|
|
7
7
|
* `OSCILLATOR_FAMILY` directly would pass forever over a family it never read.
|
|
8
8
|
*
|
|
9
|
+
* Registration IS admission: every bridge of every family passes
|
|
10
|
+
* `admitApproximation` here, at module load, so an approximation without a
|
|
11
|
+
* horizon or a `deltaAt` cannot reach the registry, the JSON export or the
|
|
12
|
+
* CLI. The sentence that the gate ran only inside
|
|
13
|
+
* `tests/atlas/regime-admission.test.ts` is the record from before this
|
|
14
|
+
* call.
|
|
15
|
+
*
|
|
9
16
|
* @module atlas/families
|
|
10
17
|
*/
|
|
11
18
|
import { DIFFUSION_FAMILY } from './diffusion/index.js';
|
|
12
19
|
import { OSCILLATOR_FAMILY } from './oscillators/index.js';
|
|
13
20
|
import { WAVES_FAMILY } from './waves/index.js';
|
|
14
|
-
|
|
15
|
-
|
|
21
|
+
import { admitApproximation } from './regime.js';
|
|
22
|
+
/**
|
|
23
|
+
* Admit every bridge of every family, in order, and return the same list.
|
|
24
|
+
*
|
|
25
|
+
* @throws MissingHorizonError or MissingDeltaAtError from
|
|
26
|
+
* {@link admitApproximation} on the first bridge that fails; the family
|
|
27
|
+
* objects are returned unchanged otherwise, so identity is preserved for
|
|
28
|
+
* callers that import a family directly.
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
export function admitFamilies(families) {
|
|
32
|
+
for (const family of families)
|
|
33
|
+
for (const bridge of family.bridges)
|
|
34
|
+
admitApproximation(bridge);
|
|
35
|
+
return families;
|
|
36
|
+
}
|
|
37
|
+
/** All atlas families, admitted. @internal */
|
|
38
|
+
export const ATLAS_FAMILIES = admitFamilies([
|
|
16
39
|
OSCILLATOR_FAMILY,
|
|
17
40
|
DIFFUSION_FAMILY,
|
|
18
41
|
WAVES_FAMILY,
|
|
19
|
-
];
|
|
42
|
+
]);
|
|
20
43
|
//# sourceMappingURL=families.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"families.js","sourceRoot":"","sources":["../../src/atlas/families.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"families.js","sourceRoot":"","sources":["../../src/atlas/families.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgC;IAC5D,KAAK,MAAM,MAAM,IAAI,QAAQ;QAAE,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO;YAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC/F,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8CAA8C;AAC9C,MAAM,CAAC,MAAM,cAAc,GAA2B,aAAa,CAAC;IAClE,iBAAiB;IACjB,gBAAgB;IAChB,YAAY;CACb,CAAC,CAAC","sourcesContent":["/**\n * Every registered atlas family, in the order they were built.\n *\n * Gates that must cover the WHOLE atlas (the evidence rule, admission, the\n * JSON artifacts) iterate this list rather than naming one family, so a new\n * family is checked the moment it is registered here. A gate that named\n * `OSCILLATOR_FAMILY` directly would pass forever over a family it never read.\n *\n * Registration IS admission: every bridge of every family passes\n * `admitApproximation` here, at module load, so an approximation without a\n * horizon or a `deltaAt` cannot reach the registry, the JSON export or the\n * CLI. The sentence that the gate ran only inside\n * `tests/atlas/regime-admission.test.ts` is the record from before this\n * call.\n *\n * @module atlas/families\n */\n\nimport { DIFFUSION_FAMILY } from './diffusion/index.js';\nimport { OSCILLATOR_FAMILY } from './oscillators/index.js';\nimport { WAVES_FAMILY } from './waves/index.js';\nimport type { AtlasFamily } from './family.js';\nimport { admitApproximation } from './regime.js';\n\n/**\n * Admit every bridge of every family, in order, and return the same list.\n *\n * @throws MissingHorizonError or MissingDeltaAtError from\n * {@link admitApproximation} on the first bridge that fails; the family\n * objects are returned unchanged otherwise, so identity is preserved for\n * callers that import a family directly.\n * @internal\n */\nexport function admitFamilies(families: readonly AtlasFamily[]): readonly AtlasFamily[] {\n for (const family of families) for (const bridge of family.bridges) admitApproximation(bridge);\n return families;\n}\n\n/** All atlas families, admitted. @internal */\nexport const ATLAS_FAMILIES: readonly AtlasFamily[] = admitFamilies([\n OSCILLATOR_FAMILY,\n DIFFUSION_FAMILY,\n WAVES_FAMILY,\n]);\n"]}
|