universal-physics-tensor 8.0.0 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -6
- package/data/atlas/atlas.json +21 -21
- package/data/atlas/atlas.jsonld +1 -1
- package/data/atlas/diffusion.json +5 -5
- package/data/atlas/oscillators.json +7 -7
- package/data/atlas/waves.json +11 -11
- package/data/bridge-catalog.json +490 -338
- package/data/bridge-catalog.schema.json +566 -40
- package/data/quantities.json +230 -218
- package/data/quantities.schema.json +52 -0
- package/data/units.json +1149 -0
- package/data/units.schema.json +124 -0
- package/dist/atlas/association.d.ts +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
- package/dist/atlas/benchmark/hybrid-retrieval.js +2 -5
- package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
- package/dist/atlas/physjs-entries.generated.d.ts +1601 -220
- package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
- package/dist/atlas/physjs-entries.generated.js +1854 -345
- package/dist/atlas/physjs-entries.generated.js.map +1 -1
- package/dist/atlas/physjs-ref.d.ts +89 -89
- package/dist/atlas/physjs-ref.d.ts.map +1 -1
- package/dist/atlas/physjs-ref.js +128 -176
- package/dist/atlas/physjs-ref.js.map +1 -1
- package/dist/atlas/proof-target.d.ts +16 -8
- package/dist/atlas/proof-target.d.ts.map +1 -1
- package/dist/atlas/proof-target.js +34 -31
- package/dist/atlas/proof-target.js.map +1 -1
- package/dist/bridges/catalog-adapter.d.ts.map +1 -1
- package/dist/bridges/catalog-adapter.js +5 -5
- package/dist/bridges/catalog-adapter.js.map +1 -1
- package/dist/bridges/catalog-load.d.ts +7 -0
- package/dist/bridges/catalog-load.d.ts.map +1 -1
- package/dist/bridges/catalog-load.js +69 -13
- package/dist/bridges/catalog-load.js.map +1 -1
- package/dist/bridges/catalog-types.d.ts +51 -6
- package/dist/bridges/catalog-types.d.ts.map +1 -1
- package/dist/bridges/evaluation-errors.d.ts +76 -0
- package/dist/bridges/evaluation-errors.d.ts.map +1 -0
- package/dist/bridges/evaluation-errors.js +118 -0
- package/dist/bridges/evaluation-errors.js.map +1 -0
- package/dist/bridges/evaluator-inputs.d.ts +5 -3
- package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
- package/dist/bridges/evaluator-inputs.js +24 -24
- package/dist/bridges/evaluator-inputs.js.map +1 -1
- package/dist/bridges/evaluators.d.ts +32 -7
- package/dist/bridges/evaluators.d.ts.map +1 -1
- package/dist/bridges/evaluators.js +131 -29
- package/dist/bridges/evaluators.js.map +1 -1
- package/dist/bridges/expr-parse.d.ts +11 -3
- package/dist/bridges/expr-parse.d.ts.map +1 -1
- package/dist/bridges/expr-parse.js +46 -153
- package/dist/bridges/expr-parse.js.map +1 -1
- package/dist/bridges/holds.d.ts +11 -7
- package/dist/bridges/holds.d.ts.map +1 -1
- package/dist/bridges/holds.js +113 -234
- package/dist/bridges/holds.js.map +1 -1
- package/dist/bridges/input-contract.d.ts +65 -0
- package/dist/bridges/input-contract.d.ts.map +1 -0
- package/dist/bridges/input-contract.js +97 -0
- package/dist/bridges/input-contract.js.map +1 -0
- package/dist/bridges/notices.d.ts +11 -0
- package/dist/bridges/notices.d.ts.map +1 -0
- package/dist/bridges/notices.js +22 -0
- package/dist/bridges/notices.js.map +1 -0
- package/dist/canonical/canonical-equation.d.ts +31 -0
- package/dist/canonical/canonical-equation.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.d.ts.map +1 -1
- package/dist/canonical/entries/atomic.js +11 -1
- package/dist/canonical/entries/atomic.js.map +1 -1
- package/dist/canonical/entries/condensed-matter.d.ts.map +1 -1
- package/dist/canonical/entries/condensed-matter.js +3 -0
- package/dist/canonical/entries/condensed-matter.js.map +1 -1
- package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
- package/dist/canonical/entries/dimensional-classics.js +48 -0
- 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 +30 -0
- package/dist/canonical/entries/electromagnetism.js.map +1 -1
- package/dist/canonical/entries/fluids-waves.d.ts.map +1 -1
- package/dist/canonical/entries/fluids-waves.js +34 -0
- package/dist/canonical/entries/fluids-waves.js.map +1 -1
- package/dist/canonical/entries/mechanics.d.ts.map +1 -1
- package/dist/canonical/entries/mechanics.js +24 -0
- package/dist/canonical/entries/mechanics.js.map +1 -1
- package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
- package/dist/canonical/entries/nonmonomial.js +15 -4
- package/dist/canonical/entries/nonmonomial.js.map +1 -1
- package/dist/canonical/entries/relativity.d.ts.map +1 -1
- package/dist/canonical/entries/relativity.js +6 -0
- package/dist/canonical/entries/relativity.js.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.d.ts.map +1 -1
- package/dist/canonical/entries/statistical-mechanics.js +19 -0
- package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
- package/dist/canonical/entries/thermo-nuclear-cosmo.js +15 -0
- package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
- package/dist/cases/index.d.ts +9 -2
- package/dist/cases/index.d.ts.map +1 -1
- package/dist/cases/index.js +26 -7
- package/dist/cases/index.js.map +1 -1
- package/dist/cases/kepler-rv.js +6 -6
- package/dist/cases/kepler-rv.js.map +1 -1
- package/dist/cli/commands/_discovery-opts.d.ts +2 -1
- package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
- package/dist/cli/commands/_discovery-opts.js +7 -12
- package/dist/cli/commands/_discovery-opts.js.map +1 -1
- package/dist/cli/commands/atlas.d.ts.map +1 -1
- package/dist/cli/commands/atlas.js +6 -9
- package/dist/cli/commands/atlas.js.map +1 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +1 -2
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/connectors.d.ts.map +1 -1
- package/dist/cli/commands/connectors.js +8 -9
- package/dist/cli/commands/connectors.js.map +1 -1
- package/dist/cli/commands/derive.js +9 -10
- package/dist/cli/commands/derive.js.map +1 -1
- package/dist/cli/commands/discover.d.ts.map +1 -1
- package/dist/cli/commands/discover.js +3 -4
- package/dist/cli/commands/discover.js.map +1 -1
- package/dist/cli/commands/eval.d.ts.map +1 -1
- package/dist/cli/commands/eval.js +17 -17
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts +1 -35
- package/dist/cli/commands/evaluate.d.ts.map +1 -1
- package/dist/cli/commands/evaluate.js +56 -187
- package/dist/cli/commands/evaluate.js.map +1 -1
- package/dist/cli/commands/explain.d.ts.map +1 -1
- package/dist/cli/commands/explain.js +43 -38
- package/dist/cli/commands/explain.js.map +1 -1
- package/dist/cli/commands/ground.js +1 -1
- package/dist/cli/commands/ground.js.map +1 -1
- package/dist/cli/commands/map.js +3 -4
- package/dist/cli/commands/map.js.map +1 -1
- package/dist/cli/commands/metric.d.ts.map +1 -1
- package/dist/cli/commands/metric.js +3 -0
- package/dist/cli/commands/metric.js.map +1 -1
- package/dist/cli/commands/regime.js +1 -1
- package/dist/cli/commands/regime.js.map +1 -1
- package/dist/cli/commands/symbolic.d.ts.map +1 -1
- package/dist/cli/commands/symbolic.js +5 -2
- package/dist/cli/commands/symbolic.js.map +1 -1
- package/dist/cli/commands/testplan.js +3 -3
- package/dist/cli/commands/testplan.js.map +1 -1
- package/dist/cli/conventions.d.ts +6 -7
- package/dist/cli/conventions.d.ts.map +1 -1
- package/dist/cli/conventions.js +19 -28
- package/dist/cli/conventions.js.map +1 -1
- package/dist/cli/euler-guard.d.ts +13 -2
- package/dist/cli/euler-guard.d.ts.map +1 -1
- package/dist/cli/euler-guard.js +17 -3
- package/dist/cli/euler-guard.js.map +1 -1
- package/dist/cli/eval-numbers.d.ts +4 -9
- package/dist/cli/eval-numbers.d.ts.map +1 -1
- package/dist/cli/eval-numbers.js +11 -41
- package/dist/cli/eval-numbers.js.map +1 -1
- package/dist/cli/published-url.d.ts +2 -0
- package/dist/cli/published-url.d.ts.map +1 -1
- package/dist/cli/published-url.js +5 -0
- package/dist/cli/published-url.js.map +1 -1
- package/dist/cli/record-tables.d.ts +2 -1
- package/dist/cli/record-tables.d.ts.map +1 -1
- package/dist/cli/record-tables.js +8 -3
- package/dist/cli/record-tables.js.map +1 -1
- package/dist/cli-api.d.ts +45 -12
- package/dist/cli-api.d.ts.map +1 -1
- package/dist/cli-api.js +38 -11
- package/dist/cli-api.js.map +1 -1
- package/dist/composition/adjudication.d.ts +8 -30
- package/dist/composition/adjudication.d.ts.map +1 -1
- package/dist/composition/adjudication.js +15 -67
- package/dist/composition/adjudication.js.map +1 -1
- package/dist/composition/aliases.d.ts +1 -1
- package/dist/composition/aliases.d.ts.map +1 -1
- package/dist/composition/aliases.js +10 -20
- package/dist/composition/aliases.js.map +1 -1
- package/dist/composition/bridge-analysis.d.ts +4 -0
- package/dist/composition/bridge-analysis.d.ts.map +1 -1
- package/dist/composition/bridge-analysis.js +13 -14
- package/dist/composition/bridge-analysis.js.map +1 -1
- package/dist/composition/canonical-graph.d.ts +7 -9
- package/dist/composition/canonical-graph.d.ts.map +1 -1
- package/dist/composition/canonical-graph.js +35 -19
- package/dist/composition/canonical-graph.js.map +1 -1
- package/dist/composition/canonical-prefactors.d.ts +10 -29
- package/dist/composition/canonical-prefactors.d.ts.map +1 -1
- package/dist/composition/canonical-prefactors.js +15 -202
- package/dist/composition/canonical-prefactors.js.map +1 -1
- package/dist/composition/compose.js +2 -1
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/discovery.d.ts +50 -0
- package/dist/composition/discovery.d.ts.map +1 -1
- package/dist/composition/discovery.js +2 -2
- package/dist/composition/discovery.js.map +1 -1
- package/dist/composition/edge.d.ts +0 -14
- package/dist/composition/edge.d.ts.map +1 -1
- package/dist/composition/edge.js +1 -17
- package/dist/composition/edge.js.map +1 -1
- package/dist/composition/evaluate-relation.d.ts +29 -5
- package/dist/composition/evaluate-relation.d.ts.map +1 -1
- package/dist/composition/evaluate-relation.js +100 -72
- package/dist/composition/evaluate-relation.js.map +1 -1
- package/dist/composition/explain.d.ts +5 -0
- package/dist/composition/explain.d.ts.map +1 -1
- package/dist/composition/explain.js +9 -8
- package/dist/composition/explain.js.map +1 -1
- package/dist/composition/expr-eval.d.ts.map +1 -1
- package/dist/composition/expr-eval.js +2 -1
- package/dist/composition/expr-eval.js.map +1 -1
- package/dist/composition/index.d.ts +3 -1
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +3 -1
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/proposed-bridges.d.ts.map +1 -1
- package/dist/composition/proposed-bridges.js +3 -2
- package/dist/composition/proposed-bridges.js.map +1 -1
- package/dist/composition/retrodiction.d.ts +8 -0
- package/dist/composition/retrodiction.d.ts.map +1 -1
- package/dist/composition/retrodiction.js +5 -0
- package/dist/composition/retrodiction.js.map +1 -1
- package/dist/composition/user-equation.d.ts +11 -7
- package/dist/composition/user-equation.d.ts.map +1 -1
- package/dist/composition/user-equation.js +24 -26
- package/dist/composition/user-equation.js.map +1 -1
- package/dist/core/constants.d.ts +27 -4
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +38 -5
- package/dist/core/constants.js.map +1 -1
- package/dist/core/data-file.d.ts +27 -0
- package/dist/core/data-file.d.ts.map +1 -0
- package/dist/core/data-file.js +48 -0
- package/dist/core/data-file.js.map +1 -0
- package/dist/core/json-schema.d.ts +27 -0
- package/dist/core/json-schema.d.ts.map +1 -0
- package/dist/core/json-schema.js +153 -0
- package/dist/core/json-schema.js.map +1 -0
- package/dist/core/types.d.ts +3 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +16 -14
- package/dist/core/types.js.map +1 -1
- package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
- package/dist/diff/bridge-ast-gradient.js +6 -17
- package/dist/diff/bridge-ast-gradient.js.map +1 -1
- package/dist/diff/bridge-specs.d.ts +2 -1
- package/dist/diff/bridge-specs.d.ts.map +1 -1
- package/dist/diff/bridge-specs.js +1 -1
- package/dist/diff/bridge-specs.js.map +1 -1
- package/dist/dimensional/bridge-check.d.ts.map +1 -1
- package/dist/dimensional/bridge-check.js +3 -5
- package/dist/dimensional/bridge-check.js.map +1 -1
- package/dist/dimensional/constant-rows.d.ts +54 -0
- package/dist/dimensional/constant-rows.d.ts.map +1 -0
- package/dist/dimensional/constant-rows.js +111 -0
- package/dist/dimensional/constant-rows.js.map +1 -0
- package/dist/dimensional/constants.d.ts +4 -13
- package/dist/dimensional/constants.d.ts.map +1 -1
- package/dist/dimensional/constants.js +11 -19
- package/dist/dimensional/constants.js.map +1 -1
- package/dist/dimensional/dimension-spec.d.ts +12 -3
- package/dist/dimensional/dimension-spec.d.ts.map +1 -1
- package/dist/dimensional/dimension-spec.js +114 -150
- package/dist/dimensional/dimension-spec.js.map +1 -1
- package/dist/dimensional/exact-scale.d.ts +79 -0
- package/dist/dimensional/exact-scale.d.ts.map +1 -0
- package/dist/dimensional/exact-scale.js +222 -0
- package/dist/dimensional/exact-scale.js.map +1 -0
- package/dist/dimensional/formula-names.d.ts +13 -12
- package/dist/dimensional/formula-names.d.ts.map +1 -1
- package/dist/dimensional/formula-names.js +28 -51
- package/dist/dimensional/formula-names.js.map +1 -1
- package/dist/dimensional/quantity-registry.d.ts +10 -1
- package/dist/dimensional/quantity-registry.d.ts.map +1 -1
- package/dist/dimensional/quantity-registry.js +45 -16
- package/dist/dimensional/quantity-registry.js.map +1 -1
- package/dist/dimensional/symbolic-constants.d.ts +63 -19
- package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
- package/dist/dimensional/symbolic-constants.js +109 -92
- package/dist/dimensional/symbolic-constants.js.map +1 -1
- package/dist/dimensional/unit-data.d.ts +70 -0
- package/dist/dimensional/unit-data.d.ts.map +1 -0
- package/dist/dimensional/unit-data.js +135 -0
- package/dist/dimensional/unit-data.js.map +1 -0
- package/dist/dimensional/units.d.ts +87 -24
- package/dist/dimensional/units.d.ts.map +1 -1
- package/dist/dimensional/units.js +253 -276
- package/dist/dimensional/units.js.map +1 -1
- package/dist/index.d.ts +15 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -4
- package/dist/index.js.map +1 -1
- package/dist/numerical/binding-value.d.ts +21 -1
- package/dist/numerical/binding-value.d.ts.map +1 -1
- package/dist/numerical/binding-value.js +123 -118
- package/dist/numerical/binding-value.js.map +1 -1
- package/dist/numerical/evaluator-uncertainty.d.ts +34 -0
- package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -0
- package/dist/numerical/evaluator-uncertainty.js +117 -0
- package/dist/numerical/evaluator-uncertainty.js.map +1 -0
- package/dist/numerical/formula-contract.d.ts +4 -0
- package/dist/numerical/formula-contract.d.ts.map +1 -1
- package/dist/numerical/formula-contract.js +7 -0
- package/dist/numerical/formula-contract.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts +9 -0
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js +64 -10
- package/dist/numerical/formula-dimension.js.map +1 -1
- package/dist/numerical/formula-mathts.d.ts.map +1 -1
- package/dist/numerical/formula-mathts.js +6 -2
- package/dist/numerical/formula-mathts.js.map +1 -1
- package/dist/numerical/gl4-integrator.d.ts.map +1 -1
- package/dist/numerical/gl4-integrator.js +3 -3
- package/dist/numerical/gl4-integrator.js.map +1 -1
- package/dist/numerical/spacetime-metrics.d.ts +4 -0
- package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
- package/dist/numerical/spacetime-metrics.js +34 -4
- package/dist/numerical/spacetime-metrics.js.map +1 -1
- package/dist/relations/types.d.ts +8 -1
- package/dist/relations/types.d.ts.map +1 -1
- package/dist/relations/types.js +10 -0
- package/dist/relations/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -6,11 +6,14 @@
|
|
|
6
6
|
* body is absent. Nothing here is written into the catalog, the
|
|
7
7
|
* formal-reference overlay, or the vendored manifest.
|
|
8
8
|
*
|
|
9
|
-
* A
|
|
10
|
-
* `
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
9
|
+
* A draft is a new target, so its `kind` is `derivation-step`, one of
|
|
10
|
+
* `FORMAL_REF_KINDS`, stated as its own field and its own `-- kind:` line.
|
|
11
|
+
* The covers line names the hypothesis the dimensional theorem leaves open
|
|
12
|
+
* and does not begin with a kind word. A confirmation of a catalog id and a
|
|
13
|
+
* restatement of a bridge are not new targets: no draft is made for them.
|
|
14
|
+
* The import `PhysJS.Dimensional` is present when that filter named one of
|
|
15
|
+
* its theorems. `Dim` is fixed at `n = 7` in the base order
|
|
16
|
+
* `src/dimensional/types.ts` declares.
|
|
14
17
|
*
|
|
15
18
|
* @module atlas/proof-target
|
|
16
19
|
*/
|
|
@@ -36,36 +39,33 @@ function dimensionalTheorem(candidate) {
|
|
|
36
39
|
return MONOMIAL;
|
|
37
40
|
return undefined;
|
|
38
41
|
}
|
|
39
|
-
/**
|
|
42
|
+
/**
|
|
43
|
+
* The kind of the target `candidate` would be. A unique monomial and an
|
|
44
|
+
* unfixed shape are a step a derivation still has to close. A confirmation
|
|
45
|
+
* names an id the catalog has and a restatement names a bridge it has, so
|
|
46
|
+
* neither is a new target and both are refused.
|
|
47
|
+
*/
|
|
48
|
+
function draftKind(candidate) {
|
|
49
|
+
if (candidate.kind === 'confirmation' || candidate.kind === 'restatement') {
|
|
50
|
+
throw new Error(`proof target: a ${candidate.kind} is not a new target; no draft is made for chain ${candidate.edgeIds.join(', ')}`);
|
|
51
|
+
}
|
|
52
|
+
return 'derivation-step';
|
|
53
|
+
}
|
|
54
|
+
/** Covers line: the hypothesis left open. It does not begin with a kind word; the kind is its own field. */
|
|
40
55
|
function coversLine(candidate) {
|
|
41
56
|
const theorem = dimensionalTheorem(candidate);
|
|
42
57
|
if (theorem === MONOMIAL) {
|
|
43
|
-
return ('
|
|
58
|
+
return ('PhysJS.Dimensional.monomial_form. The constant is unfixed. ' +
|
|
44
59
|
'f(1,…,1) is unfixed. The exponent vector is a hypothesis. ' +
|
|
45
60
|
'A unit change that can reach every positive tuple is a hypothesis.');
|
|
46
61
|
}
|
|
47
|
-
if (theorem === PRODUCT)
|
|
48
|
-
return
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
return ('derivation-step: PhysJS.Dimensional.ratio_power_invariant. The real power p is unfixed.');
|
|
55
|
-
}
|
|
56
|
-
if (candidate.kind === 'unfixed-shape') {
|
|
57
|
-
return 'derivation-step: the constant is unfixed.';
|
|
58
|
-
}
|
|
59
|
-
if (candidate.kind === 'confirmation') {
|
|
60
|
-
const id = candidate.catalogId === undefined ? '' : ` ${candidate.catalogId}`;
|
|
61
|
-
return `confirmation: catalog id${id}. The run reports the id and writes nothing.`;
|
|
62
|
-
}
|
|
63
|
-
if (candidate.kind === 'restatement') {
|
|
64
|
-
const canon = candidate.canonicalId ?? '';
|
|
65
|
-
const bridge = candidate.restatesBridge ?? '';
|
|
66
|
-
return `restatement: ${canon} restates ${bridge}. Not a new equation.`;
|
|
67
|
-
}
|
|
68
|
-
return 'statement skeleton only';
|
|
62
|
+
if (theorem === PRODUCT)
|
|
63
|
+
return 'PhysJS.Dimensional.product_shape. The constant is unfixed. f(1,1) is unfixed.';
|
|
64
|
+
if (theorem === RATIO)
|
|
65
|
+
return 'PhysJS.Dimensional.ratio_shape. The function of the ratio is unfixed.';
|
|
66
|
+
if (theorem === POWER)
|
|
67
|
+
return 'PhysJS.Dimensional.ratio_power_invariant. The real power p is unfixed.';
|
|
68
|
+
return 'The constant is unfixed.';
|
|
69
69
|
}
|
|
70
70
|
function targetKey(candidate) {
|
|
71
71
|
if (candidate.id !== undefined && candidate.id.length > 0)
|
|
@@ -94,18 +94,21 @@ function assertTheorems(candidate, seedTheorems) {
|
|
|
94
94
|
* The draft `emitProofTarget` renders into the comment block.
|
|
95
95
|
*
|
|
96
96
|
* `seedTheorems` is one PhysJS theorem name per seed step, in chain order.
|
|
97
|
-
* A name that disagrees with the compiled manifest copy is refused
|
|
97
|
+
* A name that disagrees with the compiled manifest copy is refused, and so
|
|
98
|
+
* is a confirmation or a restatement candidate, which is not a new target.
|
|
98
99
|
* The object is not written anywhere.
|
|
99
100
|
*
|
|
100
101
|
* @internal
|
|
101
102
|
*/
|
|
102
103
|
export function proofTargetDraft(candidate, seedTheorems) {
|
|
104
|
+
const kind = draftKind(candidate);
|
|
103
105
|
assertTheorems(candidate, seedTheorems);
|
|
104
106
|
const key = targetKey(candidate);
|
|
105
107
|
return {
|
|
106
108
|
key,
|
|
107
109
|
bridgeId: key,
|
|
108
110
|
theorem: leanIdent(key),
|
|
111
|
+
kind,
|
|
109
112
|
covers: coversLine(candidate),
|
|
110
113
|
coverage: 'statement skeleton only',
|
|
111
114
|
leanProof: 'absent',
|
|
@@ -138,7 +141,7 @@ export function emitProofTarget(candidate, seedTheorems) {
|
|
|
138
141
|
for (const name of seedTheorems) {
|
|
139
142
|
lines.push(`-- theorem: ${name}`);
|
|
140
143
|
}
|
|
141
|
-
lines.push('', `-- covers: ${draft.covers}`, '');
|
|
144
|
+
lines.push('', `-- kind: ${draft.kind}`, `-- covers: ${draft.covers}`, '');
|
|
142
145
|
if (theorem !== undefined) {
|
|
143
146
|
lines.push('-- Dim : Fin 7 → ℚ', '-- base order: L, M, T, I, Theta, N, J', '');
|
|
144
147
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proof-target.js","sourceRoot":"","sources":["../../src/atlas/proof-target.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"proof-target.js","sourceRoot":"","sources":["../../src/atlas/proof-target.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-adapter.d.ts","sourceRoot":"","sources":["../../src/bridges/catalog-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACpB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACX,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"catalog-adapter.d.ts","sourceRoot":"","sources":["../../src/bridges/catalog-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACpB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,iBAAiB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACX,MAAM,uBAAuB,CAAC;AAU/B;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC;CACtC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7C,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,iEAAiE;IACjE,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CAC/C;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,SAAgB,MAAM,EAAE,sBAAsB,CAAC;IAE/C,YAAY,MAAM,EAAE,sBAAsB,EAQzC;CACF;AAuDD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,aAAa,CAAC,mBAAmB,CAAC,GAC1C,aAAa,CAAC,UAAU,CAAC,CAO3B;AA+GD;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,aAAa,CAAC,mBAAmB,CAAC,GAC1C,sBAAsB,CAuCxB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,aAAa,CAAC,mBAAmB,CAAC,GAC1C,sBAAsB,CASxB;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,sBAAsB,GAC7B,UAAU,CAYZ"}
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
* @module bridges/catalog-adapter
|
|
30
30
|
*/
|
|
31
31
|
import { EXPECTED_DIMENSION_BY_BRIDGE } from '../dimensional/bridge-check.js';
|
|
32
|
+
import { catalogEntries } from './catalog-load.js';
|
|
32
33
|
import { format } from '../dimensional/algebra.js';
|
|
33
34
|
/**
|
|
34
35
|
* Thrown by `ingestCatalog` when Rule 1 reports any errors. The
|
|
@@ -160,10 +161,9 @@ function entryToBridgeCell(entry) {
|
|
|
160
161
|
* - 'error' diagnostic: dimensional_signature is structurally null,
|
|
161
162
|
* or non-null but does not match the expected dimension from
|
|
162
163
|
* `EXPECTED_DIMENSION_BY_BRIDGE`.
|
|
163
|
-
* - 'info' diagnostic: no expected entry for this bridge ID
|
|
164
|
-
*
|
|
165
|
-
*
|
|
166
|
-
* gap.
|
|
164
|
+
* - 'info' diagnostic: no expected entry for this bridge ID; the
|
|
165
|
+
* message states how many catalog rows the table covers, counted
|
|
166
|
+
* when it is printed. We can't enforce, but we record the gap.
|
|
167
167
|
*
|
|
168
168
|
* @internal
|
|
169
169
|
*/
|
|
@@ -190,7 +190,7 @@ function checkDimensionalConsistency(entry) {
|
|
|
190
190
|
ruleName: 'dimensional-consistency',
|
|
191
191
|
cellId,
|
|
192
192
|
message: `BE-${entry.id} ('${entry.name}') has no entry in ` +
|
|
193
|
-
`EXPECTED_DIMENSION_BY_BRIDGE (
|
|
193
|
+
`EXPECTED_DIMENSION_BY_BRIDGE (${EXPECTED_DIMENSION_BY_BRIDGE.size} of ${catalogEntries().length} catalog rows covered); ` +
|
|
194
194
|
`dimensional-consistency check skipped for this entry.`,
|
|
195
195
|
};
|
|
196
196
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-adapter.js","sourceRoot":"","sources":["../../src/bridges/catalog-adapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"catalog-adapter.js","sourceRoot":"","sources":["../../src/bridges/catalog-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,13 @@ export declare function relationsForCatalog(id: number): readonly CatalogRelatio
|
|
|
24
24
|
* when several relations share the id. Otherwise the first relation does.
|
|
25
25
|
*/
|
|
26
26
|
export declare function primaryRelation(id: number): CatalogRelation | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* The catalog number a piece of text names (`42`, `be-42`, `BE-42`), or
|
|
29
|
+
* undefined when it names none (an atlas id, a canonical id, a quantity).
|
|
30
|
+
* The one place a bridge id is read from text; {@link parseBridgeId} throws
|
|
31
|
+
* where this returns undefined.
|
|
32
|
+
*/
|
|
33
|
+
export declare function catalogIdNumber(raw: string): number | undefined;
|
|
27
34
|
/**
|
|
28
35
|
* Parse a catalog id from a number or from text the caller typed.
|
|
29
36
|
* Accepts `42`, `be-42`, and `BE-42`. This is the only such parser.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-load.d.ts","sourceRoot":"","sources":["../../src/bridges/catalog-load.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"catalog-load.d.ts","sourceRoot":"","sources":["../../src/bridges/catalog-load.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAEhB,WAAW,EACX,eAAe,EAChB,MAAM,oBAAoB,CAAC;AA2D5B,0BAA0B;AAC1B,wBAAgB,aAAa,IAAI,WAAW,CAE3C;AAED,mCAAmC;AACnC,wBAAgB,cAAc,IAAI,SAAS,YAAY,EAAE,CAExD;AAED,mCAAmC;AACnC,wBAAgB,gBAAgB,IAAI,SAAS,eAAe,EAAE,CAE7D;AAED,gDAAgD;AAChD,wBAAgB,iBAAiB,IAAI,SAAS,gBAAgB,EAAE,CAE/D;AAED,qCAAqC;AACrC,wBAAgB,qBAAqB,IAAI,SAAS,oBAAoB,EAAE,CAEvE;AAWD,8CAA8C;AAC9C,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEjE;AAED,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,eAAe,EAAE,CAE1E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAGvE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG/D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAY/D;AAED,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEjD"}
|
|
@@ -4,20 +4,66 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @module bridges/catalog-load
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
import { checkedDataFile } from '../core/data-file.js';
|
|
8
|
+
/**
|
|
9
|
+
* `data/bridge-catalog.json`, checked against `data/bridge-catalog.schema.json`
|
|
10
|
+
* (every record's `type`, the relation, evaluator, parameter and confrontation
|
|
11
|
+
* shapes) and against what a schema cannot state: `count` is the number of entries.
|
|
12
|
+
*/
|
|
10
13
|
function loadFile() {
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
if (entry.type !== 'standard' && entry.type !== 'cross-domain') {
|
|
15
|
-
throw new Error(`catalog record ${entry.id} has no type`);
|
|
16
|
-
}
|
|
14
|
+
const file = checkedDataFile('bridge-catalog.json');
|
|
15
|
+
if (file.count !== file.entries.length) {
|
|
16
|
+
throw new Error(`data/bridge-catalog.json: count is ${file.count} but the file has ${file.entries.length} entries`);
|
|
17
17
|
}
|
|
18
18
|
return file;
|
|
19
19
|
}
|
|
20
|
-
|
|
20
|
+
/**
|
|
21
|
+
* The validity clause a parameter's sign states, in the relation's own source
|
|
22
|
+
* name. An absolute temperature is nonnegative unless the parameter says `any`.
|
|
23
|
+
*/
|
|
24
|
+
function signClause(parameter, source) {
|
|
25
|
+
const sign = parameter.sign ?? (parameter.temperature === 'absolute' ? 'nonnegative' : undefined);
|
|
26
|
+
if (sign === 'positive')
|
|
27
|
+
return `${source} > 0`;
|
|
28
|
+
if (sign === 'nonnegative')
|
|
29
|
+
return `${source} >= 0`;
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Add the sign clauses the evaluator parameters state to the relation they
|
|
34
|
+
* evaluate. The validity domain is derived from the flags, so a new bridge
|
|
35
|
+
* that flags its inputs cannot leave the domain behind. A clause the record
|
|
36
|
+
* already states is not repeated.
|
|
37
|
+
*/
|
|
38
|
+
function deriveDomains(file) {
|
|
39
|
+
const relations = file.relations.map((relation) => {
|
|
40
|
+
if (relation.catalogId === null)
|
|
41
|
+
return relation;
|
|
42
|
+
const evaluator = file.evaluators.find((row) => row.catalogId === relation.catalogId);
|
|
43
|
+
if (evaluator === undefined)
|
|
44
|
+
return relation;
|
|
45
|
+
const clauses = [];
|
|
46
|
+
for (const parameter of evaluator.parameters) {
|
|
47
|
+
const source = relation.sources.find((name) => name === parameter.key || (relation.aliases[name] ?? []).includes(parameter.key)) ??
|
|
48
|
+
(relation.sources.includes(parameter.quantity) ? parameter.quantity : undefined);
|
|
49
|
+
if (source === undefined)
|
|
50
|
+
continue;
|
|
51
|
+
const clause = signClause(parameter, source);
|
|
52
|
+
if (clause !== undefined && !relation.holds.includes(clause))
|
|
53
|
+
clauses.push(clause);
|
|
54
|
+
}
|
|
55
|
+
if (clauses.length === 0)
|
|
56
|
+
return relation;
|
|
57
|
+
const stated = relation.holds.trim() === 'true' ? '' : `${relation.holds} and `;
|
|
58
|
+
return {
|
|
59
|
+
...relation,
|
|
60
|
+
holds: `${stated}${clauses.join(' and ')}`,
|
|
61
|
+
domain: relation.domain === '' ? clauses.join(', ') : `${relation.domain}; ${clauses.join(', ')}`,
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
return { ...file, relations };
|
|
65
|
+
}
|
|
66
|
+
const CATALOG = deriveDomains(loadFile());
|
|
21
67
|
/** The loaded catalog. */
|
|
22
68
|
export function bridgeCatalog() {
|
|
23
69
|
return CATALOG;
|
|
@@ -65,6 +111,16 @@ export function primaryRelation(id) {
|
|
|
65
111
|
const rows = relationsForCatalog(id);
|
|
66
112
|
return rows.find((row) => row.id === `be-${id}`) ?? rows[0];
|
|
67
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* The catalog number a piece of text names (`42`, `be-42`, `BE-42`), or
|
|
116
|
+
* undefined when it names none (an atlas id, a canonical id, a quantity).
|
|
117
|
+
* The one place a bridge id is read from text; {@link parseBridgeId} throws
|
|
118
|
+
* where this returns undefined.
|
|
119
|
+
*/
|
|
120
|
+
export function catalogIdNumber(raw) {
|
|
121
|
+
const match = /^(?:be-)?(\d+)$/i.exec(raw.trim());
|
|
122
|
+
return match === null ? undefined : Number(match[1]);
|
|
123
|
+
}
|
|
68
124
|
/**
|
|
69
125
|
* Parse a catalog id from a number or from text the caller typed.
|
|
70
126
|
* Accepts `42`, `be-42`, and `BE-42`. This is the only such parser.
|
|
@@ -76,11 +132,11 @@ export function parseBridgeId(bridgeId) {
|
|
|
76
132
|
}
|
|
77
133
|
return bridgeId;
|
|
78
134
|
}
|
|
79
|
-
const
|
|
80
|
-
if (
|
|
135
|
+
const id = catalogIdNumber(bridgeId);
|
|
136
|
+
if (id === undefined) {
|
|
81
137
|
throw new TypeError(`parseBridgeId: '${bridgeId}' is not a catalog id`);
|
|
82
138
|
}
|
|
83
|
-
return
|
|
139
|
+
return id;
|
|
84
140
|
}
|
|
85
141
|
/** Graph id for a catalog number: the stable key, not a switch. */
|
|
86
142
|
export function catalogEdgeKey(id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-load.js","sourceRoot":"","sources":["../../src/bridges/catalog-load.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"catalog-load.js","sourceRoot":"","sources":["../../src/bridges/catalog-load.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ export interface CatalogEntry extends BridgeEquationEntry {
|
|
|
21
21
|
readonly type: CatalogFiling;
|
|
22
22
|
readonly derivedFrom?: readonly string[];
|
|
23
23
|
readonly basis?: true;
|
|
24
|
+
/** The PhysJS manifest key. The reference and its kind are that entry's. */
|
|
24
25
|
readonly formalKey?: string;
|
|
25
26
|
readonly assumptions?: readonly string[];
|
|
26
27
|
readonly scopeLimits?: readonly string[];
|
|
@@ -61,8 +62,10 @@ export interface CatalogRelation {
|
|
|
61
62
|
readonly conventions?: Conventions;
|
|
62
63
|
readonly counterexamples?: readonly Counterexample[];
|
|
63
64
|
readonly reference?: CatalogReference;
|
|
64
|
-
/** A
|
|
65
|
-
readonly notice?:
|
|
65
|
+
/** A caveat the record states beside its value. The text is the record's; nothing switches on it. */
|
|
66
|
+
readonly notice?: {
|
|
67
|
+
readonly text: string;
|
|
68
|
+
};
|
|
66
69
|
/** A generic numerical method this record calls. Never a bridge number. */
|
|
67
70
|
readonly method?: string;
|
|
68
71
|
}
|
|
@@ -75,6 +78,14 @@ export interface CatalogEvaluatorParameter {
|
|
|
75
78
|
readonly meaning: string;
|
|
76
79
|
readonly geometry?: 'radius' | 'diameter' | 'separation' | 'impact-parameter' | 'semi-major-axis';
|
|
77
80
|
readonly temperature?: 'absolute';
|
|
81
|
+
/**
|
|
82
|
+
* The sign this input must have. `positive` is `> 0`, `nonnegative` is `>= 0`,
|
|
83
|
+
* and `any` states that the quantity is signed and overrides the temperature
|
|
84
|
+
* rule. An absolute temperature is `nonnegative` when no sign is stated.
|
|
85
|
+
*/
|
|
86
|
+
readonly sign?: 'positive' | 'nonnegative' | 'any';
|
|
87
|
+
/** An angular frequency in rad/s. A cycle unit (Hz, rpm) given to it is multiplied by 2π. */
|
|
88
|
+
readonly angular?: true;
|
|
78
89
|
readonly alternates?: readonly {
|
|
79
90
|
readonly key: string;
|
|
80
91
|
readonly meaning: string;
|
|
@@ -82,11 +93,27 @@ export interface CatalogEvaluatorParameter {
|
|
|
82
93
|
}[];
|
|
83
94
|
readonly optional?: true;
|
|
84
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* A second number the same record returns beside its `value`. The expression
|
|
98
|
+
* reads evaluator parameter keys, the constants, and `value`.
|
|
99
|
+
*
|
|
100
|
+
* @public
|
|
101
|
+
*/
|
|
102
|
+
export interface CatalogEvaluatorOutput {
|
|
103
|
+
/** The result key, with its unit as a suffix (`E_F_J`). */
|
|
104
|
+
readonly name: string;
|
|
105
|
+
readonly unit: string;
|
|
106
|
+
readonly meaning: string;
|
|
107
|
+
readonly expression: string;
|
|
108
|
+
/** Optional parameter keys this output needs. It is left out when one is not given. */
|
|
109
|
+
readonly requires?: readonly string[];
|
|
110
|
+
}
|
|
85
111
|
/** The input contract of one catalog evaluator. */
|
|
86
112
|
export interface CatalogEvaluator {
|
|
87
113
|
readonly catalogId: number;
|
|
88
114
|
readonly name: string;
|
|
89
115
|
readonly parameters: readonly CatalogEvaluatorParameter[];
|
|
116
|
+
readonly outputs?: readonly CatalogEvaluatorOutput[];
|
|
90
117
|
}
|
|
91
118
|
/** One committed data confrontation of a catalog record. */
|
|
92
119
|
export interface CatalogConfrontation {
|
|
@@ -108,12 +135,30 @@ export interface CatalogFile {
|
|
|
108
135
|
readonly relations: readonly CatalogRelation[];
|
|
109
136
|
readonly evaluators: readonly CatalogEvaluator[];
|
|
110
137
|
readonly confrontations: readonly CatalogConfrontation[];
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
readonly verdict: string;
|
|
114
|
-
}[];
|
|
138
|
+
/** The adjudication ledger: recorded verdicts on identification hypotheses. `composition/adjudication.ts` projects it. */
|
|
139
|
+
readonly adjudications: readonly CatalogAdjudication[];
|
|
115
140
|
readonly spine: Readonly<Record<string, Readonly<Record<string, number>>>>;
|
|
116
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* A recorded human verdict on an identification hypothesis `a ≟ b`.
|
|
144
|
+
* - `genuine` — real physics AND a new link (nothing recorded qualifies yet).
|
|
145
|
+
* - `entailed` — real physics already carried by the L-layer; not a new link.
|
|
146
|
+
* - `decoy` — dimensional coincidence / no mechanism, including trivial and definitional identifications.
|
|
147
|
+
* - `deferred` — reviewed and consciously parked (not the same as absent, which means never reviewed).
|
|
148
|
+
*/
|
|
149
|
+
export type AdjudicationVerdict = 'genuine' | 'decoy' | 'entailed' | 'deferred';
|
|
150
|
+
/** One record of the adjudication ledger in `data/bridge-catalog.json`. */
|
|
151
|
+
export interface CatalogAdjudication {
|
|
152
|
+
/** `candidateId(a, b)` of the identification: the two slugs in sorted order, joined by `~`. */
|
|
153
|
+
readonly id: string;
|
|
154
|
+
readonly verdict: AdjudicationVerdict;
|
|
155
|
+
/** Why, condensed from the adjudication document; never machine-generated. */
|
|
156
|
+
readonly grounds: string;
|
|
157
|
+
/** Repo-relative path of the adjudication document. */
|
|
158
|
+
readonly source: string;
|
|
159
|
+
/** ISO date the verdict was recorded. */
|
|
160
|
+
readonly date: string;
|
|
161
|
+
}
|
|
117
162
|
/** Lifecycle status of a catalog row. */
|
|
118
163
|
export type { BridgeEquationStatus };
|
|
119
164
|
//# sourceMappingURL=catalog-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-types.d.ts","sourceRoot":"","sources":["../../src/bridges/catalog-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,cAAc,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,mBAAmB;IACvD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;IAC5B,wDAAwD;IACxD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,gEAAgE;AAChE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,KAAK,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,aAAa,GAAG,aAAa,GAAG,oBAAoB,CAAC;IAC1E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IACtC,
|
|
1
|
+
{"version":3,"file":"catalog-types.d.ts","sourceRoot":"","sources":["../../src/bridges/catalog-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The errors one evaluation throws, in the order it checks: the bindings
|
|
3
|
+
* against the declared inputs first (an unknown key, a non-number, a number
|
|
4
|
+
* that is not finite, a key given twice, an absent input), then the validity
|
|
5
|
+
* domain. An input error says what the caller left out or misspelled; a
|
|
6
|
+
* domain error says the physics refuses the values. The library throws these classes so a caller can tell them
|
|
7
|
+
* apart by type, never by message text.
|
|
8
|
+
*
|
|
9
|
+
* @module bridges/evaluation-errors
|
|
10
|
+
*/
|
|
11
|
+
/** A required input is absent. It is not a physically bad value. @public */
|
|
12
|
+
export declare class MissingInputError extends Error {
|
|
13
|
+
readonly id: string;
|
|
14
|
+
readonly missing: readonly string[];
|
|
15
|
+
readonly inputs: readonly string[];
|
|
16
|
+
/** The id evaluated, the absent keys, and every declared key. */
|
|
17
|
+
constructor(id: string, missing: readonly string[], inputs: readonly string[]);
|
|
18
|
+
}
|
|
19
|
+
/** A binding names no declared input, alias or alternate of the id. @public */
|
|
20
|
+
export declare class UnknownInputError extends Error {
|
|
21
|
+
readonly id: string | undefined;
|
|
22
|
+
readonly key: string;
|
|
23
|
+
readonly inputs: readonly string[];
|
|
24
|
+
/** The id evaluated (absent when the reader was not told it), the unknown key, and every declared key. */
|
|
25
|
+
constructor(id: string | undefined, key: string, inputs: readonly string[]);
|
|
26
|
+
}
|
|
27
|
+
/** A binding's value is not a number. A `TypeError`, as before it was typed. @public */
|
|
28
|
+
export declare class InputTypeError extends TypeError {
|
|
29
|
+
readonly id: string;
|
|
30
|
+
readonly key: string;
|
|
31
|
+
readonly got: string;
|
|
32
|
+
/** The id evaluated, the key, and the JavaScript type that was given. */
|
|
33
|
+
constructor(id: string, key: string, got: string);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* A binding's value is a number that is not finite (`NaN`, `Infinity`,
|
|
37
|
+
* `-Infinity`). It is refused before the domain, so a validity predicate never
|
|
38
|
+
* sees it and a closed form never turns it into an unset result. @public
|
|
39
|
+
*/
|
|
40
|
+
export declare class NonFiniteInputError extends Error {
|
|
41
|
+
readonly id: string;
|
|
42
|
+
readonly key: string;
|
|
43
|
+
readonly value: number;
|
|
44
|
+
/** The id evaluated, the key, and the value that was given. */
|
|
45
|
+
constructor(id: string, key: string, value: number);
|
|
46
|
+
}
|
|
47
|
+
/** One input is given twice, under two of its spellings (its key, an alias, or an alternate). @public */
|
|
48
|
+
export declare class DuplicateInputError extends Error {
|
|
49
|
+
readonly id: string | undefined;
|
|
50
|
+
readonly key: string;
|
|
51
|
+
readonly spellings: readonly [string, string];
|
|
52
|
+
/** The id evaluated (absent when the reader was not told it), the input, and the two spellings it was given under. */
|
|
53
|
+
constructor(id: string | undefined, key: string, spellings: readonly [string, string]);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* True for an error the input contract throws: an absent, unknown, non-number,
|
|
57
|
+
* non-finite or twice-given input. A caller that reports input errors one way
|
|
58
|
+
* and domain errors another asks this, not the message.
|
|
59
|
+
* @internal
|
|
60
|
+
*/
|
|
61
|
+
export declare function isInputContractError(error: unknown): error is MissingInputError | UnknownInputError | InputTypeError | NonFiniteInputError | DuplicateInputError;
|
|
62
|
+
/**
|
|
63
|
+
* Evaluation refused: the inputs fall outside the relation's validity domain.
|
|
64
|
+
*
|
|
65
|
+
* Honest deviation from design D-3's "domain-incompatible at compose
|
|
66
|
+
* time": domain predicates are opaque functions, so incompatibility is
|
|
67
|
+
* detectable only at evaluation. This error is thrown by `evaluateEdge`, by
|
|
68
|
+
* a catalog evaluator, and by composed edges internally, not by
|
|
69
|
+
* `composeEdges`.
|
|
70
|
+
*
|
|
71
|
+
* @public
|
|
72
|
+
*/
|
|
73
|
+
export declare class DomainViolationError extends Error {
|
|
74
|
+
constructor(message: string);
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=evaluation-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluation-errors.d.ts","sourceRoot":"","sources":["../../src/bridges/evaluation-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,4EAA4E;AAC5E,qBAAa,iBAAkB,SAAQ,KAAK;IAGxC,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE;IAJpC,iEAAiE;IACjE,YACW,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,MAAM,EAAE,SAAS,MAAM,EAAE,EAInC;CACF;AAID,+EAA+E;AAC/E,qBAAa,iBAAkB,SAAQ,KAAK;IAGxC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE;IAJpC,0GAA0G;IAC1G,YACW,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,SAAS,MAAM,EAAE,EAInC;CACF;AAED,wFAAwF;AACxF,qBAAa,cAAe,SAAQ,SAAS;IAGzC,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM;IAJtB,yEAAyE;IACzE,YACW,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EAIrB;CACF;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAG1C,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAJxB,+DAA+D;IAC/D,YACW,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EAIvB;CACF;AAED,yGAAyG;AACzG,qBAAa,mBAAoB,SAAQ,KAAK;IAG1C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAJ/C,sHAAsH;IACtH,YACW,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAQ9C;CACF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,iBAAiB,GAAG,iBAAiB,GAAG,cAAc,GAAG,mBAAmB,GAAG,mBAAmB,CAQ7G;AAED;;;;;;;;;;GAUG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF"}
|