universal-physics-tensor 0.45.1 → 0.46.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 +28 -27
- package/dist/atlas/applicability.d.ts +108 -0
- package/dist/atlas/applicability.d.ts.map +1 -0
- package/dist/atlas/applicability.js +301 -0
- package/dist/atlas/applicability.js.map +1 -0
- package/dist/atlas/association.d.ts +92 -0
- package/dist/atlas/association.d.ts.map +1 -0
- package/dist/atlas/association.js +112 -0
- package/dist/atlas/association.js.map +1 -0
- package/dist/atlas/benchmark/backend-shapes.d.ts +47 -0
- package/dist/atlas/benchmark/backend-shapes.d.ts.map +1 -0
- package/dist/atlas/benchmark/backend-shapes.js +58 -0
- package/dist/atlas/benchmark/backend-shapes.js.map +1 -0
- package/dist/atlas/benchmark/baselines.d.ts +64 -0
- package/dist/atlas/benchmark/baselines.d.ts.map +1 -0
- package/dist/atlas/benchmark/baselines.js +112 -0
- package/dist/atlas/benchmark/baselines.js.map +1 -0
- package/dist/atlas/benchmark/leakage.d.ts +56 -0
- package/dist/atlas/benchmark/leakage.d.ts.map +1 -0
- package/dist/atlas/benchmark/leakage.js +100 -0
- package/dist/atlas/benchmark/leakage.js.map +1 -0
- package/dist/atlas/benchmark/loader.d.ts +56 -0
- package/dist/atlas/benchmark/loader.d.ts.map +1 -0
- package/dist/atlas/benchmark/loader.js +104 -0
- package/dist/atlas/benchmark/loader.js.map +1 -0
- package/dist/atlas/benchmark/run-atlas.d.ts +72 -0
- package/dist/atlas/benchmark/run-atlas.d.ts.map +1 -0
- package/dist/atlas/benchmark/run-atlas.js +210 -0
- package/dist/atlas/benchmark/run-atlas.js.map +1 -0
- package/dist/atlas/benchmark/stats.d.ts +90 -0
- package/dist/atlas/benchmark/stats.d.ts.map +1 -0
- package/dist/atlas/benchmark/stats.js +159 -0
- package/dist/atlas/benchmark/stats.js.map +1 -0
- package/dist/atlas/benchmark/study.d.ts +120 -0
- package/dist/atlas/benchmark/study.d.ts.map +1 -0
- package/dist/atlas/benchmark/study.js +192 -0
- package/dist/atlas/benchmark/study.js.map +1 -0
- package/dist/atlas/benchmark/types.d.ts +79 -0
- package/dist/atlas/benchmark/types.d.ts.map +1 -0
- package/dist/atlas/benchmark/types.js +46 -0
- package/dist/atlas/benchmark/types.js.map +1 -0
- package/dist/atlas/composition-table.d.ts +55 -0
- package/dist/atlas/composition-table.d.ts.map +1 -0
- package/dist/atlas/composition-table.js +133 -0
- package/dist/atlas/composition-table.js.map +1 -0
- package/dist/atlas/conventions.d.ts +63 -0
- package/dist/atlas/conventions.d.ts.map +1 -0
- package/dist/atlas/conventions.js +93 -0
- package/dist/atlas/conventions.js.map +1 -0
- package/dist/atlas/coverage.d.ts +93 -0
- package/dist/atlas/coverage.d.ts.map +1 -0
- package/dist/atlas/coverage.js +69 -0
- package/dist/atlas/coverage.js.map +1 -0
- package/dist/atlas/derivation.d.ts +137 -0
- package/dist/atlas/derivation.d.ts.map +1 -0
- package/dist/atlas/derivation.js +190 -0
- package/dist/atlas/derivation.js.map +1 -0
- package/dist/atlas/derive-evidence.d.ts +218 -0
- package/dist/atlas/derive-evidence.d.ts.map +1 -0
- package/dist/atlas/derive-evidence.js +225 -0
- package/dist/atlas/derive-evidence.js.map +1 -0
- package/dist/atlas/diffusion/bridges-closure.d.ts +63 -0
- package/dist/atlas/diffusion/bridges-closure.d.ts.map +1 -0
- package/dist/atlas/diffusion/bridges-closure.js +324 -0
- package/dist/atlas/diffusion/bridges-closure.js.map +1 -0
- package/dist/atlas/diffusion/bridges.d.ts +36 -0
- package/dist/atlas/diffusion/bridges.d.ts.map +1 -0
- package/dist/atlas/diffusion/bridges.js +226 -0
- package/dist/atlas/diffusion/bridges.js.map +1 -0
- package/dist/atlas/diffusion/dimensions.d.ts +21 -0
- package/dist/atlas/diffusion/dimensions.d.ts.map +1 -0
- package/dist/atlas/diffusion/dimensions.js +21 -0
- package/dist/atlas/diffusion/dimensions.js.map +1 -0
- package/dist/atlas/diffusion/index.d.ts +16 -0
- package/dist/atlas/diffusion/index.d.ts.map +1 -0
- package/dist/atlas/diffusion/index.js +23 -0
- package/dist/atlas/diffusion/index.js.map +1 -0
- package/dist/atlas/diffusion/models.d.ts +24 -0
- package/dist/atlas/diffusion/models.d.ts.map +1 -0
- package/dist/atlas/diffusion/models.js +139 -0
- package/dist/atlas/diffusion/models.js.map +1 -0
- package/dist/atlas/diffusion/numerics.d.ts +181 -0
- package/dist/atlas/diffusion/numerics.d.ts.map +1 -0
- package/dist/atlas/diffusion/numerics.js +251 -0
- package/dist/atlas/diffusion/numerics.js.map +1 -0
- package/dist/atlas/error-algebra.d.ts +52 -0
- package/dist/atlas/error-algebra.d.ts.map +1 -0
- package/dist/atlas/error-algebra.js +55 -0
- package/dist/atlas/error-algebra.js.map +1 -0
- package/dist/atlas/export.d.ts +48 -0
- package/dist/atlas/export.d.ts.map +1 -0
- package/dist/atlas/export.js +106 -0
- package/dist/atlas/export.js.map +1 -0
- package/dist/atlas/families.d.ts +14 -0
- package/dist/atlas/families.d.ts.map +1 -0
- package/dist/atlas/families.js +20 -0
- package/dist/atlas/families.js.map +1 -0
- package/dist/atlas/index.d.ts +90 -0
- package/dist/atlas/index.d.ts.map +1 -0
- package/dist/atlas/index.js +69 -0
- package/dist/atlas/index.js.map +1 -0
- package/dist/atlas/link-prediction.d.ts +71 -0
- package/dist/atlas/link-prediction.d.ts.map +1 -0
- package/dist/atlas/link-prediction.js +128 -0
- package/dist/atlas/link-prediction.js.map +1 -0
- package/dist/atlas/model.d.ts +70 -0
- package/dist/atlas/model.d.ts.map +1 -0
- package/dist/atlas/model.js +26 -0
- package/dist/atlas/model.js.map +1 -0
- package/dist/atlas/oscillators/bridges-coarse.d.ts +71 -0
- package/dist/atlas/oscillators/bridges-coarse.d.ts.map +1 -0
- package/dist/atlas/oscillators/bridges-coarse.js +146 -0
- package/dist/atlas/oscillators/bridges-coarse.js.map +1 -0
- package/dist/atlas/oscillators/bridges-exact.d.ts +70 -0
- package/dist/atlas/oscillators/bridges-exact.d.ts.map +1 -0
- package/dist/atlas/oscillators/bridges-exact.js +227 -0
- package/dist/atlas/oscillators/bridges-exact.js.map +1 -0
- package/dist/atlas/oscillators/bridges-limits.d.ts +118 -0
- package/dist/atlas/oscillators/bridges-limits.d.ts.map +1 -0
- package/dist/atlas/oscillators/bridges-limits.js +342 -0
- package/dist/atlas/oscillators/bridges-limits.js.map +1 -0
- package/dist/atlas/oscillators/dimensions.d.ts +34 -0
- package/dist/atlas/oscillators/dimensions.d.ts.map +1 -0
- package/dist/atlas/oscillators/dimensions.js +34 -0
- package/dist/atlas/oscillators/dimensions.js.map +1 -0
- package/dist/atlas/oscillators/index.d.ts +38 -0
- package/dist/atlas/oscillators/index.d.ts.map +1 -0
- package/dist/atlas/oscillators/index.js +37 -0
- package/dist/atlas/oscillators/index.js.map +1 -0
- package/dist/atlas/oscillators/models.d.ts +25 -0
- package/dist/atlas/oscillators/models.d.ts.map +1 -0
- package/dist/atlas/oscillators/models.js +160 -0
- package/dist/atlas/oscillators/models.js.map +1 -0
- package/dist/atlas/oscillators/rejections.d.ts +21 -0
- package/dist/atlas/oscillators/rejections.d.ts.map +1 -0
- package/dist/atlas/oscillators/rejections.js +54 -0
- package/dist/atlas/oscillators/rejections.js.map +1 -0
- package/dist/atlas/path-bound.d.ts +143 -0
- package/dist/atlas/path-bound.d.ts.map +1 -0
- package/dist/atlas/path-bound.js +268 -0
- package/dist/atlas/path-bound.js.map +1 -0
- package/dist/atlas/poster/associations.d.ts +66 -0
- package/dist/atlas/poster/associations.d.ts.map +1 -0
- package/dist/atlas/poster/associations.js +90 -0
- package/dist/atlas/poster/associations.js.map +1 -0
- package/dist/atlas/poster/derivations.d.ts +156 -0
- package/dist/atlas/poster/derivations.d.ts.map +1 -0
- package/dist/atlas/poster/derivations.js +430 -0
- package/dist/atlas/poster/derivations.js.map +1 -0
- package/dist/atlas/poster/statements.d.ts +198 -0
- package/dist/atlas/poster/statements.d.ts.map +1 -0
- package/dist/atlas/poster/statements.js +365 -0
- package/dist/atlas/poster/statements.js.map +1 -0
- package/dist/atlas/public.d.ts +26 -0
- package/dist/atlas/public.d.ts.map +1 -0
- package/dist/atlas/public.js +21 -0
- package/dist/atlas/public.js.map +1 -0
- package/dist/atlas/regime.d.ts +171 -0
- package/dist/atlas/regime.d.ts.map +1 -0
- package/dist/atlas/regime.js +309 -0
- package/dist/atlas/regime.js.map +1 -0
- package/dist/atlas/serialize.d.ts +50 -0
- package/dist/atlas/serialize.d.ts.map +1 -0
- package/dist/atlas/serialize.js +180 -0
- package/dist/atlas/serialize.js.map +1 -0
- package/dist/atlas/statement.d.ts +165 -0
- package/dist/atlas/statement.d.ts.map +1 -0
- package/dist/atlas/statement.js +176 -0
- package/dist/atlas/statement.js.map +1 -0
- package/dist/atlas/types.d.ts +308 -0
- package/dist/atlas/types.d.ts.map +1 -0
- package/dist/atlas/types.js +61 -0
- package/dist/atlas/types.js.map +1 -0
- package/dist/atlas/waves/bridges-closure.d.ts +39 -0
- package/dist/atlas/waves/bridges-closure.d.ts.map +1 -0
- package/dist/atlas/waves/bridges-closure.js +223 -0
- package/dist/atlas/waves/bridges-closure.js.map +1 -0
- package/dist/atlas/waves/bridges.d.ts +49 -0
- package/dist/atlas/waves/bridges.d.ts.map +1 -0
- package/dist/atlas/waves/bridges.js +265 -0
- package/dist/atlas/waves/bridges.js.map +1 -0
- package/dist/atlas/waves/index.d.ts +16 -0
- package/dist/atlas/waves/index.d.ts.map +1 -0
- package/dist/atlas/waves/index.js +23 -0
- package/dist/atlas/waves/index.js.map +1 -0
- package/dist/atlas/waves/models.d.ts +29 -0
- package/dist/atlas/waves/models.d.ts.map +1 -0
- package/dist/atlas/waves/models.js +127 -0
- package/dist/atlas/waves/models.js.map +1 -0
- package/dist/atlas/waves/numerics.d.ts +149 -0
- package/dist/atlas/waves/numerics.d.ts.map +1 -0
- package/dist/atlas/waves/numerics.js +218 -0
- package/dist/atlas/waves/numerics.js.map +1 -0
- package/dist/atlas/witness-artifact.d.ts +65 -0
- package/dist/atlas/witness-artifact.d.ts.map +1 -0
- package/dist/atlas/witness-artifact.js +78 -0
- package/dist/atlas/witness-artifact.js.map +1 -0
- package/dist/atlas/witness-numeric.d.ts +81 -0
- package/dist/atlas/witness-numeric.d.ts.map +1 -0
- package/dist/atlas/witness-numeric.js +105 -0
- package/dist/atlas/witness-numeric.js.map +1 -0
- package/dist/atlas/witness-result.d.ts +77 -0
- package/dist/atlas/witness-result.d.ts.map +1 -0
- package/dist/atlas/witness-result.js +39 -0
- package/dist/atlas/witness-result.js.map +1 -0
- package/dist/atlas/witness-specs.d.ts +110 -0
- package/dist/atlas/witness-specs.d.ts.map +1 -0
- package/dist/atlas/witness-specs.js +372 -0
- package/dist/atlas/witness-specs.js.map +1 -0
- package/dist/atlas/witness-symbolic.d.ts +79 -0
- package/dist/atlas/witness-symbolic.d.ts.map +1 -0
- package/dist/atlas/witness-symbolic.js +140 -0
- package/dist/atlas/witness-symbolic.js.map +1 -0
- package/dist/atlas/witnesses/quantum-support.d.ts +50 -0
- package/dist/atlas/witnesses/quantum-support.d.ts.map +1 -0
- package/dist/atlas/witnesses/quantum-support.js +48 -0
- package/dist/atlas/witnesses/quantum-support.js.map +1 -0
- package/dist/bridges/be11-decoherence-confrontation.js.map +1 -1
- package/dist/bridges/be21-kss-confrontation.js.map +1 -1
- package/dist/bridges/be23-planckian-confrontation.js.map +1 -1
- package/dist/bridges/be35-bootstrap-confrontation.js.map +1 -1
- package/dist/bridges/be36-gw170817-confrontation.js.map +1 -1
- package/dist/bridges/be37-cassini-confrontation.js.map +1 -1
- package/dist/bridges/be48-collapse-confrontation.js.map +1 -1
- package/dist/bridges/be51-lensing-confrontation.js.map +1 -1
- package/dist/bridges/be52-mercury-confrontation.js.map +1 -1
- package/dist/bridges/be55-quantum-hall-confrontation.js.map +1 -1
- package/dist/bridges/be56-casimir-confrontation.js.map +1 -1
- package/dist/bridges/be58-johnson-nyquist-confrontation.js.map +1 -1
- package/dist/bridges/be59-ac-josephson-confrontation.js.map +1 -1
- package/dist/bridges/be60-fractional-qh-confrontation.js.map +1 -1
- package/dist/bridges/be61-wiedemann-franz-confrontation.js.map +1 -1
- package/dist/bridges/be62-bcs-gap-confrontation.js.map +1 -1
- package/dist/bridges/be63-chandrasekhar-mass-confrontation.js.map +1 -1
- package/dist/bridges/be64-eddington-luminosity-confrontation.js.map +1 -1
- package/dist/bridges/be65-jeans-mass-confrontation.js.map +1 -1
- package/dist/bridges/bridge-equations.d.ts +2 -1
- package/dist/bridges/bridge-equations.d.ts.map +1 -1
- package/dist/bridges/bridge-equations.js +3 -2
- package/dist/bridges/bridge-equations.js.map +1 -1
- package/dist/bridges/catalog-adapter.d.ts.map +1 -1
- package/dist/bridges/catalog-adapter.js.map +1 -1
- package/dist/bridges/equations/_be-helpers.d.ts +2 -2
- package/dist/bridges/equations/_be-helpers.js +2 -2
- package/dist/bridges/equations/be-20-vacuum-energy.js.map +1 -1
- package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts +88 -58
- package/dist/bridges/equations/be-35-conformal-bootstrap.d.ts.map +1 -1
- package/dist/bridges/equations/be-35-conformal-bootstrap.js +102 -62
- package/dist/bridges/equations/be-35-conformal-bootstrap.js.map +1 -1
- package/dist/bridges/equations/be-48-grw-localization.d.ts +9 -8
- package/dist/bridges/equations/be-48-grw-localization.d.ts.map +1 -1
- package/dist/bridges/equations/be-48-grw-localization.js +9 -8
- package/dist/bridges/equations/be-48-grw-localization.js.map +1 -1
- package/dist/bridges/gravitational-lensing.d.ts +10 -0
- package/dist/bridges/gravitational-lensing.d.ts.map +1 -1
- package/dist/bridges/gravitational-lensing.js.map +1 -1
- package/dist/bridges/index.d.ts +125 -7
- package/dist/bridges/index.d.ts.map +1 -1
- package/dist/bridges/index.js +483 -20
- package/dist/bridges/index.js.map +1 -1
- package/dist/bridges/perihelion-precession.d.ts +10 -0
- package/dist/bridges/perihelion-precession.d.ts.map +1 -1
- package/dist/bridges/perihelion-precession.js.map +1 -1
- package/dist/bridges/rhs-registry.js +2 -2
- package/dist/canonical/canonical-equation.d.ts +15 -0
- package/dist/canonical/canonical-equation.d.ts.map +1 -1
- package/dist/canonical/entries/_l1-build.d.ts +1 -1
- package/dist/canonical/entries/_l1-build.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.js +23 -0
- package/dist/canonical/entries/atomic.js.map +1 -1
- package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
- package/dist/canonical/entries/nonmonomial.js +93 -0
- package/dist/canonical/entries/nonmonomial.js.map +1 -1
- package/dist/canonical/normal-form.js.map +1 -1
- package/dist/canonical/residual.d.ts +28 -0
- package/dist/canonical/residual.d.ts.map +1 -0
- package/dist/canonical/residual.js +31 -0
- package/dist/canonical/residual.js.map +1 -0
- package/dist/cli/command.d.ts +8 -0
- package/dist/cli/command.d.ts.map +1 -1
- package/dist/cli/command.js +10 -0
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/commands/atlas.d.ts +3 -0
- package/dist/cli/commands/atlas.d.ts.map +1 -0
- package/dist/cli/commands/atlas.js +158 -0
- package/dist/cli/commands/atlas.js.map +1 -0
- package/dist/cli/commands/confront.js.map +1 -1
- package/dist/cli/commands/coverage.js +3 -3
- package/dist/cli/commands/index.d.ts +3 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +3 -0
- 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 +161 -27
- package/dist/cli/commands/map.js.map +1 -1
- package/dist/cli/commands/path.d.ts +3 -0
- package/dist/cli/commands/path.d.ts.map +1 -0
- package/dist/cli/commands/path.js +145 -0
- package/dist/cli/commands/path.js.map +1 -0
- package/dist/cli/commands/recover.d.ts.map +1 -1
- package/dist/cli/commands/recover.js +25 -6
- package/dist/cli/commands/recover.js.map +1 -1
- package/dist/cli/commands/regime.d.ts +14 -0
- package/dist/cli/commands/regime.d.ts.map +1 -0
- package/dist/cli/commands/regime.js +189 -0
- package/dist/cli/commands/regime.js.map +1 -0
- package/dist/cli/errors.d.ts.map +1 -1
- package/dist/cli/graphs.d.ts.map +1 -1
- package/dist/cli/graphs.js +5 -1
- package/dist/cli/graphs.js.map +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +22 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/output.d.ts +6 -1
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/version.js.map +1 -1
- package/dist/cli-api.d.ts +16 -0
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +18 -0
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/axis-audit.js.map +1 -1
- package/dist/composition/bridge-prediction.d.ts.map +1 -1
- package/dist/composition/bridge-prediction.js +0 -0
- package/dist/composition/bridge-prediction.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +2 -2
- package/dist/composition/canonical-graph.js +2 -2
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/compose-symbolic.d.ts.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 +80 -1
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/consequence.js.map +1 -1
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +64 -0
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +29 -0
- package/dist/composition/edge.js.map +1 -1
- package/dist/composition/edges/calibration.d.ts.map +1 -1
- package/dist/composition/edges/calibration.js +46 -0
- package/dist/composition/edges/calibration.js.map +1 -1
- package/dist/composition/edges/catalog-quantum.d.ts.map +1 -1
- package/dist/composition/edges/catalog-quantum.js +9 -0
- package/dist/composition/edges/catalog-quantum.js.map +1 -1
- package/dist/composition/edges/catalog-tranche.d.ts.map +1 -1
- package/dist/composition/edges/catalog-tranche.js +18 -0
- package/dist/composition/edges/catalog-tranche.js.map +1 -1
- package/dist/composition/enumerate.js.map +1 -1
- package/dist/composition/explain.js.map +1 -1
- package/dist/composition/expr-eval.d.ts.map +1 -1
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/expr-simplify.d.ts +13 -0
- package/dist/composition/expr-simplify.d.ts.map +1 -1
- package/dist/composition/expr-simplify.js +25 -0
- package/dist/composition/expr-simplify.js.map +1 -1
- package/dist/composition/expr-subst.js.map +1 -1
- package/dist/composition/graph-viz-svg.d.ts.map +1 -1
- package/dist/composition/graph-viz.d.ts +118 -1
- package/dist/composition/graph-viz.d.ts.map +1 -1
- package/dist/composition/graph-viz.js +189 -6
- package/dist/composition/graph-viz.js.map +1 -1
- package/dist/composition/identifiability.js.map +1 -1
- package/dist/composition/index.d.ts +4 -2
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +2 -1
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/poster-source.d.ts +153 -0
- package/dist/composition/poster-source.d.ts.map +1 -0
- package/dist/composition/poster-source.js +183 -0
- package/dist/composition/poster-source.js.map +1 -0
- package/dist/composition/probe/backend-protocol.d.ts +34 -1
- package/dist/composition/probe/backend-protocol.d.ts.map +1 -1
- package/dist/composition/probe/backend-protocol.js +9 -2
- package/dist/composition/probe/backend-protocol.js.map +1 -1
- package/dist/composition/probe/candidate-store.d.ts.map +1 -1
- package/dist/composition/probe/limits.js.map +1 -1
- package/dist/composition/probe/pipeline.js.map +1 -1
- package/dist/composition/probe/problem.js.map +1 -1
- package/dist/composition/probe/residual.d.ts.map +1 -1
- package/dist/composition/probe/residual.js.map +1 -1
- package/dist/composition/probe/search-budget.js.map +1 -1
- package/dist/composition/proposed-bridges.d.ts +2 -2
- package/dist/composition/proposed-bridges.d.ts.map +1 -1
- package/dist/composition/proposed-bridges.js +1 -1
- package/dist/composition/proposed-bridges.js.map +1 -1
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/uncertainty.d.ts +52 -2
- package/dist/composition/uncertainty.d.ts.map +1 -1
- package/dist/composition/uncertainty.js +38 -2
- package/dist/composition/uncertainty.js.map +1 -1
- package/dist/composition/user-equation.d.ts.map +1 -1
- package/dist/core/flux-rules.d.ts.map +1 -1
- package/dist/core/flux-rules.js.map +1 -1
- package/dist/core/labeled-tensor.d.ts.map +1 -1
- package/dist/core/regime-registry.d.ts.map +1 -1
- package/dist/core/regime-rule-install.js.map +1 -1
- package/dist/core/tensor.d.ts.map +1 -1
- package/dist/core/tensor.js.map +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/dimensional/ast-types.d.ts +31 -1
- package/dist/dimensional/ast-types.d.ts.map +1 -1
- package/dist/dimensional/bridge-check.d.ts +1 -1
- package/dist/dimensional/bridge-check.js +1 -1
- package/dist/dimensional/buckingham.d.ts.map +1 -1
- package/dist/dimensional/connection.d.ts +2 -0
- package/dist/dimensional/connection.d.ts.map +1 -1
- package/dist/dimensional/connection.js +2 -0
- package/dist/dimensional/connection.js.map +1 -1
- package/dist/dimensional/curvature-composite.d.ts +5 -3
- package/dist/dimensional/curvature-composite.d.ts.map +1 -1
- package/dist/dimensional/curvature-composite.js +1 -0
- package/dist/dimensional/curvature-composite.js.map +1 -1
- package/dist/dimensional/curvature-invariants.d.ts +2 -0
- package/dist/dimensional/curvature-invariants.d.ts.map +1 -1
- package/dist/dimensional/curvature-invariants.js +2 -0
- package/dist/dimensional/curvature-invariants.js.map +1 -1
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/einstein-equation.d.ts +3 -3
- package/dist/dimensional/einstein-equation.js +3 -3
- package/dist/dimensional/errors.d.ts.map +1 -1
- package/dist/dimensional/metric.d.ts +5 -2
- package/dist/dimensional/metric.d.ts.map +1 -1
- package/dist/dimensional/metric.js +5 -2
- package/dist/dimensional/metric.js.map +1 -1
- package/dist/dimensional/tensor-trace.js.map +1 -1
- package/dist/dimensional/validator-registry.js.map +1 -1
- package/dist/dimensional/validator.d.ts +3 -2
- package/dist/dimensional/validator.d.ts.map +1 -1
- package/dist/dimensional/validator.js +23 -4
- package/dist/dimensional/validator.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.js +142 -1
- package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
- package/dist/numerical/errors.d.ts.map +1 -1
- package/dist/numerical/errors.js.map +1 -1
- package/dist/numerical/float64-engine.d.ts.map +1 -1
- package/dist/numerical/float64-engine.js +51 -24
- package/dist/numerical/float64-engine.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js.map +1 -1
- package/dist/numerical/formula.d.ts.map +1 -1
- package/dist/numerical/formula.js.map +1 -1
- package/dist/numerical/geometrized.d.ts.map +1 -1
- package/dist/numerical/gl4-integrator.d.ts +3 -3
- package/dist/numerical/gl4-integrator.js +3 -3
- package/dist/numerical/killing.d.ts +47 -5
- package/dist/numerical/killing.d.ts.map +1 -1
- package/dist/numerical/killing.js +41 -3
- package/dist/numerical/killing.js.map +1 -1
- package/dist/numerical/klein-gordon.d.ts +2 -2
- package/dist/numerical/klein-gordon.js +2 -2
- package/dist/numerical/lowering.d.ts +2 -2
- package/dist/numerical/lowering.d.ts.map +1 -1
- package/dist/numerical/lowering.js +5 -3
- package/dist/numerical/lowering.js.map +1 -1
- package/dist/numerical/mathts-engine.d.ts.map +1 -1
- package/dist/numerical/mathts-engine.js.map +1 -1
- package/dist/numerical/metric-inverse.js.map +1 -1
- package/dist/numerical/perihelion-finder.d.ts +15 -13
- package/dist/numerical/perihelion-finder.d.ts.map +1 -1
- package/dist/numerical/perihelion-finder.js +15 -13
- package/dist/numerical/perihelion-finder.js.map +1 -1
- package/dist/numerical/weyl-lowering.d.ts.map +1 -1
- package/dist/numerical/weyl-lowering.js +90 -40
- package/dist/numerical/weyl-lowering.js.map +1 -1
- package/package.json +121 -104
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Residual form of a canonical equation: `target − scalarAst`.
|
|
3
|
+
*
|
|
4
|
+
* A canonical entry stores the RIGHT-HAND SIDE of one target (`scalarAst`), for example `m·a` for
|
|
5
|
+
* the target force. A claim, as a user or the benchmark writes it, is a RELATION: `F − m·a`. The
|
|
6
|
+
* structural key of a residual and of a right-hand side can never be equal, so a structural search
|
|
7
|
+
* that compares a claim with `scalarAst` never matches. The criterion 3 study measured this: 0 of
|
|
8
|
+
* 11,125 query × record pairs (pre-registration Amendment 8). Putting the canonical entry in residual
|
|
9
|
+
* form makes both sides the same kind of object.
|
|
10
|
+
*
|
|
11
|
+
* Symbol names are not unified here. The structural key renames every dimensioned symbol to its
|
|
12
|
+
* dimension, so `F` and `force` compare equal there. Symbol overlap still sees the two naming
|
|
13
|
+
* conventions (`k_B` against `boltzmann-constant`), and no alias map bridges them.
|
|
14
|
+
*
|
|
15
|
+
* @module canonical/residual
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* The residual `target − scalarAst` of a canonical entry, or `undefined` when the entry has no
|
|
20
|
+
* `scalarAst`. The target becomes a symbol with its name and dimension; the right-hand side is the
|
|
21
|
+
* entry's own `scalarAst`, not a copy.
|
|
22
|
+
*
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
export function canonicalResidual(e) {
|
|
26
|
+
if (e.scalarAst === undefined)
|
|
27
|
+
return undefined;
|
|
28
|
+
const target = { kind: 'symbol', name: e.dimensional.target.name, dim: e.dimensional.target.dim };
|
|
29
|
+
return { kind: 'op', op: '-', args: [target, e.scalarAst] };
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=residual.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"residual.js","sourceRoot":"","sources":["../../src/canonical/residual.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAAoB;IACpD,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,MAAM,GAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IAC5G,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;AAC9D,CAAC"}
|
package/dist/cli/command.d.ts
CHANGED
|
@@ -31,6 +31,14 @@ export interface Command {
|
|
|
31
31
|
export declare function registerCommand(command: Command): void;
|
|
32
32
|
/** Look up a command by its primary name or any alias. */
|
|
33
33
|
export declare function resolveCommand(nameOrAlias: string): Command | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* The PRIMARY names of every registered command, sorted (aliases excluded).
|
|
36
|
+
*
|
|
37
|
+
* The authority on what the CLI can run. `upt --help` is a static text in
|
|
38
|
+
* `main.ts`, so a command registered without a help entry would be runnable and
|
|
39
|
+
* invisible; `tests/cli/help-covers-registry.test.ts` compares the two.
|
|
40
|
+
*/
|
|
41
|
+
export declare function listCommandNames(): string[];
|
|
34
42
|
/** Test-only registration hook. Same behavior as `registerCommand` — kept as
|
|
35
43
|
* a distinct, deliberately-unexciting name so it reads as test scaffolding
|
|
36
44
|
* (not part of the CLI's own porting surface) at call sites in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/cli/command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,OAAO,MAAM,CAAC;IACnB,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvC;AAID;;uDAEuD;AACvD,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAGtD;AAED,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEvE;AAED;;;6EAG6E;AAC7E,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEtD;AAED;;yEAEyE;AACzE,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/cli/command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,OAAO,MAAM,CAAC;IACnB,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvC;AAID;;uDAEuD;AACvD,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAGtD;AAED,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEvE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAED;;;6EAG6E;AAC7E,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEtD;AAED;;yEAEyE;AACzE,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
|
package/dist/cli/command.js
CHANGED
|
@@ -22,6 +22,16 @@ export function registerCommand(command) {
|
|
|
22
22
|
export function resolveCommand(nameOrAlias) {
|
|
23
23
|
return registry.get(nameOrAlias);
|
|
24
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* The PRIMARY names of every registered command, sorted (aliases excluded).
|
|
27
|
+
*
|
|
28
|
+
* The authority on what the CLI can run. `upt --help` is a static text in
|
|
29
|
+
* `main.ts`, so a command registered without a help entry would be runnable and
|
|
30
|
+
* invisible; `tests/cli/help-covers-registry.test.ts` compares the two.
|
|
31
|
+
*/
|
|
32
|
+
export function listCommandNames() {
|
|
33
|
+
return [...new Set([...registry.values()].map((c) => c.name))].sort();
|
|
34
|
+
}
|
|
25
35
|
/** Test-only registration hook. Same behavior as `registerCommand` — kept as
|
|
26
36
|
* a distinct, deliberately-unexciting name so it reads as test scaffolding
|
|
27
37
|
* (not part of the CLI's own porting surface) at call sites in
|
package/dist/cli/command.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/cli/command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAqBH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;AAE5C;;uDAEuD;AACvD,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO;QAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,OAAO,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACnC,CAAC;AAED;;;6EAG6E;AAC7E,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,eAAe,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED;;yEAEyE;AACzE,MAAM,UAAU,oBAAoB;IAClC,QAAQ,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC"}
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/cli/command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAqBH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;AAE5C;;uDAEuD;AACvD,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO;QAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,OAAO,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACxE,CAAC;AAED;;;6EAG6E;AAC7E,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,eAAe,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED;;yEAEyE;AACzE,MAAM,UAAU,oBAAoB;IAClC,QAAQ,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atlas.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/atlas.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAiK/E,eAAO,MAAM,OAAO,EAAE,OAAuE,CAAC"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { registerCommand } from '../command.js';
|
|
2
|
+
import { CliError } from '../errors.js';
|
|
3
|
+
import { emitJson } from '../output.js';
|
|
4
|
+
const FLAGS = [{ name: '--json', valueStyle: 'none' }];
|
|
5
|
+
/** `null` and `[]` are both not yet analysed, and neither is omitted. */
|
|
6
|
+
function formatUniformity(uniformity) {
|
|
7
|
+
if (uniformity === null || uniformity.length === 0)
|
|
8
|
+
return 'not yet analysed';
|
|
9
|
+
return uniformity.join('; ');
|
|
10
|
+
}
|
|
11
|
+
const HELP = `upt atlas [<bridge-id>] [--json]
|
|
12
|
+
One atlas bridge with every qualification visible: relation, premises
|
|
13
|
+
and conclusion, transformation and inverse, side conditions, regime
|
|
14
|
+
inequalities, bound with its horizon and uniformity, what it preserves and loses,
|
|
15
|
+
witnesses, counterexamples, formal reference and review status. Empty
|
|
16
|
+
sections print as "none stated", never disappear. With no id, lists
|
|
17
|
+
every bridge of every family.
|
|
18
|
+
e.g. upt atlas ab-pendulum-linear`;
|
|
19
|
+
async function run(ctx) {
|
|
20
|
+
const { args, api, out } = ctx;
|
|
21
|
+
const wantJson = args.flags.has('json');
|
|
22
|
+
const [id, extra] = args.positionals;
|
|
23
|
+
if (extra !== undefined)
|
|
24
|
+
throw new CliError(`upt atlas: unexpected argument '${extra}' (one bridge at a time)`);
|
|
25
|
+
const families = api.ATLAS_FAMILIES;
|
|
26
|
+
const rows = families.flatMap((f) => f.bridges.map((b) => ({ family: f.family, bridge: b })));
|
|
27
|
+
const models = new Map(families.flatMap((f) => f.models.map((m) => [m.id, m])));
|
|
28
|
+
if (id === undefined) {
|
|
29
|
+
const listing = rows.map((r) => ({ id: r.bridge.id, family: r.family, relation: r.bridge.relation }));
|
|
30
|
+
if (wantJson) {
|
|
31
|
+
emitJson({ command: 'atlas', result: { bridges: listing } }, ctx.write);
|
|
32
|
+
return 0;
|
|
33
|
+
}
|
|
34
|
+
out(`\n${listing.length} atlas bridges across ${families.length} families:`);
|
|
35
|
+
for (const l of listing)
|
|
36
|
+
out(` ${l.id.padEnd(28)} ${l.relation.padEnd(22)} [${l.family}]`);
|
|
37
|
+
out('\nRun `upt atlas <bridge-id>` for one bridge with every qualification.');
|
|
38
|
+
return 0;
|
|
39
|
+
}
|
|
40
|
+
const row = rows.find((r) => r.bridge.id === id);
|
|
41
|
+
if (row === undefined) {
|
|
42
|
+
throw new CliError(`upt atlas: unknown bridge '${id}' (run \`upt atlas\` to list them)`);
|
|
43
|
+
}
|
|
44
|
+
const b = row.bridge;
|
|
45
|
+
const derived = api.deriveEvidence(b, api.NO_PASSING_WITNESSES);
|
|
46
|
+
const symbolic = b.witnesses.filter((w) => w.kind === 'symbolic').map((w) => w.id);
|
|
47
|
+
const familyOf = (modelId) => models.get(modelId)?.family ?? 'UNKNOWN';
|
|
48
|
+
const report = {
|
|
49
|
+
id: b.id,
|
|
50
|
+
family: row.family,
|
|
51
|
+
relation: b.relation,
|
|
52
|
+
premises: b.premises.map((p) => ({ id: p, family: familyOf(p) })),
|
|
53
|
+
conclusion: { id: b.conclusion, family: familyOf(b.conclusion) },
|
|
54
|
+
transformation: b.transformation,
|
|
55
|
+
inverse: b.inverse ?? null,
|
|
56
|
+
sideConditions: [...b.sideConditions],
|
|
57
|
+
regime: {
|
|
58
|
+
inequalities: b.regime.inequalities.map((i) => ({ group: i.group, op: i.op, bound: i.bound, alias: i.alias ?? null })),
|
|
59
|
+
vacuous: b.regime.inequalities.length === 0,
|
|
60
|
+
},
|
|
61
|
+
bound: b.bound === undefined
|
|
62
|
+
? null
|
|
63
|
+
: {
|
|
64
|
+
K: b.bound.K,
|
|
65
|
+
delta: b.bound.delta,
|
|
66
|
+
norm: b.bound.norm,
|
|
67
|
+
domain: b.bound.domain,
|
|
68
|
+
horizon: b.bound.horizon,
|
|
69
|
+
limitCharacter: b.bound.limitCharacter,
|
|
70
|
+
uniformity: b.bound.uniformity === null ? null : [...b.bound.uniformity],
|
|
71
|
+
},
|
|
72
|
+
preserves: [...b.preserves],
|
|
73
|
+
doesNotPreserve: [...b.doesNotPreserve],
|
|
74
|
+
storedEvidence: [...b.evidence].sort(),
|
|
75
|
+
formallyProved: derived.has('formally-proved'),
|
|
76
|
+
symbolicWitnesses: symbolic,
|
|
77
|
+
witnesses: b.witnesses.map((w) => ({ id: w.id, kind: w.kind, test: w.test, tolerance: w.tolerance ?? null })),
|
|
78
|
+
counterexamples: b.counterexamples.map((c) => ({ description: c.description, witness: c.witness })),
|
|
79
|
+
formalRef: b.formalRef ?? null,
|
|
80
|
+
formalRefCovers: b.formalRef === undefined ? null : 'the statement only — not the bound, regime or side conditions unless it says so',
|
|
81
|
+
citations: [...b.citations],
|
|
82
|
+
reviewStatus: b.reviewStatus,
|
|
83
|
+
};
|
|
84
|
+
if (wantJson) {
|
|
85
|
+
emitJson({
|
|
86
|
+
command: 'atlas',
|
|
87
|
+
epistemics: 'Every qualification is included; empty lists mean "none stated", not "none needed". ' +
|
|
88
|
+
'symbolically-checked is decided by data/atlas/witness-results.json, which is not shipped in ' +
|
|
89
|
+
'the package; symbolicWitnesses names the witnesses it is decided over.',
|
|
90
|
+
options: { id },
|
|
91
|
+
result: report,
|
|
92
|
+
}, ctx.write);
|
|
93
|
+
return 0;
|
|
94
|
+
}
|
|
95
|
+
const list = (label, items) => {
|
|
96
|
+
out(`${label}:`);
|
|
97
|
+
if (items.length === 0)
|
|
98
|
+
out(' none stated');
|
|
99
|
+
for (const i of items)
|
|
100
|
+
out(` - ${i}`);
|
|
101
|
+
};
|
|
102
|
+
out(`\n${b.id} — ${b.relation} [${row.family}]`);
|
|
103
|
+
out(` ${report.premises.map((p) => `${p.id} (${p.family})`).join(' + ')} → ${b.conclusion} (${report.conclusion.family})`);
|
|
104
|
+
out(`transformation: ${b.transformation}`);
|
|
105
|
+
out(`inverse: ${b.inverse ?? 'none stated'}`);
|
|
106
|
+
list('side conditions', b.sideConditions);
|
|
107
|
+
out('regime:');
|
|
108
|
+
if (report.regime.vacuous)
|
|
109
|
+
out(' VACUOUS — states no inequality; the bridge claims no restricted domain');
|
|
110
|
+
for (const i of b.regime.inequalities)
|
|
111
|
+
out(` - ${i.group} ${i.op} ${i.bound}${i.alias === undefined ? '' : ` (${i.alias})`}`);
|
|
112
|
+
out('bound:');
|
|
113
|
+
if (b.bound === undefined)
|
|
114
|
+
out(' none stated');
|
|
115
|
+
else {
|
|
116
|
+
out(` K = ${b.bound.K}, delta = ${b.bound.delta} (${b.bound.norm})`);
|
|
117
|
+
out(` domain: ${b.bound.domain}`);
|
|
118
|
+
out(` horizon: ${b.bound.horizon}`);
|
|
119
|
+
out(` limit: ${b.bound.limitCharacter}`);
|
|
120
|
+
out(` uniformity: ${formatUniformity(b.bound.uniformity)}`);
|
|
121
|
+
}
|
|
122
|
+
list('preserves', b.preserves);
|
|
123
|
+
list('does NOT preserve', b.doesNotPreserve);
|
|
124
|
+
out(`stored evidence: ${report.storedEvidence.join(', ') || 'none'}`);
|
|
125
|
+
out(`formally-proved (derived from formalRef): ${report.formallyProved ? 'YES' : 'no'}`);
|
|
126
|
+
out(symbolic.length === 0
|
|
127
|
+
? 'symbolically-checked: no symbolic witness'
|
|
128
|
+
: `symbolically-checked: decided by data/atlas/witness-results.json over ${symbolic.join(', ')} ` +
|
|
129
|
+
'(repository artifact, not shipped in the package)');
|
|
130
|
+
out('witnesses:');
|
|
131
|
+
if (b.witnesses.length === 0)
|
|
132
|
+
out(' none stated');
|
|
133
|
+
for (const w of b.witnesses) {
|
|
134
|
+
out(` - ${w.id} [${w.kind}] ${w.test}${w.tolerance === undefined ? '' : ` — ${w.tolerance}`}`);
|
|
135
|
+
}
|
|
136
|
+
out('counterexamples:');
|
|
137
|
+
if (b.counterexamples.length === 0)
|
|
138
|
+
out(' none stated');
|
|
139
|
+
for (const c of b.counterexamples)
|
|
140
|
+
out(` - ${c.description} (witness ${c.witness})`);
|
|
141
|
+
out('formal reference:');
|
|
142
|
+
if (b.formalRef === undefined)
|
|
143
|
+
out(' none — no checked counterpart is recorded');
|
|
144
|
+
else {
|
|
145
|
+
out(` ${b.formalRef.system}: ${b.formalRef.statement}`);
|
|
146
|
+
out(` version ${b.formalRef.version}; axioms ${b.formalRef.axioms.join(', ') || 'none'}`);
|
|
147
|
+
out(` fidelity: ${b.formalRef.fidelity}`);
|
|
148
|
+
// The tag above must not read wider than the statement: a reference that
|
|
149
|
+
// certifies a transformation does not certify the bound beside it.
|
|
150
|
+
out(' covers: the statement above ONLY — not the bound, regime or side conditions unless it says so');
|
|
151
|
+
}
|
|
152
|
+
list('citations', b.citations);
|
|
153
|
+
out(`review status: ${b.reviewStatus}`);
|
|
154
|
+
return 0;
|
|
155
|
+
}
|
|
156
|
+
export const command = { name: 'atlas', aliases: [], flags: FLAGS, help: HELP, run };
|
|
157
|
+
registerCommand(command);
|
|
158
|
+
//# sourceMappingURL=atlas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atlas.js","sourceRoot":"","sources":["../../../src/cli/commands/atlas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confront.js","sourceRoot":"","sources":["../../../src/cli/commands/confront.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"confront.js","sourceRoot":"","sources":["../../../src/cli/commands/confront.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { registerCommand } from '../command.js';
|
|
2
2
|
import { emitJson } from '../output.js';
|
|
3
3
|
const FLAGS = [{ name: '--json', valueStyle: 'none' }];
|
|
4
|
-
const HELP = `upt coverage
|
|
5
|
-
Audit the catalog's empirical grounding — which bridges are
|
|
6
|
-
data-confronted vs graph-computable vs encoded-only vs thin — to
|
|
4
|
+
const HELP = `upt coverage
|
|
5
|
+
Audit the catalog's empirical grounding — which bridges are
|
|
6
|
+
data-confronted vs graph-computable vs encoded-only vs thin — to
|
|
7
7
|
target the physicist review. Fabricates nothing.`;
|
|
8
8
|
const EPISTEMICS = '(reads the catalog/graph/confrontation modules; fabricates nothing)';
|
|
9
9
|
async function run(ctx) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,eAAe,CAAC;AACvB,OAAO,YAAY,CAAC;AACpB,OAAO,eAAe,CAAC;AACvB,OAAO,gBAAgB,CAAC;AACxB,OAAO,cAAc,CAAC;AACtB,OAAO,iBAAiB,CAAC;AACzB,OAAO,cAAc,CAAC;AACtB,OAAO,iBAAiB,CAAC;AACzB,OAAO,cAAc,CAAC;AACtB,OAAO,eAAe,CAAC;AACvB,OAAO,WAAW,CAAC;AACnB,OAAO,aAAa,CAAC;AACrB,OAAO,UAAU,CAAC;AAClB,OAAO,eAAe,CAAC;AACvB,OAAO,eAAe,CAAC;AACvB,OAAO,WAAW,CAAC;AACnB,OAAO,eAAe,CAAC;AACvB,OAAO,aAAa,CAAC;AACrB,OAAO,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,eAAe,CAAC;AACvB,OAAO,YAAY,CAAC;AACpB,OAAO,eAAe,CAAC;AACvB,OAAO,gBAAgB,CAAC;AACxB,OAAO,cAAc,CAAC;AACtB,OAAO,iBAAiB,CAAC;AACzB,OAAO,cAAc,CAAC;AACtB,OAAO,iBAAiB,CAAC;AACzB,OAAO,cAAc,CAAC;AACtB,OAAO,eAAe,CAAC;AACvB,OAAO,WAAW,CAAC;AACnB,OAAO,aAAa,CAAC;AACrB,OAAO,UAAU,CAAC;AAClB,OAAO,eAAe,CAAC;AACvB,OAAO,eAAe,CAAC;AACvB,OAAO,WAAW,CAAC;AACnB,OAAO,eAAe,CAAC;AACvB,OAAO,aAAa,CAAC;AACrB,OAAO,YAAY,CAAC;AACpB,OAAO,aAAa,CAAC;AACrB,OAAO,WAAW,CAAC;AACnB,OAAO,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,eAAe,CAAC;AACvB,OAAO,YAAY,CAAC;AACpB,OAAO,eAAe,CAAC;AACvB,OAAO,gBAAgB,CAAC;AACxB,OAAO,cAAc,CAAC;AACtB,OAAO,iBAAiB,CAAC;AACzB,OAAO,cAAc,CAAC;AACtB,OAAO,iBAAiB,CAAC;AACzB,OAAO,cAAc,CAAC;AACtB,OAAO,eAAe,CAAC;AACvB,OAAO,WAAW,CAAC;AACnB,OAAO,aAAa,CAAC;AACrB,OAAO,UAAU,CAAC;AAClB,OAAO,eAAe,CAAC;AACvB,OAAO,eAAe,CAAC;AACvB,OAAO,WAAW,CAAC;AACnB,OAAO,eAAe,CAAC;AACvB,OAAO,aAAa,CAAC;AACrB,OAAO,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,eAAe,CAAC;AACvB,OAAO,YAAY,CAAC;AACpB,OAAO,eAAe,CAAC;AACvB,OAAO,gBAAgB,CAAC;AACxB,OAAO,cAAc,CAAC;AACtB,OAAO,iBAAiB,CAAC;AACzB,OAAO,cAAc,CAAC;AACtB,OAAO,iBAAiB,CAAC;AACzB,OAAO,cAAc,CAAC;AACtB,OAAO,eAAe,CAAC;AACvB,OAAO,WAAW,CAAC;AACnB,OAAO,aAAa,CAAC;AACrB,OAAO,UAAU,CAAC;AAClB,OAAO,eAAe,CAAC;AACvB,OAAO,eAAe,CAAC;AACvB,OAAO,WAAW,CAAC;AACnB,OAAO,eAAe,CAAC;AACvB,OAAO,aAAa,CAAC;AACrB,OAAO,YAAY,CAAC;AACpB,OAAO,aAAa,CAAC;AACrB,OAAO,WAAW,CAAC;AACnB,OAAO,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/map.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/map.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AA+Y/E,eAAO,MAAM,OAAO,EAAE,OAMrB,CAAC"}
|
package/dist/cli/commands/map.js
CHANGED
|
@@ -25,32 +25,88 @@ const FLAGS = [
|
|
|
25
25
|
{ name: '--max-orders', valueStyle: 'attached' },
|
|
26
26
|
{ name: '--anchor', valueStyle: 'attached', repeatable: true },
|
|
27
27
|
{ name: '--proposed', valueStyle: 'none' },
|
|
28
|
+
{ name: '--relation', valueStyle: 'attached' },
|
|
29
|
+
{ name: '--evidence', valueStyle: 'attached' },
|
|
28
30
|
// optionalValue: a bare trailing --equation stores '' so the empty-check in
|
|
29
31
|
// run() owns the diagnostic (old-CLI fidelity: bin/upt.mjs did `a[i+1] ?? ''`
|
|
30
32
|
// and let mapCmd emit `upt: --equation requires "TARGET = EXPR"`, exit 2).
|
|
31
33
|
{ name: '--equation', valueStyle: 'either', optionalValue: true },
|
|
32
34
|
{ name: '--json', valueStyle: 'none' },
|
|
33
35
|
];
|
|
34
|
-
const HELP = `upt map [--source=catalog|canonical|both] [--format=text|mermaid|dot|svg]
|
|
35
|
-
[--proposed] [--out=PATH] [--equation "TARGET = EXPR"]
|
|
36
|
-
Map how the equations LINK: connected components (clusters) of the
|
|
37
|
-
graph by shared quantities, the anchored core, the link hubs, and
|
|
38
|
-
the isolated tail.
|
|
39
|
-
--source defaults to 'both' (catalog + canonical) — a pure
|
|
40
|
-
connectivity question gets the honest, all-known-physics answer by
|
|
41
|
-
default; --source=catalog shows the bridge-catalog view alone.
|
|
42
|
-
--
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
36
|
+
const HELP = `upt map [--source=catalog|canonical|both|poster] [--format=text|mermaid|dot|svg]
|
|
37
|
+
[--proposed] [--out=PATH] [--equation "TARGET = EXPR"]
|
|
38
|
+
Map how the equations LINK: connected components (clusters) of the
|
|
39
|
+
graph by shared quantities, the anchored core, the link hubs, and
|
|
40
|
+
the isolated tail.
|
|
41
|
+
--source defaults to 'both' (catalog + canonical) — a pure
|
|
42
|
+
connectivity question gets the honest, all-known-physics answer by
|
|
43
|
+
default; --source=catalog shows the bridge-catalog view alone.
|
|
44
|
+
--source=poster draws the ATLAS PHASE 3 POSTER INDEX instead of the
|
|
45
|
+
bridge graph: nodes are STATEMENTS (including the hidden supporting
|
|
46
|
+
nodes — action principle, Noether, the full Maxwell system, the
|
|
47
|
+
Lorentz group, the central limit theorem) and boxes are DERIVATIONS
|
|
48
|
+
(premises in, conclusion out). Associations are drawn DASHED because
|
|
49
|
+
they assert no relation at all. It also reports any premise naming a
|
|
50
|
+
statement the registry does not define, and says so out loud when the
|
|
51
|
+
index is not registered in this build rather than printing an empty
|
|
52
|
+
map as an answer.
|
|
53
|
+
--format=mermaid|dot|svg emits the VISUAL map (quantities = nodes,
|
|
54
|
+
equations = junctions colored by status, one subgraph per component).
|
|
55
|
+
text (default) is the unchanged linkage printout. svg renders the dot
|
|
56
|
+
layout via the optional @viz-js/viz peer (npm i @viz-js/viz; or pipe
|
|
57
|
+
dot through "dot -Tsvg"). --proposed overlays the unadjudicated
|
|
58
|
+
identity-consequence relations (gray dashed). --out writes to a file
|
|
59
|
+
(default stdout).
|
|
60
|
+
--equation "TARGET = EXPR" injects YOUR OWN equation as a violet 'user'
|
|
61
|
+
node and reports where it lands (which cluster / shared quantities), with
|
|
62
|
+
a "did you mean?" hint for names that miss the catalog vocabulary. Use
|
|
63
|
+
underscores for multi-word quantities (photon_energy -> photon-energy).
|
|
64
|
+
--relation=TYPE keeps only edges whose recorded Atlas relation is that
|
|
65
|
+
type; --evidence=TAG keeps only edges whose evidence set, DERIVED from
|
|
66
|
+
the catalog row at read time, contains that tag.
|
|
67
|
+
⚠ Filtering changes what a missing overlay means: unfiltered, an edge
|
|
68
|
+
with no overlay is KEPT; filtered, it is DROPPED, because nothing shows
|
|
69
|
+
it satisfies the filter. Those drops are counted and printed separately
|
|
70
|
+
from the edges that simply did not match — an unaudited graph must not
|
|
71
|
+
render as a complete answer.
|
|
72
|
+
e.g. upt map --relation=derivation --source=both`;
|
|
73
|
+
const RELATION_TYPES = [
|
|
74
|
+
'derivation',
|
|
75
|
+
'exact-equivalence',
|
|
76
|
+
'restriction',
|
|
77
|
+
'approximation',
|
|
78
|
+
'coarse-graining',
|
|
79
|
+
'analytic-continuation',
|
|
80
|
+
'structural-analogy',
|
|
81
|
+
'deformation-quantization',
|
|
82
|
+
];
|
|
83
|
+
const EVIDENCE_TAGS = [
|
|
84
|
+
'proposed',
|
|
85
|
+
'reviewed',
|
|
86
|
+
'dimension-checked',
|
|
87
|
+
'convention-checked',
|
|
88
|
+
'symbolically-checked',
|
|
89
|
+
'numerically-supported',
|
|
90
|
+
'formally-proved',
|
|
91
|
+
'empirically-supported',
|
|
92
|
+
'contradicted',
|
|
93
|
+
'unresolved',
|
|
94
|
+
];
|
|
95
|
+
/** Last value of an `attached` flag, or undefined when the flag is absent. */
|
|
96
|
+
function lastValue(flags, name) {
|
|
97
|
+
const v = flags.get(name);
|
|
98
|
+
return v && v.length > 0 ? v[v.length - 1] : undefined;
|
|
99
|
+
}
|
|
100
|
+
/** Validate one filter value against its vocabulary. A bad value is a CliError
|
|
101
|
+
* (exit 1); an unknown FLAG is the parser's UsageError (exit 2). */
|
|
102
|
+
function parseFilter(raw, allowed, flag) {
|
|
103
|
+
if (raw === undefined)
|
|
104
|
+
return undefined;
|
|
105
|
+
if (!allowed.includes(raw)) {
|
|
106
|
+
throw new CliError(`upt: unknown ${flag}='${raw}' (expected: ${allowed.join(' | ')})`);
|
|
107
|
+
}
|
|
108
|
+
return raw;
|
|
109
|
+
}
|
|
54
110
|
// Convert the derived identity-consequence proposals into viz junctions
|
|
55
111
|
// (gray-dashed, status 'proposed'). The library never imports proposed-bridges;
|
|
56
112
|
// the CLI does the conversion, keeping the epistemic firewall intact.
|
|
@@ -116,8 +172,40 @@ async function run(ctx) {
|
|
|
116
172
|
// map asks a pure connectivity question, so it defaults to --source=both
|
|
117
173
|
// (catalog + canonical) rather than graphs.ts's catalog fallback used by
|
|
118
174
|
// the other --source commands (e.g. discover, which keeps catalog).
|
|
175
|
+
//
|
|
176
|
+
// `--source=poster` is a MAP-ONLY source and is resolved HERE, not in
|
|
177
|
+
// `resolveGraph`. That helper is shared by `discover`, `candidates` and the
|
|
178
|
+
// rest, and the poster index is not a `BridgeEdge` graph they could analyse;
|
|
179
|
+
// teaching it a value only one command can use would hand every other command
|
|
180
|
+
// a source that silently means nothing.
|
|
181
|
+
const posterMode = lastValue(args.flags, 'source') === 'poster';
|
|
119
182
|
const sourceFlags = args.flags.has('source') ? args.flags : new Map(args.flags).set('source', ['both']);
|
|
120
|
-
const
|
|
183
|
+
const resolved = posterMode
|
|
184
|
+
? { graph: [], label: 'poster (Atlas Phase 3 index)', source: 'poster' }
|
|
185
|
+
: resolveGraph(api, sourceFlags);
|
|
186
|
+
const { graph: fullGraph, label, source } = resolved;
|
|
187
|
+
// The poster's own report line: what it contributed, or why it contributed
|
|
188
|
+
// nothing (design note §6). Computed once; printed by every output form.
|
|
189
|
+
const posterValidation = posterMode ? api.validatePoster(api.POSTER_GRAPH) : null;
|
|
190
|
+
const posterNote = posterMode
|
|
191
|
+
? api.describePosterSource(api.POSTER_GRAPH, posterValidation)
|
|
192
|
+
: null;
|
|
193
|
+
// The two overlay filters. Parsed BEFORE anything else is computed so a bad
|
|
194
|
+
// value costs nothing and always exits 1.
|
|
195
|
+
const relation = parseFilter(lastValue(args.flags, 'relation'), RELATION_TYPES, '--relation');
|
|
196
|
+
const evidence = parseFilter(lastValue(args.flags, 'evidence'), EVIDENCE_TAGS, '--evidence');
|
|
197
|
+
const filterOpts = {
|
|
198
|
+
...(relation !== undefined ? { relation } : {}),
|
|
199
|
+
...(evidence !== undefined ? { evidence } : {}),
|
|
200
|
+
};
|
|
201
|
+
// The TEXT and JSON paths filter the edge list here, because `linkageMap`
|
|
202
|
+
// consumes edges. The VISUAL path hands `buildVizModel` the FULL graph with
|
|
203
|
+
// the same options, so the model also judges the --proposed / --equation
|
|
204
|
+
// overlay junctions, which are not edges and which `filterEdges` cannot see.
|
|
205
|
+
// One predicate, two callers: they cannot disagree about what a filter
|
|
206
|
+
// selects, only about how much they were asked to count.
|
|
207
|
+
const { kept: graph, stats: edgeStats } = api.filterEdges(fullGraph, filterOpts);
|
|
208
|
+
const edgeLegend = api.formatFilterLegend(edgeStats);
|
|
121
209
|
const fmtValues = args.flags.get('format');
|
|
122
210
|
const fmt = fmtValues && fmtValues.length > 0 ? fmtValues[fmtValues.length - 1] : 'text';
|
|
123
211
|
const isJson = args.flags.has('json');
|
|
@@ -143,7 +231,14 @@ async function run(ctx) {
|
|
|
143
231
|
}
|
|
144
232
|
}
|
|
145
233
|
const overlay = (extra) => [
|
|
146
|
-
|
|
234
|
+
// Ranked from the UNFILTERED graph: the proposal set is a property of the
|
|
235
|
+
// whole catalog, and the model then judges each overlay junction under the
|
|
236
|
+
// same filter as every other junction.
|
|
237
|
+
...(args.flags.has('proposed') ? proposedJunctions(api, fullGraph, args.flags) : []),
|
|
238
|
+
// The poster enters as an overlay for exactly the reason the design note
|
|
239
|
+
// gives: an overlay is FILTERED, clustered and legended like every other
|
|
240
|
+
// junction, so a poster source cannot quietly bypass --relation/--evidence.
|
|
241
|
+
...(posterMode ? api.posterJunctions(api.POSTER_GRAPH) : []),
|
|
147
242
|
...extra,
|
|
148
243
|
];
|
|
149
244
|
if (isJson) {
|
|
@@ -151,9 +246,10 @@ async function run(ctx) {
|
|
|
151
246
|
let landing;
|
|
152
247
|
let userEquation;
|
|
153
248
|
if (user) {
|
|
154
|
-
const model = api.buildVizModel(
|
|
249
|
+
const model = api.buildVizModel(fullGraph, {
|
|
155
250
|
title: `UPT physics map — ${label}`,
|
|
156
251
|
extraJunctions: overlay([user.junction]),
|
|
252
|
+
...filterOpts,
|
|
157
253
|
});
|
|
158
254
|
landing = api.equationLanding(model, 'user-equation');
|
|
159
255
|
userEquation = {
|
|
@@ -167,15 +263,21 @@ async function run(ctx) {
|
|
|
167
263
|
emitJson({
|
|
168
264
|
command: 'map',
|
|
169
265
|
source,
|
|
170
|
-
result: {
|
|
266
|
+
result: {
|
|
267
|
+
linkage,
|
|
268
|
+
...(posterMode ? { poster: { note: posterNote, ...posterValidation } } : {}),
|
|
269
|
+
...(edgeLegend !== null ? { filter: edgeStats } : {}),
|
|
270
|
+
...(user ? { landing, userEquation } : {}),
|
|
271
|
+
},
|
|
171
272
|
}, write);
|
|
172
273
|
return 0;
|
|
173
274
|
}
|
|
174
275
|
if (fmt === 'mermaid' || fmt === 'dot' || fmt === 'svg') {
|
|
175
276
|
const extraJunctions = overlay(user ? [user.junction] : []);
|
|
176
|
-
const model = api.buildVizModel(
|
|
277
|
+
const model = api.buildVizModel(fullGraph, {
|
|
177
278
|
title: `UPT physics map — ${label}`,
|
|
178
279
|
extraJunctions,
|
|
280
|
+
...filterOpts,
|
|
179
281
|
});
|
|
180
282
|
// svg is the dot layout rendered by the optional @viz-js/viz peer.
|
|
181
283
|
let src;
|
|
@@ -207,7 +309,12 @@ async function run(ctx) {
|
|
|
207
309
|
else {
|
|
208
310
|
write(src);
|
|
209
311
|
}
|
|
210
|
-
//
|
|
312
|
+
// Legend and landing report go to stderr so stdout/--out stays pure diagram
|
|
313
|
+
// source. The diagram itself also carries the legend (see `buildVizModel`).
|
|
314
|
+
if (posterNote !== null)
|
|
315
|
+
err(`upt: ${posterNote}`);
|
|
316
|
+
if (model.filterLegend !== null)
|
|
317
|
+
err(`upt: ${model.filterLegend}`);
|
|
211
318
|
if (user)
|
|
212
319
|
printEquationReport(api, model, user, err);
|
|
213
320
|
return 0;
|
|
@@ -215,12 +322,38 @@ async function run(ctx) {
|
|
|
215
322
|
if (fmt !== 'text') {
|
|
216
323
|
throw new CliError(`upt: unknown --format='${fmt}' (expected: text | mermaid | dot | svg)`);
|
|
217
324
|
}
|
|
325
|
+
if (posterMode) {
|
|
326
|
+
const model = api.buildVizModel(fullGraph, {
|
|
327
|
+
title: `UPT physics map — ${label}`,
|
|
328
|
+
extraJunctions: overlay(user ? [user.junction] : []),
|
|
329
|
+
...filterOpts,
|
|
330
|
+
});
|
|
331
|
+
out(`
|
|
332
|
+
Poster index — statements and the derivations between them [source: ${label}]`);
|
|
333
|
+
out(` ${posterNote}`);
|
|
334
|
+
out(` (${model.junctions.length} junctions over ${model.clusters.length} clusters; ` +
|
|
335
|
+
`${api.POSTER_GRAPH.derivations.length} derivations, ` +
|
|
336
|
+
`${api.POSTER_GRAPH.associations.length} associations)`);
|
|
337
|
+
if (model.filterLegend !== null)
|
|
338
|
+
out(` ${model.filterLegend}`);
|
|
339
|
+
for (const d of posterValidation.dangling) {
|
|
340
|
+
out(` ⚠ '${d.derivation}' names '${d.missing}' as a ${d.role}, and nothing defines it.`);
|
|
341
|
+
}
|
|
342
|
+
if (user) {
|
|
343
|
+
out(`
|
|
344
|
+
Your equation: ${user.junction.label}`);
|
|
345
|
+
printEquationReport(api, model, user, out);
|
|
346
|
+
}
|
|
347
|
+
return 0;
|
|
348
|
+
}
|
|
218
349
|
const m = api.linkageMap(graph);
|
|
219
350
|
const mix = (s) => Object.entries(s)
|
|
220
351
|
.map(([k, v]) => `${v} ${k}`)
|
|
221
352
|
.join(', ');
|
|
222
353
|
out(`\nLinkage map — how the equations connect via shared quantities [source: ${label}]`);
|
|
223
354
|
out(`(${m.componentCount} components over ${graph.length} edges; ${m.compositions} compose into chains)\n`);
|
|
355
|
+
if (edgeLegend !== null)
|
|
356
|
+
out(` ${edgeLegend}`);
|
|
224
357
|
for (const c of m.clusters.filter((x) => x.size > 1)) {
|
|
225
358
|
out(` ● cluster of ${c.size}${c.anchored ? ' [ANCHORED to known physics]' : ''}`);
|
|
226
359
|
out(` edges: ${c.edges.join(', ')}`);
|
|
@@ -232,9 +365,10 @@ async function run(ctx) {
|
|
|
232
365
|
out('\n (a structural map — shared-quantity connectivity, NOT a credibility signal)');
|
|
233
366
|
// --equation: where does the user's equation land in this graph?
|
|
234
367
|
if (user) {
|
|
235
|
-
const model = api.buildVizModel(
|
|
368
|
+
const model = api.buildVizModel(fullGraph, {
|
|
236
369
|
title: `UPT physics map — ${label}`,
|
|
237
370
|
extraJunctions: overlay([user.junction]),
|
|
371
|
+
...filterOpts,
|
|
238
372
|
});
|
|
239
373
|
out(`\nYour equation: ${user.junction.label}`);
|
|
240
374
|
printEquationReport(api, model, user, out);
|