Protokoll #19025

ID19025
Zeitstempel2025-12-26 23:26:49.233302
Clientroot
IP145.224.72.140
Modellclaude-sonnet-4-20250514
Statuscompleted
Tokens1,348 (Input: 43, Output: 1,305)
Dauer75 ms
Request-Zeit2025-12-26 23:26:49.233302
Response-Zeit2025-12-26 23:26:49.308509

Request

{
    "event": "PreToolUse",
    "tool_name": "mcp__mcp-db__db_select",
    "tool_input": {
        "query": "SELECT name, yaml_content FROM contracts WHERE id IN (6, 12)",
        "database": "ki_dev"
    }
}

Response

{
    "tool_response": [
        {
            "type": "text",
            "text": "{\n  \"status\": \"success\",\n  \"data\": [\n    {\n      \"name\": \"python-pipeline-contract_v1.0\",\n      \"yaml_content\": \"contract:\\n  name: python-pipeline\\n  version: \\\"2.0\\\"\\n  status: active\\n  description: |\\n    Code-Qualitätsstandards für Python-Code in der KI-Pipeline.\\n    Migriert auf Meta-Schema v1.0 am 22.12.2025.\\n\\n  created: \\\"2025-12-20\\\"\\n  author: migration\\n\\n  scope:\\n    paths:\\n      - \\\"\/opt\/scripts\/pipeline\/**\/*.py\\\"\\n    excludes:\\n      - \\\"\/opt\/scripts\/pipeline\/venv\/**\\\"\\n      - \\\"**\/__pycache__\/**\\\"\\n\\n  rules:\\n    - id: type-hints-required\\n      check_type: custom\\n      script: \\\"\/opt\/scripts\/pipeline\/venv\/bin\/mypy\\\"\\n      args: [\\\"--strict\\\"]\\n      severity: major\\n      description: \\\"Type Hints sind erforderlich\\\"\\n\\n    - id: no-bare-except\\n      check_type: forbidden_pattern\\n      patterns:\\n        - \\\"except:\\\"\\n      in_files: \\\"**\/*.py\\\"\\n      severity: critical\\n      description: \\\"Bare except ist verboten\\\"\\n\\n    - id: no-eval\\n      check_type: forbidden_pattern\\n      patterns:\\n        - \\\"eval(\\\"\\n        - \\\"exec(\\\"\\n      in_files: \\\"**\/*.py\\\"\\n      severity: critical\\n      description: \\\"eval und exec sind verboten (Security)\\\"\\n\\n    - id: no-hardcoded-credentials\\n      check_type: forbidden_pattern\\n      patterns:\\n        - 'password = \\\"'\\n        - \\\"password = '\\\"\\n        - 'secret = \\\"'\\n        - \\\"secret = '\\\"\\n      in_files: \\\"**\/*.py\\\"\\n      severity: critical\\n      description: \\\"Keine hardcoded Credentials\\\"\\n\\n    - id: no-sql-injection\\n      check_type: forbidden_pattern\\n      patterns:\\n        - 'f\\\"SELECT'\\n        - \\\"f'SELECT\\\"\\n        - 'f\\\"INSERT'\\n        - 'f\\\"UPDATE'\\n        - 'f\\\"DELETE'\\n      in_files: \\\"**\/*.py\\\"\\n      severity: critical\\n      description: \\\"Keine f-Strings für SQL - verwende Parameterized Queries\\\"\\n\\n    - id: docstrings-required\\n      check_type: custom\\n      script: \\\"\/opt\/scripts\/pipeline\/venv\/bin\/ruff\\\"\\n      args: [\\\"check\\\", \\\"--select=D100,D101,D102,D103\\\"]\\n      severity: minor\\n      description: \\\"Docstrings für Module, Klassen und Funktionen\\\"\\n\\n  enforcement:\\n    on_violation: block\\n\\n  pass_threshold:\\n    critical_max: 0\\n    major_max: 2\\n    minor_max: 5\\n\"\n    },\n    {\n      \"name\": \"taxonomy-mapping-contract\",\n      \"yaml_content\": \"name: taxonomy-mapping-contract\\nversion: 1.0.0\\ntype: implementation\\ndescription: Contract für Taxonomie-Mapping zwischen Chunks\/Entities und Taxonomie-Begriffen\\n\\nrules:\\n  - id: TMC-001\\n    description: Chunk-Taxonomie-Mappings müssen eine Confidence zwischen 0.0 und 1.0 haben\\n    severity: error\\n    validation:\\n      type: sql\\n      query: SELECT COUNT(*) as violations FROM chunk_taxonomy WHERE confidence < 0 OR confidence > 1\\n      expect: 0\\n\\n  - id: TMC-002\\n    description: Chunk-Taxonomie-Mappings müssen eine gültige Source (auto\/manual) haben\\n    severity: error\\n    validation:\\n      type: sql\\n      query: SELECT COUNT(*) as violations FROM chunk_taxonomy WHERE source NOT IN ('auto', 'manual')\\n      expect: 0\\n\\n  - id: TMC-003\\n    description: Entity-Taxonomie-Mappings müssen eine Relevance zwischen 0.0 und 1.0 haben\\n    severity: error\\n    validation:\\n      type: sql\\n      query: SELECT COUNT(*) as violations FROM entity_taxonomy_mapping WHERE relevance < 0 OR relevance > 1\\n      expect: 0\\n\\n  - id: TMC-004\\n    description: Alle Chunk-Taxonomie-Mappings müssen auf existierende Chunks verweisen\\n    severity: error\\n    validation:\\n      type: sql\\n      query: SELECT COUNT(*) as violations FROM chunk_taxonomy ct LEFT JOIN chunks c ON ct.chunk_id = c.id WHERE c.id IS NULL\\n      expect: 0\\n\\n  - id: TMC-005\\n    description: Alle Entity-Taxonomie-Mappings müssen auf existierende Entities verweisen\\n    severity: error\\n    validation:\\n      type: sql\\n      query: SELECT COUNT(*) as violations FROM entity_taxonomy_mapping etm LEFT JOIN entities e ON etm.entity_id = e.id WHERE e.id IS NULL\\n      expect: 0\\n\\n  - id: TMC-006\\n    description: Alle Mappings müssen auf existierende Taxonomie-Terme verweisen\\n    severity: error\\n    validation:\\n      type: sql\\n      query: SELECT COUNT(*) as violations FROM chunk_taxonomy ct LEFT JOIN taxonomy_terms t ON ct.taxonomy_term_id = t.id WHERE t.id IS NULL\\n      expect: 0\\n\\ncomponents:\\n  entities:\\n    - Domain\\\\Entity\\\\ChunkTaxonomyMapping\\n    - Domain\\\\Entity\\\\EntityTaxonomyMapping\\n  repositories:\\n    - Domain\\\\Repository\\\\ChunkTaxonomyRepositoryInterface\\n    - Domain\\\\Repository\\\\EntityTaxonomyRepositoryInterface\\n  usecases:\\n    - UseCases\\\\Taxonomy\\\\AssignChunkTaxonomyUseCase\\n    - UseCases\\\\Taxonomy\\\\AssignEntityTaxonomyUseCase\\n    - UseCases\\\\Taxonomy\\\\GetTaxonomyOverviewUseCase\\n    - UseCases\\\\Search\\\\EnhancedSearchUseCase\"\n    }\n  ],\n  \"row_count\": 2,\n  \"error\": null,\n  \"execution_ms\": 0\n}"
        }
    ]
}
← Vorheriger Zur Liste Nächster →