Download spec/szl.lambda.v1.json from SZLHOLDINGS/szl-lambda-gate: direct link, hf CLI and curl.
- Browser
- Download file 4.57 kB
-
https://huggingface.co/kernels/SZLHOLDINGS/szl-lambda-gate/resolve/main/spec/szl.lambda.v1.json
- Command line
-
hf download hf://SZLHOLDINGS/szl-lambda-gate/spec/szl.lambda.v1.json
-
curl -L -o szl.lambda.v1.json https://huggingface.co/kernels/SZLHOLDINGS/szl-lambda-gate/resolve/main/spec/szl.lambda.v1.json
4.57 kB
| { | |
| "schema": "szl.lambda/v1", | |
| "title": "Λ, the weighted geometric mean, as a validated contract", | |
| "status": "ADVISORY", | |
| "uniqueness": "CONJECTURE_1_NOT_USED", | |
| "honesty": "Λ is an advisory, non-compensatory roll-up. Λ uniqueness is Conjecture 1 (open); nothing in this contract depends on it.", | |
| "form": "weighted_geometric_mean", | |
| "definition": "Λ_w(x) = ∏_k x_k^{w_k}", | |
| "algorithm": { | |
| "log_lambda": "-inf if some x_k == 0, else math.fsum(w_k * math.log(x_k))", | |
| "lambda": "0.0 if log_lambda == -inf, else math.exp(log_lambda)", | |
| "weight_sum": "math.fsum(weights)", | |
| "why_fsum": "fsum is correctly rounded, so Λ is bitwise invariant under a permutation of (axes, weights)" | |
| }, | |
| "domain": { | |
| "axes": "list or tuple of real numbers (bool is not a number); every x_k finite and 0 <= x_k <= 1", | |
| "weights": "list or tuple of real numbers, the same length as axes; every w_k finite and w_k > 0; |fsum(weights) - 1| <= weight_sum_tol", | |
| "empty": "error LAMBDA_EMPTY, never 0.0", | |
| "renormalisation": "never: weights are used as declared", | |
| "clamping": "never: a non-finite or out-of-range value is an error", | |
| "rounding": "never before the compare", | |
| "output": "Λ in [0, 1]; exactly 0.0 iff some x_k == 0 (a veto, not an error)" | |
| }, | |
| "weight_sum_tol": 1e-12, | |
| "error_codes": [ | |
| { | |
| "code": "LAMBDA_TYPE_INVALID", | |
| "when": "axes or weights is not a list/tuple (checked first), or an element is not a real number (checked after LAMBDA_LENGTH_MISMATCH)" | |
| }, | |
| { | |
| "code": "LAMBDA_EMPTY", | |
| "when": "axes or weights is empty" | |
| }, | |
| { | |
| "code": "LAMBDA_LENGTH_MISMATCH", | |
| "when": "len(axes) != len(weights); a dropped axis is never renormalised away" | |
| }, | |
| { | |
| "code": "LAMBDA_NONFINITE_AXIS", | |
| "when": "some x_k is NaN, +Inf or -Inf" | |
| }, | |
| { | |
| "code": "LAMBDA_AXIS_OUT_OF_RANGE", | |
| "when": "some x_k < 0 or x_k > 1" | |
| }, | |
| { | |
| "code": "LAMBDA_NONFINITE_WEIGHT", | |
| "when": "some w_k is NaN, +Inf or -Inf" | |
| }, | |
| { | |
| "code": "LAMBDA_WEIGHT_NONPOSITIVE", | |
| "when": "some w_k <= 0" | |
| }, | |
| { | |
| "code": "LAMBDA_WEIGHT_SUM", | |
| "when": "|fsum(weights) - 1| > weight_sum_tol, or the sum overflows" | |
| }, | |
| { | |
| "code": "LAMBDA_TAU_INVALID", | |
| "when": "gate only: tau is not a real number, not finite, or outside (0, 1]; checked before Λ" | |
| } | |
| ], | |
| "precedence": "Checks run in the order of error_codes, each over every element, so the reported code does not depend on axis order. The gate checks tau first.", | |
| "gate": { | |
| "signature": "gate_v1(axes, weights, tau) -> (verdict, code)", | |
| "verdicts": [ | |
| "GO", | |
| "NO_GO", | |
| "ABSTAIN", | |
| "BLOCK" | |
| ], | |
| "tau": { | |
| "required": true, | |
| "implicit_default": null, | |
| "domain": "real, finite, 0 < tau <= 1 (tau = 0 would pass a vetoed Λ = 0)", | |
| "error": "LAMBDA_TAU_INVALID", | |
| "default_source": "frontier/model_admit_contract.v1.json#/policy_tau", | |
| "policy_tau_at_authoring": 0.8 | |
| }, | |
| "compare": "log space on the unrounded value: delta = log_lambda - log(tau)", | |
| "tie_eps": 1e-09, | |
| "rules": [ | |
| { | |
| "if": "tau invalid, or Λ raises", | |
| "verdict": "BLOCK", | |
| "code": "the error code" | |
| }, | |
| { | |
| "if": "log_lambda == -inf (some axis is 0)", | |
| "verdict": "NO_GO", | |
| "code": "ZERO_VETO" | |
| }, | |
| { | |
| "if": "abs(delta) <= tie_eps", | |
| "verdict": "ABSTAIN", | |
| "code": "NUMERIC_TIE" | |
| }, | |
| { | |
| "if": "delta > 0", | |
| "verdict": "GO", | |
| "code": null | |
| }, | |
| { | |
| "if": "otherwise", | |
| "verdict": "NO_GO", | |
| "code": "BELOW_TAU" | |
| } | |
| ] | |
| }, | |
| "canonical_float": "f64:<16 lowercase hex digits of the IEEE-754 binary64 bits, big-endian>", | |
| "vectors": { | |
| "path": "spec/lambda_v1_vectors.json", | |
| "count": 60, | |
| "sha256": "61bfb0410b9f0eaab0eb9f22f29cb7cb13cfde8c083fe308d895565d6ba9ebd4", | |
| "digest": { | |
| "algorithm": "sha256", | |
| "over": "canonical_json", | |
| "sort_keys": true, | |
| "separators": [ | |
| ",", | |
| ":" | |
| ], | |
| "ensure_ascii": false, | |
| "allow_nan": false, | |
| "encoding": "utf-8" | |
| } | |
| }, | |
| "reference": "reference/szl_lambda_v1.py", | |
| "legacy_not_canonical": [ | |
| "tests/lambda_aggregator_source.py: +Inf counts as 1, NaN leaks, empty gives 0.0, weights are renormalised", | |
| "torch-ext/szl_lambda_gate/_lambda.py lambda_aggregate: clamps, routes NaN/Inf to 0, renormalises; pinned in tests/test_lambda_v1_torch_divergence.py" | |
| ] | |
| } | |