{
"event": "PreToolUse",
"tool_name": "Bash",
"tool_input": {
"command": "\/opt\/mcp-servers\/mcp-contracts\/venv\/bin\/python -c \"\nimport yaml\nimport sys\nsys.path.insert(0, '\/opt\/mcp-servers\/mcp-contracts')\nfrom validators.contract_validator import ContractValidator\n\ncontract_yaml = '''\ncontract:\n name: test\n scope:\n paths:\n - \\\"\/src\/**\/*.php\\\"\n rules:\n - id: no-pdo-in-controller\n check_type: forbidden_pattern\n patterns:\n - \\\"->query(\\\"\n in_files: \\\"Controller\/**\/*.php\\\"\n severity: critical\n'''\n\ndata = yaml.safe_load(contract_yaml)\nvalidator = ContractValidator(data)\n\n# Test file matching\ntest_file = '\/var\/www\/dev.campus.systemische-tools.de\/src\/Controller\/ChatController.php'\npattern = 'Controller\/**\/*.php'\n\nresult = validator._file_matches_pattern(test_file, pattern)\nprint(f'File: {test_file}')\nprint(f'Pattern: {pattern}')\nprint(f'Match: {result}')\n\n# Also test relative path\nrel_path = test_file.replace(validator.BASE_PATH, '').lstrip('\/')\nprint(f'Relative path: {rel_path}')\n\"",
"description": "Debug pattern matching"
}
}
{
"tool_response": {
"stdout": "File: \/var\/www\/dev.campus.systemische-tools.de\/src\/Controller\/ChatController.php\nPattern: Controller\/**\/*.php\nMatch: False\nRelative path: src\/Controller\/ChatController.php",
"stderr": "",
"interrupted": false,
"isImage": false
}
}