taxonomy-mapping-contract

ID 12
UUID a1b2c3d4-e5f6-7890-abcd-ef1234567890
Version 1.0.0
Status active
Scope Taxonomie-Mapping für Chunks und Entities mit Confidence/Relevance-Validierung
Erstellt 2025-12-25 20:18:49 von claude-code
Aktualisiert 2025-12-25 20:18:49

YAML-Inhalt

name: taxonomy-mapping-contract
version: 1.0.0
type: implementation
description: Contract für Taxonomie-Mapping zwischen Chunks/Entities und Taxonomie-Begriffen

rules:
  - id: TMC-001
    description: Chunk-Taxonomie-Mappings müssen eine Confidence zwischen 0.0 und 1.0 haben
    severity: error
    validation:
      type: sql
      query: SELECT COUNT(*) as violations FROM chunk_taxonomy WHERE confidence < 0 OR confidence > 1
      expect: 0

  - id: TMC-002
    description: Chunk-Taxonomie-Mappings müssen eine gültige Source (auto/manual) haben
    severity: error
    validation:
      type: sql
      query: SELECT COUNT(*) as violations FROM chunk_taxonomy WHERE source NOT IN ('auto', 'manual')
      expect: 0

  - id: TMC-003
    description: Entity-Taxonomie-Mappings müssen eine Relevance zwischen 0.0 und 1.0 haben
    severity: error
    validation:
      type: sql
      query: SELECT COUNT(*) as violations FROM entity_taxonomy_mapping WHERE relevance < 0 OR relevance > 1
      expect: 0

  - id: TMC-004
    description: Alle Chunk-Taxonomie-Mappings müssen auf existierende Chunks verweisen
    severity: error
    validation:
      type: sql
      query: SELECT COUNT(*) as violations FROM chunk_taxonomy ct LEFT JOIN chunks c ON ct.chunk_id = c.id WHERE c.id IS NULL
      expect: 0

  - id: TMC-005
    description: Alle Entity-Taxonomie-Mappings müssen auf existierende Entities verweisen
    severity: error
    validation:
      type: sql
      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
      expect: 0

  - id: TMC-006
    description: Alle Mappings müssen auf existierende Taxonomie-Terme verweisen
    severity: error
    validation:
      type: sql
      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
      expect: 0

components:
  entities:
    - Domain\Entity\ChunkTaxonomyMapping
    - Domain\Entity\EntityTaxonomyMapping
  repositories:
    - Domain\Repository\ChunkTaxonomyRepositoryInterface
    - Domain\Repository\EntityTaxonomyRepositoryInterface
  usecases:
    - UseCases\Taxonomy\AssignChunkTaxonomyUseCase
    - UseCases\Taxonomy\AssignEntityTaxonomyUseCase
    - UseCases\Taxonomy\GetTaxonomyOverviewUseCase
    - UseCases\Search\EnhancedSearchUseCase

Aktionen

Bearbeiten

← Zurück zur Übersicht