docs: update Architecture + SDK Flow with Control Pipeline + Dependency Engine

Architecture (architecture-data.ts):
- Replace document-crawler with control-pipeline (Port 8098)
- Add 9 DB tables, 5 RAG collections, 10 API endpoints
- Add edges: control-pipeline → PostgreSQL, Qdrant, Ollama

SDK Flow (steps-betrieb.ts):
- Add 4 new steps (seq 5200-5500):
  - Canonical Control Library (7-stage generation pipeline)
  - Pass 0a: Obligation Extraction (181k obligations)
  - Pass 0b: Atomic Composition (MCP-taugliche controls)
  - Dependency Engine + Evaluation (5 types, auto-generation)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-04-26 21:04:11 +02:00
parent ef7742cd44
commit a2205abea1
2 changed files with 123 additions and 20 deletions

View File

@@ -228,24 +228,39 @@ export const ARCH_SERVICES: ArchService[] = [
dependsOn: ['qdrant', 'ollama', 'postgresql'],
},
{
id: 'document-crawler',
name: 'Document Crawler',
nameShort: 'Crawler',
id: 'control-pipeline',
name: 'Control Pipeline',
nameShort: 'Pipeline',
layer: 'backend',
tech: 'Python / FastAPI',
port: 8098,
url: 'https://macmini:8098',
container: 'bp-compliance-document-crawler',
description: 'Dokument-Analyse (PDF, DOCX, XLSX, PPTX), Gap-Analyse, IPFS-Archivierung.',
descriptionLong: 'Der Document Crawler nimmt hochgeladene Dokumente (PDF, DOCX, XLSX, PPTX) entgegen, extrahiert deren Inhalt und fuehrt eine Gap-Analyse gegen bestehende Compliance-Anforderungen durch. Dafuer leitet er die Textinhalte an den AI Compliance SDK weiter, der die semantische Analyse uebernimmt. Abgeschlossene Dokumente koennen ueber den DSMS-Service dezentral auf IPFS archiviert werden.',
dbTables: [],
ragCollections: [],
apiEndpoints: [
'POST /analyze',
'POST /gap-analysis',
'POST /archive',
container: 'bp-core-control-pipeline',
description: 'RAG-zu-Controls Pipeline: Control Generation, Pass 0a/0b, Ontology, Dedup, Dependency Engine, Applicability.',
descriptionLong: 'Die Control Pipeline ist das Herzsttueck der automatisierten Compliance-Control-Generierung. Sie verarbeitet ~105.000 RAG-Chunks aus EU/DE-Regulierungen in 6 Phasen: (1) RAG Ingestion, (2) 7-Stufen Control Generation (Lizenz-Gate + Claude LLM), (3) Pass 0a Obligation Extraction (~181k Obligations), (4) Pass 0b Atomic Composition (MCP-taugliche Controls mit assertion/pass_criteria/fail_criteria), (5) Embedding-basierte Deduplizierung mit LLM-Verifikation, (6) Dependency Engine (5 Typen: supersedes, prerequisite, compensating_control, scope_exclusion, conditional_requirement) mit automatischer Generierung via Ontology, Pattern-Regeln und Domain Packs (DSGVO, AI Act, CRA, Security, Arbeitsrecht). 126+ Tests, alle bestanden.',
dbTables: [
'canonical_controls', 'obligation_candidates', 'control_parent_links',
'control_dependencies', 'control_evaluation_results',
'canonical_processed_chunks', 'canonical_generation_jobs',
'control_dedup_reviews', 'control_patterns',
],
dependsOn: ['ai-compliance-sdk', 'dsms'],
ragCollections: [
'bp_compliance_gesetze', 'bp_compliance_datenschutz',
'bp_compliance_ce', 'bp_dsfa_corpus', 'bp_legal_templates',
],
apiEndpoints: [
'POST /v1/canonical/generate',
'GET /v1/canonical/controls',
'POST /v1/canonical/controls/applicable',
'POST /v1/canonical/generate/submit-pass0b',
'POST /v1/canonical/generate/process-batch',
'GET /v1/canonical/generate/quality-metrics',
'POST /v1/dependencies/generate',
'POST /v1/dependencies/evaluate',
'GET /v1/dependencies/graph',
'POST /v1/document-compliance/required',
],
dependsOn: ['postgresql', 'qdrant', 'ollama'],
},
{
id: 'compliance-tts',
@@ -383,7 +398,7 @@ export const ARCH_EDGES: ArchEdge[] = [
// Frontend → Backend
{ source: 'admin-compliance', target: 'backend-compliance', label: 'REST API' },
{ source: 'admin-compliance', target: 'ai-compliance-sdk', label: 'REST API' },
{ source: 'admin-compliance', target: 'document-crawler', label: 'REST API' },
{ source: 'admin-compliance', target: 'control-pipeline', label: 'REST API' },
// Backend → Infrastructure
{ source: 'backend-compliance', target: 'postgresql', label: 'SQLAlchemy' },
@@ -392,12 +407,9 @@ export const ARCH_EDGES: ArchEdge[] = [
{ source: 'ai-compliance-sdk', target: 'ollama', label: 'LLM Inference' },
{ source: 'ai-compliance-sdk', target: 'postgresql', label: 'GORM' },
{ source: 'compliance-tts', target: 'minio', label: 'Audio/Video' },
// Backend → Backend
{ source: 'document-crawler', target: 'ai-compliance-sdk', label: 'LLM Gateway' },
// Backend → Data Sovereignty
{ source: 'document-crawler', target: 'dsms', label: 'IPFS Archive' },
{ source: 'control-pipeline', target: 'postgresql', label: 'SQLAlchemy' },
{ source: 'control-pipeline', target: 'qdrant', label: 'Embedding + Dedup' },
{ source: 'control-pipeline', target: 'ollama', label: 'LLM Dedup (qwen3.5)' },
]
// =============================================================================