{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/math.geometry.triangle/1.1.0/input.json",
  "title": "Triangle solver — input",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "mode": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "pattern": "^\\s*(?:[sS][\\s-]*[sS][\\s-]*[sS]|[sS][\\s-]*[iI][\\s-]*[dD][\\s-]*[eE][\\s-]*[sS]|[sS][\\s-]*[aA][\\s-]*[sS]|[aA][\\s-]*[sS][\\s-]*[aA]|[aA][\\s-]*[aA][\\s-]*[sS]|[sS][\\s-]*[sS][\\s-]*[aA]|[aA][\\s-]*[mM][\\s-]*[bB][\\s-]*[iI][\\s-]*[gG][\\s-]*[uU][\\s-]*[oO][\\s-]*[uU][\\s-]*[sS])\\s*$",
      "description": "SSS(default):a,b,c; SAS:a,b,C_deg; ASA:A_deg,B_deg,c; AAS:A_deg,B_deg,a; SSA:a,A_deg,b. Case/spacing/hyphen aliases normalize. SSA retains all candidates."
    },
    "a": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^\\s*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ],
      "description": "Strict decimal number/string, max1024 characters. Positive sides; degree angles strictly0<angle<180. Nonzero inputs must be normal binary64. Text nonzero-to-zero rejects NUMERIC_UNDERFLOW; subnormal rejects NUMERIC_RANGE. A/B/C aliases must agree with A_deg/B_deg/C_deg.",
      "x-quantity-kind": "length",
      "x-dimension": [
        1,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-unit-policy": "arbitrary_consistent_length",
      "x-uuce-role": "scalar"
    },
    "b": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^\\s*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ],
      "description": "Strict decimal number/string, max1024 characters. Positive sides; degree angles strictly0<angle<180. Nonzero inputs must be normal binary64. Text nonzero-to-zero rejects NUMERIC_UNDERFLOW; subnormal rejects NUMERIC_RANGE. A/B/C aliases must agree with A_deg/B_deg/C_deg.",
      "x-quantity-kind": "length",
      "x-dimension": [
        1,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-unit-policy": "arbitrary_consistent_length",
      "x-uuce-role": "scalar"
    },
    "c": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^\\s*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ],
      "description": "Strict decimal number/string, max1024 characters. Positive sides; degree angles strictly0<angle<180. Nonzero inputs must be normal binary64. Text nonzero-to-zero rejects NUMERIC_UNDERFLOW; subnormal rejects NUMERIC_RANGE. A/B/C aliases must agree with A_deg/B_deg/C_deg.",
      "x-quantity-kind": "length",
      "x-dimension": [
        1,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-unit-policy": "arbitrary_consistent_length",
      "x-uuce-role": "scalar"
    },
    "A_deg": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^\\s*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ],
      "description": "Strict decimal number/string, max1024 characters. Positive sides; degree angles strictly0<angle<180. Nonzero inputs must be normal binary64. Text nonzero-to-zero rejects NUMERIC_UNDERFLOW; subnormal rejects NUMERIC_RANGE. A/B/C aliases must agree with A_deg/B_deg/C_deg.",
      "x-unit": "deg",
      "x-unit-id": "cx:deg",
      "x-quantity-kind": "plane_angle",
      "x-role": "scalar",
      "x-dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-uuce-unit": {
        "unit_id": "cx:deg",
        "revision": "1.0.0",
        "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
        "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
        "quantity_kind": "plane_angle",
        "dimension": [
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "registry_version": "0.3.0-preview.3",
        "digest_contract": "calculatorx-unit-definition-digests-v2",
        "registry_status": "preview",
        "definition_lifecycle": "candidate",
        "role": "scalar"
      }
    },
    "B_deg": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^\\s*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ],
      "description": "Strict decimal number/string, max1024 characters. Positive sides; degree angles strictly0<angle<180. Nonzero inputs must be normal binary64. Text nonzero-to-zero rejects NUMERIC_UNDERFLOW; subnormal rejects NUMERIC_RANGE. A/B/C aliases must agree with A_deg/B_deg/C_deg.",
      "x-unit": "deg",
      "x-unit-id": "cx:deg",
      "x-quantity-kind": "plane_angle",
      "x-role": "scalar",
      "x-dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-uuce-unit": {
        "unit_id": "cx:deg",
        "revision": "1.0.0",
        "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
        "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
        "quantity_kind": "plane_angle",
        "dimension": [
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "registry_version": "0.3.0-preview.3",
        "digest_contract": "calculatorx-unit-definition-digests-v2",
        "registry_status": "preview",
        "definition_lifecycle": "candidate",
        "role": "scalar"
      }
    },
    "C_deg": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^\\s*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ],
      "description": "Strict decimal number/string, max1024 characters. Positive sides; degree angles strictly0<angle<180. Nonzero inputs must be normal binary64. Text nonzero-to-zero rejects NUMERIC_UNDERFLOW; subnormal rejects NUMERIC_RANGE. A/B/C aliases must agree with A_deg/B_deg/C_deg.",
      "x-unit": "deg",
      "x-unit-id": "cx:deg",
      "x-quantity-kind": "plane_angle",
      "x-role": "scalar",
      "x-dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-uuce-unit": {
        "unit_id": "cx:deg",
        "revision": "1.0.0",
        "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
        "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
        "quantity_kind": "plane_angle",
        "dimension": [
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "registry_version": "0.3.0-preview.3",
        "digest_contract": "calculatorx-unit-definition-digests-v2",
        "registry_status": "preview",
        "definition_lifecycle": "candidate",
        "role": "scalar"
      }
    },
    "A": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^\\s*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ],
      "description": "Strict decimal number/string, max1024 characters. Positive sides; degree angles strictly0<angle<180. Nonzero inputs must be normal binary64. Text nonzero-to-zero rejects NUMERIC_UNDERFLOW; subnormal rejects NUMERIC_RANGE. A/B/C aliases must agree with A_deg/B_deg/C_deg.",
      "x-unit": "deg",
      "x-unit-id": "cx:deg",
      "x-quantity-kind": "plane_angle",
      "x-role": "scalar",
      "x-dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-uuce-unit": {
        "unit_id": "cx:deg",
        "revision": "1.0.0",
        "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
        "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
        "quantity_kind": "plane_angle",
        "dimension": [
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "registry_version": "0.3.0-preview.3",
        "digest_contract": "calculatorx-unit-definition-digests-v2",
        "registry_status": "preview",
        "definition_lifecycle": "candidate",
        "role": "scalar"
      }
    },
    "B": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^\\s*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ],
      "description": "Strict decimal number/string, max1024 characters. Positive sides; degree angles strictly0<angle<180. Nonzero inputs must be normal binary64. Text nonzero-to-zero rejects NUMERIC_UNDERFLOW; subnormal rejects NUMERIC_RANGE. A/B/C aliases must agree with A_deg/B_deg/C_deg.",
      "x-unit": "deg",
      "x-unit-id": "cx:deg",
      "x-quantity-kind": "plane_angle",
      "x-role": "scalar",
      "x-dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-uuce-unit": {
        "unit_id": "cx:deg",
        "revision": "1.0.0",
        "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
        "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
        "quantity_kind": "plane_angle",
        "dimension": [
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "registry_version": "0.3.0-preview.3",
        "digest_contract": "calculatorx-unit-definition-digests-v2",
        "registry_status": "preview",
        "definition_lifecycle": "candidate",
        "role": "scalar"
      }
    },
    "C": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 1024,
          "pattern": "^\\s*[+−–—-]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\\s*$"
        }
      ],
      "description": "Strict decimal number/string, max1024 characters. Positive sides; degree angles strictly0<angle<180. Nonzero inputs must be normal binary64. Text nonzero-to-zero rejects NUMERIC_UNDERFLOW; subnormal rejects NUMERIC_RANGE. A/B/C aliases must agree with A_deg/B_deg/C_deg.",
      "x-unit": "deg",
      "x-unit-id": "cx:deg",
      "x-quantity-kind": "plane_angle",
      "x-role": "scalar",
      "x-dimension": [
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ],
      "x-uuce-unit": {
        "unit_id": "cx:deg",
        "revision": "1.0.0",
        "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
        "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
        "quantity_kind": "plane_angle",
        "dimension": [
          0,
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "registry_version": "0.3.0-preview.3",
        "digest_contract": "calculatorx-unit-definition-digests-v2",
        "registry_status": "preview",
        "definition_lifecycle": "candidate",
        "role": "scalar"
      }
    }
  },
  "allOf": [
    {
      "if": {
        "properties": {
          "mode": {
            "pattern": "^\\s*(?:[sS][\\s-]*[sS][\\s-]*[sS]|[sS][\\s-]*[iI][\\s-]*[dD][\\s-]*[eE][\\s-]*[sS])\\s*$"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "required": [
          "a",
          "b",
          "c"
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "pattern": "^\\s*(?:[sS][\\s-]*[aA][\\s-]*[sS])\\s*$"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "required": [
          "a",
          "b"
        ],
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "C_deg"
                ]
              },
              {
                "required": [
                  "C"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "pattern": "^\\s*(?:[aA][\\s-]*[sS][\\s-]*[aA])\\s*$"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "required": [
          "c"
        ],
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "A_deg"
                ]
              },
              {
                "required": [
                  "A"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "B_deg"
                ]
              },
              {
                "required": [
                  "B"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "pattern": "^\\s*(?:[aA][\\s-]*[aA][\\s-]*[sS])\\s*$"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "required": [
          "a"
        ],
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "A_deg"
                ]
              },
              {
                "required": [
                  "A"
                ]
              }
            ]
          },
          {
            "anyOf": [
              {
                "required": [
                  "B_deg"
                ]
              },
              {
                "required": [
                  "B"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "properties": {
          "mode": {
            "pattern": "^\\s*(?:[sS][\\s-]*[sS][\\s-]*[aA]|[aA][\\s-]*[mM][\\s-]*[bB][\\s-]*[iI][\\s-]*[gG][\\s-]*[uU][\\s-]*[oO][\\s-]*[uU][\\s-]*[sS])\\s*$"
          }
        },
        "required": [
          "mode"
        ]
      },
      "then": {
        "required": [
          "a",
          "b"
        ],
        "allOf": [
          {
            "anyOf": [
              {
                "required": [
                  "A_deg"
                ]
              },
              {
                "required": [
                  "A"
                ]
              }
            ]
          }
        ]
      }
    },
    {
      "if": {
        "not": {
          "required": [
            "mode"
          ]
        }
      },
      "then": {
        "required": [
          "a",
          "b",
          "c"
        ]
      }
    }
  ],
  "description": "Solve a Euclidean triangle from SSS, SAS, ASA, AAS, or SSA (ambiguous). Not the Pythagorean-only page. (calculation_version 1.1.0)",
  "x-unit-contract": {
    "protocol": "calculatorx-field-unit-contract-v1",
    "capability_id": "math.geometry.triangle",
    "registry_version": "0.3.0-preview.3",
    "declaration_scope": "Field/branch declarations only; inactive fields are not asserted to exist. No conversion-engine migration or new numerical certification.",
    "path_format": "Paths relative to inputs or result_detail.value; dot separates properties, * denotes array items, $ denotes a scalar result.",
    "inputs": {
      "A_deg": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "B_deg": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "C_deg": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "A": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "B": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "C": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      }
    },
    "outputs": {
      "A_deg": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "B_deg": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "C_deg": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "solutions.*.A_deg": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "solutions.*.B_deg": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "solutions.*.C_deg": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      }
    },
    "quantity_policy": {
      "physical_unit_id": null,
      "input_policy": "Abstract consistent coordinate/length units; no physical unit is selected by this calculator.",
      "derived_policy": "Lengths inherit the input length unit U; areas U^2; volumes U^3. No implicit conversion or fixed metre binding.",
      "coefficient_policy": "Normalized implicit line/equation coefficients have equation-scale conventions, not universal physical unit IDs."
    }
  }
}
