feat: BreakPilot PWA - Full codebase (clean push without large binaries)
Some checks failed
Tests / Go Tests (push) Has been cancelled
Tests / Python Tests (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / Go Lint (push) Has been cancelled
Tests / Python Lint (push) Has been cancelled
Tests / Security Scan (push) Has been cancelled
Tests / All Checks Passed (push) Has been cancelled
Security Scanning / Secret Scanning (push) Has been cancelled
Security Scanning / Dependency Vulnerability Scan (push) Has been cancelled
Security Scanning / Go Security Scan (push) Has been cancelled
Security Scanning / Python Security Scan (push) Has been cancelled
Security Scanning / Node.js Security Scan (push) Has been cancelled
Security Scanning / Docker Image Security (push) Has been cancelled
Security Scanning / Security Summary (push) Has been cancelled
CI/CD Pipeline / Go Tests (push) Has been cancelled
CI/CD Pipeline / Python Tests (push) Has been cancelled
CI/CD Pipeline / Website Tests (push) Has been cancelled
CI/CD Pipeline / Linting (push) Has been cancelled
CI/CD Pipeline / Security Scan (push) Has been cancelled
CI/CD Pipeline / Docker Build & Push (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / CI Summary (push) Has been cancelled
ci/woodpecker/manual/build-ci-image Pipeline was successful
ci/woodpecker/manual/main Pipeline failed

All services: admin-v2, studio-v2, website, ai-compliance-sdk,
consent-service, klausur-service, voice-service, and infrastructure.
Large PDFs and compiled binaries excluded via .gitignore.
This commit is contained in:
BreakPilot Dev
2026-02-11 13:25:58 +01:00
commit 19855efacc
2512 changed files with 933814 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
"""
Klausurkorrektur Module - Privacy-by-Design Exam Correction.
DSGVO-compliant exam correction with QR-code based pseudonymization.
No personal data is sent to the LLM.
Architecture:
- Pseudonymization via doc_token (128-bit UUID)
- Teacher namespace isolation
- Self-hosted LLM at SysEleven
- Zero-knowledge identity mapping (encrypted client-side)
"""
from .db_models import (
ExamSession, PseudonymizedDocument, QRBatchJob,
SessionStatus, DocumentStatus,
# Magic Onboarding
OnboardingSession, DetectedStudent, ModuleLink,
OnboardingStatus, ModuleLinkType
)
from .repository import KlausurRepository
from .database import get_db, init_db
# Services
from .services.roster_parser import RosterParser, get_roster_parser
from .services.school_resolver import SchoolResolver, get_school_resolver
from .services.module_linker import ModuleLinker, get_module_linker
__all__ = [
# Models
"ExamSession",
"PseudonymizedDocument",
"QRBatchJob",
"SessionStatus",
"DocumentStatus",
# Magic Onboarding Models
"OnboardingSession",
"DetectedStudent",
"ModuleLink",
"OnboardingStatus",
"ModuleLinkType",
# Repository
"KlausurRepository",
# Database
"get_db",
"init_db",
# Services
"RosterParser",
"get_roster_parser",
"SchoolResolver",
"get_school_resolver",
"ModuleLinker",
"get_module_linker",
]