universal-physics-tensor 0.28.0 → 0.30.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/bin/upt.mjs +9 -830
- package/dist/bridges/be52-mercury-confrontation.d.ts +72 -0
- package/dist/bridges/be52-mercury-confrontation.d.ts.map +1 -0
- package/dist/bridges/be52-mercury-confrontation.js +67 -0
- package/dist/bridges/be52-mercury-confrontation.js.map +1 -0
- package/dist/bridges/confrontation-coverage.d.ts +15 -0
- package/dist/bridges/confrontation-coverage.d.ts.map +1 -1
- package/dist/bridges/confrontation-coverage.js +9 -1
- package/dist/bridges/confrontation-coverage.js.map +1 -1
- package/dist/bridges/descriptor.d.ts +54 -0
- package/dist/bridges/descriptor.d.ts.map +1 -0
- package/dist/bridges/descriptor.js +67 -0
- package/dist/bridges/descriptor.js.map +1 -0
- package/dist/bridges/equations/_be-helpers.d.ts +1 -2
- package/dist/bridges/equations/_be-helpers.d.ts.map +1 -1
- package/dist/bridges/equations/_be-helpers.js +3 -3
- package/dist/bridges/equations/_be-helpers.js.map +1 -1
- package/dist/bridges/equations/be-20-vacuum-energy.d.ts +1 -1
- package/dist/bridges/equations/be-20-vacuum-energy.d.ts.map +1 -1
- package/dist/bridges/equations/be-20-vacuum-energy.js +5 -3
- package/dist/bridges/equations/be-20-vacuum-energy.js.map +1 -1
- package/dist/bridges/equations/be-21-kss-bound.d.ts +1 -1
- package/dist/bridges/equations/be-21-kss-bound.js +1 -1
- package/dist/bridges/equations/be-25-iit-phi.d.ts +12 -16
- package/dist/bridges/equations/be-25-iit-phi.d.ts.map +1 -1
- package/dist/bridges/equations/be-25-iit-phi.js +12 -16
- package/dist/bridges/equations/be-25-iit-phi.js.map +1 -1
- package/dist/bridges/equations/be-26-dna-tunneling.d.ts +6 -6
- package/dist/bridges/equations/be-26-dna-tunneling.js +6 -6
- package/dist/bridges/equations/be-40-composite-higgs.d.ts +9 -7
- package/dist/bridges/equations/be-40-composite-higgs.d.ts.map +1 -1
- package/dist/bridges/equations/be-40-composite-higgs.js +9 -7
- package/dist/bridges/equations/be-40-composite-higgs.js.map +1 -1
- package/dist/bridges/equations/be-50-wheeler-feynman.d.ts +0 -34
- package/dist/bridges/equations/be-50-wheeler-feynman.d.ts.map +1 -1
- package/dist/bridges/equations/be-50-wheeler-feynman.js +1 -1
- package/dist/bridges/equations/be-50-wheeler-feynman.js.map +1 -1
- package/dist/canonical/entries/_l1-build.d.ts +4 -5
- package/dist/canonical/entries/_l1-build.d.ts.map +1 -1
- package/dist/canonical/entries/_l1-build.js +3 -11
- package/dist/canonical/entries/_l1-build.js.map +1 -1
- package/dist/canonical/entries/atomic.d.ts +6 -5
- package/dist/canonical/entries/atomic.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.js +61 -1
- package/dist/canonical/entries/atomic.js.map +1 -1
- package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
- package/dist/canonical/entries/dimensional-classics.js +1 -10
- package/dist/canonical/entries/dimensional-classics.js.map +1 -1
- package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
- package/dist/canonical/entries/electromagnetism.js +49 -1
- package/dist/canonical/entries/electromagnetism.js.map +1 -1
- package/dist/canonical/entries/relativity.d.ts +0 -3
- package/dist/canonical/entries/relativity.d.ts.map +1 -1
- package/dist/canonical/entries/relativity.js +51 -3
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts +7 -4
- package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.js +117 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
- package/dist/canonical/linkage.d.ts +5 -0
- package/dist/canonical/linkage.d.ts.map +1 -1
- package/dist/canonical/linkage.js +54 -24
- package/dist/canonical/linkage.js.map +1 -1
- package/dist/canonical/registry.d.ts +6 -1
- package/dist/canonical/registry.d.ts.map +1 -1
- package/dist/canonical/registry.js +6 -5
- package/dist/canonical/registry.js.map +1 -1
- package/dist/cli/args.d.ts +23 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +74 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/command.d.ts +46 -0
- package/dist/cli/command.d.ts.map +1 -0
- package/dist/cli/command.js +51 -0
- package/dist/cli/command.js.map +1 -0
- package/dist/cli/commands/_discovery-opts.d.ts +16 -0
- package/dist/cli/commands/_discovery-opts.d.ts.map +1 -0
- package/dist/cli/commands/_discovery-opts.js +33 -0
- package/dist/cli/commands/_discovery-opts.js.map +1 -0
- package/dist/cli/commands/audit.d.ts +3 -0
- package/dist/cli/commands/audit.d.ts.map +1 -0
- package/dist/cli/commands/audit.js +71 -0
- package/dist/cli/commands/audit.js.map +1 -0
- package/dist/cli/commands/candidates.d.ts +3 -0
- package/dist/cli/commands/candidates.d.ts.map +1 -0
- package/dist/cli/commands/candidates.js +46 -0
- package/dist/cli/commands/candidates.js.map +1 -0
- package/dist/cli/commands/canonical.d.ts +3 -0
- package/dist/cli/commands/canonical.d.ts.map +1 -0
- package/dist/cli/commands/canonical.js +38 -0
- package/dist/cli/commands/canonical.js.map +1 -0
- package/dist/cli/commands/connectors.d.ts +3 -0
- package/dist/cli/commands/connectors.d.ts.map +1 -0
- package/dist/cli/commands/connectors.js +51 -0
- package/dist/cli/commands/connectors.js.map +1 -0
- package/dist/cli/commands/coverage.d.ts +3 -0
- package/dist/cli/commands/coverage.d.ts.map +1 -0
- package/dist/cli/commands/coverage.js +39 -0
- package/dist/cli/commands/coverage.js.map +1 -0
- package/dist/cli/commands/derive.d.ts +3 -0
- package/dist/cli/commands/derive.d.ts.map +1 -0
- package/dist/cli/commands/derive.js +143 -0
- package/dist/cli/commands/derive.js.map +1 -0
- package/dist/cli/commands/discover.d.ts +3 -0
- package/dist/cli/commands/discover.d.ts.map +1 -0
- package/dist/cli/commands/discover.js +137 -0
- package/dist/cli/commands/discover.js.map +1 -0
- package/dist/cli/commands/eval.d.ts +3 -0
- package/dist/cli/commands/eval.d.ts.map +1 -0
- package/dist/cli/commands/eval.js +64 -0
- package/dist/cli/commands/eval.js.map +1 -0
- package/dist/cli/commands/explain.d.ts +3 -0
- package/dist/cli/commands/explain.d.ts.map +1 -0
- package/dist/cli/commands/explain.js +81 -0
- package/dist/cli/commands/explain.js.map +1 -0
- package/dist/cli/commands/index.d.ts +21 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +21 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/map.d.ts +3 -0
- package/dist/cli/commands/map.d.ts.map +1 -0
- package/dist/cli/commands/map.js +245 -0
- package/dist/cli/commands/map.js.map +1 -0
- package/dist/cli/commands/predict.d.ts +3 -0
- package/dist/cli/commands/predict.d.ts.map +1 -0
- package/dist/cli/commands/predict.js +54 -0
- package/dist/cli/commands/predict.js.map +1 -0
- package/dist/cli/commands/priority.d.ts +3 -0
- package/dist/cli/commands/priority.d.ts.map +1 -0
- package/dist/cli/commands/priority.js +63 -0
- package/dist/cli/commands/priority.js.map +1 -0
- package/dist/cli/commands/recover.d.ts +3 -0
- package/dist/cli/commands/recover.d.ts.map +1 -0
- package/dist/cli/commands/recover.js +51 -0
- package/dist/cli/commands/recover.js.map +1 -0
- package/dist/cli/commands/symbolic.d.ts +3 -0
- package/dist/cli/commands/symbolic.d.ts.map +1 -0
- package/dist/cli/commands/symbolic.js +110 -0
- package/dist/cli/commands/symbolic.js.map +1 -0
- package/dist/cli/errors.d.ts +14 -0
- package/dist/cli/errors.d.ts.map +1 -0
- package/dist/cli/errors.js +20 -0
- package/dist/cli/errors.js.map +1 -0
- package/dist/cli/graphs.d.ts +16 -0
- package/dist/cli/graphs.d.ts.map +1 -0
- package/dist/cli/graphs.js +30 -0
- package/dist/cli/graphs.js.map +1 -0
- package/dist/cli/main.d.ts +33 -0
- package/dist/cli/main.d.ts.map +1 -0
- package/dist/cli/main.js +219 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/cli/output.d.ts +19 -0
- package/dist/cli/output.d.ts.map +1 -0
- package/dist/cli/output.js +57 -0
- package/dist/cli/output.js.map +1 -0
- package/dist/cli/version.d.ts +11 -0
- package/dist/cli/version.d.ts.map +1 -0
- package/dist/cli/version.js +16 -0
- package/dist/cli/version.js.map +1 -0
- package/dist/cli-api.d.ts +28 -0
- package/dist/cli-api.d.ts.map +1 -0
- package/dist/cli-api.js +31 -0
- package/dist/cli-api.js.map +1 -0
- package/dist/composition/bridge-analysis.d.ts +13 -15
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +54 -39
- package/dist/composition/bridge-analysis.js.map +1 -1
- package/dist/composition/bridge-prediction.d.ts +4 -3
- package/dist/composition/bridge-prediction.d.ts.map +1 -1
- package/dist/composition/compose-symbolic.d.ts.map +1 -1
- package/dist/composition/compose-symbolic.js +12 -0
- package/dist/composition/compose-symbolic.js.map +1 -1
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +40 -12
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edges/_catalog-helpers.d.ts +34 -0
- package/dist/composition/edges/_catalog-helpers.d.ts.map +1 -0
- package/dist/composition/edges/_catalog-helpers.js +75 -0
- package/dist/composition/edges/_catalog-helpers.js.map +1 -0
- package/dist/composition/edges/calibration.d.ts.map +1 -1
- package/dist/composition/edges/calibration.js +1 -1
- package/dist/composition/edges/calibration.js.map +1 -1
- package/dist/composition/edges/catalog-condensed-matter.d.ts +64 -0
- package/dist/composition/edges/catalog-condensed-matter.d.ts.map +1 -0
- package/dist/composition/edges/catalog-condensed-matter.js +226 -0
- package/dist/composition/edges/catalog-condensed-matter.js.map +1 -0
- package/dist/composition/edges/catalog-fields.d.ts +68 -0
- package/dist/composition/edges/catalog-fields.d.ts.map +1 -0
- package/dist/composition/edges/catalog-fields.js +206 -0
- package/dist/composition/edges/catalog-fields.js.map +1 -0
- package/dist/composition/edges/catalog-full.d.ts +5 -263
- package/dist/composition/edges/catalog-full.d.ts.map +1 -1
- package/dist/composition/edges/catalog-full.js +9 -959
- package/dist/composition/edges/catalog-full.js.map +1 -1
- package/dist/composition/edges/catalog-gravitation-cosmology.d.ts +80 -0
- package/dist/composition/edges/catalog-gravitation-cosmology.d.ts.map +1 -0
- package/dist/composition/edges/catalog-gravitation-cosmology.js +245 -0
- package/dist/composition/edges/catalog-gravitation-cosmology.js.map +1 -0
- package/dist/composition/edges/catalog-quantum.d.ts +85 -0
- package/dist/composition/edges/catalog-quantum.d.ts.map +1 -0
- package/dist/composition/edges/catalog-quantum.js +252 -0
- package/dist/composition/edges/catalog-quantum.js.map +1 -0
- package/dist/composition/expr-simplify.d.ts +2 -6
- package/dist/composition/expr-simplify.d.ts.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/proposed-bridges.d.ts +4 -4
- package/dist/composition/proposed-bridges.d.ts.map +1 -1
- package/dist/composition/proposed-bridges.js +1 -3
- package/dist/composition/proposed-bridges.js.map +1 -1
- package/dist/composition/quantities/_dims.d.ts +35 -0
- package/dist/composition/quantities/_dims.d.ts.map +1 -0
- package/dist/composition/quantities/_dims.js +45 -0
- package/dist/composition/quantities/_dims.js.map +1 -0
- package/dist/composition/quantities/common.d.ts +69 -0
- package/dist/composition/quantities/common.d.ts.map +1 -0
- package/dist/composition/quantities/common.js +200 -0
- package/dist/composition/quantities/common.js.map +1 -0
- package/dist/composition/quantities/condensed-matter.d.ts +63 -0
- package/dist/composition/quantities/condensed-matter.d.ts.map +1 -0
- package/dist/composition/quantities/condensed-matter.js +185 -0
- package/dist/composition/quantities/condensed-matter.js.map +1 -0
- package/dist/composition/quantities/fields.d.ts +59 -0
- package/dist/composition/quantities/fields.d.ts.map +1 -0
- package/dist/composition/quantities/fields.js +171 -0
- package/dist/composition/quantities/fields.js.map +1 -0
- package/dist/composition/quantities/gravitation-cosmology.d.ts +67 -0
- package/dist/composition/quantities/gravitation-cosmology.d.ts.map +1 -0
- package/dist/composition/quantities/gravitation-cosmology.js +199 -0
- package/dist/composition/quantities/gravitation-cosmology.js.map +1 -0
- package/dist/composition/quantities/quantum.d.ts +61 -0
- package/dist/composition/quantities/quantum.d.ts.map +1 -0
- package/dist/composition/quantities/quantum.js +178 -0
- package/dist/composition/quantities/quantum.js.map +1 -0
- package/dist/composition/quantities.d.ts +5 -263
- package/dist/composition/quantities.d.ts.map +1 -1
- package/dist/composition/quantities.js +7 -983
- package/dist/composition/quantities.js.map +1 -1
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +15 -3
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/symbolic-constants.d.ts +3 -2
- package/dist/composition/symbolic-constants.d.ts.map +1 -1
- package/dist/core/tensor.d.ts +6 -0
- package/dist/core/tensor.d.ts.map +1 -1
- package/dist/core/tensor.js +6 -0
- package/dist/core/tensor.js.map +1 -1
- package/dist/diff/bridge-ast-gradient.js +1 -1
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/diff/bridge-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-gradient.js +15 -4
- package/dist/diff/bridge-gradient.js.map +1 -1
- package/dist/dimensional/algebra.d.ts +24 -0
- package/dist/dimensional/algebra.d.ts.map +1 -1
- package/dist/dimensional/algebra.js +31 -5
- package/dist/dimensional/algebra.js.map +1 -1
- package/dist/dimensional/ast-builders.d.ts +25 -0
- package/dist/dimensional/ast-builders.d.ts.map +1 -0
- package/dist/dimensional/ast-builders.js +27 -0
- package/dist/dimensional/ast-builders.js.map +1 -0
- package/dist/dimensional/ast-types.d.ts +193 -0
- package/dist/dimensional/ast-types.d.ts.map +1 -0
- package/dist/dimensional/ast-types.js +20 -0
- package/dist/dimensional/ast-types.js.map +1 -0
- package/dist/dimensional/buckingham.d.ts.map +1 -1
- package/dist/dimensional/buckingham.js +7 -4
- package/dist/dimensional/buckingham.js.map +1 -1
- package/dist/dimensional/connection-validators.d.ts +3 -38
- package/dist/dimensional/connection-validators.d.ts.map +1 -1
- package/dist/dimensional/connection-validators.js.map +1 -1
- package/dist/dimensional/connection.d.ts.map +1 -1
- package/dist/dimensional/connection.js +9 -0
- package/dist/dimensional/connection.js.map +1 -1
- package/dist/dimensional/curvature-composite.d.ts +2 -1
- package/dist/dimensional/curvature-composite.d.ts.map +1 -1
- package/dist/dimensional/curvature-invariants.d.ts +2 -11
- package/dist/dimensional/curvature-invariants.d.ts.map +1 -1
- package/dist/dimensional/curvature-invariants.js.map +1 -1
- package/dist/dimensional/curvature.d.ts +5 -24
- package/dist/dimensional/curvature.d.ts.map +1 -1
- package/dist/dimensional/curvature.js.map +1 -1
- package/dist/dimensional/dimension-inference.d.ts.map +1 -1
- package/dist/dimensional/dimension-inference.js +11 -5
- package/dist/dimensional/dimension-inference.js.map +1 -1
- package/dist/dimensional/einstein-equation.d.ts +2 -11
- package/dist/dimensional/einstein-equation.d.ts.map +1 -1
- package/dist/dimensional/einstein-equation.js.map +1 -1
- package/dist/dimensional/killing-validators.d.ts +2 -19
- package/dist/dimensional/killing-validators.d.ts.map +1 -1
- package/dist/dimensional/killing-validators.js.map +1 -1
- package/dist/dimensional/metric-validators.d.ts +5 -39
- package/dist/dimensional/metric-validators.d.ts.map +1 -1
- package/dist/dimensional/metric-validators.js.map +1 -1
- package/dist/dimensional/stress-energy-validators.d.ts +2 -21
- package/dist/dimensional/stress-energy-validators.d.ts.map +1 -1
- package/dist/dimensional/stress-energy-validators.js.map +1 -1
- package/dist/dimensional/tensor.d.ts +2 -32
- package/dist/dimensional/tensor.d.ts.map +1 -1
- package/dist/dimensional/tensor.js.map +1 -1
- package/dist/dimensional/validator.d.ts +12 -58
- package/dist/dimensional/validator.d.ts.map +1 -1
- package/dist/dimensional/validator.js +12 -9
- package/dist/dimensional/validator.js.map +1 -1
- package/dist/dimensional/weyl-validators.d.ts +2 -18
- package/dist/dimensional/weyl-validators.d.ts.map +1 -1
- package/dist/dimensional/weyl-validators.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/numerical/be37-covariant-eikonal.d.ts +12 -11
- package/dist/numerical/be37-covariant-eikonal.d.ts.map +1 -1
- package/dist/numerical/be37-covariant-eikonal.js +23 -8
- package/dist/numerical/be37-covariant-eikonal.js.map +1 -1
- package/dist/numerical/christoffel-flat.d.ts +10 -1
- package/dist/numerical/christoffel-flat.d.ts.map +1 -1
- package/dist/numerical/christoffel-flat.js +11 -2
- package/dist/numerical/christoffel-flat.js.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.d.ts +4 -1
- package/dist/numerical/curvature-lowering-helpers.d.ts.map +1 -1
- package/dist/numerical/curvature-lowering-helpers.js +72 -14
- package/dist/numerical/curvature-lowering-helpers.js.map +1 -1
- package/dist/numerical/engine-registry.d.ts.map +1 -1
- package/dist/numerical/engine-registry.js +11 -0
- package/dist/numerical/engine-registry.js.map +1 -1
- package/dist/numerical/float64-engine.d.ts.map +1 -1
- package/dist/numerical/float64-engine.js +20 -28
- 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 +1 -1
- package/dist/numerical/formula-dimension.js.map +1 -1
- package/dist/numerical/formula.d.ts +0 -2
- package/dist/numerical/formula.d.ts.map +1 -1
- package/dist/numerical/formula.js +7 -3
- package/dist/numerical/formula.js.map +1 -1
- package/dist/numerical/geodesic-integrator.d.ts +6 -1
- package/dist/numerical/geodesic-integrator.d.ts.map +1 -1
- package/dist/numerical/geodesic-integrator.js +14 -6
- package/dist/numerical/geodesic-integrator.js.map +1 -1
- package/dist/numerical/gl4-integrator.d.ts.map +1 -1
- package/dist/numerical/gl4-integrator.js +106 -43
- package/dist/numerical/gl4-integrator.js.map +1 -1
- package/dist/numerical/lowering.d.ts.map +1 -1
- package/dist/numerical/lowering.js +8 -5
- package/dist/numerical/lowering.js.map +1 -1
- package/dist/numerical/null-ic.d.ts +4 -3
- package/dist/numerical/null-ic.d.ts.map +1 -1
- package/dist/numerical/null-ic.js +4 -3
- package/dist/numerical/null-ic.js.map +1 -1
- package/dist/numerical/perihelion-finder.d.ts.map +1 -1
- package/dist/numerical/perihelion-finder.js +15 -1
- package/dist/numerical/perihelion-finder.js.map +1 -1
- package/dist/numerical/quadrature.d.ts +3 -2
- package/dist/numerical/quadrature.d.ts.map +1 -1
- package/dist/numerical/quadrature.js +8 -1
- package/dist/numerical/quadrature.js.map +1 -1
- package/dist/numerical/weyl-lowering.d.ts.map +1 -1
- package/dist/numerical/weyl-lowering.js +28 -2
- package/dist/numerical/weyl-lowering.js.map +1 -1
- package/package.json +3 -2
- package/dist/canonical/entries/l1-gravity-thermo.d.ts +0 -12
- package/dist/canonical/entries/l1-gravity-thermo.d.ts.map +0 -1
- package/dist/canonical/entries/l1-gravity-thermo.js +0 -165
- package/dist/canonical/entries/l1-gravity-thermo.js.map +0 -1
- package/dist/canonical/entries/l1-quantum-em.d.ts +0 -10
- package/dist/canonical/entries/l1-quantum-em.d.ts.map +0 -1
- package/dist/canonical/entries/l1-quantum-em.js +0 -141
- package/dist/canonical/entries/l1-quantum-em.js.map +0 -1
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command registry + the `Command`/`CommandCtx` contract for the UPT CLI.
|
|
3
|
+
*
|
|
4
|
+
* A `Command` is a self-contained verb handler: its own flag specs, its own
|
|
5
|
+
* help block, and a `run` that receives an injected `CommandCtx` (never
|
|
6
|
+
* reaches for `process.stdout`/`process.argv` itself, so it is trivially
|
|
7
|
+
* testable in-process). `main.ts` owns dispatch (`runCli`); this module only
|
|
8
|
+
* owns the registry those commands plug into — new commands register
|
|
9
|
+
* themselves (typically from their own module's top-level side effect, or
|
|
10
|
+
* from a barrel later tasks import) without `runCli`'s body ever changing.
|
|
11
|
+
*/
|
|
12
|
+
import type { ParsedArgs, FlagSpec } from './args.js';
|
|
13
|
+
import type * as cliApi from '../cli-api.js';
|
|
14
|
+
export interface CommandCtx {
|
|
15
|
+
args: ParsedArgs;
|
|
16
|
+
api: typeof cliApi;
|
|
17
|
+
out: (line?: string) => void;
|
|
18
|
+
err: (line?: string) => void;
|
|
19
|
+
write: (s: string) => void;
|
|
20
|
+
}
|
|
21
|
+
export interface Command {
|
|
22
|
+
name: string;
|
|
23
|
+
aliases: string[];
|
|
24
|
+
flags: FlagSpec[];
|
|
25
|
+
help: string;
|
|
26
|
+
run(ctx: CommandCtx): Promise<number>;
|
|
27
|
+
}
|
|
28
|
+
/** Register a command under its name and every alias. Later registrations for
|
|
29
|
+
* an already-taken name/alias overwrite the earlier one (keeps this usable
|
|
30
|
+
* from tests that re-register a stub across cases). */
|
|
31
|
+
export declare function registerCommand(command: Command): void;
|
|
32
|
+
/** Look up a command by its primary name or any alias. */
|
|
33
|
+
export declare function resolveCommand(nameOrAlias: string): Command | undefined;
|
|
34
|
+
/** All distinct registered commands (de-duplicated across aliases), in
|
|
35
|
+
* first-registration order. */
|
|
36
|
+
export declare function allCommands(): Command[];
|
|
37
|
+
/** Test-only registration hook. Same behavior as `registerCommand` — kept as
|
|
38
|
+
* a distinct, deliberately-unexciting name so it reads as test scaffolding
|
|
39
|
+
* (not part of the CLI's own porting surface) at call sites in
|
|
40
|
+
* `tests/cli/*.test.ts`. Not re-exported from `cli-api.ts` or `index.ts`. */
|
|
41
|
+
export declare function registerForTest(command: Command): void;
|
|
42
|
+
/** Test-only reset hook: clears every registered command (including
|
|
43
|
+
* aliases). Lets test files register stub commands without leaking them
|
|
44
|
+
* across files that share the module registry within a single worker. */
|
|
45
|
+
export declare function clearRegistryForTest(): void;
|
|
46
|
+
//# sourceMappingURL=command.d.ts.map
|
|
@@ -0,0 +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;+BAC+B;AAC/B,wBAAgB,WAAW,IAAI,OAAO,EAAE,CASvC;AAED;;;6EAG6E;AAC7E,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEtD;AAED;;yEAEyE;AACzE,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command registry + the `Command`/`CommandCtx` contract for the UPT CLI.
|
|
3
|
+
*
|
|
4
|
+
* A `Command` is a self-contained verb handler: its own flag specs, its own
|
|
5
|
+
* help block, and a `run` that receives an injected `CommandCtx` (never
|
|
6
|
+
* reaches for `process.stdout`/`process.argv` itself, so it is trivially
|
|
7
|
+
* testable in-process). `main.ts` owns dispatch (`runCli`); this module only
|
|
8
|
+
* owns the registry those commands plug into — new commands register
|
|
9
|
+
* themselves (typically from their own module's top-level side effect, or
|
|
10
|
+
* from a barrel later tasks import) without `runCli`'s body ever changing.
|
|
11
|
+
*/
|
|
12
|
+
const registry = new Map();
|
|
13
|
+
/** Register a command under its name and every alias. Later registrations for
|
|
14
|
+
* an already-taken name/alias overwrite the earlier one (keeps this usable
|
|
15
|
+
* from tests that re-register a stub across cases). */
|
|
16
|
+
export function registerCommand(command) {
|
|
17
|
+
registry.set(command.name, command);
|
|
18
|
+
for (const alias of command.aliases)
|
|
19
|
+
registry.set(alias, command);
|
|
20
|
+
}
|
|
21
|
+
/** Look up a command by its primary name or any alias. */
|
|
22
|
+
export function resolveCommand(nameOrAlias) {
|
|
23
|
+
return registry.get(nameOrAlias);
|
|
24
|
+
}
|
|
25
|
+
/** All distinct registered commands (de-duplicated across aliases), in
|
|
26
|
+
* first-registration order. */
|
|
27
|
+
export function allCommands() {
|
|
28
|
+
const seen = new Set();
|
|
29
|
+
const out = [];
|
|
30
|
+
for (const command of registry.values()) {
|
|
31
|
+
if (seen.has(command))
|
|
32
|
+
continue;
|
|
33
|
+
seen.add(command);
|
|
34
|
+
out.push(command);
|
|
35
|
+
}
|
|
36
|
+
return out;
|
|
37
|
+
}
|
|
38
|
+
/** Test-only registration hook. Same behavior as `registerCommand` — kept as
|
|
39
|
+
* a distinct, deliberately-unexciting name so it reads as test scaffolding
|
|
40
|
+
* (not part of the CLI's own porting surface) at call sites in
|
|
41
|
+
* `tests/cli/*.test.ts`. Not re-exported from `cli-api.ts` or `index.ts`. */
|
|
42
|
+
export function registerForTest(command) {
|
|
43
|
+
registerCommand(command);
|
|
44
|
+
}
|
|
45
|
+
/** Test-only reset hook: clears every registered command (including
|
|
46
|
+
* aliases). Lets test files register stub commands without leaking them
|
|
47
|
+
* across files that share the module registry within a single worker. */
|
|
48
|
+
export function clearRegistryForTest() {
|
|
49
|
+
registry.clear();
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=command.js.map
|
|
@@ -0,0 +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;+BAC+B;AAC/B,MAAM,UAAU,WAAW;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAW,CAAC;IAChC,MAAM,GAAG,GAAc,EAAE,CAAC;IAC1B,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAS;QAChC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,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,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared `--max-orders`/`--anchor` parsing — used by both `discover` and
|
|
3
|
+
* `map`'s `--proposed` overlay. In the old CLI, `map`'s `proposedJunctions`
|
|
4
|
+
* passed the raw args straight through `parseDiscoveryOpts` (bin/upt.mjs line
|
|
5
|
+
* 392), so `map --proposed --max-orders=N` genuinely tuned the proposed
|
|
6
|
+
* overlay — the two commands share this validation, not just the shape.
|
|
7
|
+
*
|
|
8
|
+
* Transposed verbatim from bin/upt.mjs's `parseDiscoveryOpts()` (lines
|
|
9
|
+
* 596-632). The two error messages are pinned byte-exact by
|
|
10
|
+
* `tests/cli/upt-discover-opts.test.ts` (which drives the OLD bin, still
|
|
11
|
+
* green and untouched) — do not reword them.
|
|
12
|
+
*/
|
|
13
|
+
import type { ParsedArgs } from '../args.js';
|
|
14
|
+
import type { DiscoveryOptions } from '../../composition/discovery.js';
|
|
15
|
+
export declare function parseDiscoveryOpts(flags: ParsedArgs['flags']): DiscoveryOptions;
|
|
16
|
+
//# sourceMappingURL=_discovery-opts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_discovery-opts.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/_discovery-opts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAgC/E"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { UsageError } from '../errors.js';
|
|
2
|
+
export function parseDiscoveryOpts(flags) {
|
|
3
|
+
const opts = {};
|
|
4
|
+
const moValues = flags.get('max-orders');
|
|
5
|
+
if (moValues && moValues.length > 0) {
|
|
6
|
+
const raw = moValues[moValues.length - 1];
|
|
7
|
+
const n = Number(raw);
|
|
8
|
+
// Reject rather than silently ignore: an empty value coerces to 0 (every
|
|
9
|
+
// pair would clash), a non-numeric one to NaN, and a negative threshold is
|
|
10
|
+
// meaningless.
|
|
11
|
+
if (raw === '' || !Number.isFinite(n) || n < 0) {
|
|
12
|
+
throw new UsageError(`upt: --max-orders must be a non-negative finite number, got "${raw}".`);
|
|
13
|
+
}
|
|
14
|
+
opts.maxOrdersOfMagnitude = n;
|
|
15
|
+
}
|
|
16
|
+
const gt = {};
|
|
17
|
+
for (const x of flags.get('anchor') ?? []) {
|
|
18
|
+
for (const pair of x.split(',')) {
|
|
19
|
+
const eq = pair.indexOf('=');
|
|
20
|
+
const k = eq >= 0 ? pair.slice(0, eq) : pair;
|
|
21
|
+
const v = eq >= 0 ? pair.slice(eq + 1) : '';
|
|
22
|
+
const val = Number(v);
|
|
23
|
+
if (eq < 0 || !k || v === '' || !Number.isFinite(val)) {
|
|
24
|
+
throw new UsageError(`upt: --anchor expects k=v with a finite numeric value, got "${pair}".`);
|
|
25
|
+
}
|
|
26
|
+
gt[k] = val;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (Object.keys(gt).length)
|
|
30
|
+
opts.groundTruth = gt;
|
|
31
|
+
return opts;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=_discovery-opts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_discovery-opts.js","sourceRoot":"","sources":["../../../src/cli/commands/_discovery-opts.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,MAAM,UAAU,kBAAkB,CAAC,KAA0B;IAC3D,MAAM,IAAI,GAA4E,EAAE,CAAC;IAEzF,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,yEAAyE;QACzE,2EAA2E;QAC3E,eAAe;QACf,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,UAAU,CAAC,gEAAgE,GAAG,IAAI,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,EAAE,GAA2B,EAAE,CAAC;IACtC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7C,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,UAAU,CAAC,+DAA+D,IAAI,IAAI,CAAC,CAAC;YAChG,CAAC;YACD,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACd,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM;QAAE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IAElD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"AAOA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAqE/E,eAAO,MAAM,OAAO,EAAE,OAMrB,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { registerCommand } from '../command.js';
|
|
2
|
+
import { resolveGraph } from '../graphs.js';
|
|
3
|
+
import { emitJson } from '../output.js';
|
|
4
|
+
const FLAGS = [
|
|
5
|
+
{ name: '--source', valueStyle: 'attached' },
|
|
6
|
+
{ name: '--json', valueStyle: 'none' },
|
|
7
|
+
];
|
|
8
|
+
const HELP = `upt audit
|
|
9
|
+
Try to derive every built-in bridge equation by dimensions: which
|
|
10
|
+
re-derive as a recognized monomial (with the prefactor recovered),
|
|
11
|
+
which are decoys, which are dimensionally open.`;
|
|
12
|
+
async function run(ctx) {
|
|
13
|
+
const { args, api, out } = ctx;
|
|
14
|
+
const { graph, source } = resolveGraph(api, args.flags);
|
|
15
|
+
const derived = [];
|
|
16
|
+
const decoy = [];
|
|
17
|
+
const open = [];
|
|
18
|
+
for (const e of graph) {
|
|
19
|
+
const d = api.attemptDerivation(e);
|
|
20
|
+
const c = api.dimensionalFreedom(e);
|
|
21
|
+
if (d.status === 'derived')
|
|
22
|
+
derived.push({ e, d, c });
|
|
23
|
+
else if (d.status === 'decoy')
|
|
24
|
+
decoy.push({ e, c });
|
|
25
|
+
else
|
|
26
|
+
open.push({ e, c });
|
|
27
|
+
}
|
|
28
|
+
if (args.flags.has('json')) {
|
|
29
|
+
const openSorted = [...open].sort((a, b) => a.c - b.c);
|
|
30
|
+
emitJson({
|
|
31
|
+
command: 'audit',
|
|
32
|
+
source,
|
|
33
|
+
result: {
|
|
34
|
+
derived: derived.map(({ e, d, c }) => ({
|
|
35
|
+
id: e.id,
|
|
36
|
+
subset: d.subset,
|
|
37
|
+
prefactor: d.prefactor,
|
|
38
|
+
cleanPrefactor: d.cleanPrefactor,
|
|
39
|
+
complexity: c,
|
|
40
|
+
})),
|
|
41
|
+
decoy: decoy.map(({ e, c }) => ({ id: e.id, complexity: c })),
|
|
42
|
+
open: openSorted.map(({ e, c }) => ({ id: e.id, complexity: c })),
|
|
43
|
+
},
|
|
44
|
+
}, ctx.write);
|
|
45
|
+
return 0;
|
|
46
|
+
}
|
|
47
|
+
out('\nDeriving the bridge equations by dimensions');
|
|
48
|
+
out('(form by dimensions; the constant is recovered by matching the evaluator)\n');
|
|
49
|
+
out(` DERIVED (${derived.length}) — recognized monomial, prefactor recovered:`);
|
|
50
|
+
for (const { e, d } of derived) {
|
|
51
|
+
const tag = d.cleanPrefactor ? '' : ' (empirical/tuned constant)';
|
|
52
|
+
out(` ${e.id.padEnd(22)} +[${(d.subset || []).join(',')}] ×${d.prefactor.toExponential(3)}${tag}`);
|
|
53
|
+
}
|
|
54
|
+
out(`\n DECOY (${decoy.length}) — dimensionally valid but wrong form:`);
|
|
55
|
+
out(' ' + decoy.map((x) => x.e.id).join(', '));
|
|
56
|
+
out(`\n OPEN (${open.length}) — irreducible free dimensionless group(s); by complexity:`);
|
|
57
|
+
for (const { e, c } of [...open].sort((a, b) => a.c - b.c)) {
|
|
58
|
+
out(` cplx=${c} ${e.id}`);
|
|
59
|
+
}
|
|
60
|
+
out('\n (derivability is ORTHOGONAL to credibility — see the priority command)');
|
|
61
|
+
return 0;
|
|
62
|
+
}
|
|
63
|
+
export const command = {
|
|
64
|
+
name: 'audit',
|
|
65
|
+
aliases: [],
|
|
66
|
+
flags: FLAGS,
|
|
67
|
+
help: HELP,
|
|
68
|
+
run,
|
|
69
|
+
};
|
|
70
|
+
registerCommand(command);
|
|
71
|
+
//# sourceMappingURL=audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/cli/commands/audit.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,KAAK,GAAe;IACxB,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE;IAC5C,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE;CACvC,CAAC;AAEF,MAAM,IAAI,GAAG;;;wDAG2C,CAAC;AAEzD,KAAK,UAAU,GAAG,CAAC,GAAe;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAExD,MAAM,OAAO,GAAiG,EAAE,CAAC;IACjH,MAAM,KAAK,GAAoD,EAAE,CAAC;IAClE,MAAM,IAAI,GAAoD,EAAE,CAAC;IACjE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACjD,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;YAC/C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,QAAQ,CACN;YACE,OAAO,EAAE,OAAO;YAChB,MAAM;YACN,MAAM,EAAE;gBACN,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACrC,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,cAAc,EAAE,CAAC,CAAC,cAAc;oBAChC,UAAU,EAAE,CAAC;iBACd,CAAC,CAAC;gBACH,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC7D,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;aAClE;SACF,EACD,GAAG,CAAC,KAAK,CACV,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,GAAG,CAAC,+CAA+C,CAAC,CAAC;IACrD,GAAG,CAAC,6EAA6E,CAAC,CAAC;IACnF,GAAG,CAAC,cAAc,OAAO,CAAC,MAAM,+CAA+C,CAAC,CAAC;IACjF,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,8BAA8B,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,SAAU,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAC1G,CAAC;IACD,GAAG,CAAC,cAAc,KAAK,CAAC,MAAM,yCAAyC,CAAC,CAAC;IACzE,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,6DAA6D,CAAC,CAAC;IAC3F,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,GAAG,CAAC,4EAA4E,CAAC,CAAC;IAClF,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAY;IAC9B,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,IAAI;IACV,GAAG;CACJ,CAAC;AAEF,eAAe,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"candidates.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/candidates.ts"],"names":[],"mappings":"AAOA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AA4C/E,eAAO,MAAM,OAAO,EAAE,OAMrB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { registerCommand } from '../command.js';
|
|
2
|
+
import { resolveGraph } from '../graphs.js';
|
|
3
|
+
import { emitJson } from '../output.js';
|
|
4
|
+
const FLAGS = [
|
|
5
|
+
{ name: '--source', valueStyle: 'attached' },
|
|
6
|
+
{ name: '--json', valueStyle: 'none' },
|
|
7
|
+
];
|
|
8
|
+
const HELP = `upt candidates [--source=catalog|canonical|both]
|
|
9
|
+
Propose candidate cross-cluster links (quantities of the same
|
|
10
|
+
dimension in different clusters) for PHYSICIST REVIEW — a
|
|
11
|
+
coincidence-heavy surface, not discovered bridges.`;
|
|
12
|
+
const EPISTEMICS = '⚠ a coincidence-heavy REVIEW SURFACE, NOT discovered bridges. Same dimension is a\n' +
|
|
13
|
+
' weak signal; each needs a physicist to accept or (far more often) reject.';
|
|
14
|
+
async function run(ctx) {
|
|
15
|
+
const { args, api, out } = ctx;
|
|
16
|
+
const { graph, label, source } = resolveGraph(api, args.flags);
|
|
17
|
+
const cands = api.proposeLinkCandidates(graph);
|
|
18
|
+
if (args.flags.has('json')) {
|
|
19
|
+
emitJson({ command: 'candidates', source, epistemics: EPISTEMICS, result: cands }, ctx.write);
|
|
20
|
+
return 0;
|
|
21
|
+
}
|
|
22
|
+
const core = cands.filter((c) => c.touchesCore);
|
|
23
|
+
const ck = cands.filter((c) => c.touchesCore && c.sameKind);
|
|
24
|
+
out(`\nLink candidates — cross-cluster quantities sharing a dimension [source: ${label}]`);
|
|
25
|
+
out('⚠ a coincidence-heavy REVIEW SURFACE, NOT discovered bridges. Same dimension is a');
|
|
26
|
+
out(' weak signal; each needs a physicist to accept or (far more often) reject.\n');
|
|
27
|
+
out(` funnel: ${cands.length} total → ${core.length} touch the anchored core → ${ck.length} also same-kind\n`);
|
|
28
|
+
out(' same-kind + core-touching (the least-implausible set):');
|
|
29
|
+
for (const c of ck)
|
|
30
|
+
out(` ${(c.a + ' ≟ ' + c.b).padEnd(56)} [${c.sharedToken}]`);
|
|
31
|
+
out('\n Most are still coincidences (decoherence-rate ≟ hubble-rate) or pairs the catalog');
|
|
32
|
+
out(' deliberately keeps distinct (effective-mass ≠ mass). The genuinely motivated few —');
|
|
33
|
+
out(' e.g. coarsening-length ≟ quantum-correlation-length (links the isolated Model-A');
|
|
34
|
+
out(' coarsening bridge to the Kibble-Zurek criticality cluster) — are written up in');
|
|
35
|
+
out(' docs/research/Linkage-Candidate-Proposals.md.');
|
|
36
|
+
return 0;
|
|
37
|
+
}
|
|
38
|
+
export const command = {
|
|
39
|
+
name: 'candidates',
|
|
40
|
+
aliases: ['propose'],
|
|
41
|
+
flags: FLAGS,
|
|
42
|
+
help: HELP,
|
|
43
|
+
run,
|
|
44
|
+
};
|
|
45
|
+
registerCommand(command);
|
|
46
|
+
//# sourceMappingURL=candidates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"candidates.js","sourceRoot":"","sources":["../../../src/cli/commands/candidates.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,KAAK,GAAe;IACxB,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE;IAC5C,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE;CACvC,CAAC;AAEF,MAAM,IAAI,GAAG;;;2DAG8C,CAAC;AAE5D,MAAM,UAAU,GACd,qFAAqF;IACrF,6EAA6E,CAAC;AAEhF,KAAK,UAAU,GAAG,CAAC,GAAe;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAE/C,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,QAAQ,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9F,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5D,GAAG,CAAC,8EAA8E,KAAK,GAAG,CAAC,CAAC;IAC5F,GAAG,CAAC,mFAAmF,CAAC,CAAC;IACzF,GAAG,CAAC,+EAA+E,CAAC,CAAC;IACrF,GAAG,CAAC,cAAc,KAAK,CAAC,MAAM,cAAc,IAAI,CAAC,MAAM,gCAAgC,EAAE,CAAC,MAAM,mBAAmB,CAAC,CAAC;IACrH,GAAG,CAAC,0DAA0D,CAAC,CAAC;IAChE,KAAK,MAAM,CAAC,IAAI,EAAE;QAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC;IACpF,GAAG,CAAC,uFAAuF,CAAC,CAAC;IAC7F,GAAG,CAAC,sFAAsF,CAAC,CAAC;IAC5F,GAAG,CAAC,mFAAmF,CAAC,CAAC;IACzF,GAAG,CAAC,kFAAkF,CAAC,CAAC;IACxF,GAAG,CAAC,iDAAiD,CAAC,CAAC;IACvD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAY;IAC9B,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,IAAI;IACV,GAAG;CACJ,CAAC;AAEF,eAAe,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/canonical.ts"],"names":[],"mappings":"AAMA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAmC/E,eAAO,MAAM,OAAO,EAAE,OAMrB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { registerCommand } from '../command.js';
|
|
2
|
+
import { emitJson } from '../output.js';
|
|
3
|
+
const FLAGS = [{ name: '--json', valueStyle: 'none' }];
|
|
4
|
+
const HELP = `upt canonical
|
|
5
|
+
List the canonical-equation registry — the standard-physics L-layer
|
|
6
|
+
(textbook "answer key") with each entry's fidelity (L0/L1/L2),
|
|
7
|
+
domain, and bridge partners, plus the coverage gap.`;
|
|
8
|
+
async function run(ctx) {
|
|
9
|
+
const { args, api, out } = ctx;
|
|
10
|
+
const entries = api.CANONICAL_EQUATIONS;
|
|
11
|
+
const gap = api.bridgesWithoutCanonicalPartner();
|
|
12
|
+
if (args.flags.has('json')) {
|
|
13
|
+
emitJson({ command: 'canonical', result: { entries, gap } }, ctx.write);
|
|
14
|
+
return 0;
|
|
15
|
+
}
|
|
16
|
+
const fidelity = (e) => (e.fieldEquation ? 'L2' : e.scalarAst ? 'L1' : 'L0');
|
|
17
|
+
out('\nCanonical-equation registry — the standard-physics L-layer (Π = L + B + E)');
|
|
18
|
+
out('the textbook "answer key" bridge equations are validated against.\n');
|
|
19
|
+
out(` ${entries.length} entries:\n`);
|
|
20
|
+
out(' fid domain id partners');
|
|
21
|
+
out(' ─────────────────────────────────────────────────────────────────');
|
|
22
|
+
for (const e of entries) {
|
|
23
|
+
const partners = [...e.partnerBridges, ...(e.restatesBridge ? [`=${e.restatesBridge}`] : [])].join(',') || '—';
|
|
24
|
+
out(` ${fidelity(e).padEnd(3)} ${e.domain.padEnd(19)} ${e.id.padEnd(24)} ${partners}`);
|
|
25
|
+
}
|
|
26
|
+
out(`\n coverage: ${gap.length} catalog bridges have no canonical partner yet`);
|
|
27
|
+
out(' (fidelity: L0 dimensional · L1 scalar-AST · L2 field-equation; "=NN" = restatesBridge)');
|
|
28
|
+
return 0;
|
|
29
|
+
}
|
|
30
|
+
export const command = {
|
|
31
|
+
name: 'canonical',
|
|
32
|
+
aliases: ['laws'],
|
|
33
|
+
flags: FLAGS,
|
|
34
|
+
help: HELP,
|
|
35
|
+
run,
|
|
36
|
+
};
|
|
37
|
+
registerCommand(command);
|
|
38
|
+
//# sourceMappingURL=canonical.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canonical.js","sourceRoot":"","sources":["../../../src/cli/commands/canonical.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,KAAK,GAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAEnE,MAAM,IAAI,GAAG;;;4DAG+C,CAAC;AAE7D,KAAK,UAAU,GAAG,CAAC,GAAe;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,mBAAmB,CAAC;IACxC,MAAM,GAAG,GAAG,GAAG,CAAC,8BAA8B,EAAE,CAAC;IAEjD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,QAAQ,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACxE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,CAA2B,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvG,GAAG,CAAC,8EAA8E,CAAC,CAAC;IACpF,GAAG,CAAC,qEAAqE,CAAC,CAAC;IAC3E,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,aAAa,CAAC,CAAC;IACtC,GAAG,CAAC,gEAAgE,CAAC,CAAC;IACtE,GAAG,CAAC,sEAAsE,CAAC,CAAC;IAC5E,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;QAC/G,GAAG,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,GAAG,CAAC,iBAAiB,GAAG,CAAC,MAAM,gDAAgD,CAAC,CAAC;IACjF,GAAG,CAAC,0FAA0F,CAAC,CAAC;IAChG,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAY;IAC9B,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,CAAC,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,IAAI;IACV,GAAG;CACJ,CAAC;AAEF,eAAe,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/connectors.ts"],"names":[],"mappings":"AAQA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAoD/E,eAAO,MAAM,OAAO,EAAE,OAMrB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { registerCommand } from '../command.js';
|
|
2
|
+
import { resolveGraph } from '../graphs.js';
|
|
3
|
+
import { emitJson } from '../output.js';
|
|
4
|
+
const FLAGS = [
|
|
5
|
+
{ name: '--source', valueStyle: 'attached' },
|
|
6
|
+
{ name: '--json', valueStyle: 'none' },
|
|
7
|
+
];
|
|
8
|
+
const HELP = `upt connectors
|
|
9
|
+
Of the 20 ISOLATED bridges, which could connect to the anchored
|
|
10
|
+
core via a same-dimension identification? The structural frontier —
|
|
11
|
+
same-kind connectors are the motivated set for physicist review.`;
|
|
12
|
+
const EPISTEMICS = '⚠ A REVIEW SURFACE: same dimension is a WEAK prior; most are decoys (a Förster\n' +
|
|
13
|
+
' radius is not a Schwarzschild radius). Same-kind (shared name token) = stronger.';
|
|
14
|
+
async function run(ctx) {
|
|
15
|
+
const { args, api, out } = ctx;
|
|
16
|
+
const { graph, source } = resolveGraph(api, args.flags);
|
|
17
|
+
const r = api.proposeOrphanConnectors(graph);
|
|
18
|
+
if (args.flags.has('json')) {
|
|
19
|
+
emitJson({ command: 'connectors', source, epistemics: EPISTEMICS, result: r }, ctx.write);
|
|
20
|
+
return 0;
|
|
21
|
+
}
|
|
22
|
+
out('\nOrphan connectors — same-dimension identifications that would pull an ISOLATED');
|
|
23
|
+
out("bridge into the anchored core (the catalog's structural frontier).");
|
|
24
|
+
out('⚠ A REVIEW SURFACE: same dimension is a WEAK prior; most are decoys (a Förster');
|
|
25
|
+
out(' radius is not a Schwarzschild radius). Same-kind (shared name token) = stronger.\n');
|
|
26
|
+
out(` ${r.connectedOrphans.length} of the isolated bridges have a same-kind connector; ` +
|
|
27
|
+
`${r.unconnectedOrphans.length} are truly unconnected.\n`);
|
|
28
|
+
out(' SAME-KIND connectors (the motivated set — orphan ≟ core via shared token):');
|
|
29
|
+
let lastOrphan = '';
|
|
30
|
+
for (const c of r.connectors.filter((x) => x.sameKind)) {
|
|
31
|
+
if (c.orphanEdge !== lastOrphan) {
|
|
32
|
+
out(` ── ${c.orphanEdge} (isolated):`);
|
|
33
|
+
lastOrphan = c.orphanEdge;
|
|
34
|
+
}
|
|
35
|
+
out(` ${(c.orphanQuantity + ' ≟ ' + c.coreQuantity).padEnd(54)} [${c.dim}] → ${c.coreEdge}`);
|
|
36
|
+
}
|
|
37
|
+
out(`\n truly unconnected (no same-dimension bridge into them): ${r.unconnectedOrphans.join(', ')}`);
|
|
38
|
+
out('\n Physicist-reasoned ranking + the genuinely-motivated few (e.g. coarsening-length ≟');
|
|
39
|
+
out(' quantum-correlation-length; tunneling-mass ≟ effective-mass) are written up in');
|
|
40
|
+
out(' docs/research/Orphan-Connector-Analysis.md and proposed in spec Part-IX §9.');
|
|
41
|
+
return 0;
|
|
42
|
+
}
|
|
43
|
+
export const command = {
|
|
44
|
+
name: 'connectors',
|
|
45
|
+
aliases: ['orphans'],
|
|
46
|
+
flags: FLAGS,
|
|
47
|
+
help: HELP,
|
|
48
|
+
run,
|
|
49
|
+
};
|
|
50
|
+
registerCommand(command);
|
|
51
|
+
//# sourceMappingURL=connectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectors.js","sourceRoot":"","sources":["../../../src/cli/commands/connectors.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,KAAK,GAAe;IACxB,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE;IAC5C,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE;CACvC,CAAC;AAEF,MAAM,IAAI,GAAG;;;yEAG4D,CAAC;AAE1E,MAAM,UAAU,GACd,kFAAkF;IAClF,oFAAoF,CAAC;AAEvF,KAAK,UAAU,GAAG,CAAC,GAAe;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,GAAG,GAAG,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAE7C,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,QAAQ,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1F,OAAO,CAAC,CAAC;IACX,CAAC;IAED,GAAG,CAAC,kFAAkF,CAAC,CAAC;IACxF,GAAG,CAAC,oEAAoE,CAAC,CAAC;IAC1E,GAAG,CAAC,gFAAgF,CAAC,CAAC;IACtF,GAAG,CAAC,sFAAsF,CAAC,CAAC;IAC5F,GAAG,CACD,KAAK,CAAC,CAAC,gBAAgB,CAAC,MAAM,uDAAuD;QACnF,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,2BAA2B,CAC5D,CAAC;IACF,GAAG,CAAC,8EAA8E,CAAC,CAAC;IACpF,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YAChC,GAAG,CAAC,UAAU,CAAC,CAAC,UAAU,cAAc,CAAC,CAAC;YAC1C,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;QAC5B,CAAC;QACD,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,GAAG,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,GAAG,CAAC,+DAA+D,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtG,GAAG,CAAC,wFAAwF,CAAC,CAAC;IAC9F,GAAG,CAAC,kFAAkF,CAAC,CAAC;IACxF,GAAG,CAAC,+EAA+E,CAAC,CAAC;IACrF,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAY;IAC9B,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,CAAC,SAAS,CAAC;IACpB,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,IAAI;IACV,GAAG;CACJ,CAAC;AAEF,eAAe,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/coverage.ts"],"names":[],"mappings":"AAMA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AAuC/E,eAAO,MAAM,OAAO,EAAE,OAMrB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { registerCommand } from '../command.js';
|
|
2
|
+
import { emitJson } from '../output.js';
|
|
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
|
|
7
|
+
target the physicist review. Fabricates nothing.`;
|
|
8
|
+
const EPISTEMICS = '(reads the catalog/graph/confrontation modules; fabricates nothing)';
|
|
9
|
+
async function run(ctx) {
|
|
10
|
+
const { args, api, out } = ctx;
|
|
11
|
+
const r = api.auditCoverage();
|
|
12
|
+
if (args.flags.has('json')) {
|
|
13
|
+
emitJson({ command: 'coverage', epistemics: EPISTEMICS, result: r }, ctx.write);
|
|
14
|
+
return 0;
|
|
15
|
+
}
|
|
16
|
+
out("\nEmpirical-spine coverage — where the catalog's grounding is thin");
|
|
17
|
+
out(EPISTEMICS + '\n');
|
|
18
|
+
out(` ${r.total} bridges by grounding tier:`);
|
|
19
|
+
out(` data-confronted : ${r.byTier['data-confronted']} (real-data confrontation)`);
|
|
20
|
+
out(` graph-computable : ${r.byTier['graph-computable']} (graph edge + dimensional signature)`);
|
|
21
|
+
out(` encoded-only : ${r.byTier['encoded-only']} (dimensional signature, no graph edge)`);
|
|
22
|
+
out(` thin : ${r.byTier['thin']} (no dimensional signature)`);
|
|
23
|
+
out(`\n gaps: ${r.withoutDataConfrontation} without a data confrontation · ` +
|
|
24
|
+
`${r.withoutCitation} without any citation`);
|
|
25
|
+
if (r.thinBridges.length) {
|
|
26
|
+
out(` thinnest (no dimensional signature): BE-${r.thinBridges.join(', BE-')}`);
|
|
27
|
+
}
|
|
28
|
+
out('\n (a targeting tool for the CONTRIBUTING.md physicist review, not a quality score.)');
|
|
29
|
+
return 0;
|
|
30
|
+
}
|
|
31
|
+
export const command = {
|
|
32
|
+
name: 'coverage',
|
|
33
|
+
aliases: ['grounding'],
|
|
34
|
+
flags: FLAGS,
|
|
35
|
+
help: HELP,
|
|
36
|
+
run,
|
|
37
|
+
};
|
|
38
|
+
registerCommand(command);
|
|
39
|
+
//# sourceMappingURL=coverage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage.js","sourceRoot":"","sources":["../../../src/cli/commands/coverage.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,KAAK,GAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;AAEnE,MAAM,IAAI,GAAG;;;yDAG4C,CAAC;AAE1D,MAAM,UAAU,GAAG,qEAAqE,CAAC;AAEzF,KAAK,UAAU,GAAG,CAAC,GAAe;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAC/B,MAAM,CAAC,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;IAE9B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAChF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,GAAG,CAAC,oEAAoE,CAAC,CAAC;IAC1E,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACvB,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,6BAA6B,CAAC,CAAC;IAC/C,GAAG,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,CAAC;IACxF,GAAG,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,wCAAwC,CAAC,CAAC;IACpG,GAAG,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,0CAA0C,CAAC,CAAC;IAClG,GAAG,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC;IAC9E,GAAG,CACD,cAAc,CAAC,CAAC,wBAAwB,kCAAkC;QACxE,GAAG,CAAC,CAAC,eAAe,uBAAuB,CAC9C,CAAC;IACF,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QACzB,GAAG,CAAC,6CAA6C,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,GAAG,CAAC,uFAAuF,CAAC,CAAC;IAC7F,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAY;IAC9B,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,CAAC,WAAW,CAAC;IACtB,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,IAAI;IACV,GAAG;CACJ,CAAC;AAEF,eAAe,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/derive.ts"],"names":[],"mappings":"AASA,OAAO,EAAmB,KAAK,OAAO,EAAmB,MAAM,eAAe,CAAC;AA0J/E,eAAO,MAAM,OAAO,EAAE,OAMrB,CAAC"}
|