Files
breakpilot-lehrer/admin-lehrer/app/(admin)/backlog/backlog-items.ts
Benjamin Admin b681ddb131 [split-required] Split 58 monoliths across Python, Go, TypeScript (Phases 1-3)
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>
2026-04-24 17:28:57 +02:00

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 },
],
},
]