universal-physics-tensor 0.47.1 → 1.0.2
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/LICENSE +21 -21
- package/README.md +405 -383
- package/bin/upt.mjs +7 -1
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts +108 -0
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -0
- package/dist/atlas/benchmark/hybrid-retrieval.js +241 -0
- package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -0
- package/dist/atlas/catalog-formal-ref.d.ts +24 -0
- package/dist/atlas/catalog-formal-ref.d.ts.map +1 -0
- package/dist/atlas/catalog-formal-ref.js +36 -0
- package/dist/atlas/catalog-formal-ref.js.map +1 -0
- package/dist/atlas/chain-pipeline.d.ts +52 -0
- package/dist/atlas/chain-pipeline.d.ts.map +1 -0
- package/dist/atlas/chain-pipeline.js +176 -0
- package/dist/atlas/chain-pipeline.js.map +1 -0
- package/dist/atlas/composition-table.d.ts +11 -46
- package/dist/atlas/composition-table.d.ts.map +1 -1
- package/dist/atlas/composition-table.js +7 -124
- package/dist/atlas/composition-table.js.map +1 -1
- package/dist/atlas/conventions.d.ts +4 -58
- package/dist/atlas/conventions.d.ts.map +1 -1
- package/dist/atlas/conventions.js +3 -88
- package/dist/atlas/conventions.js.map +1 -1
- package/dist/atlas/derive-evidence.d.ts +50 -3
- package/dist/atlas/derive-evidence.d.ts.map +1 -1
- package/dist/atlas/derive-evidence.js +73 -4
- 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 +5 -1
- package/dist/atlas/diffusion/bridges-closure.js.map +1 -1
- package/dist/atlas/index.d.ts +9 -7
- package/dist/atlas/index.d.ts.map +1 -1
- package/dist/atlas/index.js +6 -5
- package/dist/atlas/index.js.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-exact.js +6 -0
- package/dist/atlas/oscillators/bridges-exact.js.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.d.ts +2 -0
- package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -1
- package/dist/atlas/oscillators/bridges-limits.js +11 -19
- package/dist/atlas/oscillators/bridges-limits.js.map +1 -1
- package/dist/atlas/oscillators/limit-witnesses.d.ts +93 -0
- package/dist/atlas/oscillators/limit-witnesses.d.ts.map +1 -0
- package/dist/atlas/oscillators/limit-witnesses.js +152 -0
- package/dist/atlas/oscillators/limit-witnesses.js.map +1 -0
- package/dist/atlas/oscillators/models.d.ts +2 -1
- package/dist/atlas/oscillators/models.d.ts.map +1 -1
- package/dist/atlas/oscillators/models.js +4 -3
- package/dist/atlas/oscillators/models.js.map +1 -1
- package/dist/atlas/oscillators/norm-transport-witness.d.ts +37 -0
- package/dist/atlas/oscillators/norm-transport-witness.d.ts.map +1 -0
- package/dist/atlas/oscillators/norm-transport-witness.js +58 -0
- package/dist/atlas/oscillators/norm-transport-witness.js.map +1 -0
- package/dist/atlas/oscillators/norm-transport.d.ts +44 -0
- package/dist/atlas/oscillators/norm-transport.d.ts.map +1 -0
- package/dist/atlas/oscillators/norm-transport.js +66 -0
- package/dist/atlas/oscillators/norm-transport.js.map +1 -0
- package/dist/atlas/oscillators/norms.d.ts +11 -0
- package/dist/atlas/oscillators/norms.d.ts.map +1 -0
- package/dist/atlas/oscillators/norms.js +11 -0
- package/dist/atlas/oscillators/norms.js.map +1 -0
- package/dist/atlas/oscillators/pendulum-motion.d.ts +38 -0
- package/dist/atlas/oscillators/pendulum-motion.d.ts.map +1 -0
- package/dist/atlas/oscillators/pendulum-motion.js +122 -0
- package/dist/atlas/oscillators/pendulum-motion.js.map +1 -0
- package/dist/atlas/oscillators/phase-carriage.d.ts +38 -0
- package/dist/atlas/oscillators/phase-carriage.d.ts.map +1 -0
- package/dist/atlas/oscillators/phase-carriage.js +96 -0
- package/dist/atlas/oscillators/phase-carriage.js.map +1 -0
- package/dist/atlas/oscillators/phase-translation.d.ts +46 -0
- package/dist/atlas/oscillators/phase-translation.d.ts.map +1 -0
- package/dist/atlas/oscillators/phase-translation.js +178 -0
- package/dist/atlas/oscillators/phase-translation.js.map +1 -0
- package/dist/atlas/oscillators/position-translation.d.ts +59 -0
- package/dist/atlas/oscillators/position-translation.d.ts.map +1 -0
- package/dist/atlas/oscillators/position-translation.js +254 -0
- package/dist/atlas/oscillators/position-translation.js.map +1 -0
- package/dist/atlas/path-bound.d.ts +126 -9
- package/dist/atlas/path-bound.d.ts.map +1 -1
- package/dist/atlas/path-bound.js +372 -23
- package/dist/atlas/path-bound.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +141 -0
- package/dist/atlas/physjs-ref.d.ts.map +1 -0
- package/dist/atlas/physjs-ref.js +878 -0
- package/dist/atlas/physjs-ref.js.map +1 -0
- package/dist/atlas/proof-target.d.ts +32 -0
- package/dist/atlas/proof-target.d.ts.map +1 -0
- package/dist/atlas/proof-target.js +140 -0
- package/dist/atlas/proof-target.js.map +1 -0
- package/dist/atlas/regime.d.ts +12 -136
- package/dist/atlas/regime.d.ts.map +1 -1
- package/dist/atlas/regime.js +8 -254
- package/dist/atlas/regime.js.map +1 -1
- package/dist/atlas/serialize.d.ts.map +1 -1
- package/dist/atlas/serialize.js +25 -0
- package/dist/atlas/serialize.js.map +1 -1
- package/dist/atlas/translation-registry.d.ts +22 -0
- package/dist/atlas/translation-registry.d.ts.map +1 -0
- package/dist/atlas/translation-registry.js +31 -0
- package/dist/atlas/translation-registry.js.map +1 -0
- package/dist/atlas/translation.d.ts +116 -0
- package/dist/atlas/translation.d.ts.map +1 -0
- package/dist/atlas/translation.js +34 -0
- package/dist/atlas/translation.js.map +1 -0
- package/dist/atlas/types.d.ts +74 -240
- package/dist/atlas/types.d.ts.map +1 -1
- package/dist/atlas/types.js +5 -37
- 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 +4 -0
- 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 +3 -0
- package/dist/atlas/waves/bridges.js.map +1 -1
- package/dist/atlas/waves/models.js +1 -1
- package/dist/atlas/waves/models.js.map +1 -1
- package/dist/atlas/witness-dominance.d.ts +50 -0
- package/dist/atlas/witness-dominance.d.ts.map +1 -0
- package/dist/atlas/witness-dominance.js +86 -0
- package/dist/atlas/witness-dominance.js.map +1 -0
- package/dist/atlas/witness-specs.d.ts +30 -0
- package/dist/atlas/witness-specs.d.ts.map +1 -1
- package/dist/atlas/witness-specs.js +107 -0
- package/dist/atlas/witness-specs.js.map +1 -1
- package/dist/bridges/be53-yang-mills-confrontation.d.ts +81 -0
- package/dist/bridges/be53-yang-mills-confrontation.d.ts.map +1 -0
- package/dist/bridges/be53-yang-mills-confrontation.js +110 -0
- package/dist/bridges/be53-yang-mills-confrontation.js.map +1 -0
- package/dist/bridges/be63-chandrasekhar-mass.d.ts.map +1 -1
- package/dist/bridges/be63-chandrasekhar-mass.js +1 -3
- package/dist/bridges/be63-chandrasekhar-mass.js.map +1 -1
- package/dist/bridges/confrontation-coverage.d.ts +5 -61
- package/dist/bridges/confrontation-coverage.d.ts.map +1 -1
- package/dist/bridges/confrontation-coverage.js +5 -70
- 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 +291 -3
- package/dist/bridges/confrontations.js.map +1 -1
- package/dist/bridges/equations/be-13-einstein-trace.d.ts +2 -3
- package/dist/bridges/equations/be-13-einstein-trace.d.ts.map +1 -1
- package/dist/bridges/equations/be-13-einstein-trace.js +2 -3
- package/dist/bridges/equations/be-13-einstein-trace.js.map +1 -1
- package/dist/bridges/equations/be-38-mond.d.ts +7 -5
- package/dist/bridges/equations/be-38-mond.d.ts.map +1 -1
- package/dist/bridges/equations/be-38-mond.js +7 -5
- package/dist/bridges/equations/be-38-mond.js.map +1 -1
- package/dist/bridges/equations/be-42-hawking-temperature.d.ts +3 -0
- package/dist/bridges/equations/be-42-hawking-temperature.d.ts.map +1 -1
- package/dist/bridges/equations/be-42-hawking-temperature.js +8 -1
- package/dist/bridges/equations/be-42-hawking-temperature.js.map +1 -1
- package/dist/bridges/equations/be-53-yang-mills-beta.d.ts +21 -0
- package/dist/bridges/equations/be-53-yang-mills-beta.d.ts.map +1 -1
- package/dist/bridges/equations/be-53-yang-mills-beta.js +12 -0
- package/dist/bridges/equations/be-53-yang-mills-beta.js.map +1 -1
- package/dist/bridges/evaluator-inputs.d.ts +21 -0
- package/dist/bridges/evaluator-inputs.d.ts.map +1 -0
- package/dist/bridges/evaluator-inputs.js +75 -0
- package/dist/bridges/evaluator-inputs.js.map +1 -0
- package/dist/bridges/evaluators.d.ts +46 -0
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +57 -16
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/gravitational-lensing.d.ts +1 -1
- package/dist/bridges/gravitational-lensing.js +1 -1
- package/dist/bridges/index.d.ts +3 -2
- package/dist/bridges/index.d.ts.map +1 -1
- package/dist/bridges/index.js +15 -14
- package/dist/bridges/index.js.map +1 -1
- package/dist/bridges/observations/types.d.ts +110 -2
- package/dist/bridges/observations/types.d.ts.map +1 -1
- package/dist/bridges/observations/types.js +29 -0
- package/dist/bridges/observations/types.js.map +1 -1
- package/dist/bridges/perihelion-precession.d.ts +1 -1
- package/dist/bridges/perihelion-precession.js +1 -1
- package/dist/bridges/tensor-index.d.ts +39 -0
- package/dist/bridges/tensor-index.d.ts.map +1 -0
- package/dist/bridges/tensor-index.js +66 -0
- package/dist/bridges/tensor-index.js.map +1 -0
- package/dist/canonical/canonical-equation.d.ts +1 -1
- package/dist/canonical/canonical-equation.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.js +32 -10
- package/dist/canonical/entries/atomic.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/mechanics.d.ts.map +1 -1
- package/dist/canonical/entries/mechanics.js +10 -6
- package/dist/canonical/entries/mechanics.js.map +1 -1
- package/dist/canonical/entries/relativity.d.ts.map +1 -1
- package/dist/canonical/entries/relativity.js +41 -8
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.js +5 -5
- package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
- package/dist/canonical/linkage.d.ts.map +1 -1
- package/dist/canonical/linkage.js +31 -28
- package/dist/canonical/linkage.js.map +1 -1
- package/dist/canonical/normal-form.d.ts +17 -0
- package/dist/canonical/normal-form.d.ts.map +1 -1
- package/dist/canonical/normal-form.js +21 -4
- package/dist/canonical/normal-form.js.map +1 -1
- package/dist/canonical/structural.d.ts +84 -0
- package/dist/canonical/structural.d.ts.map +1 -0
- package/dist/canonical/structural.js +107 -0
- package/dist/canonical/structural.js.map +1 -0
- package/dist/cases/brownian-sphere.d.ts +68 -0
- package/dist/cases/brownian-sphere.d.ts.map +1 -0
- package/dist/cases/brownian-sphere.js +353 -0
- package/dist/cases/brownian-sphere.js.map +1 -0
- package/dist/cases/damped-resonator.d.ts +23 -0
- package/dist/cases/damped-resonator.d.ts.map +1 -0
- package/dist/cases/damped-resonator.js +224 -0
- package/dist/cases/damped-resonator.js.map +1 -0
- package/dist/cases/index.d.ts +11 -0
- package/dist/cases/index.d.ts.map +1 -0
- package/dist/cases/index.js +29 -0
- package/dist/cases/index.js.map +1 -0
- package/dist/cases/kepler-rv.d.ts +13 -0
- package/dist/cases/kepler-rv.d.ts.map +1 -0
- package/dist/cases/kepler-rv.js +168 -0
- package/dist/cases/kepler-rv.js.map +1 -0
- package/dist/cases/lumped-cooling.d.ts +46 -0
- package/dist/cases/lumped-cooling.d.ts.map +1 -0
- package/dist/cases/lumped-cooling.js +261 -0
- package/dist/cases/lumped-cooling.js.map +1 -0
- package/dist/cases/quadrature.d.ts +14 -0
- package/dist/cases/quadrature.d.ts.map +1 -0
- package/dist/cases/quadrature.js +41 -0
- package/dist/cases/quadrature.js.map +1 -0
- package/dist/cases/resistor-noise.d.ts +14 -0
- package/dist/cases/resistor-noise.d.ts.map +1 -0
- package/dist/cases/resistor-noise.js +210 -0
- package/dist/cases/resistor-noise.js.map +1 -0
- package/dist/cases/skin-depth.d.ts +21 -0
- package/dist/cases/skin-depth.d.ts.map +1 -0
- package/dist/cases/skin-depth.js +174 -0
- package/dist/cases/skin-depth.js.map +1 -0
- package/dist/cases/types.d.ts +115 -0
- package/dist/cases/types.d.ts.map +1 -0
- package/dist/cases/types.js +20 -0
- package/dist/cases/types.js.map +1 -0
- package/dist/cli/commands/_atlas-map.d.ts +409 -0
- package/dist/cli/commands/_atlas-map.d.ts.map +1 -0
- package/dist/cli/commands/_atlas-map.js +1014 -0
- package/dist/cli/commands/_atlas-map.js.map +1 -0
- package/dist/cli/commands/_atlas-route.d.ts +111 -0
- package/dist/cli/commands/_atlas-route.d.ts.map +1 -0
- package/dist/cli/commands/_atlas-route.js +140 -0
- package/dist/cli/commands/_atlas-route.js.map +1 -0
- package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +10 -1
- package/dist/cli/commands/_discovery-opts.js.map +1 -1
- package/dist/cli/commands/atlas.d.ts +20 -0
- package/dist/cli/commands/atlas.d.ts.map +1 -1
- package/dist/cli/commands/atlas.js +333 -19
- 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 +12 -3
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/axes.js +4 -4
- package/dist/cli/commands/candidates.d.ts.map +1 -1
- package/dist/cli/commands/candidates.js +3 -2
- package/dist/cli/commands/candidates.js.map +1 -1
- package/dist/cli/commands/canonical.d.ts.map +1 -1
- package/dist/cli/commands/canonical.js +39 -10
- package/dist/cli/commands/canonical.js.map +1 -1
- package/dist/cli/commands/confront.d.ts.map +1 -1
- package/dist/cli/commands/confront.js +210 -28
- package/dist/cli/commands/confront.js.map +1 -1
- package/dist/cli/commands/connectors.d.ts.map +1 -1
- package/dist/cli/commands/connectors.js +5 -4
- package/dist/cli/commands/connectors.js.map +1 -1
- package/dist/cli/commands/coverage.js +3 -3
- package/dist/cli/commands/derive.d.ts.map +1 -1
- package/dist/cli/commands/derive.js +22 -9
- 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 +149 -32
- 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 +87 -17
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts +30 -0
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +441 -25
- 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 +38 -11
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/frontier.d.ts +3 -0
- package/dist/cli/commands/frontier.d.ts.map +1 -0
- package/dist/cli/commands/frontier.js +28 -0
- package/dist/cli/commands/frontier.js.map +1 -0
- package/dist/cli/commands/ground.d.ts.map +1 -1
- package/dist/cli/commands/ground.js +37 -12
- package/dist/cli/commands/ground.js.map +1 -1
- package/dist/cli/commands/index.d.ts +5 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +5 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/map.d.ts +8 -0
- package/dist/cli/commands/map.d.ts.map +1 -1
- package/dist/cli/commands/map.js +385 -57
- package/dist/cli/commands/map.js.map +1 -1
- package/dist/cli/commands/metric.d.ts +3 -0
- package/dist/cli/commands/metric.d.ts.map +1 -0
- package/dist/cli/commands/metric.js +136 -0
- package/dist/cli/commands/metric.js.map +1 -0
- package/dist/cli/commands/path.d.ts +109 -1
- package/dist/cli/commands/path.d.ts.map +1 -1
- package/dist/cli/commands/path.js +1019 -109
- package/dist/cli/commands/path.js.map +1 -1
- package/dist/cli/commands/predict.d.ts.map +1 -1
- package/dist/cli/commands/predict.js +3 -2
- package/dist/cli/commands/predict.js.map +1 -1
- package/dist/cli/commands/priority.d.ts.map +1 -1
- package/dist/cli/commands/priority.js +3 -2
- package/dist/cli/commands/priority.js.map +1 -1
- package/dist/cli/commands/probe.d.ts +7 -0
- package/dist/cli/commands/probe.d.ts.map +1 -1
- package/dist/cli/commands/probe.js +234 -52
- package/dist/cli/commands/probe.js.map +1 -1
- package/dist/cli/commands/recover.d.ts.map +1 -1
- package/dist/cli/commands/recover.js +17 -6
- package/dist/cli/commands/recover.js.map +1 -1
- package/dist/cli/commands/regime.d.ts +1 -1
- package/dist/cli/commands/regime.d.ts.map +1 -1
- package/dist/cli/commands/regime.js +134 -33
- package/dist/cli/commands/regime.js.map +1 -1
- package/dist/cli/commands/retrieve.d.ts +3 -0
- package/dist/cli/commands/retrieve.d.ts.map +1 -0
- package/dist/cli/commands/retrieve.js +65 -0
- package/dist/cli/commands/retrieve.js.map +1 -0
- package/dist/cli/commands/search.d.ts +3 -0
- package/dist/cli/commands/search.d.ts.map +1 -0
- package/dist/cli/commands/search.js +70 -0
- package/dist/cli/commands/search.js.map +1 -0
- package/dist/cli/commands/symbolic.d.ts.map +1 -1
- package/dist/cli/commands/symbolic.js +107 -16
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/commands/testplan.d.ts +3 -0
- package/dist/cli/commands/testplan.d.ts.map +1 -0
- package/dist/cli/commands/testplan.js +131 -0
- package/dist/cli/commands/testplan.js.map +1 -0
- package/dist/cli/conventions.d.ts +22 -0
- package/dist/cli/conventions.d.ts.map +1 -0
- package/dist/cli/conventions.js +48 -0
- package/dist/cli/conventions.js.map +1 -0
- package/dist/cli/euler-guard.d.ts +9 -0
- package/dist/cli/euler-guard.d.ts.map +1 -0
- package/dist/cli/euler-guard.js +11 -0
- package/dist/cli/euler-guard.js.map +1 -0
- package/dist/cli/eval-numbers.d.ts +26 -0
- package/dist/cli/eval-numbers.d.ts.map +1 -0
- package/dist/cli/eval-numbers.js +48 -0
- package/dist/cli/eval-numbers.js.map +1 -0
- package/dist/cli/expr-print.d.ts +25 -0
- package/dist/cli/expr-print.d.ts.map +1 -0
- package/dist/cli/expr-print.js +123 -0
- package/dist/cli/expr-print.js.map +1 -0
- package/dist/cli/graphs.d.ts +26 -0
- package/dist/cli/graphs.d.ts.map +1 -1
- package/dist/cli/graphs.js +19 -0
- package/dist/cli/graphs.js.map +1 -1
- package/dist/cli/main.d.ts +4 -10
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +370 -167
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/map-evidence.d.ts +47 -0
- package/dist/cli/map-evidence.d.ts.map +1 -0
- package/dist/cli/map-evidence.js +53 -0
- package/dist/cli/map-evidence.js.map +1 -0
- package/dist/cli/output.d.ts +21 -1
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +5 -1
- package/dist/cli/output.js.map +1 -1
- package/dist/{composition → cli}/poster-source.d.ts +3 -2
- package/dist/cli/poster-source.d.ts.map +1 -0
- package/dist/{composition → cli}/poster-source.js +2 -1
- package/dist/cli/poster-source.js.map +1 -0
- package/dist/cli/record-reach.d.ts +44 -0
- package/dist/cli/record-reach.d.ts.map +1 -0
- package/dist/cli/record-reach.js +228 -0
- package/dist/cli/record-reach.js.map +1 -0
- package/dist/cli/record-tables.d.ts +38 -0
- package/dist/cli/record-tables.d.ts.map +1 -0
- package/dist/cli/record-tables.js +110 -0
- package/dist/cli/record-tables.js.map +1 -0
- package/dist/cli/record.d.ts +141 -0
- package/dist/cli/record.d.ts.map +1 -0
- package/dist/cli/record.js +612 -0
- package/dist/cli/record.js.map +1 -0
- package/dist/cli/search-index.d.ts +56 -0
- package/dist/cli/search-index.d.ts.map +1 -0
- package/dist/cli/search-index.js +190 -0
- package/dist/cli/search-index.js.map +1 -0
- package/dist/cli/statuses.d.ts +25 -0
- package/dist/cli/statuses.d.ts.map +1 -0
- package/dist/cli/statuses.js +276 -0
- package/dist/cli/statuses.js.map +1 -0
- package/dist/cli/version.d.ts +8 -0
- package/dist/cli/version.d.ts.map +1 -1
- package/dist/cli/version.js +32 -1
- package/dist/cli/version.js.map +1 -1
- package/dist/cli-api.d.ts +34 -16
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +32 -12
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/audit-coverage.d.ts +70 -0
- package/dist/composition/audit-coverage.d.ts.map +1 -0
- package/dist/composition/audit-coverage.js +80 -0
- package/dist/composition/audit-coverage.js.map +1 -0
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +2 -1
- package/dist/composition/bridge-analysis.js.map +1 -1
- package/dist/composition/buckingham-filter.d.ts +34 -0
- package/dist/composition/buckingham-filter.d.ts.map +1 -0
- package/dist/composition/buckingham-filter.js +64 -0
- package/dist/composition/buckingham-filter.js.map +1 -0
- package/dist/composition/canonical-compare.d.ts +29 -16
- package/dist/composition/canonical-compare.d.ts.map +1 -1
- package/dist/composition/canonical-compare.js +355 -59
- package/dist/composition/canonical-compare.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +2 -2
- package/dist/composition/canonical-graph.js +3 -3
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-prefactors.d.ts +24 -1
- package/dist/composition/canonical-prefactors.d.ts.map +1 -1
- package/dist/composition/canonical-prefactors.js +97 -1
- package/dist/composition/canonical-prefactors.js.map +1 -1
- package/dist/composition/catalog-graph.d.ts +4 -4
- package/dist/composition/catalog-graph.d.ts.map +1 -1
- package/dist/composition/catalog-graph.js +6 -4
- package/dist/composition/catalog-graph.js.map +1 -1
- package/dist/composition/chain-candidate.d.ts +43 -0
- package/dist/composition/chain-candidate.d.ts.map +1 -0
- package/dist/composition/chain-candidate.js +56 -0
- package/dist/composition/chain-candidate.js.map +1 -0
- package/dist/composition/chain-match.d.ts +19 -0
- package/dist/composition/chain-match.d.ts.map +1 -0
- package/dist/composition/chain-match.js +10 -0
- package/dist/composition/chain-match.js.map +1 -0
- package/dist/composition/chain-regime.d.ts +34 -0
- package/dist/composition/chain-regime.d.ts.map +1 -0
- package/dist/composition/chain-regime.js +89 -0
- package/dist/composition/chain-regime.js.map +1 -0
- package/dist/composition/compose-symbolic.js +1 -1
- package/dist/composition/compose-symbolic.js.map +1 -1
- package/dist/composition/compose.d.ts +11 -0
- package/dist/composition/compose.d.ts.map +1 -1
- package/dist/composition/compose.js +30 -10
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/composition-recovery.d.ts +47 -0
- package/dist/composition/composition-recovery.d.ts.map +1 -0
- package/dist/composition/composition-recovery.js +77 -0
- package/dist/composition/composition-recovery.js.map +1 -0
- package/dist/composition/consequence.d.ts +39 -0
- package/dist/composition/consequence.d.ts.map +1 -1
- package/dist/composition/consequence.js +37 -0
- package/dist/composition/consequence.js.map +1 -1
- package/dist/{bridges → composition}/descriptor.d.ts +6 -3
- package/dist/composition/descriptor.d.ts.map +1 -0
- package/dist/{bridges → composition}/descriptor.js +7 -4
- package/dist/composition/descriptor.js.map +1 -0
- package/dist/composition/discovery.d.ts +20 -0
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +27 -5
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +1 -1
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js.map +1 -1
- package/dist/composition/edges/_catalog-helpers.d.ts +4 -0
- package/dist/composition/edges/_catalog-helpers.d.ts.map +1 -1
- package/dist/composition/edges/_catalog-helpers.js +15 -0
- package/dist/composition/edges/_catalog-helpers.js.map +1 -1
- package/dist/composition/edges/calibration.d.ts +0 -9
- package/dist/composition/edges/calibration.d.ts.map +1 -1
- package/dist/composition/edges/calibration.js +85 -0
- package/dist/composition/edges/calibration.js.map +1 -1
- package/dist/composition/edges/catalog-condensed-matter.d.ts +0 -9
- package/dist/composition/edges/catalog-condensed-matter.d.ts.map +1 -1
- package/dist/composition/edges/catalog-condensed-matter.js +32 -1
- package/dist/composition/edges/catalog-condensed-matter.js.map +1 -1
- package/dist/composition/edges/catalog-fields.d.ts.map +1 -1
- package/dist/composition/edges/catalog-fields.js +2 -1
- package/dist/composition/edges/catalog-fields.js.map +1 -1
- package/dist/composition/edges/catalog-full.d.ts +4 -2
- package/dist/composition/edges/catalog-full.d.ts.map +1 -1
- package/dist/composition/edges/catalog-full.js +4 -2
- package/dist/composition/edges/catalog-full.js.map +1 -1
- package/dist/composition/edges/catalog-gravitation-cosmology.d.ts +0 -10
- package/dist/composition/edges/catalog-gravitation-cosmology.d.ts.map +1 -1
- package/dist/composition/edges/catalog-gravitation-cosmology.js +31 -1
- package/dist/composition/edges/catalog-gravitation-cosmology.js.map +1 -1
- package/dist/composition/edges/catalog-quantum.d.ts +0 -10
- package/dist/composition/edges/catalog-quantum.d.ts.map +1 -1
- package/dist/composition/edges/catalog-quantum.js +53 -17
- package/dist/composition/edges/catalog-quantum.js.map +1 -1
- package/dist/composition/edges/catalog-tranche.d.ts +0 -15
- package/dist/composition/edges/catalog-tranche.d.ts.map +1 -1
- package/dist/composition/edges/catalog-tranche.js +70 -16
- package/dist/composition/edges/catalog-tranche.js.map +1 -1
- package/dist/composition/edges/proved-seeds.d.ts +39 -0
- package/dist/composition/edges/proved-seeds.d.ts.map +1 -0
- package/dist/composition/edges/proved-seeds.js +197 -0
- package/dist/composition/edges/proved-seeds.js.map +1 -0
- package/dist/composition/enumerate.d.ts +20 -0
- package/dist/composition/enumerate.d.ts.map +1 -1
- package/dist/composition/enumerate.js +23 -0
- package/dist/composition/enumerate.js.map +1 -1
- package/dist/composition/expr-eval.d.ts +5 -4
- package/dist/composition/expr-eval.d.ts.map +1 -1
- package/dist/composition/expr-eval.js +40 -6
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/expr-simplify.js +1 -1
- package/dist/composition/expr-simplify.js.map +1 -1
- package/dist/composition/expr-subst.d.ts +2 -1
- package/dist/composition/expr-subst.d.ts.map +1 -1
- package/dist/composition/expr-subst.js +9 -2
- package/dist/composition/expr-subst.js.map +1 -1
- package/dist/composition/frontier-account.d.ts +78 -0
- package/dist/composition/frontier-account.d.ts.map +1 -0
- package/dist/composition/frontier-account.js +127 -0
- package/dist/composition/frontier-account.js.map +1 -0
- package/dist/composition/graph-viz.d.ts +7 -22
- package/dist/composition/graph-viz.d.ts.map +1 -1
- package/dist/composition/graph-viz.js +4 -27
- package/dist/composition/graph-viz.js.map +1 -1
- package/dist/composition/grounding.d.ts +49 -0
- package/dist/composition/grounding.d.ts.map +1 -1
- package/dist/composition/grounding.js +38 -0
- package/dist/composition/grounding.js.map +1 -1
- package/dist/composition/index.d.ts +0 -2
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +1 -1
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/not-composable-seeds.d.ts +30 -0
- package/dist/composition/not-composable-seeds.d.ts.map +1 -0
- package/dist/composition/not-composable-seeds.js +90 -0
- package/dist/composition/not-composable-seeds.js.map +1 -0
- package/dist/composition/probe/expression-gaps.d.ts +27 -0
- package/dist/composition/probe/expression-gaps.d.ts.map +1 -0
- package/dist/composition/probe/expression-gaps.js +47 -0
- package/dist/composition/probe/expression-gaps.js.map +1 -0
- package/dist/composition/probe/frontier.d.ts +2 -1
- package/dist/composition/probe/frontier.d.ts.map +1 -1
- package/dist/composition/probe/frontier.js +3 -2
- package/dist/composition/probe/frontier.js.map +1 -1
- package/dist/composition/probe/index.d.ts +4 -1
- package/dist/composition/probe/index.d.ts.map +1 -1
- package/dist/composition/probe/index.js +3 -1
- package/dist/composition/probe/index.js.map +1 -1
- package/dist/composition/probe/pipeline.d.ts +2 -0
- package/dist/composition/probe/pipeline.d.ts.map +1 -1
- package/dist/composition/probe/pipeline.js +6 -2
- package/dist/composition/probe/pipeline.js.map +1 -1
- package/dist/composition/probe/problem.d.ts +7 -0
- package/dist/composition/probe/problem.d.ts.map +1 -1
- package/dist/composition/probe/problem.js +15 -5
- package/dist/composition/probe/problem.js.map +1 -1
- package/dist/composition/probe/search-budget.d.ts.map +1 -1
- package/dist/composition/probe/search-budget.js +6 -2
- package/dist/composition/probe/search-budget.js.map +1 -1
- package/dist/composition/probe/study.d.ts +340 -0
- package/dist/composition/probe/study.d.ts.map +1 -0
- package/dist/composition/probe/study.js +1519 -0
- package/dist/composition/probe/study.js.map +1 -0
- package/dist/composition/proposed-bridges.js +1 -1
- package/dist/composition/proposed-bridges.js.map +1 -1
- package/dist/composition/quantities/_dims.d.ts +6 -0
- package/dist/composition/quantities/_dims.d.ts.map +1 -1
- package/dist/composition/quantities/_dims.js +6 -0
- package/dist/composition/quantities/_dims.js.map +1 -1
- package/dist/composition/quantities/condensed-matter.d.ts +16 -0
- package/dist/composition/quantities/condensed-matter.d.ts.map +1 -1
- package/dist/composition/quantities/condensed-matter.js +43 -2
- package/dist/composition/quantities/condensed-matter.js.map +1 -1
- package/dist/composition/quantities/fields.d.ts +10 -0
- package/dist/composition/quantities/fields.d.ts.map +1 -1
- package/dist/composition/quantities/fields.js +37 -2
- package/dist/composition/quantities/fields.js.map +1 -1
- package/dist/composition/quantities/gravitation-cosmology.d.ts +4 -0
- package/dist/composition/quantities/gravitation-cosmology.d.ts.map +1 -1
- package/dist/composition/quantities/gravitation-cosmology.js +14 -0
- package/dist/composition/quantities/gravitation-cosmology.js.map +1 -1
- package/dist/composition/quantities/quantum.d.ts +2 -0
- package/dist/composition/quantities/quantum.d.ts.map +1 -1
- package/dist/composition/quantities/quantum.js +7 -0
- package/dist/composition/quantities/quantum.js.map +1 -1
- package/dist/composition/quantities.d.ts +4 -16
- package/dist/composition/quantities.d.ts.map +1 -1
- package/dist/composition/quantities.js +4 -16
- package/dist/composition/quantities.js.map +1 -1
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +6 -2
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/uncertainty.d.ts +1 -1
- package/dist/composition/uncertainty.d.ts.map +1 -1
- package/dist/composition/user-equation.d.ts +79 -8
- package/dist/composition/user-equation.d.ts.map +1 -1
- package/dist/composition/user-equation.js +224 -32
- package/dist/composition/user-equation.js.map +1 -1
- package/dist/core/constants.d.ts +17 -5
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +17 -5
- package/dist/core/constants.js.map +1 -1
- package/dist/core/types.d.ts +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +2 -1
- package/dist/core/types.js.map +1 -1
- package/dist/dimensional/curvature.d.ts +7 -56
- package/dist/dimensional/curvature.d.ts.map +1 -1
- package/dist/dimensional/curvature.js +7 -76
- package/dist/dimensional/curvature.js.map +1 -1
- package/dist/dimensional/dimension-spec.d.ts +7 -1
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/dimension-spec.js +131 -3
- package/dist/dimensional/dimension-spec.js.map +1 -1
- package/dist/dimensional/formula-names.d.ts +30 -0
- package/dist/dimensional/formula-names.d.ts.map +1 -0
- package/dist/dimensional/formula-names.js +37 -0
- package/dist/dimensional/formula-names.js.map +1 -0
- package/dist/dimensional/natural-units.d.ts +33 -0
- package/dist/dimensional/natural-units.d.ts.map +1 -0
- package/dist/dimensional/natural-units.js +58 -0
- package/dist/dimensional/natural-units.js.map +1 -0
- package/dist/{composition → dimensional}/symbolic-constants.d.ts +21 -2
- package/dist/dimensional/symbolic-constants.d.ts.map +1 -0
- package/dist/dimensional/symbolic-constants.js +122 -0
- package/dist/dimensional/symbolic-constants.js.map +1 -0
- package/dist/dimensional/unit-convention.d.ts +30 -0
- package/dist/dimensional/unit-convention.d.ts.map +1 -0
- package/dist/dimensional/unit-convention.js +60 -0
- package/dist/dimensional/unit-convention.js.map +1 -0
- package/dist/dimensional/units.d.ts +43 -0
- package/dist/dimensional/units.d.ts.map +1 -0
- package/dist/dimensional/units.js +197 -0
- package/dist/dimensional/units.js.map +1 -0
- package/dist/index.d.ts +11 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -3
- package/dist/index.js.map +1 -1
- package/dist/numerical/bianchi-residual.d.ts +55 -0
- package/dist/numerical/bianchi-residual.d.ts.map +1 -0
- package/dist/numerical/bianchi-residual.js +79 -0
- package/dist/numerical/bianchi-residual.js.map +1 -0
- package/dist/numerical/binding-value.d.ts +67 -0
- package/dist/numerical/binding-value.d.ts.map +1 -0
- package/dist/numerical/binding-value.js +349 -0
- package/dist/numerical/binding-value.js.map +1 -0
- package/dist/numerical/connection-lowering-helpers.d.ts.map +1 -1
- package/dist/numerical/connection-lowering-helpers.js +13 -26
- package/dist/numerical/connection-lowering-helpers.js.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.js +9 -0
- package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
- package/dist/numerical/float64-engine.d.ts.map +1 -1
- package/dist/numerical/float64-engine.js +23 -16
- package/dist/numerical/float64-engine.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts +14 -0
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js +56 -9
- 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 +75 -6
- package/dist/numerical/formula-mathts.js.map +1 -1
- package/dist/numerical/formula.d.ts +33 -0
- package/dist/numerical/formula.d.ts.map +1 -1
- package/dist/numerical/formula.js +75 -6
- package/dist/numerical/formula.js.map +1 -1
- package/dist/numerical/spacetime-metrics.d.ts +243 -0
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -0
- package/dist/numerical/spacetime-metrics.js +1056 -0
- package/dist/numerical/spacetime-metrics.js.map +1 -0
- package/dist/relations/category.d.ts +38 -0
- package/dist/relations/category.d.ts.map +1 -0
- package/dist/relations/category.js +23 -0
- package/dist/relations/category.js.map +1 -0
- package/dist/relations/composition-table.d.ts +61 -0
- package/dist/relations/composition-table.d.ts.map +1 -0
- package/dist/relations/composition-table.js +140 -0
- package/dist/relations/composition-table.js.map +1 -0
- package/dist/relations/conventions.d.ts +63 -0
- package/dist/relations/conventions.d.ts.map +1 -0
- package/dist/relations/conventions.js +93 -0
- package/dist/relations/conventions.js.map +1 -0
- package/dist/relations/regime.d.ts +159 -0
- package/dist/relations/regime.d.ts.map +1 -0
- package/dist/relations/regime.js +304 -0
- package/dist/relations/regime.js.map +1 -0
- package/dist/relations/types.d.ts +257 -0
- package/dist/relations/types.d.ts.map +1 -0
- package/dist/relations/types.js +35 -0
- package/dist/relations/types.js.map +1 -0
- package/package.json +166 -163
- package/dist/bridges/descriptor.d.ts.map +0 -1
- package/dist/bridges/descriptor.js.map +0 -1
- package/dist/composition/poster-source.d.ts.map +0 -1
- package/dist/composition/poster-source.js.map +0 -1
- package/dist/composition/symbolic-constants.d.ts.map +0 -1
- package/dist/composition/symbolic-constants.js +0 -65
- package/dist/composition/symbolic-constants.js.map +0 -1
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal bridge-discovery pipeline.
|
|
3
|
+
*
|
|
4
|
+
* Seeds, then seed-filtered symbolic enumeration, the Buckingham filter,
|
|
5
|
+
* the structural classifier, the regime join gate, the chain order,
|
|
6
|
+
* and the proof-target stub.
|
|
7
|
+
* A confirmation reports the catalog id. A restatement reports the
|
|
8
|
+
* pre-declared canonical equation. A regime mismatch is recorded and
|
|
9
|
+
* is not a stub. Any other survivor is a statement skeleton. Nothing
|
|
10
|
+
* is written into the catalog.
|
|
11
|
+
*
|
|
12
|
+
* No command calls this. `discovery.ts` and the probe are not inputs.
|
|
13
|
+
*
|
|
14
|
+
* @module atlas/chain-pipeline
|
|
15
|
+
*/
|
|
16
|
+
import { DIMENSIONLESS } from '../dimensional/types.js';
|
|
17
|
+
import { equals } from '../dimensional/algebra.js';
|
|
18
|
+
import { CONSTANTS } from '../dimensional/symbolic-constants.js';
|
|
19
|
+
import { enumerateCompositions } from '../composition/enumerate.js';
|
|
20
|
+
import { buckinghamFilter } from '../composition/buckingham-filter.js';
|
|
21
|
+
import { matchChain } from '../composition/chain-match.js';
|
|
22
|
+
import { compareChainEdgeIds, orderChainCandidates, } from '../composition/chain-candidate.js';
|
|
23
|
+
import { joinRegimeMismatch, } from '../composition/chain-regime.js';
|
|
24
|
+
import { bridgeSeedKeys, physjsTheorem } from './physjs-ref.js';
|
|
25
|
+
import { emitProofTarget } from './proof-target.js';
|
|
26
|
+
function isNumericName(name) {
|
|
27
|
+
return /^\d+(\.\d+)?$/.test(name);
|
|
28
|
+
}
|
|
29
|
+
function isDimensionlessConstant(name) {
|
|
30
|
+
if (/^\d*pi$/.test(name))
|
|
31
|
+
return true;
|
|
32
|
+
const registered = CONSTANTS[name];
|
|
33
|
+
return registered !== undefined && equals(registered.dim, DIMENSIONLESS);
|
|
34
|
+
}
|
|
35
|
+
function collectSymbols(expr, out) {
|
|
36
|
+
switch (expr.kind) {
|
|
37
|
+
case 'symbol':
|
|
38
|
+
out.set(expr.name, expr.dim);
|
|
39
|
+
return;
|
|
40
|
+
case 'op':
|
|
41
|
+
for (const arg of expr.args)
|
|
42
|
+
collectSymbols(arg, out);
|
|
43
|
+
return;
|
|
44
|
+
case 'integral':
|
|
45
|
+
collectSymbols(expr.over, out);
|
|
46
|
+
collectSymbols(expr.integrand, out);
|
|
47
|
+
return;
|
|
48
|
+
case 'derivative':
|
|
49
|
+
collectSymbols(expr.of, out);
|
|
50
|
+
collectSymbols(expr.wrt, out);
|
|
51
|
+
return;
|
|
52
|
+
case 'transcendental':
|
|
53
|
+
case 'abs':
|
|
54
|
+
case 'dirac-delta':
|
|
55
|
+
collectSymbols(expr.arg, out);
|
|
56
|
+
return;
|
|
57
|
+
default:
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/** Dimensioned leaves of the composed formula, excluding the target name. */
|
|
62
|
+
function governingOf(expr, targetName) {
|
|
63
|
+
const dims = new Map();
|
|
64
|
+
collectSymbols(expr, dims);
|
|
65
|
+
const vars = [];
|
|
66
|
+
for (const [name, dim] of dims) {
|
|
67
|
+
if (name === targetName)
|
|
68
|
+
continue;
|
|
69
|
+
if (isNumericName(name) || isDimensionlessConstant(name))
|
|
70
|
+
continue;
|
|
71
|
+
vars.push({ name, dim });
|
|
72
|
+
}
|
|
73
|
+
vars.sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0));
|
|
74
|
+
return vars;
|
|
75
|
+
}
|
|
76
|
+
function toCandidate(classification, filter) {
|
|
77
|
+
const theorem = filter.theorem ?? undefined;
|
|
78
|
+
const carried = theorem === undefined ? {} : { theorem };
|
|
79
|
+
if (classification.kind === 'confirmation') {
|
|
80
|
+
return {
|
|
81
|
+
kind: 'confirmation',
|
|
82
|
+
edgeIds: classification.edgeIds,
|
|
83
|
+
catalogId: classification.catalogId,
|
|
84
|
+
...carried,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
if (classification.kind === 'restatement') {
|
|
88
|
+
return {
|
|
89
|
+
kind: 'restatement',
|
|
90
|
+
edgeIds: classification.edgeIds,
|
|
91
|
+
canonicalId: classification.canonicalId,
|
|
92
|
+
restatesBridge: classification.restatesBridge,
|
|
93
|
+
...carried,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
const kind = filter.theorem === 'PhysJS.Dimensional.monomial_form'
|
|
97
|
+
? 'unique-monomial'
|
|
98
|
+
: 'unfixed-shape';
|
|
99
|
+
return {
|
|
100
|
+
kind,
|
|
101
|
+
edgeIds: classification.edgeIds,
|
|
102
|
+
id: classification.id,
|
|
103
|
+
...carried,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
function theoremsFor(edgeIds) {
|
|
107
|
+
return edgeIds.map((id) => {
|
|
108
|
+
const name = physjsTheorem(id);
|
|
109
|
+
if (name === undefined) {
|
|
110
|
+
throw new Error(`chain pipeline: manifest copy has no theorem for seed '${id}'`);
|
|
111
|
+
}
|
|
112
|
+
return name;
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
function emit(candidate) {
|
|
116
|
+
if (candidate.kind === 'confirmation' && candidate.catalogId !== undefined) {
|
|
117
|
+
return {
|
|
118
|
+
kind: 'confirmation',
|
|
119
|
+
catalogId: candidate.catalogId,
|
|
120
|
+
edgeIds: candidate.edgeIds,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
if (candidate.kind === 'restatement' &&
|
|
124
|
+
candidate.canonicalId !== undefined &&
|
|
125
|
+
candidate.restatesBridge !== undefined) {
|
|
126
|
+
return {
|
|
127
|
+
kind: 'restatement',
|
|
128
|
+
canonicalId: candidate.canonicalId,
|
|
129
|
+
restatesBridge: candidate.restatesBridge,
|
|
130
|
+
edgeIds: candidate.edgeIds,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
const id = candidate.id ?? `chain-${candidate.edgeIds.join('-')}`;
|
|
134
|
+
return {
|
|
135
|
+
kind: 'stub',
|
|
136
|
+
id,
|
|
137
|
+
edgeIds: candidate.edgeIds,
|
|
138
|
+
text: emitProofTarget({ ...candidate, id }, theoremsFor(candidate.edgeIds)),
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Run the pipeline on `edges`.
|
|
143
|
+
*
|
|
144
|
+
* A manifest key whose derived kind is not `bridge` is not a premise.
|
|
145
|
+
* A chain the Buckingham filter drops is absent. A confirmation or a
|
|
146
|
+
* restatement is not sent to the regime gate. Any other mismatch is
|
|
147
|
+
* `rejected: regime mismatch` and is not a stub. The catalog array is
|
|
148
|
+
* not modified.
|
|
149
|
+
*
|
|
150
|
+
* @internal
|
|
151
|
+
*/
|
|
152
|
+
export function runChainPipeline(edges) {
|
|
153
|
+
const seedIds = new Set(bridgeSeedKeys());
|
|
154
|
+
const report = enumerateCompositions(edges, { seedIds });
|
|
155
|
+
const candidates = [];
|
|
156
|
+
const rejections = [];
|
|
157
|
+
for (const target of report.proofTargets) {
|
|
158
|
+
const filtered = buckinghamFilter({ name: target.second.target.name, dim: target.second.target.dim }, governingOf(target.expr, target.second.target.name));
|
|
159
|
+
if (filtered === undefined)
|
|
160
|
+
continue;
|
|
161
|
+
const classification = matchChain(target.expr, [target.first.id, target.second.id]);
|
|
162
|
+
if (classification.kind === 'confirmation' || classification.kind === 'restatement') {
|
|
163
|
+
candidates.push(toCandidate(classification, filtered));
|
|
164
|
+
continue;
|
|
165
|
+
}
|
|
166
|
+
const mismatch = joinRegimeMismatch(target.first, target.second);
|
|
167
|
+
if (mismatch !== undefined) {
|
|
168
|
+
rejections.push(mismatch);
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
candidates.push(toCandidate(classification, filtered));
|
|
172
|
+
}
|
|
173
|
+
const orderedRejections = [...rejections].sort((a, b) => compareChainEdgeIds(a.edgeIds, b.edgeIds));
|
|
174
|
+
return [...orderChainCandidates(candidates).map(emit), ...orderedRejections];
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=chain-pipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-pipeline.js","sourceRoot":"","sources":["../../src/atlas/chain-pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,55 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* `composeRelation(first, second)` answers: if one bridge asserts `first` and a
|
|
5
|
-
* second bridge asserts `second`, what relation does the chain assert? The
|
|
6
|
-
* argument order is the `First ∘ Second` column order of design note
|
|
7
|
-
* `docs/planning/Atlas-Phase-1-Design.md` §2.1.
|
|
8
|
-
*
|
|
9
|
-
* **The table is a deliberate UNDER-approximation of Blueprint v2 §4.2.** Every
|
|
10
|
-
* cell not named in §2.1 is `'no-composite-claim'`, because a wrong composite
|
|
11
|
-
* type is a false physical claim while silence is only silence. Eight of the
|
|
12
|
-
* sixty-four cells are defined; the remaining fifty-six are silent, and the
|
|
13
|
-
* reasons for the notable silences are §2.2.
|
|
14
|
-
*
|
|
15
|
-
* Two cells the implementation plan asserts are NOT defined here, on the
|
|
16
|
-
* authority of the design note (§0 and §2.2 item 5):
|
|
17
|
-
*
|
|
18
|
-
* - `exact-equivalence ∘ approximation`, either order. An exact equivalence
|
|
19
|
-
* contributes `IDENTITY_BOUND` only *in the norm a given bridge states* (see
|
|
20
|
-
* `./error-algebra.ts`), and no field in Sprint 1 records a norm, so
|
|
21
|
-
* norm-compatibility cannot be checked. A `norm?` field unblocks it in
|
|
22
|
-
* Phase 2.
|
|
23
|
-
* - `structural-analogy ∘ structural-analogy`. Analogy is not transitive: the
|
|
24
|
-
* shared structure can dilute to nothing across a chain.
|
|
25
|
-
*
|
|
26
|
-
* Widening this table is a reviewed act — `tests/atlas/composition-table.test.ts`
|
|
27
|
-
* pins the count of silent cells.
|
|
28
|
-
*
|
|
29
|
-
* Pure: no I/O, no registry reads, and no import from `src/composition/`.
|
|
2
|
+
* Re-export of the composition table. The table lives in
|
|
3
|
+
* `src/relations/composition-table.ts`. These consts are the same bindings.
|
|
30
4
|
*
|
|
31
5
|
* @module atlas/composition-table
|
|
32
6
|
*/
|
|
33
|
-
import
|
|
34
|
-
/** What `composeRelation` returns when the chain asserts nothing. @public */
|
|
35
|
-
export type NoCompositeClaim = 'no-composite-claim';
|
|
36
|
-
/** The result of composing two relations. @public */
|
|
37
|
-
export type CompositionResult = RelationType | NoCompositeClaim;
|
|
7
|
+
import { composeRelation as composeRelationValue } from '../relations/composition-table.js';
|
|
38
8
|
/** @public */
|
|
39
|
-
export declare const NO_COMPOSITE_CLAIM:
|
|
40
|
-
/**
|
|
41
|
-
* Every row of every column, written out. `Record<RelationType, …>` makes the
|
|
42
|
-
* exhaustiveness structural: a ninth `RelationType` member fails to compile
|
|
43
|
-
* here rather than silently acquiring a row of `'no-composite-claim'`.
|
|
44
|
-
*
|
|
45
|
-
* @public
|
|
46
|
-
*/
|
|
47
|
-
export declare const COMPOSITION_TABLE: Readonly<Record<RelationType, Readonly<Record<RelationType, CompositionResult>>>>;
|
|
9
|
+
export declare const NO_COMPOSITE_CLAIM: "no-composite-claim";
|
|
48
10
|
/**
|
|
49
|
-
* The relation a chain of two bridges asserts, or `'no-composite-claim'` when
|
|
50
|
-
* this sprint declines to assert one. A table lookup — no rules, no inference.
|
|
51
|
-
*
|
|
52
11
|
* @public
|
|
53
12
|
*/
|
|
54
|
-
export declare
|
|
13
|
+
export declare const COMPOSITION_TABLE: Readonly<Record<import("../relations/types.js").RelationType, Readonly<Record<import("../relations/types.js").RelationType, import("../relations/composition-table.js").CompositionResult>>>>;
|
|
14
|
+
/** @public */
|
|
15
|
+
export declare const composeRelation: typeof composeRelationValue;
|
|
16
|
+
/** @public */
|
|
17
|
+
export type NoCompositeClaim = import('../relations/composition-table.js').NoCompositeClaim;
|
|
18
|
+
/** @public */
|
|
19
|
+
export type CompositionResult = import('../relations/composition-table.js').CompositionResult;
|
|
55
20
|
//# sourceMappingURL=composition-table.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composition-table.d.ts","sourceRoot":"","sources":["../../src/atlas/composition-table.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"composition-table.d.ts","sourceRoot":"","sources":["../../src/atlas/composition-table.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,eAAe,IAAI,oBAAoB,EAExC,MAAM,mCAAmC,CAAC;AAE3C,cAAc;AACd,eAAO,MAAM,kBAAkB,sBAAwB,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,iBAAiB,+LAAwB,CAAC;AAEvD,cAAc;AACd,eAAO,MAAM,eAAe,6BAAuB,CAAC;AAEpD,cAAc;AACd,MAAM,MAAM,gBAAgB,GAAG,OAAO,mCAAmC,EAAE,gBAAgB,CAAC;AAE5F,cAAc;AACd,MAAM,MAAM,iBAAiB,GAAG,OAAO,mCAAmC,EAAE,iBAAiB,CAAC"}
|
|
@@ -1,133 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* `composeRelation(first, second)` answers: if one bridge asserts `first` and a
|
|
5
|
-
* second bridge asserts `second`, what relation does the chain assert? The
|
|
6
|
-
* argument order is the `First ∘ Second` column order of design note
|
|
7
|
-
* `docs/planning/Atlas-Phase-1-Design.md` §2.1.
|
|
8
|
-
*
|
|
9
|
-
* **The table is a deliberate UNDER-approximation of Blueprint v2 §4.2.** Every
|
|
10
|
-
* cell not named in §2.1 is `'no-composite-claim'`, because a wrong composite
|
|
11
|
-
* type is a false physical claim while silence is only silence. Eight of the
|
|
12
|
-
* sixty-four cells are defined; the remaining fifty-six are silent, and the
|
|
13
|
-
* reasons for the notable silences are §2.2.
|
|
14
|
-
*
|
|
15
|
-
* Two cells the implementation plan asserts are NOT defined here, on the
|
|
16
|
-
* authority of the design note (§0 and §2.2 item 5):
|
|
17
|
-
*
|
|
18
|
-
* - `exact-equivalence ∘ approximation`, either order. An exact equivalence
|
|
19
|
-
* contributes `IDENTITY_BOUND` only *in the norm a given bridge states* (see
|
|
20
|
-
* `./error-algebra.ts`), and no field in Sprint 1 records a norm, so
|
|
21
|
-
* norm-compatibility cannot be checked. A `norm?` field unblocks it in
|
|
22
|
-
* Phase 2.
|
|
23
|
-
* - `structural-analogy ∘ structural-analogy`. Analogy is not transitive: the
|
|
24
|
-
* shared structure can dilute to nothing across a chain.
|
|
25
|
-
*
|
|
26
|
-
* Widening this table is a reviewed act — `tests/atlas/composition-table.test.ts`
|
|
27
|
-
* pins the count of silent cells.
|
|
28
|
-
*
|
|
29
|
-
* Pure: no I/O, no registry reads, and no import from `src/composition/`.
|
|
2
|
+
* Re-export of the composition table. The table lives in
|
|
3
|
+
* `src/relations/composition-table.ts`. These consts are the same bindings.
|
|
30
4
|
*
|
|
31
5
|
* @module atlas/composition-table
|
|
32
6
|
*/
|
|
7
|
+
import { COMPOSITION_TABLE as compositionTableValue, composeRelation as composeRelationValue, NO_COMPOSITE_CLAIM as noCompositeClaimValue, } from '../relations/composition-table.js';
|
|
33
8
|
/** @public */
|
|
34
|
-
export const NO_COMPOSITE_CLAIM =
|
|
9
|
+
export const NO_COMPOSITE_CLAIM = noCompositeClaimValue;
|
|
35
10
|
/**
|
|
36
|
-
* Every row of every column, written out. `Record<RelationType, …>` makes the
|
|
37
|
-
* exhaustiveness structural: a ninth `RelationType` member fails to compile
|
|
38
|
-
* here rather than silently acquiring a row of `'no-composite-claim'`.
|
|
39
|
-
*
|
|
40
|
-
* @public
|
|
41
|
-
*/
|
|
42
|
-
export const COMPOSITION_TABLE = {
|
|
43
|
-
derivation: {
|
|
44
|
-
derivation: 'derivation',
|
|
45
|
-
'exact-equivalence': 'derivation',
|
|
46
|
-
restriction: NO_COMPOSITE_CLAIM,
|
|
47
|
-
approximation: NO_COMPOSITE_CLAIM,
|
|
48
|
-
'coarse-graining': NO_COMPOSITE_CLAIM,
|
|
49
|
-
'analytic-continuation': NO_COMPOSITE_CLAIM,
|
|
50
|
-
'structural-analogy': NO_COMPOSITE_CLAIM,
|
|
51
|
-
'deformation-quantization': NO_COMPOSITE_CLAIM,
|
|
52
|
-
},
|
|
53
|
-
'exact-equivalence': {
|
|
54
|
-
derivation: 'derivation',
|
|
55
|
-
'exact-equivalence': 'exact-equivalence',
|
|
56
|
-
restriction: 'restriction',
|
|
57
|
-
approximation: NO_COMPOSITE_CLAIM,
|
|
58
|
-
'coarse-graining': NO_COMPOSITE_CLAIM,
|
|
59
|
-
'analytic-continuation': NO_COMPOSITE_CLAIM,
|
|
60
|
-
'structural-analogy': NO_COMPOSITE_CLAIM,
|
|
61
|
-
'deformation-quantization': NO_COMPOSITE_CLAIM,
|
|
62
|
-
},
|
|
63
|
-
restriction: {
|
|
64
|
-
derivation: NO_COMPOSITE_CLAIM,
|
|
65
|
-
'exact-equivalence': 'restriction',
|
|
66
|
-
restriction: 'restriction',
|
|
67
|
-
approximation: NO_COMPOSITE_CLAIM,
|
|
68
|
-
'coarse-graining': NO_COMPOSITE_CLAIM,
|
|
69
|
-
'analytic-continuation': NO_COMPOSITE_CLAIM,
|
|
70
|
-
'structural-analogy': NO_COMPOSITE_CLAIM,
|
|
71
|
-
'deformation-quantization': NO_COMPOSITE_CLAIM,
|
|
72
|
-
},
|
|
73
|
-
approximation: {
|
|
74
|
-
derivation: NO_COMPOSITE_CLAIM,
|
|
75
|
-
'exact-equivalence': NO_COMPOSITE_CLAIM,
|
|
76
|
-
restriction: NO_COMPOSITE_CLAIM,
|
|
77
|
-
approximation: NO_COMPOSITE_CLAIM,
|
|
78
|
-
'coarse-graining': NO_COMPOSITE_CLAIM,
|
|
79
|
-
'analytic-continuation': NO_COMPOSITE_CLAIM,
|
|
80
|
-
'structural-analogy': NO_COMPOSITE_CLAIM,
|
|
81
|
-
'deformation-quantization': NO_COMPOSITE_CLAIM,
|
|
82
|
-
},
|
|
83
|
-
'coarse-graining': {
|
|
84
|
-
derivation: NO_COMPOSITE_CLAIM,
|
|
85
|
-
'exact-equivalence': NO_COMPOSITE_CLAIM,
|
|
86
|
-
restriction: NO_COMPOSITE_CLAIM,
|
|
87
|
-
approximation: NO_COMPOSITE_CLAIM,
|
|
88
|
-
'coarse-graining': 'coarse-graining',
|
|
89
|
-
'analytic-continuation': NO_COMPOSITE_CLAIM,
|
|
90
|
-
'structural-analogy': NO_COMPOSITE_CLAIM,
|
|
91
|
-
'deformation-quantization': NO_COMPOSITE_CLAIM,
|
|
92
|
-
},
|
|
93
|
-
'analytic-continuation': {
|
|
94
|
-
derivation: NO_COMPOSITE_CLAIM,
|
|
95
|
-
'exact-equivalence': NO_COMPOSITE_CLAIM,
|
|
96
|
-
restriction: NO_COMPOSITE_CLAIM,
|
|
97
|
-
approximation: NO_COMPOSITE_CLAIM,
|
|
98
|
-
'coarse-graining': NO_COMPOSITE_CLAIM,
|
|
99
|
-
'analytic-continuation': NO_COMPOSITE_CLAIM,
|
|
100
|
-
'structural-analogy': NO_COMPOSITE_CLAIM,
|
|
101
|
-
'deformation-quantization': NO_COMPOSITE_CLAIM,
|
|
102
|
-
},
|
|
103
|
-
'structural-analogy': {
|
|
104
|
-
derivation: NO_COMPOSITE_CLAIM,
|
|
105
|
-
'exact-equivalence': NO_COMPOSITE_CLAIM,
|
|
106
|
-
restriction: NO_COMPOSITE_CLAIM,
|
|
107
|
-
approximation: NO_COMPOSITE_CLAIM,
|
|
108
|
-
'coarse-graining': NO_COMPOSITE_CLAIM,
|
|
109
|
-
'analytic-continuation': NO_COMPOSITE_CLAIM,
|
|
110
|
-
'structural-analogy': NO_COMPOSITE_CLAIM,
|
|
111
|
-
'deformation-quantization': NO_COMPOSITE_CLAIM,
|
|
112
|
-
},
|
|
113
|
-
'deformation-quantization': {
|
|
114
|
-
derivation: NO_COMPOSITE_CLAIM,
|
|
115
|
-
'exact-equivalence': NO_COMPOSITE_CLAIM,
|
|
116
|
-
restriction: NO_COMPOSITE_CLAIM,
|
|
117
|
-
approximation: NO_COMPOSITE_CLAIM,
|
|
118
|
-
'coarse-graining': NO_COMPOSITE_CLAIM,
|
|
119
|
-
'analytic-continuation': NO_COMPOSITE_CLAIM,
|
|
120
|
-
'structural-analogy': NO_COMPOSITE_CLAIM,
|
|
121
|
-
'deformation-quantization': NO_COMPOSITE_CLAIM,
|
|
122
|
-
},
|
|
123
|
-
};
|
|
124
|
-
/**
|
|
125
|
-
* The relation a chain of two bridges asserts, or `'no-composite-claim'` when
|
|
126
|
-
* this sprint declines to assert one. A table lookup — no rules, no inference.
|
|
127
|
-
*
|
|
128
11
|
* @public
|
|
129
12
|
*/
|
|
130
|
-
export
|
|
131
|
-
|
|
132
|
-
|
|
13
|
+
export const COMPOSITION_TABLE = compositionTableValue;
|
|
14
|
+
/** @public */
|
|
15
|
+
export const composeRelation = composeRelationValue;
|
|
133
16
|
//# sourceMappingURL=composition-table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composition-table.js","sourceRoot":"","sources":["../../src/atlas/composition-table.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"composition-table.js","sourceRoot":"","sources":["../../src/atlas/composition-table.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,iBAAiB,IAAI,qBAAqB,EAC1C,eAAe,IAAI,oBAAoB,EACvC,kBAAkB,IAAI,qBAAqB,GAC5C,MAAM,mCAAmC,CAAC;AAE3C,cAAc;AACd,MAAM,CAAC,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AAExD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;AAEvD,cAAc;AACd,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CAAC"}
|
|
@@ -1,63 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* `Conventions` (`src/atlas/types.ts`) records the sign and unit choices a
|
|
5
|
-
* record depends on. Two records that disagree on one of those choices are not
|
|
6
|
-
* directly comparable, and this module says WHICH keys disagree.
|
|
7
|
-
*
|
|
8
|
-
* **`undefined` is "unknown", never "mismatch", and that asymmetry is the
|
|
9
|
-
* whole design.** A record that declares nothing about the metric signature
|
|
10
|
-
* has not chosen `'+---'`; it has not said. Reporting the absence as a
|
|
11
|
-
* disagreement would manufacture conflicts out of missing data — and because
|
|
12
|
-
* almost every record in the repo declares nothing today, it would manufacture
|
|
13
|
-
* them at scale. The same reasoning that makes design note §3 require a
|
|
14
|
-
* NON-EMPTY `conventions` before `convention-checked` can be derived applies
|
|
15
|
-
* in the mirror here: absence earns neither a tag nor an accusation.
|
|
16
|
-
*
|
|
17
|
-
* A mismatch is therefore reported only when BOTH sides declare the key and
|
|
18
|
-
* the declared values differ.
|
|
2
|
+
* Re-export of the convention comparison. The implementation lives in
|
|
3
|
+
* `src/relations/conventions.ts`.
|
|
19
4
|
*
|
|
20
5
|
* @module atlas/conventions
|
|
21
6
|
*/
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
export type ConventionKey = keyof Conventions;
|
|
25
|
-
/**
|
|
26
|
-
* The convention keys on which `a` and `b` DECLARE different values.
|
|
27
|
-
*
|
|
28
|
-
* Returns an empty list when they agree, when either side is absent, and when
|
|
29
|
-
* neither declares a key in common.
|
|
30
|
-
*
|
|
31
|
-
* ⚠ **An empty list is NOT a statement that the two are compatible** — it means
|
|
32
|
-
* no DECLARED pair disagrees. Eve (E1, 2026-09-21) flagged that this conflates
|
|
33
|
-
* the safe case with the dangerous one: record A declaring `metricSignature:
|
|
34
|
-
* '-+++'` while B simply never declared it returns `[]`, exactly like genuine
|
|
35
|
-
* agreement, and a caller printing nothing leads a reader to infer "checked, no
|
|
36
|
-
* conflict". Silence is not agreement. Use {@link unknownConventionKeys} to
|
|
37
|
-
* surface that case, and prefer reporting the two together.
|
|
38
|
-
*
|
|
39
|
-
* @param a - one record's conventions, or `undefined` when it declares none.
|
|
40
|
-
* @param b - the other record's conventions, or `undefined`.
|
|
41
|
-
* @returns the mismatched keys, in `Conventions` declaration order.
|
|
42
|
-
*
|
|
43
|
-
* @internal
|
|
44
|
-
*/
|
|
45
|
-
export declare function checkConventions(a: Conventions | undefined, b: Conventions | undefined): readonly ConventionKey[];
|
|
46
|
-
/**
|
|
47
|
-
* The convention keys where exactly ONE side declares a value — the cases
|
|
48
|
-
* {@link checkConventions} deliberately does not call mismatches.
|
|
49
|
-
*
|
|
50
|
-
* This exists because "no declared pair disagrees" and "these two are
|
|
51
|
-
* compatible" are different claims, and only the first is checkable from the
|
|
52
|
-
* data. A key listed here is a question, not a conflict: the records MIGHT use
|
|
53
|
-
* opposite sign conventions and one simply never said. Reporting it separately
|
|
54
|
-
* lets a reader distinguish *verified agreement* from *nobody wrote it down*,
|
|
55
|
-
* which is the distinction an empty mismatch list destroys.
|
|
56
|
-
*
|
|
57
|
-
* Both sides absent is NOT unknown — it is simply a key nobody uses, so it is
|
|
58
|
-
* omitted. Only an asymmetric declaration is reported.
|
|
59
|
-
*
|
|
60
|
-
* @internal
|
|
61
|
-
*/
|
|
62
|
-
export declare function unknownConventionKeys(a: Conventions | undefined, b: Conventions | undefined): readonly ConventionKey[];
|
|
7
|
+
export { checkConventions, unknownConventionKeys } from '../relations/conventions.js';
|
|
8
|
+
export type { ConventionKey } from '../relations/conventions.js';
|
|
63
9
|
//# sourceMappingURL=conventions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conventions.d.ts","sourceRoot":"","sources":["../../src/atlas/conventions.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"conventions.d.ts","sourceRoot":"","sources":["../../src/atlas/conventions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACtF,YAAY,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -1,93 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* `Conventions` (`src/atlas/types.ts`) records the sign and unit choices a
|
|
5
|
-
* record depends on. Two records that disagree on one of those choices are not
|
|
6
|
-
* directly comparable, and this module says WHICH keys disagree.
|
|
7
|
-
*
|
|
8
|
-
* **`undefined` is "unknown", never "mismatch", and that asymmetry is the
|
|
9
|
-
* whole design.** A record that declares nothing about the metric signature
|
|
10
|
-
* has not chosen `'+---'`; it has not said. Reporting the absence as a
|
|
11
|
-
* disagreement would manufacture conflicts out of missing data — and because
|
|
12
|
-
* almost every record in the repo declares nothing today, it would manufacture
|
|
13
|
-
* them at scale. The same reasoning that makes design note §3 require a
|
|
14
|
-
* NON-EMPTY `conventions` before `convention-checked` can be derived applies
|
|
15
|
-
* in the mirror here: absence earns neither a tag nor an accusation.
|
|
16
|
-
*
|
|
17
|
-
* A mismatch is therefore reported only when BOTH sides declare the key and
|
|
18
|
-
* the declared values differ.
|
|
2
|
+
* Re-export of the convention comparison. The implementation lives in
|
|
3
|
+
* `src/relations/conventions.ts`.
|
|
19
4
|
*
|
|
20
5
|
* @module atlas/conventions
|
|
21
6
|
*/
|
|
22
|
-
|
|
23
|
-
* Every key of `Conventions`, as values. Written out rather than derived,
|
|
24
|
-
* because a type has no runtime extent; `tests/atlas/conventions.test.ts`
|
|
25
|
-
* pins this list against the interface so a new field cannot be added to
|
|
26
|
-
* `Conventions` and silently skipped by the comparison.
|
|
27
|
-
*/
|
|
28
|
-
const CONVENTION_KEYS = [
|
|
29
|
-
'heatWorkSign',
|
|
30
|
-
'metricSignature',
|
|
31
|
-
'fourierNormalization',
|
|
32
|
-
'unitSystem',
|
|
33
|
-
'capacitorChargeSign',
|
|
34
|
-
];
|
|
35
|
-
/**
|
|
36
|
-
* The convention keys on which `a` and `b` DECLARE different values.
|
|
37
|
-
*
|
|
38
|
-
* Returns an empty list when they agree, when either side is absent, and when
|
|
39
|
-
* neither declares a key in common.
|
|
40
|
-
*
|
|
41
|
-
* ⚠ **An empty list is NOT a statement that the two are compatible** — it means
|
|
42
|
-
* no DECLARED pair disagrees. Eve (E1, 2026-09-21) flagged that this conflates
|
|
43
|
-
* the safe case with the dangerous one: record A declaring `metricSignature:
|
|
44
|
-
* '-+++'` while B simply never declared it returns `[]`, exactly like genuine
|
|
45
|
-
* agreement, and a caller printing nothing leads a reader to infer "checked, no
|
|
46
|
-
* conflict". Silence is not agreement. Use {@link unknownConventionKeys} to
|
|
47
|
-
* surface that case, and prefer reporting the two together.
|
|
48
|
-
*
|
|
49
|
-
* @param a - one record's conventions, or `undefined` when it declares none.
|
|
50
|
-
* @param b - the other record's conventions, or `undefined`.
|
|
51
|
-
* @returns the mismatched keys, in `Conventions` declaration order.
|
|
52
|
-
*
|
|
53
|
-
* @internal
|
|
54
|
-
*/
|
|
55
|
-
export function checkConventions(a, b) {
|
|
56
|
-
if (a === undefined || b === undefined)
|
|
57
|
-
return [];
|
|
58
|
-
return CONVENTION_KEYS.filter((k) => {
|
|
59
|
-
const av = a[k];
|
|
60
|
-
const bv = b[k];
|
|
61
|
-
// Either side silent ⇒ unknown, not disagreement.
|
|
62
|
-
if (av === undefined || bv === undefined)
|
|
63
|
-
return false;
|
|
64
|
-
return av !== bv;
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* The convention keys where exactly ONE side declares a value — the cases
|
|
69
|
-
* {@link checkConventions} deliberately does not call mismatches.
|
|
70
|
-
*
|
|
71
|
-
* This exists because "no declared pair disagrees" and "these two are
|
|
72
|
-
* compatible" are different claims, and only the first is checkable from the
|
|
73
|
-
* data. A key listed here is a question, not a conflict: the records MIGHT use
|
|
74
|
-
* opposite sign conventions and one simply never said. Reporting it separately
|
|
75
|
-
* lets a reader distinguish *verified agreement* from *nobody wrote it down*,
|
|
76
|
-
* which is the distinction an empty mismatch list destroys.
|
|
77
|
-
*
|
|
78
|
-
* Both sides absent is NOT unknown — it is simply a key nobody uses, so it is
|
|
79
|
-
* omitted. Only an asymmetric declaration is reported.
|
|
80
|
-
*
|
|
81
|
-
* @internal
|
|
82
|
-
*/
|
|
83
|
-
export function unknownConventionKeys(a, b) {
|
|
84
|
-
const av = a ?? {};
|
|
85
|
-
const bv = b ?? {};
|
|
86
|
-
return CONVENTION_KEYS.filter((k) => {
|
|
87
|
-
const x = av[k];
|
|
88
|
-
const y = bv[k];
|
|
89
|
-
// Exactly one declared: the asymmetric case. Neither declared ⇒ not a question.
|
|
90
|
-
return (x === undefined) !== (y === undefined);
|
|
91
|
-
});
|
|
92
|
-
}
|
|
7
|
+
export { checkConventions, unknownConventionKeys } from '../relations/conventions.js';
|
|
93
8
|
//# sourceMappingURL=conventions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/atlas/conventions.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/atlas/conventions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC"}
|