Phase 1 — Python (klausur-service): 5 monoliths → 36 files - dsfa_corpus_ingestion.py (1,828 LOC → 5 files) - cv_ocr_engines.py (2,102 LOC → 7 files) - cv_layout.py (3,653 LOC → 10 files) - vocab_worksheet_api.py (2,783 LOC → 8 files) - grid_build_core.py (1,958 LOC → 6 files) Phase 2 — Go (edu-search-service, school-service): 8 monoliths → 19 files - staff_crawler.go (1,402 → 4), policy/store.go (1,168 → 3) - policy_handlers.go (700 → 2), repository.go (684 → 2) - search.go (592 → 2), ai_extraction_handlers.go (554 → 2) - seed_data.go (591 → 2), grade_service.go (646 → 2) Phase 3 — TypeScript (admin-lehrer): 45 monoliths → 220+ files - sdk/types.ts (2,108 → 16 domain files) - ai/rag/page.tsx (2,686 → 14 files) - 22 page.tsx files split into _components/ + _hooks/ - 11 component files split into sub-components - 10 SDK data catalogs added to loc-exceptions - Deleted dead backup index_original.ts (4,899 LOC) All original public APIs preserved via re-export facades. Zero new errors: Python imports verified, Go builds clean, TypeScript tsc --noEmit shows only pre-existing errors. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
507 lines
21 KiB
TypeScript
507 lines
21 KiB
TypeScript
import type { BacklogItem } from './types'
|
|
|
|
// UPDATED: 2026-02-03 - Reflects actual project state
|
|
export const initialBacklogItems: BacklogItem[] = [
|
|
// ==================== MODULE PROGRESS ====================
|
|
{
|
|
id: 'mod-1',
|
|
title: 'Consent Service (Go) - 90% fertig',
|
|
description: 'DSGVO Consent Management Microservice - Production Ready',
|
|
category: 'modules',
|
|
priority: 'high',
|
|
status: 'in_progress',
|
|
notes: 'Port 8081. Umfangreiche Tests. JWT Auth, OAuth 2.0, TOTP 2FA, DSR Workflow, Matrix/Jitsi Integration, Session Management, PII Redactor.',
|
|
subtasks: [
|
|
{ id: 'mod-1-1', title: 'Core Consent API (CRUD, Versioning)', completed: true },
|
|
{ id: 'mod-1-2', title: 'Authentication (JWT, OAuth 2.0, TOTP)', completed: true },
|
|
{ id: 'mod-1-3', title: 'DSR Workflow (Art. 15-21)', completed: true },
|
|
{ id: 'mod-1-4', title: 'Email Templates & Notifications', completed: true },
|
|
{ id: 'mod-1-5', title: 'Matrix/Jitsi Integration', completed: true },
|
|
{ id: 'mod-1-6', title: 'Session Management & Middleware', completed: true },
|
|
{ id: 'mod-1-7', title: 'PII Redactor & Security Headers', completed: true },
|
|
{ id: 'mod-1-8', title: 'Performance Tests (High-Load)', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'mod-2',
|
|
title: 'Admin-v2 Frontend (Next.js 15) - 95% fertig',
|
|
description: 'Neues Admin Dashboard - Feature Complete',
|
|
category: 'modules',
|
|
priority: 'critical',
|
|
status: 'completed',
|
|
notes: 'Port 3002. 73 Seiten, 154 Dateien, 50k+ Zeilen Code. Alle Module migriert.',
|
|
subtasks: [
|
|
{ id: 'mod-2-1', title: 'Layout mit Sidebar Navigation', completed: true },
|
|
{ id: 'mod-2-2', title: 'AI Module (Agents, RAG, Quality, LLM Compare)', completed: true },
|
|
{ id: 'mod-2-3', title: 'Compliance Module (AI Act, DSFA, Controls, Evidence)', completed: true },
|
|
{ id: 'mod-2-4', title: 'Communication Module (Mail, Matrix, Video-Chat, Alerts)', completed: true },
|
|
{ id: 'mod-2-5', title: 'DSGVO Module (Advisory Board, Consent, DSR, TOM, VVT)', completed: true },
|
|
{ id: 'mod-2-6', title: 'Infrastructure Module (CI/CD, GPU, SBOM, Security, Tests)', completed: true },
|
|
{ id: 'mod-2-7', title: 'Education Module (Edu-Search, Foerderantrag)', completed: true },
|
|
{ id: 'mod-2-8', title: 'Wizard Framework (Stepper, TestRunner, etc.)', completed: true },
|
|
{ id: 'mod-2-9', title: 'API Proxy Routes', completed: true },
|
|
{ id: 'mod-2-10', title: 'E2E Tests mit Playwright', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'mod-3',
|
|
title: 'Studio-v2 Frontend (Next.js 15) - 90% fertig',
|
|
description: 'Lehrer/Schueler Studio mit Apple Weather UI',
|
|
category: 'modules',
|
|
priority: 'high',
|
|
status: 'completed',
|
|
notes: 'Port 3001. 21 Seiten, 111 Dateien, 38k+ Zeilen. Experimental Dashboard, Korrektur, Geo-Lernwelt.',
|
|
subtasks: [
|
|
{ id: 'mod-3-1', title: 'Experimental Dashboard (Glassmorphism)', completed: true },
|
|
{ id: 'mod-3-2', title: 'Korrektur-System mit Fairness-Analyse', completed: true },
|
|
{ id: 'mod-3-3', title: 'Geo-Lernwelt (Maps, AOI)', completed: true },
|
|
{ id: 'mod-3-4', title: 'Voice Components', completed: true },
|
|
{ id: 'mod-3-5', title: 'Worksheet Editor', completed: true },
|
|
{ id: 'mod-3-6', title: 'Alerts & B2B Migration Wizard', completed: true },
|
|
{ id: 'mod-3-7', title: 'Document Upload & QR Code', completed: true },
|
|
{ id: 'mod-3-8', title: 'Messages & Meet Integration', completed: true },
|
|
],
|
|
},
|
|
{
|
|
id: 'mod-4',
|
|
title: 'Backend (Python FastAPI) - 85% fertig',
|
|
description: 'Hauptbackend mit umfangreichen Erweiterungen',
|
|
category: 'modules',
|
|
priority: 'critical',
|
|
status: 'in_progress',
|
|
notes: 'Port 8000. 238 Dateien, 94k+ Zeilen. Alerts Agent, Compliance, Classroom Engine, Game, Klausur.',
|
|
subtasks: [
|
|
{ id: 'mod-4-1', title: 'Alerts Agent (Rules, Digests, Actions)', completed: true },
|
|
{ id: 'mod-4-2', title: 'Compliance Module (AI Act, ISMS, Audit)', completed: true },
|
|
{ id: 'mod-4-3', title: 'Classroom Engine (FSM, Analytics, Timer)', completed: true },
|
|
{ id: 'mod-4-4', title: 'Game API (Learning Rules, Quiz)', completed: true },
|
|
{ id: 'mod-4-5', title: 'Klausur Backend (OCR, Correction)', completed: true },
|
|
{ id: 'mod-4-6', title: 'Unit API & Analytics', completed: true },
|
|
{ id: 'mod-4-7', title: 'Middleware (Rate Limiter, Security)', completed: true },
|
|
{ id: 'mod-4-8', title: 'Session Management (RBAC)', completed: true },
|
|
{ id: 'mod-4-9', title: 'Transcription Worker', completed: true },
|
|
{ id: 'mod-4-10', title: 'Alembic Migrations', completed: true },
|
|
{ id: 'mod-4-11', title: 'Integration Tests erweitern', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'mod-5',
|
|
title: 'Klausur Service (Python) - 85% fertig',
|
|
description: 'BYOEH Abitur-Klausurkorrektur System',
|
|
category: 'modules',
|
|
priority: 'critical',
|
|
status: 'in_progress',
|
|
notes: 'Port 8086. 45 Dateien, 20k+ Zeilen. BYOEH, Qdrant RAG, Embedding Service, Legal Corpus.',
|
|
subtasks: [
|
|
{ id: 'mod-5-1', title: 'BYOEH Upload & Encryption', completed: true },
|
|
{ id: 'mod-5-2', title: 'Key-Sharing zwischen Pruefern', completed: true },
|
|
{ id: 'mod-5-3', title: 'Qdrant RAG Integration', completed: true },
|
|
{ id: 'mod-5-4', title: 'Hybrid Search (Keyword + Semantic)', completed: true },
|
|
{ id: 'mod-5-5', title: 'Embedding Service', completed: true },
|
|
{ id: 'mod-5-6', title: 'Legal Corpus Ingestion', completed: true },
|
|
{ id: 'mod-5-7', title: 'PDF Export', completed: true },
|
|
{ id: 'mod-5-8', title: 'OCR Pipeline (TrOCR, Vision)', completed: true },
|
|
{ id: 'mod-5-9', title: 'Vocab Worksheet API', completed: true },
|
|
{ id: 'mod-5-10', title: 'KI-gestuetzte Korrektur verbessern', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'mod-6',
|
|
title: 'Agent-Core - 80% fertig',
|
|
description: 'Multi-Agent Architecture Framework',
|
|
category: 'modules',
|
|
priority: 'high',
|
|
status: 'in_progress',
|
|
notes: 'Neuer Service. Sessions, Shared Brain, Orchestrator, SOUL Files.',
|
|
subtasks: [
|
|
{ id: 'mod-6-1', title: 'Session Management & Heartbeat', completed: true },
|
|
{ id: 'mod-6-2', title: 'Checkpoint System', completed: true },
|
|
{ id: 'mod-6-3', title: 'Memory Store (mit TTL)', completed: true },
|
|
{ id: 'mod-6-4', title: 'Context Manager', completed: true },
|
|
{ id: 'mod-6-5', title: 'Knowledge Graph', completed: true },
|
|
{ id: 'mod-6-6', title: 'Message Bus (Pub/Sub)', completed: true },
|
|
{ id: 'mod-6-7', title: 'Supervisor & Task Router', completed: true },
|
|
{ id: 'mod-6-8', title: 'SOUL Files (Agent Personalities)', completed: true },
|
|
{ id: 'mod-6-9', title: 'Integration mit Voice Service', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'mod-7',
|
|
title: 'AI Compliance SDK (Go) - 75% fertig',
|
|
description: 'UCCA Obligations Framework',
|
|
category: 'modules',
|
|
priority: 'high',
|
|
status: 'in_progress',
|
|
notes: 'Neuer Go Service. AI Act, DSGVO, NIS2 Module. Policy Engine.',
|
|
subtasks: [
|
|
{ id: 'mod-7-1', title: 'UCCA Obligations Framework', completed: true },
|
|
{ id: 'mod-7-2', title: 'AI Act Module', completed: true },
|
|
{ id: 'mod-7-3', title: 'DSGVO Module', completed: true },
|
|
{ id: 'mod-7-4', title: 'NIS2 Module', completed: true },
|
|
{ id: 'mod-7-5', title: 'Policy Engine', completed: true },
|
|
{ id: 'mod-7-6', title: 'Legal RAG Integration', completed: true },
|
|
{ id: 'mod-7-7', title: 'Audit Trail & Export', completed: true },
|
|
{ id: 'mod-7-8', title: 'Escalation System', completed: false },
|
|
{ id: 'mod-7-9', title: 'Funding/Foerderantrag Wizard', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'mod-8',
|
|
title: 'Geo Service (Python) - 70% fertig',
|
|
description: 'Geographic Data Service fuer Geo-Lernwelt',
|
|
category: 'modules',
|
|
priority: 'medium',
|
|
status: 'in_progress',
|
|
notes: 'Neuer Service. AOI Packager, DEM Service, Tile Server.',
|
|
subtasks: [
|
|
{ id: 'mod-8-1', title: 'AOI Packager', completed: true },
|
|
{ id: 'mod-8-2', title: 'DEM Service', completed: true },
|
|
{ id: 'mod-8-3', title: 'OSM Extractor', completed: true },
|
|
{ id: 'mod-8-4', title: 'Tile Server', completed: true },
|
|
{ id: 'mod-8-5', title: 'Learning Generator', completed: true },
|
|
{ id: 'mod-8-6', title: 'License Checker', completed: true },
|
|
{ id: 'mod-8-7', title: 'Unity Integration', completed: false },
|
|
{ id: 'mod-8-8', title: 'Performance Optimization', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'mod-9',
|
|
title: 'Edu-Search Service (Go) - 65% fertig',
|
|
description: 'Educational Search mit Policy Engine',
|
|
category: 'modules',
|
|
priority: 'medium',
|
|
status: 'in_progress',
|
|
notes: 'Policy Handlers, Bundeslaender Policies, PII Detector.',
|
|
subtasks: [
|
|
{ id: 'mod-9-1', title: 'Policy Enforcer', completed: true },
|
|
{ id: 'mod-9-2', title: 'PII Detector', completed: true },
|
|
{ id: 'mod-9-3', title: 'Bundeslaender Policies', completed: true },
|
|
{ id: 'mod-9-4', title: 'German Universities Data', completed: true },
|
|
{ id: 'mod-9-5', title: 'Search API erweitern', completed: false },
|
|
{ id: 'mod-9-6', title: 'Caching Layer', completed: false },
|
|
],
|
|
},
|
|
|
|
// ==================== CI/CD PIPELINES ====================
|
|
{
|
|
id: 'cicd-1',
|
|
title: 'Woodpecker CI Setup',
|
|
description: 'Self-hosted CI/CD auf Mac Mini',
|
|
category: 'cicd',
|
|
priority: 'critical',
|
|
status: 'completed',
|
|
notes: 'Implementiert. Woodpecker CI laeuft auf macmini:8082. Pipelines fuer alle Services.',
|
|
subtasks: [
|
|
{ id: 'cicd-1-1', title: 'Woodpecker Server & Agent installiert', completed: true },
|
|
{ id: 'cicd-1-2', title: 'Gitea Integration', completed: true },
|
|
{ id: 'cicd-1-3', title: 'Docker Build Pipelines', completed: true },
|
|
{ id: 'cicd-1-4', title: 'Test Pipelines (Go, Python, Node)', completed: true },
|
|
],
|
|
},
|
|
{
|
|
id: 'cicd-2',
|
|
title: 'SBOM Generation Pipeline',
|
|
description: 'Automatische SBOM-Generierung in CI',
|
|
category: 'cicd',
|
|
priority: 'high',
|
|
status: 'completed',
|
|
notes: 'Implementiert in .gitea/workflows/sbom.yaml',
|
|
subtasks: [
|
|
{ id: 'cicd-2-1', title: 'CycloneDX SBOM Generation', completed: true },
|
|
{ id: 'cicd-2-2', title: 'Artifact Upload', completed: true },
|
|
{ id: 'cicd-2-3', title: 'SBOM Viewer in Admin', completed: true },
|
|
],
|
|
},
|
|
{
|
|
id: 'cicd-3',
|
|
title: 'Production Deployment Pipeline',
|
|
description: 'Kontrolliertes Deployment mit Rollback',
|
|
category: 'cicd',
|
|
priority: 'critical',
|
|
status: 'not_started',
|
|
subtasks: [
|
|
{ id: 'cicd-3-1', title: 'Blue-Green oder Canary Strategy', completed: false },
|
|
{ id: 'cicd-3-2', title: 'Automatischer Rollback', completed: false },
|
|
{ id: 'cicd-3-3', title: 'Health Checks nach Deploy', completed: false },
|
|
{ id: 'cicd-3-4', title: 'Deployment Notifications', completed: false },
|
|
],
|
|
},
|
|
|
|
// ==================== SECURITY ====================
|
|
{
|
|
id: 'sec-1',
|
|
title: 'Dependency Vulnerability Scanning',
|
|
description: 'Automatische Pruefung auf Schwachstellen',
|
|
category: 'security',
|
|
priority: 'critical',
|
|
status: 'completed',
|
|
notes: 'Dependabot konfiguriert fuer Go, Python, npm, Docker.',
|
|
subtasks: [
|
|
{ id: 'sec-1-1', title: 'Dependabot fuer Go', completed: true },
|
|
{ id: 'sec-1-2', title: 'Dependabot fuer Python', completed: true },
|
|
{ id: 'sec-1-3', title: 'Dependabot fuer npm', completed: true },
|
|
{ id: 'sec-1-4', title: 'Block Merge bei kritischen CVEs', completed: true },
|
|
],
|
|
},
|
|
{
|
|
id: 'sec-2',
|
|
title: 'Container Image Scanning',
|
|
description: 'Trivy Scans fuer alle Docker Images',
|
|
category: 'security',
|
|
priority: 'high',
|
|
status: 'completed',
|
|
notes: 'Trivy in CI integriert.',
|
|
subtasks: [
|
|
{ id: 'sec-2-1', title: 'Trivy Integration', completed: true },
|
|
{ id: 'sec-2-2', title: 'Base Image Policy', completed: true },
|
|
{ id: 'sec-2-3', title: 'Scan Report bei Build', completed: true },
|
|
],
|
|
},
|
|
{
|
|
id: 'sec-3',
|
|
title: 'SAST (Static Application Security Testing)',
|
|
description: 'Code-Analyse auf Sicherheitsluecken',
|
|
category: 'security',
|
|
priority: 'high',
|
|
status: 'completed',
|
|
notes: 'Gosec, Bandit, npm audit in CI.',
|
|
subtasks: [
|
|
{ id: 'sec-3-1', title: 'Gosec fuer Go', completed: true },
|
|
{ id: 'sec-3-2', title: 'Bandit fuer Python', completed: true },
|
|
{ id: 'sec-3-3', title: 'npm audit', completed: true },
|
|
{ id: 'sec-3-4', title: 'Semgrep Regeln', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'sec-4',
|
|
title: 'Secret Scanning',
|
|
description: 'Verhindern dass Secrets in Git landen',
|
|
category: 'security',
|
|
priority: 'critical',
|
|
status: 'completed',
|
|
notes: 'Gitleaks in CI. SSH Keys in .gitignore.',
|
|
subtasks: [
|
|
{ id: 'sec-4-1', title: 'Gitleaks Pre-commit', completed: true },
|
|
{ id: 'sec-4-2', title: 'SSH Keys in .gitignore', completed: true },
|
|
{ id: 'sec-4-3', title: 'Historische Commits gescannt', completed: true },
|
|
],
|
|
},
|
|
|
|
// ==================== TESTING ====================
|
|
{
|
|
id: 'test-1',
|
|
title: 'Backend Test Coverage erweitern',
|
|
description: 'Integration & E2E Tests fuer Backend APIs',
|
|
category: 'testing',
|
|
priority: 'high',
|
|
status: 'in_progress',
|
|
notes: '238 Backend-Dateien, davon 20+ Test-Dateien.',
|
|
subtasks: [
|
|
{ id: 'test-1-1', title: 'Alerts Agent Tests', completed: true },
|
|
{ id: 'test-1-2', title: 'Compliance API Tests', completed: true },
|
|
{ id: 'test-1-3', title: 'Classroom API Tests', completed: true },
|
|
{ id: 'test-1-4', title: 'Session Middleware Tests', completed: true },
|
|
{ id: 'test-1-5', title: 'Load Testing mit k6', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'test-2',
|
|
title: 'Frontend E2E Tests',
|
|
description: 'Playwright Tests fuer Admin-v2 und Studio-v2',
|
|
category: 'testing',
|
|
priority: 'critical',
|
|
status: 'not_started',
|
|
notes: 'Kritischer Mangel - keine E2E Tests!',
|
|
subtasks: [
|
|
{ id: 'test-2-1', title: 'Playwright Setup', completed: false },
|
|
{ id: 'test-2-2', title: 'Admin-v2 Critical Paths', completed: false },
|
|
{ id: 'test-2-3', title: 'Studio-v2 User Flows', completed: false },
|
|
{ id: 'test-2-4', title: 'Visual Regression', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'test-3',
|
|
title: 'Agent-Core Tests',
|
|
description: 'Unit Tests fuer Multi-Agent Framework',
|
|
category: 'testing',
|
|
priority: 'high',
|
|
status: 'completed',
|
|
notes: 'Umfangreiche Test-Suite vorhanden.',
|
|
subtasks: [
|
|
{ id: 'test-3-1', title: 'Session Manager Tests', completed: true },
|
|
{ id: 'test-3-2', title: 'Memory Store Tests', completed: true },
|
|
{ id: 'test-3-3', title: 'Message Bus Tests', completed: true },
|
|
{ id: 'test-3-4', title: 'Task Router Tests', completed: true },
|
|
{ id: 'test-3-5', title: 'Heartbeat Tests', completed: true },
|
|
],
|
|
},
|
|
|
|
// ==================== RBAC ====================
|
|
{
|
|
id: 'rbac-1',
|
|
title: 'Gitea Team Permissions',
|
|
description: 'Team-basierte Zugriffsrechte',
|
|
category: 'rbac',
|
|
priority: 'high',
|
|
status: 'not_started',
|
|
subtasks: [
|
|
{ id: 'rbac-1-1', title: 'Maintainers Team (Full Access)', completed: false },
|
|
{ id: 'rbac-1-2', title: 'Developers Team (Write)', completed: false },
|
|
{ id: 'rbac-1-3', title: 'Reviewers Team (Read + Review)', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'rbac-2',
|
|
title: 'Admin Panel Access Control',
|
|
description: 'Rollenbasierte Zugriffsrechte im Admin',
|
|
category: 'rbac',
|
|
priority: 'medium',
|
|
status: 'in_progress',
|
|
notes: 'RBAC Middleware im Backend implementiert.',
|
|
subtasks: [
|
|
{ id: 'rbac-2-1', title: 'RBAC Middleware', completed: true },
|
|
{ id: 'rbac-2-2', title: 'Session Store', completed: true },
|
|
{ id: 'rbac-2-3', title: 'Protected Routes', completed: true },
|
|
{ id: 'rbac-2-4', title: 'Admin Authentication UI', completed: false },
|
|
],
|
|
},
|
|
|
|
// ==================== GIT ====================
|
|
{
|
|
id: 'git-1',
|
|
title: 'Protected Branches Setup',
|
|
description: 'Schutz fuer main Branch',
|
|
category: 'git',
|
|
priority: 'critical',
|
|
status: 'not_started',
|
|
subtasks: [
|
|
{ id: 'git-1-1', title: 'No direct push to main', completed: false },
|
|
{ id: 'git-1-2', title: 'Require PR with Approval', completed: false },
|
|
{ id: 'git-1-3', title: 'Require Status Checks', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'git-2',
|
|
title: 'Alle Dateien committet',
|
|
description: 'Keine ungetrackten Produktionsdateien',
|
|
category: 'git',
|
|
priority: 'critical',
|
|
status: 'completed',
|
|
notes: 'Am 2026-02-03 bereinigt: ~870 Dateien, 329k Zeilen committet.',
|
|
subtasks: [
|
|
{ id: 'git-2-1', title: 'admin-v2 (154 Dateien)', completed: true },
|
|
{ id: 'git-2-2', title: 'studio-v2 (111 Dateien)', completed: true },
|
|
{ id: 'git-2-3', title: 'backend (238 Dateien)', completed: true },
|
|
{ id: 'git-2-4', title: 'website (120 Dateien)', completed: true },
|
|
{ id: 'git-2-5', title: 'klausur-service (45 Dateien)', completed: true },
|
|
{ id: 'git-2-6', title: 'consent-service (15 Dateien)', completed: true },
|
|
{ id: 'git-2-7', title: 'Neue Services (161 Dateien)', completed: true },
|
|
{ id: 'git-2-8', title: '.gitignore aktualisiert', completed: true },
|
|
],
|
|
},
|
|
|
|
// ==================== RELEASE ====================
|
|
{
|
|
id: 'rel-1',
|
|
title: 'Semantic Versioning',
|
|
description: 'Automatische Versionierung nach SemVer',
|
|
category: 'release',
|
|
priority: 'high',
|
|
status: 'not_started',
|
|
subtasks: [
|
|
{ id: 'rel-1-1', title: 'Conventional Commits', completed: false },
|
|
{ id: 'rel-1-2', title: 'Automatische Git Tags', completed: false },
|
|
{ id: 'rel-1-3', title: 'CHANGELOG Generation', completed: false },
|
|
],
|
|
},
|
|
|
|
// ==================== DATA ====================
|
|
{
|
|
id: 'data-1',
|
|
title: 'Database Backup Strategy',
|
|
description: 'Automatische Backups mit Retention',
|
|
category: 'data',
|
|
priority: 'critical',
|
|
status: 'not_started',
|
|
subtasks: [
|
|
{ id: 'data-1-1', title: 'Taegliche Backups', completed: false },
|
|
{ id: 'data-1-2', title: 'Point-in-Time Recovery', completed: false },
|
|
{ id: 'data-1-3', title: 'Backup Encryption', completed: false },
|
|
{ id: 'data-1-4', title: 'Restore Test dokumentieren', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'data-2',
|
|
title: 'Customer Data Protection',
|
|
description: 'Schutz von Stammdaten & Dokumenten',
|
|
category: 'data',
|
|
priority: 'critical',
|
|
status: 'in_progress',
|
|
subtasks: [
|
|
{ id: 'data-2-1', title: 'Encryption at Rest', completed: true },
|
|
{ id: 'data-2-2', title: 'Audit Log fuer Consent', completed: true },
|
|
{ id: 'data-2-3', title: 'PII Masking in Logs', completed: true },
|
|
{ id: 'data-2-4', title: 'Secure Document Storage', completed: false },
|
|
],
|
|
},
|
|
|
|
// ==================== COMPLIANCE ====================
|
|
{
|
|
id: 'sbom-1',
|
|
title: 'SBOM erstellt und dokumentiert',
|
|
description: 'Software Bill of Materials',
|
|
category: 'compliance',
|
|
priority: 'high',
|
|
status: 'completed',
|
|
notes: 'Umfassende SBOM in /admin/sbom verfuegbar.',
|
|
subtasks: [
|
|
{ id: 'sbom-1-1', title: 'Go Dependencies', completed: true },
|
|
{ id: 'sbom-1-2', title: 'Python Dependencies', completed: true },
|
|
{ id: 'sbom-1-3', title: 'npm Dependencies', completed: true },
|
|
{ id: 'sbom-1-4', title: 'Docker Base Images', completed: true },
|
|
{ id: 'sbom-1-5', title: 'CycloneDX Export', completed: true },
|
|
],
|
|
},
|
|
{
|
|
id: 'sbom-2',
|
|
title: 'Lizenz-Compliance',
|
|
description: 'Alle Lizenzen geprueft',
|
|
category: 'compliance',
|
|
priority: 'high',
|
|
status: 'in_progress',
|
|
subtasks: [
|
|
{ id: 'sbom-2-1', title: 'Lizenzen identifiziert', completed: true },
|
|
{ id: 'sbom-2-2', title: 'Kompatibilitaet geprueft', completed: false },
|
|
{ id: 'sbom-2-3', title: 'LICENSES.md erstellt', completed: false },
|
|
],
|
|
},
|
|
|
|
// ==================== APPROVAL ====================
|
|
{
|
|
id: 'appr-1',
|
|
title: 'Release Approval Gates',
|
|
description: 'Mehrstufige Freigabe',
|
|
category: 'approval',
|
|
priority: 'critical',
|
|
status: 'not_started',
|
|
subtasks: [
|
|
{ id: 'appr-1-1', title: 'QA Sign-off', completed: false },
|
|
{ id: 'appr-1-2', title: 'Security Review', completed: false },
|
|
{ id: 'appr-1-3', title: 'Product Owner Freigabe', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'appr-2',
|
|
title: 'Post-Deployment Verification',
|
|
description: 'Checks nach Deployment',
|
|
category: 'approval',
|
|
priority: 'high',
|
|
status: 'not_started',
|
|
subtasks: [
|
|
{ id: 'appr-2-1', title: 'Smoke Tests', completed: false },
|
|
{ id: 'appr-2-2', title: 'Error Rate Monitoring', completed: false },
|
|
{ id: 'appr-2-3', title: 'Rollback Kriterien', completed: false },
|
|
],
|
|
},
|
|
]
|