{
"event": "PreToolUse",
"tool_name": "mcp__mcp-contracts__contracts_update",
"tool_input": {
"id": 4,
"new_version": "2.0",
"change_description": "Migration auf Meta-Schema v1.0: scope.paths als Array, rules extrahiert",
"yaml_content": "contract:\n name: js-browser-architecture\n version: \"2.0\"\n status: active\n description: |\n Architektur-Contract für native Browser-JavaScript (ES Modules).\n Migriert auf Meta-Schema v1.0 am 22.12.2025.\n\n created: \"2025-12-15\"\n author: migration\n\n scope:\n paths:\n - \"\/public\/js\/**\/*.js\"\n excludes:\n - \"\/public\/js\/vendor\/**\"\n\n rules:\n - id: no-var\n check_type: forbidden_pattern\n patterns:\n - \"var \"\n in_files: \"**\/*.js\"\n severity: major\n description: \"var ist verboten - verwende const oder let\"\n\n - id: no-double-equals\n check_type: forbidden_pattern\n patterns:\n - \"==\"\n - \"!=\"\n in_files: \"**\/*.js\"\n exclude_files:\n - \"**\/vendor\/**\"\n severity: major\n description: \"== und != sind verboten - verwende === und !==\"\n\n - id: no-commonjs\n check_type: forbidden_pattern\n patterns:\n - \"require(\"\n - \"module.exports\"\n in_files: \"**\/*.js\"\n severity: critical\n description: \"CommonJS ist verboten - verwende ES Modules\"\n\n - id: no-eval\n check_type: forbidden_pattern\n patterns:\n - \"eval(\"\n - \"new Function(\"\n in_files: \"**\/*.js\"\n severity: critical\n description: \"eval und new Function sind verboten (Security)\"\n\n - id: no-global-variables\n check_type: forbidden_pattern\n patterns:\n - \"window.\"\n - \"document.\"\n in_files: \"**\/*.js\"\n exclude_files:\n - \"**\/adapters\/**\"\n severity: major\n description: \"Globale Zugriffe nur in Adapters erlaubt\"\n\n - id: es-modules\n check_type: required_pattern\n patterns:\n - \"export\"\n - \"import\"\n in_files: \"**\/*.js\"\n exclude_files:\n - \"**\/vendor\/**\"\n severity: info\n description: \"ES Module Syntax verwenden\"\n\n enforcement:\n on_violation: warn\n\n pass_threshold:\n critical_max: 0\n major_max: 2\n minor_max: 5\n",
"changed_by": "claude"
}
}
{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"contract\": {\n \"id\": 4,\n \"uuid\": \"35d63221-a407-4ede-a60b-577f5fbfad61\",\n \"name\": \"js-browser-architecture-contract_v2\",\n \"version\": \"2.0\",\n \"status\": \"active\",\n \"yaml_content\": \"contract:\\n name: js-browser-architecture\\n version: \\\"2.0\\\"\\n status: active\\n description: |\\n Architektur-Contract für native Browser-JavaScript (ES Modules).\\n Migriert auf Meta-Schema v1.0 am 22.12.2025.\\n\\n created: \\\"2025-12-15\\\"\\n author: migration\\n\\n scope:\\n paths:\\n - \\\"\/public\/js\/**\/*.js\\\"\\n excludes:\\n - \\\"\/public\/js\/vendor\/**\\\"\\n\\n rules:\\n - id: no-var\\n check_type: forbidden_pattern\\n patterns:\\n - \\\"var \\\"\\n in_files: \\\"**\/*.js\\\"\\n severity: major\\n description: \\\"var ist verboten - verwende const oder let\\\"\\n\\n - id: no-double-equals\\n check_type: forbidden_pattern\\n patterns:\\n - \\\"==\\\"\\n - \\\"!=\\\"\\n in_files: \\\"**\/*.js\\\"\\n exclude_files:\\n - \\\"**\/vendor\/**\\\"\\n severity: major\\n description: \\\"== und != sind verboten - verwende === und !==\\\"\\n\\n - id: no-commonjs\\n check_type: forbidden_pattern\\n patterns:\\n - \\\"require(\\\"\\n - \\\"module.exports\\\"\\n in_files: \\\"**\/*.js\\\"\\n severity: critical\\n description: \\\"CommonJS ist verboten - verwende ES Modules\\\"\\n\\n - id: no-eval\\n check_type: forbidden_pattern\\n patterns:\\n - \\\"eval(\\\"\\n - \\\"new Function(\\\"\\n in_files: \\\"**\/*.js\\\"\\n severity: critical\\n description: \\\"eval und new Function sind verboten (Security)\\\"\\n\\n - id: no-global-variables\\n check_type: forbidden_pattern\\n patterns:\\n - \\\"window.\\\"\\n - \\\"document.\\\"\\n in_files: \\\"**\/*.js\\\"\\n exclude_files:\\n - \\\"**\/adapters\/**\\\"\\n severity: major\\n description: \\\"Globale Zugriffe nur in Adapters erlaubt\\\"\\n\\n - id: es-modules\\n check_type: required_pattern\\n patterns:\\n - \\\"export\\\"\\n - \\\"import\\\"\\n in_files: \\\"**\/*.js\\\"\\n exclude_files:\\n - \\\"**\/vendor\/**\\\"\\n severity: info\\n description: \\\"ES Module Syntax verwenden\\\"\\n\\n enforcement:\\n on_violation: warn\\n\\n pass_threshold:\\n critical_max: 0\\n major_max: 2\\n minor_max: 5\\n\",\n \"scope_description\": \"\",\n \"created_at\": \"2025-12-20T10:59:58\",\n \"created_by\": \"migration\",\n \"updated_at\": \"2025-12-22T09:43:02\"\n },\n \"message\": \"Contract updated to v2.0\"\n}"
}
]
}