Website (14 monoliths split): - compliance/page.tsx (1,519 → 9), docs/audit (1,262 → 20) - quality (1,231 → 16), alerts (1,203 → 10), docs (1,202 → 11) - i18n.ts (1,173 → 8 language files) - unity-bridge (1,094 → 12), backlog (1,087 → 6) - training (1,066 → 8), rag (1,063 → 8) - Deleted index_original.ts (4,899 LOC dead backup) Studio-v2 (5 monoliths split): - meet/page.tsx (1,481 → 9), messages (1,166 → 9) - AlertsB2BContext.tsx (1,165 → 5 modules) - alerts-b2b/page.tsx (1,019 → 6), korrektur/archiv (1,001 → 6) All existing imports preserved. Zero new TypeScript errors. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
206 lines
23 KiB
TypeScript
206 lines
23 KiB
TypeScript
import type { BacklogItem } from './types'
|
|
|
|
export const initialBacklogItems: BacklogItem[] = [
|
|
// ==================== MODULE PROGRESS ====================
|
|
{
|
|
id: 'mod-1',
|
|
title: 'Consent Service (Go) - 85% fertig',
|
|
description: 'DSGVO Consent Management Microservice - Near Production Ready',
|
|
category: 'modules',
|
|
priority: 'high',
|
|
status: 'in_progress',
|
|
notes: 'Port 8081. 19 Test-Dateien vorhanden. JWT Auth, OAuth 2.0, TOTP 2FA, DSR Workflow, Matrix/Jitsi Integration.',
|
|
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: 'Performance Tests (High-Load)', completed: false },
|
|
{ id: 'mod-1-7', title: 'E2E API Contract Tests', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'mod-2',
|
|
title: 'School Service (Go) - 75% fertig',
|
|
description: 'Klassen, Noten, Zeugnisse Microservice',
|
|
category: 'modules',
|
|
priority: 'high',
|
|
status: 'in_progress',
|
|
notes: 'Port 8084. 6 Test-Dateien. Zeugnis-Workflow mit RBAC (Fachlehrer, Klassenlehrer, Schulleitung).',
|
|
subtasks: [
|
|
{ id: 'mod-2-1', title: 'Klassen & Schueler Management', completed: true },
|
|
{ id: 'mod-2-2', title: 'Noten-System mit Statistik', completed: true },
|
|
{ id: 'mod-2-3', title: 'Zeugnis-Workflow & Rollen', completed: true },
|
|
{ id: 'mod-2-4', title: 'Exam Variant Generation (LLM)', completed: true },
|
|
{ id: 'mod-2-5', title: 'Seed Data Generator', completed: true },
|
|
{ id: 'mod-2-6', title: 'Integration Tests zwischen Services', completed: false },
|
|
{ id: 'mod-2-7', title: 'Performance Tests (grosse Klassen)', completed: false },
|
|
{ id: 'mod-2-8', title: 'Trend-Analyse & Comparative Analytics', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'mod-3',
|
|
title: 'Billing Service (Go) - 80% fertig',
|
|
description: 'Stripe Integration & Task-Based Billing',
|
|
category: 'modules',
|
|
priority: 'high',
|
|
status: 'in_progress',
|
|
notes: 'Port 8083. 5 Test-Dateien. Task-Konsum mit 5-Monats-Carryover, Fair Use Mode.',
|
|
subtasks: [
|
|
{ id: 'mod-3-1', title: 'Subscription Lifecycle', completed: true },
|
|
{ id: 'mod-3-2', title: 'Stripe Checkout & Webhooks', completed: true },
|
|
{ id: 'mod-3-3', title: 'Task-Based Consumption Tracking', completed: true },
|
|
{ id: 'mod-3-4', title: 'Feature Gating / Entitlements', completed: true },
|
|
{ id: 'mod-3-5', title: 'Customer Portal Integration', completed: true },
|
|
{ id: 'mod-3-6', title: 'Refund & Chargeback Handling', completed: false },
|
|
{ id: 'mod-3-7', title: 'Advanced Analytics & Reporting', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'mod-4',
|
|
title: 'Klausur Service (Python) - 70% fertig',
|
|
description: 'BYOEH Abitur-Klausurkorrektur System',
|
|
category: 'modules',
|
|
priority: 'critical',
|
|
status: 'in_progress',
|
|
notes: 'Port 8086. 2 Test-Dateien. BYOEH mit AES-256-GCM Encryption, Qdrant Vector DB, Key-Sharing.',
|
|
subtasks: [
|
|
{ id: 'mod-4-1', title: 'BYOEH Upload & Encryption', completed: true },
|
|
{ id: 'mod-4-2', title: 'Key-Sharing zwischen Pruefern', completed: true },
|
|
{ id: 'mod-4-3', title: 'Qdrant RAG Integration', completed: true },
|
|
{ id: 'mod-4-4', title: 'RBAC fuer Pruefer-Rollen', completed: true },
|
|
{ id: 'mod-4-5', title: 'OCR Pipeline Implementation', completed: false },
|
|
{ id: 'mod-4-6', title: 'KI-gestuetzte Korrektur API', completed: false },
|
|
{ id: 'mod-4-7', title: 'Gutachten-Generierung', completed: false },
|
|
{ id: 'mod-4-8', title: 'Frontend: KorrekturPage fertigstellen', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'mod-5',
|
|
title: 'Admin Frontend (Next.js) - 60% fertig',
|
|
description: 'Next.js 15 Admin Dashboard',
|
|
category: 'modules',
|
|
priority: 'high',
|
|
status: 'in_progress',
|
|
notes: 'Port 3000. Nur 1 Test-Datei! Viele Admin-Seiten sind nur Skelett-Implementierungen.',
|
|
subtasks: [
|
|
{ id: 'mod-5-1', title: 'AdminLayout & Navigation', completed: true },
|
|
{ id: 'mod-5-2', title: 'SBOM & Architecture Pages', completed: true },
|
|
{ id: 'mod-5-3', title: 'Security Dashboard', completed: true },
|
|
{ id: 'mod-5-4', title: 'Backlog Page', completed: true },
|
|
{ id: 'mod-5-5', title: 'Consent Management Page', completed: true },
|
|
{ id: 'mod-5-6', title: 'Edu-Search Implementation', completed: false },
|
|
{ id: 'mod-5-7', title: 'DSMS Page Implementation', completed: false },
|
|
{ id: 'mod-5-8', title: 'Component Unit Tests', completed: false },
|
|
{ id: 'mod-5-9', title: 'E2E Tests mit Playwright', completed: false },
|
|
{ id: 'mod-5-10', title: 'Authentication Implementation', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'mod-6',
|
|
title: 'Backend Studio (Python) - 65% fertig',
|
|
description: 'Lehrer-Frontend Module (FastAPI)',
|
|
category: 'modules',
|
|
priority: 'medium',
|
|
status: 'in_progress',
|
|
notes: 'Port 8000. Keine dedizierten Tests! Integration mit allen APIs.',
|
|
subtasks: [
|
|
{ id: 'mod-6-1', title: 'Studio Router & Module Loading', completed: true },
|
|
{ id: 'mod-6-2', title: 'School Module UI', completed: true },
|
|
{ id: 'mod-6-3', title: 'Meetings/Jitsi Integration', completed: true },
|
|
{ id: 'mod-6-4', title: 'Customer Portal (Slim)', completed: true },
|
|
{ id: 'mod-6-5', title: 'Dev Admin Panel', completed: true },
|
|
{ id: 'mod-6-6', title: 'Component Unit Tests', completed: false },
|
|
{ id: 'mod-6-7', title: 'UI Component Dokumentation', completed: false },
|
|
{ id: 'mod-6-8', title: 'Accessibility Compliance', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'mod-7',
|
|
title: 'DSMS/IPFS Service - 40% fertig',
|
|
description: 'Dezentrales Speichersystem',
|
|
category: 'modules',
|
|
priority: 'low',
|
|
status: 'not_started',
|
|
notes: 'Port 8082. Keine Tests! Grundstruktur vorhanden aber Core-Logic fehlt.',
|
|
subtasks: [
|
|
{ id: 'mod-7-1', title: 'Service Struktur', completed: true },
|
|
{ id: 'mod-7-2', title: 'IPFS Configuration', completed: true },
|
|
{ id: 'mod-7-3', title: 'Upload/Download Handlers', completed: false },
|
|
{ id: 'mod-7-4', title: 'Encryption/Decryption Layer', completed: false },
|
|
{ id: 'mod-7-5', title: 'Pinning Strategy', completed: false },
|
|
{ id: 'mod-7-6', title: 'Replication Logic', completed: false },
|
|
{ id: 'mod-7-7', title: 'Tests & Dokumentation', completed: false },
|
|
],
|
|
},
|
|
{
|
|
id: 'mod-8',
|
|
title: 'Security Module (Python) - 75% fertig',
|
|
description: 'DevSecOps Dashboard & Scans',
|
|
category: 'modules',
|
|
priority: 'medium',
|
|
status: 'in_progress',
|
|
notes: 'Teil von Backend. Keine dedizierten Tests! Gitleaks, Semgrep, Bandit, Trivy Integration.',
|
|
subtasks: [
|
|
{ id: 'mod-8-1', title: 'Security Tool Status API', completed: true },
|
|
{ id: 'mod-8-2', title: 'Findings Aggregation', completed: true },
|
|
{ id: 'mod-8-3', title: 'Report Parsing (alle Tools)', completed: true },
|
|
{ id: 'mod-8-4', title: 'SBOM Generation (CycloneDX)', completed: true },
|
|
{ id: 'mod-8-5', title: 'Scan Triggering', completed: true },
|
|
{ id: 'mod-8-6', title: 'Unit Tests fuer Parser', completed: false },
|
|
{ id: 'mod-8-7', title: 'Vulnerability Tracking', completed: false },
|
|
{ id: 'mod-8-8', title: 'Compliance Reporting (SOC2)', completed: false },
|
|
],
|
|
},
|
|
|
|
// ==================== TESTING & QUALITY ====================
|
|
{ id: 'test-1', title: 'Test Coverage Erhöhen - Consent Service', description: 'Integration & E2E Tests fuer produktionskritischen Service', category: 'testing', priority: 'high', status: 'not_started', subtasks: [{ id: 'test-1-1', title: 'E2E API Tests mit echter DB', completed: false }, { id: 'test-1-2', title: 'Load Testing mit k6 oder vegeta', completed: false }, { id: 'test-1-3', title: 'Edge Cases in DSR Workflow', completed: false }] },
|
|
{ id: 'test-2', title: 'Admin Frontend Test Suite', description: 'Component & E2E Tests fuer Next.js Admin', category: 'testing', priority: 'critical', status: 'not_started', notes: 'Aktuell nur 1 Test-Datei! Kritischer Mangel.', subtasks: [{ id: 'test-2-1', title: 'Jest/Vitest fuer Component Tests', completed: false }, { id: 'test-2-2', title: 'Playwright E2E Setup', completed: false }, { id: 'test-2-3', title: 'API Mock Layer', completed: false }, { id: 'test-2-4', title: 'Visual Regression Tests', completed: false }] },
|
|
{ id: 'test-3', title: 'Klausur Service Tests erweitern', description: 'OCR & KI-Korrektur Pipeline testen', category: 'testing', priority: 'high', status: 'not_started', subtasks: [{ id: 'test-3-1', title: 'BYOEH Encryption Tests', completed: true }, { id: 'test-3-2', title: 'Key-Sharing Tests', completed: true }, { id: 'test-3-3', title: 'OCR Pipeline Integration Tests', completed: false }, { id: 'test-3-4', title: 'Large File Upload Tests', completed: false }] },
|
|
{ id: 'test-4', title: 'Security Module Unit Tests', description: 'Parser-Funktionen und Findings-Aggregation testen', category: 'testing', priority: 'medium', status: 'not_started', subtasks: [{ id: 'test-4-1', title: 'Gitleaks Parser Tests', completed: false }, { id: 'test-4-2', title: 'Trivy Parser Tests', completed: false }, { id: 'test-4-3', title: 'SBOM Generation Tests', completed: false }, { id: 'test-4-4', title: 'Mock Security Reports', completed: false }] },
|
|
|
|
// ==================== CI/CD PIPELINES ====================
|
|
{ id: 'cicd-1', title: 'GitHub Actions Workflow Setup', description: 'Basis CI/CD Pipeline mit GitHub Actions aufsetzen', category: 'cicd', priority: 'critical', status: 'completed', notes: 'Implementiert in .github/workflows/ci.yml', subtasks: [{ id: 'cicd-1-1', title: 'Build-Job fuer alle Services', completed: true }, { id: 'cicd-1-2', title: 'Test-Job mit Coverage Report', completed: true }, { id: 'cicd-1-3', title: 'Docker Image Build & Push', completed: true }, { id: 'cicd-1-4', title: 'Deploy to Staging Environment', completed: true }] },
|
|
{ id: 'cicd-2', title: 'Staging Environment einrichten', description: 'Separate Staging-Umgebung fuer Pre-Production Tests', category: 'cicd', priority: 'high', status: 'not_started', subtasks: [{ id: 'cicd-2-1', title: 'Staging Server/Cluster provisionieren', completed: false }, { id: 'cicd-2-2', title: 'Staging Datenbank mit anonymisierten Daten', completed: false }, { id: 'cicd-2-3', title: 'Automatisches Deployment bei Merge to main', completed: false }] },
|
|
{ id: 'cicd-3', title: 'Production Deployment Pipeline', description: 'Kontrolliertes Deployment in Production mit Rollback', category: 'cicd', priority: 'critical', status: 'not_started', subtasks: [{ id: 'cicd-3-1', title: 'Blue-Green oder Canary Deployment Strategy', completed: false }, { id: 'cicd-3-2', title: 'Automatischer Rollback bei Fehlern', completed: false }, { id: 'cicd-3-3', title: 'Health Check nach Deployment', completed: false }, { id: 'cicd-3-4', title: 'Deployment Notifications (Slack/Email)', completed: false }] },
|
|
|
|
// Security & Vulnerability
|
|
{ id: 'sec-1', title: 'Dependency Vulnerability Scanning', description: 'Automatische Pruefung auf bekannte Schwachstellen', category: 'security', priority: 'critical', status: 'completed', notes: 'Implementiert in .github/dependabot.yml', subtasks: [{ id: 'sec-1-1', title: 'Dependabot fuer Go aktivieren', completed: true }, { id: 'sec-1-2', title: 'Dependabot fuer Python aktivieren', completed: true }, { id: 'sec-1-3', title: 'Dependabot fuer npm aktivieren', completed: true }, { id: 'sec-1-4', title: 'CI-Job: Block Merge bei kritischen Vulnerabilities', completed: true }] },
|
|
{ id: 'sec-2', title: 'Container Image Scanning', description: 'Sicherheitspruefung aller Docker Images', category: 'security', priority: 'high', status: 'completed', notes: 'Implementiert in .github/workflows/security.yml', subtasks: [{ id: 'sec-2-1', title: 'Trivy oder Snyk in CI integrieren', completed: true }, { id: 'sec-2-2', title: 'Base Image Policy definieren', completed: true }, { id: 'sec-2-3', title: 'Scan Report bei jedem Build', completed: true }] },
|
|
{ id: 'sec-3', title: 'SAST (Static Application Security Testing)', description: 'Code-Analyse auf Sicherheitsluecken', category: 'security', priority: 'high', status: 'completed', notes: 'Implementiert in .github/workflows/security.yml', subtasks: [{ id: 'sec-3-1', title: 'CodeQL fuer Go/Python aktivieren', completed: true }, { id: 'sec-3-2', title: 'Semgrep Regeln konfigurieren', completed: false }, { id: 'sec-3-3', title: 'OWASP Top 10 Checks integrieren', completed: true }] },
|
|
{ id: 'sec-4', title: 'Secret Scanning', description: 'Verhindern, dass Secrets in Git landen', category: 'security', priority: 'critical', status: 'completed', notes: 'Implementiert in .github/workflows/security.yml', subtasks: [{ id: 'sec-4-1', title: 'GitHub Secret Scanning aktivieren', completed: true }, { id: 'sec-4-2', title: 'Pre-commit Hook mit gitleaks', completed: true }, { id: 'sec-4-3', title: 'Historische Commits scannen', completed: true }] },
|
|
|
|
// RBAC & Access Control
|
|
{ id: 'rbac-1', title: 'GitHub Team & Repository Permissions', description: 'Team-basierte Zugriffsrechte auf Repository', category: 'rbac', priority: 'high', status: 'not_started', subtasks: [{ id: 'rbac-1-1', title: 'Team "Maintainers" erstellen', completed: false }, { id: 'rbac-1-2', title: 'Team "Developers" erstellen', completed: false }, { id: 'rbac-1-3', title: 'Team "Reviewers" erstellen', completed: false }, { id: 'rbac-1-4', title: 'External Collaborators Policy', completed: false }] },
|
|
{ id: 'rbac-2', title: 'Infrastructure Access Control', description: 'Zugriffsrechte auf Server und Cloud-Ressourcen', category: 'rbac', priority: 'critical', status: 'not_started', subtasks: [{ id: 'rbac-2-1', title: 'SSH Key Management Policy', completed: false }, { id: 'rbac-2-2', title: 'Production Server Access Audit Log', completed: false }, { id: 'rbac-2-3', title: 'Database Access nur ueber Jump Host', completed: false }, { id: 'rbac-2-4', title: 'Secrets Management (Vault/AWS Secrets)', completed: false }] },
|
|
{ id: 'rbac-3', title: 'Admin Panel Access Control', description: 'Rollenbasierte Zugriffsrechte im Admin Frontend', category: 'rbac', priority: 'medium', status: 'not_started', subtasks: [{ id: 'rbac-3-1', title: 'Admin Authentication implementieren', completed: false }, { id: 'rbac-3-2', title: 'Role-based Views (Admin vs. Support)', completed: false }, { id: 'rbac-3-3', title: 'Audit Log fuer Admin-Aktionen', completed: false }] },
|
|
|
|
// Git & Branch Protection
|
|
{ id: 'git-1', title: 'Protected Branches Setup', description: 'Schutz fuer main/develop Branches', category: 'git', priority: 'critical', status: 'not_started', subtasks: [{ id: 'git-1-1', title: 'main Branch: No direct push', completed: false }, { id: 'git-1-2', title: 'Require PR with min. 1 Approval', completed: false }, { id: 'git-1-3', title: 'Require Status Checks (CI muss gruen sein)', completed: false }, { id: 'git-1-4', title: 'Require Signed Commits', completed: false }] },
|
|
{ id: 'git-2', title: 'Pull Request Template', description: 'Standardisierte PR-Beschreibung mit Checkliste', category: 'git', priority: 'medium', status: 'not_started', subtasks: [{ id: 'git-2-1', title: 'PR Template mit Description, Testing, Checklist', completed: false }, { id: 'git-2-2', title: 'Issue Template fuer Bugs und Features', completed: false }, { id: 'git-2-3', title: 'Automatische Labels basierend auf Aenderungen', completed: false }] },
|
|
{ id: 'git-3', title: 'Code Review Guidelines', description: 'Dokumentierte Richtlinien fuer Code Reviews', category: 'git', priority: 'medium', status: 'not_started', subtasks: [{ id: 'git-3-1', title: 'Code Review Checklist erstellen', completed: false }, { id: 'git-3-2', title: 'Review Turnaround Time Policy', completed: false }, { id: 'git-3-3', title: 'CODEOWNERS Datei pflegen', completed: false }] },
|
|
|
|
// Release Management
|
|
{ id: 'rel-1', title: 'Semantic Versioning Setup', description: 'Automatische Versionierung nach SemVer', category: 'release', priority: 'high', status: 'not_started', subtasks: [{ id: 'rel-1-1', title: 'Conventional Commits erzwingen', completed: false }, { id: 'rel-1-2', title: 'semantic-release oder release-please einrichten', completed: false }, { id: 'rel-1-3', title: 'Automatische Git Tags', completed: false }] },
|
|
{ id: 'rel-2', title: 'Changelog Automation', description: 'Automatisch generierte Release Notes', category: 'release', priority: 'medium', status: 'not_started', subtasks: [{ id: 'rel-2-1', title: 'CHANGELOG.md automatisch generieren', completed: false }, { id: 'rel-2-2', title: 'GitHub Release mit Notes erstellen', completed: false }, { id: 'rel-2-3', title: 'Breaking Changes hervorheben', completed: false }] },
|
|
{ id: 'rel-3', title: 'Release Branches Strategy', description: 'Branching-Modell fuer Releases definieren', category: 'release', priority: 'medium', status: 'not_started', subtasks: [{ id: 'rel-3-1', title: 'Git Flow oder GitHub Flow definieren', completed: false }, { id: 'rel-3-2', title: 'Hotfix Branch Process', completed: false }, { id: 'rel-3-3', title: 'Release Branch Protection', completed: false }] },
|
|
|
|
// Data Protection
|
|
{ id: 'data-1', title: 'Database Backup Strategy', description: 'Automatische Backups mit Retention Policy', category: 'data', priority: 'critical', status: 'not_started', subtasks: [{ id: 'data-1-1', title: 'Taegliche automatische Backups', completed: false }, { id: 'data-1-2', title: 'Point-in-Time Recovery aktivieren', completed: false }, { id: 'data-1-3', title: 'Backup Encryption at Rest', completed: false }, { id: 'data-1-4', title: 'Backup Restore Test dokumentieren', completed: false }] },
|
|
{ id: 'data-2', title: 'Customer Data Protection', description: 'Schutz von Stammdaten, Consent & Dokumenten', category: 'data', priority: 'critical', status: 'not_started', subtasks: [{ id: 'data-2-1', title: 'Stammdaten: Encryption at Rest', completed: false }, { id: 'data-2-2', title: 'Consent-Daten: Audit Log fuer Aenderungen', completed: false }, { id: 'data-2-3', title: 'Dokumente: Secure Storage (S3 mit Encryption)', completed: false }, { id: 'data-2-4', title: 'PII Data Masking in Logs', completed: false }] },
|
|
{ id: 'data-3', title: 'Migration Safety', description: 'Sichere Datenbank-Migrationen ohne Datenverlust', category: 'data', priority: 'high', status: 'not_started', subtasks: [{ id: 'data-3-1', title: 'Migration Pre-Check Script', completed: false }, { id: 'data-3-2', title: 'Rollback-faehige Migrationen', completed: false }, { id: 'data-3-3', title: 'Staging Migration Test vor Production', completed: false }] },
|
|
{ id: 'data-4', title: 'Data Anonymization', description: 'Anonymisierte Daten fuer Staging/Test', category: 'data', priority: 'medium', status: 'not_started', subtasks: [{ id: 'data-4-1', title: 'Anonymisierungs-Script fuer Staging DB', completed: false }, { id: 'data-4-2', title: 'Test-Datengenerator', completed: false }, { id: 'data-4-3', title: 'DSGVO-konforme Loeschung in Test-Systemen', completed: false }] },
|
|
|
|
// Compliance & SBOM
|
|
{ id: 'sbom-1', title: 'Software Bill of Materials (SBOM) erstellen', description: 'Vollstaendige Liste aller Open Source Komponenten', category: 'compliance', priority: 'high', status: 'completed', notes: 'Implementiert in /admin/sbom', subtasks: [{ id: 'sbom-1-1', title: 'Go Dependencies auflisten', completed: true }, { id: 'sbom-1-2', title: 'Python Dependencies auflisten', completed: true }, { id: 'sbom-1-3', title: 'npm Dependencies auflisten', completed: true }, { id: 'sbom-1-4', title: 'Docker Base Images dokumentieren', completed: true }, { id: 'sbom-1-5', title: 'SBOM in CycloneDX/SPDX Format exportieren', completed: true }] },
|
|
{ id: 'sbom-2', title: 'Open Source Lizenz-Compliance', description: 'Pruefung aller Lizenzen auf Kompatibilitaet', category: 'compliance', priority: 'high', status: 'in_progress', subtasks: [{ id: 'sbom-2-1', title: 'Alle Lizenzen identifizieren', completed: true }, { id: 'sbom-2-2', title: 'Lizenz-Kompatibilitaet pruefen', completed: false }, { id: 'sbom-2-3', title: 'LICENSES.md Datei erstellen', completed: false }, { id: 'sbom-2-4', title: 'Third-Party Notices generieren', completed: false }] },
|
|
{ id: 'sbom-3', title: 'Open Source Policy', description: 'Richtlinien fuer Verwendung von Open Source', category: 'compliance', priority: 'medium', status: 'not_started', subtasks: [{ id: 'sbom-3-1', title: 'Erlaubte Lizenzen definieren', completed: false }, { id: 'sbom-3-2', title: 'Genehmigungsprozess fuer neue Dependencies', completed: false }, { id: 'sbom-3-3', title: 'Automatische Lizenz-Checks in CI', completed: false }] },
|
|
{ id: 'sbom-4', title: 'Aktuelle Open Source Komponenten dokumentieren', description: 'BreakPilot Open Source Stack dokumentieren', category: 'compliance', priority: 'medium', status: 'completed', notes: 'Implementiert in /admin/sbom und /admin/architecture', subtasks: [{ id: 'sbom-4-1', title: 'Backend: FastAPI, Pydantic, httpx, anthropic', completed: true }, { id: 'sbom-4-2', title: 'Go Services: Gin, GORM, goquery', completed: true }, { id: 'sbom-4-3', title: 'Frontend: Next.js, React, Tailwind', completed: true }, { id: 'sbom-4-4', title: 'Infrastructure: PostgreSQL, OpenSearch, Ollama', completed: true }] },
|
|
|
|
// Approval Workflow
|
|
{ id: 'appr-1', title: 'Release Approval Gates', description: 'Mehrstufige Freigabe vor Production Deploy', category: 'approval', priority: 'critical', status: 'not_started', subtasks: [{ id: 'appr-1-1', title: 'QA Sign-off erforderlich', completed: false }, { id: 'appr-1-2', title: 'Security Review fuer kritische Aenderungen', completed: false }, { id: 'appr-1-3', title: 'Product Owner Freigabe', completed: false }, { id: 'appr-1-4', title: 'GitHub Environments mit Required Reviewers', completed: false }] },
|
|
{ id: 'appr-2', title: 'Deployment Windows', description: 'Definierte Zeitfenster fuer Production Deployments', category: 'approval', priority: 'medium', status: 'not_started', subtasks: [{ id: 'appr-2-1', title: 'Deployment-Kalender definieren', completed: false }, { id: 'appr-2-2', title: 'Freeze Periods (z.B. vor Feiertagen)', completed: false }, { id: 'appr-2-3', title: 'Emergency Hotfix Process', completed: false }] },
|
|
{ id: 'appr-3', title: 'Post-Deployment Verification', description: 'Checks nach erfolgreichem Deployment', category: 'approval', priority: 'high', status: 'not_started', subtasks: [{ id: 'appr-3-1', title: 'Smoke Tests automatisieren', completed: false }, { id: 'appr-3-2', title: 'Error Rate Monitoring (erste 30 Min)', completed: false }, { id: 'appr-3-3', title: 'Rollback-Kriterien definieren', completed: false }] },
|
|
]
|