{
  "type": "object",
  "properties": {
    "ruleId": { "type": "string" },
    "ruleName": { "type": "string" },
    "metric": { "type": "string", "enum": ["SCRAP_RATE", "SCRAP_COUNT", "SCRAP_VELOCITY_PER_HOUR", "REWORK_COUNT", "SCRAP_COUNT_BY_REASON_CODE"] },
    "operator": { "type": "string", "enum": ["GT", "GTE", "LT", "LTE"] },
    "threshold": { "type": "number", "format": "double" },
    "lineId": { "type": ["string", "null"] },
    "factoryId": { "type": ["string", "null"] },
    "reasonCode": { "type": ["string", "null"] },
    "cooldownMinutes": { "type": "integer", "default": 15 },
    "severity": { "type": "string", "enum": ["WARNING", "CRITICAL"] },
    "enabled": { "type": "boolean", "default": true }
  },
  "required": ["ruleId", "ruleName", "metric", "operator", "threshold", "severity"]
}
