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