{
  "general": {
    "name": {
      "default": "ErrorMetrics",
      "rules": {
        "type": "string",
        "description": "A human-readable name for the configuration."
      }
    },
    "id": {
      "default": null,
      "rules": {
        "type": "string",
        "nullable": true,
        "description": "A unique identifier for this configuration, assigned dynamically when needed."
      }
    },
    "unit": {
      "default": "unitless",
      "rules": {
        "type": "string",
        "description": "The unit used for the state values (e.g., 'meters', 'seconds', 'unitless')."
      }
    },
    "logging": {
      "logLevel": {
        "default": "info",
        "rules": {
          "type": "enum",
          "values": [
            {
              "value": "debug",
              "description": "Log messages are printed for debugging purposes."
            },
            {
              "value": "info",
              "description": "Informational messages are printed."
            },
            {
              "value": "warn",
              "description": "Warning messages are printed."
            },
            {
              "value": "error",
              "description": "Error messages are printed."
            }
          ]
        }
      },
      "enabled": {
        "default": true,
        "rules": {
          "type": "boolean",
          "description": "Indicates whether logging is active. If true, log messages will be generated."
        }
      }
    }
  },
  "functionality": {
    "softwareType": {
      "default": "errorMetrics",
      "rules": {
        "type": "string",
        "description": "Logical name identifying the software type."
      }
    },
    "role": {
      "default": "error calculation",
      "rules": {
        "type": "string",
        "description": "Functional role within the system."
      }
    }
  },
  "mode": {
    "current": {
      "default": "active",
      "rules": {
        "type": "enum",
        "values": [
          {
            "value": "active",
            "description": "The error metrics calculation is active."
          },
          {
            "value": "inactive",
            "description": "The error metrics calculation is inactive."
          }
        ],
        "description": "The operational mode of the error metrics calculation."
      }
    }
  },
  "thresholds": {
    "NRMSE_LOW": {
      "default": 0.05,
      "rules": {
        "type": "number",
        "description": "Low threshold for normalized root mean squared error."
      }
    },
    "NRMSE_MEDIUM": {
      "default": 0.10,
      "rules": {
        "type": "number",
        "description": "Medium threshold for normalized root mean squared error."
      }
    },
    "NRMSE_HIGH": {
      "default": 0.15,
      "rules": {
        "type": "number",
        "description": "High threshold for normalized root mean squared error."
      }
    },
    "LONG_TERM_LOW": {
      "default": 0.02,
      "rules": {
        "type": "number",
        "description": "Low threshold for long-term normalized root mean squared deviation."
      }
    },
    "LONG_TERM_MEDIUM": {
      "default": 0.04,
      "rules": {
        "type": "number",
        "description": "Medium threshold for long-term normalized root mean squared deviation."
      }
    },
    "LONG_TERM_HIGH": {
      "default": 0.06,
      "rules": {
        "type": "number",
        "description": "High threshold for long-term normalized root mean squared deviation."
      }
    }
  }
}
