fix: Restore all files lost during destructive rebase
A previous `git pull --rebase origin main` dropped 177 local commits,
losing 3400+ files across admin-v2, backend, studio-v2, website,
klausur-service, and many other services. The partial restore attempt
(660295e2) only recovered some files.
This commit restores all missing files from pre-rebase ref 98933f5e
while preserving post-rebase additions (night-scheduler, night-mode UI,
NightModeWidget dashboard integration).
Restored features include:
- AI Module Sidebar (FAB), OCR Labeling, OCR Compare
- GPU Dashboard, RAG Pipeline, Magic Help
- Klausur-Korrektur (8 files), Abitur-Archiv (5+ files)
- Companion, Zeugnisse-Crawler, Screen Flow
- Full backend, studio-v2, website, klausur-service
- All compliance SDKs, agent-core, voice-service
- CI/CD configs, documentation, scripts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -110,10 +110,9 @@ export const MODULE_REGISTRY: BackendModule[] = [
|
||||
frontend: {
|
||||
adminV2Page: '/compliance/einwilligungen',
|
||||
oldAdminPage: '/admin/consent (Users Tab)',
|
||||
status: 'partial',
|
||||
status: 'connected',
|
||||
},
|
||||
priority: 'critical',
|
||||
notes: 'Admin-View fuer Einwilligungen noch nicht implementiert'
|
||||
},
|
||||
{
|
||||
id: 'dsr-requests',
|
||||
@@ -135,10 +134,9 @@ export const MODULE_REGISTRY: BackendModule[] = [
|
||||
frontend: {
|
||||
adminV2Page: '/compliance/dsr',
|
||||
oldAdminPage: '/admin/dsr',
|
||||
status: 'not-connected'
|
||||
status: 'connected'
|
||||
},
|
||||
priority: 'high',
|
||||
notes: 'DSR-Modul im alten Admin vorhanden, noch nicht migriert'
|
||||
},
|
||||
{
|
||||
id: 'dsms',
|
||||
@@ -159,7 +157,7 @@ export const MODULE_REGISTRY: BackendModule[] = [
|
||||
frontend: {
|
||||
adminV2Page: '/compliance/dsms',
|
||||
oldAdminPage: '/admin/dsms',
|
||||
status: 'not-connected'
|
||||
status: 'connected'
|
||||
},
|
||||
priority: 'medium'
|
||||
},
|
||||
@@ -191,6 +189,51 @@ export const MODULE_REGISTRY: BackendModule[] = [
|
||||
// ===========================================
|
||||
// AI MODULES
|
||||
// ===========================================
|
||||
{
|
||||
id: 'ai-agents',
|
||||
name: 'AI Agents',
|
||||
description: 'Multi-Agent System Verwaltung und Monitoring',
|
||||
category: 'ai',
|
||||
backend: {
|
||||
service: 'voice-service',
|
||||
port: 8088,
|
||||
basePath: '/api/v1/agents',
|
||||
endpoints: [
|
||||
{ path: '/sessions', method: 'GET', description: 'Agent-Sessions' },
|
||||
{ path: '/statistics', method: 'GET', description: 'Agent-Statistiken' },
|
||||
{ path: '/{agentId}', method: 'GET', description: 'Agent-Details' },
|
||||
{ path: '/{agentId}/soul', method: 'GET', description: 'SOUL-Konfiguration' },
|
||||
]
|
||||
},
|
||||
frontend: {
|
||||
adminV2Page: '/ai/agents',
|
||||
oldAdminPage: undefined,
|
||||
status: 'connected'
|
||||
},
|
||||
priority: 'high',
|
||||
notes: 'Neues Multi-Agent System'
|
||||
},
|
||||
{
|
||||
id: 'ai-quality',
|
||||
name: 'AI Quality (BQAS)',
|
||||
description: 'KI-Qualitaetssicherung und Evaluierung',
|
||||
category: 'ai',
|
||||
backend: {
|
||||
service: 'voice-service',
|
||||
port: 8088,
|
||||
basePath: '/api/bqas',
|
||||
endpoints: [
|
||||
{ path: '/evaluate', method: 'POST', description: 'Antwort evaluieren' },
|
||||
{ path: '/metrics', method: 'GET', description: 'Qualitaetsmetriken' },
|
||||
]
|
||||
},
|
||||
frontend: {
|
||||
adminV2Page: '/ai/quality',
|
||||
oldAdminPage: '/admin/quality',
|
||||
status: 'connected'
|
||||
},
|
||||
priority: 'high'
|
||||
},
|
||||
{
|
||||
id: 'llm-compare',
|
||||
name: 'LLM Vergleich',
|
||||
@@ -209,10 +252,35 @@ export const MODULE_REGISTRY: BackendModule[] = [
|
||||
frontend: {
|
||||
adminV2Page: '/ai/llm-compare',
|
||||
oldAdminPage: '/admin/llm-compare',
|
||||
status: 'not-connected'
|
||||
status: 'connected'
|
||||
},
|
||||
priority: 'medium'
|
||||
},
|
||||
{
|
||||
id: 'magic-help',
|
||||
name: 'Magic Help (TrOCR)',
|
||||
description: 'Handschrifterkennung mit TrOCR und LoRA Fine-Tuning',
|
||||
category: 'ai',
|
||||
backend: {
|
||||
service: 'klausur-service',
|
||||
port: 8086,
|
||||
basePath: '/api/klausur/trocr',
|
||||
endpoints: [
|
||||
{ path: '/status', method: 'GET', description: 'TrOCR Status' },
|
||||
{ path: '/extract', method: 'POST', description: 'Text aus Bild extrahieren' },
|
||||
{ path: '/training/examples', method: 'GET', description: 'Trainingsbeispiele' },
|
||||
{ path: '/training/add', method: 'POST', description: 'Trainingsbeispiel hinzufuegen' },
|
||||
{ path: '/training/fine-tune', method: 'POST', description: 'Fine-Tuning starten' },
|
||||
]
|
||||
},
|
||||
frontend: {
|
||||
adminV2Page: '/ai/magic-help',
|
||||
oldAdminPage: '/admin/magic-help',
|
||||
status: 'connected'
|
||||
},
|
||||
priority: 'medium',
|
||||
notes: 'Lokale Handschrifterkennung mit Privacy-by-Design'
|
||||
},
|
||||
{
|
||||
id: 'klausur-korrektur',
|
||||
name: 'Klausur-Korrektur',
|
||||
@@ -278,7 +346,7 @@ export const MODULE_REGISTRY: BackendModule[] = [
|
||||
frontend: {
|
||||
adminV2Page: '/ai/rag',
|
||||
oldAdminPage: '/admin/rag',
|
||||
status: 'not-connected'
|
||||
status: 'connected'
|
||||
},
|
||||
priority: 'medium'
|
||||
},
|
||||
@@ -304,7 +372,7 @@ export const MODULE_REGISTRY: BackendModule[] = [
|
||||
frontend: {
|
||||
adminV2Page: '/infrastructure/gpu',
|
||||
oldAdminPage: '/admin/gpu',
|
||||
status: 'not-connected'
|
||||
status: 'connected'
|
||||
},
|
||||
priority: 'medium'
|
||||
},
|
||||
@@ -326,7 +394,7 @@ export const MODULE_REGISTRY: BackendModule[] = [
|
||||
frontend: {
|
||||
adminV2Page: '/infrastructure/security',
|
||||
oldAdminPage: '/admin/security',
|
||||
status: 'not-connected'
|
||||
status: 'connected'
|
||||
},
|
||||
priority: 'high'
|
||||
},
|
||||
@@ -348,7 +416,50 @@ export const MODULE_REGISTRY: BackendModule[] = [
|
||||
frontend: {
|
||||
adminV2Page: '/infrastructure/sbom',
|
||||
oldAdminPage: '/admin/sbom',
|
||||
status: 'not-connected'
|
||||
status: 'connected'
|
||||
},
|
||||
priority: 'medium'
|
||||
},
|
||||
|
||||
{
|
||||
id: 'middleware',
|
||||
name: 'Middleware Manager',
|
||||
description: 'Verwaltung und Monitoring der Backend-Middleware',
|
||||
category: 'infrastructure',
|
||||
backend: {
|
||||
service: 'python-backend',
|
||||
port: 8000,
|
||||
basePath: '/api/middleware',
|
||||
endpoints: [
|
||||
{ path: '/status', method: 'GET', description: 'Middleware-Status' },
|
||||
{ path: '/config', method: 'GET', description: 'Konfiguration' },
|
||||
]
|
||||
},
|
||||
frontend: {
|
||||
adminV2Page: '/infrastructure/middleware',
|
||||
oldAdminPage: '/admin/middleware',
|
||||
status: 'connected'
|
||||
},
|
||||
priority: 'medium'
|
||||
},
|
||||
{
|
||||
id: 'ci-cd',
|
||||
name: 'CI/CD Pipeline',
|
||||
description: 'Build-Pipeline und Deployment-Management',
|
||||
category: 'infrastructure',
|
||||
backend: {
|
||||
service: 'python-backend',
|
||||
port: 8000,
|
||||
basePath: '/api/builds',
|
||||
endpoints: [
|
||||
{ path: '/pipelines', method: 'GET', description: 'Pipeline-Status' },
|
||||
{ path: '/builds', method: 'GET', description: 'Build-Historie' },
|
||||
]
|
||||
},
|
||||
frontend: {
|
||||
adminV2Page: '/infrastructure/ci-cd',
|
||||
oldAdminPage: '/admin/builds',
|
||||
status: 'connected'
|
||||
},
|
||||
priority: 'medium'
|
||||
},
|
||||
@@ -356,11 +467,52 @@ export const MODULE_REGISTRY: BackendModule[] = [
|
||||
// ===========================================
|
||||
// EDUCATION MODULES
|
||||
// ===========================================
|
||||
// Note: school-directory module removed (no person/school data crawling)
|
||||
{
|
||||
id: 'edu-search',
|
||||
name: 'Bildungssuche',
|
||||
description: 'Suche nach Bildungsinhalten und Ressourcen',
|
||||
category: 'education',
|
||||
backend: {
|
||||
service: 'edu-search-service',
|
||||
port: 8089,
|
||||
basePath: '/api/edu',
|
||||
endpoints: [
|
||||
{ path: '/search', method: 'GET', description: 'Bildungssuche' },
|
||||
{ path: '/resources', method: 'GET', description: 'Ressourcen' },
|
||||
]
|
||||
},
|
||||
frontend: {
|
||||
adminV2Page: '/education/edu-search',
|
||||
oldAdminPage: '/admin/edu-search',
|
||||
status: 'connected'
|
||||
},
|
||||
priority: 'medium'
|
||||
},
|
||||
|
||||
// ===========================================
|
||||
// COMMUNICATION MODULES
|
||||
// ===========================================
|
||||
{
|
||||
id: 'alerts',
|
||||
name: 'Alerts & Benachrichtigungen',
|
||||
description: 'System-Benachrichtigungen und Alerts',
|
||||
category: 'communication',
|
||||
backend: {
|
||||
service: 'python-backend',
|
||||
port: 8000,
|
||||
basePath: '/api/alerts',
|
||||
endpoints: [
|
||||
{ path: '/notifications', method: 'GET', description: 'Benachrichtigungen' },
|
||||
{ path: '/alerts', method: 'GET', description: 'Aktive Alerts' },
|
||||
]
|
||||
},
|
||||
frontend: {
|
||||
adminV2Page: '/communication/alerts',
|
||||
oldAdminPage: '/admin/alerts',
|
||||
status: 'connected'
|
||||
},
|
||||
priority: 'medium'
|
||||
},
|
||||
{
|
||||
id: 'unified-inbox',
|
||||
name: 'Unified Inbox',
|
||||
@@ -379,7 +531,7 @@ export const MODULE_REGISTRY: BackendModule[] = [
|
||||
frontend: {
|
||||
adminV2Page: '/communication/mail',
|
||||
oldAdminPage: '/admin/mail',
|
||||
status: 'not-connected'
|
||||
status: 'connected'
|
||||
},
|
||||
priority: 'low'
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user