Some checks failed
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 43s
CI / test-go-edu-search (push) Successful in 34s
CI / test-python-klausur (push) Failing after 2m35s
CI / test-python-agent-core (push) Successful in 20s
CI / test-nodejs-website (push) Successful in 25s
- Rewrote scripts/check-loc.sh: fixed macOS compat, added --staged mode, optimized --all mode with find+wc pipeline - Added .git/hooks/pre-commit that runs check-loc.sh --staged - Extended loc-exceptions.txt with glob patterns for test files (*test*) and blog content pages (blog/*/page.tsx) The hook blocks commits containing staged files >500 LOC unless exempted. Bypass for emergencies: git commit --no-verify Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
52 lines
4.0 KiB
Plaintext
52 lines
4.0 KiB
Plaintext
# LOC Exceptions — BreakPilot Lehrer
|
|
# Format: <glob> | owner=<person> | reason=<why> | review=<date>
|
|
#
|
|
# Jede Ausnahme braucht Begruendung und Review-Datum.
|
|
# Temporaere Ausnahmen muessen mit [guardrail-change] Commit-Marker versehen werden.
|
|
|
|
# Generated / Build Artifacts
|
|
**/node_modules/** | owner=infra | reason=npm packages | review=permanent
|
|
**/.next/** | owner=infra | reason=Next.js build output | review=permanent
|
|
**/__pycache__/** | owner=infra | reason=Python bytecode | review=permanent
|
|
**/venv/** | owner=infra | reason=Python virtualenv | review=permanent
|
|
|
|
# Test-Dateien (duerfen groesser sein fuer Table-Driven Tests)
|
|
**/*test*.py | owner=all | reason=Tests mit Table-Driven Patterns duerfen groesser sein | review=permanent
|
|
**/*test*.go | owner=all | reason=Go Tests mit Table-Driven Patterns | review=permanent
|
|
**/*test*.ts | owner=all | reason=TypeScript Tests | review=permanent
|
|
**/tests/** | owner=all | reason=Test-Verzeichnisse | review=permanent
|
|
|
|
# Blog-Seiten (reine statische Inhalte, kein Code)
|
|
**/blog/*/page.tsx | owner=website | reason=Statische Blog-Artikel (MDX-artig, reiner Content) | review=permanent
|
|
|
|
# Pure Data Registries (keine Logik, nur Daten-Definitionen)
|
|
**/dsfa_sources_registry.py | owner=klausur | reason=Pure data registry (license + source definitions, no logic) | review=2027-01-01
|
|
**/legal_corpus_registry.py | owner=klausur | reason=Pure data registry (Regulation dataclass + 47 regulation definitions, no logic) | review=2027-01-01
|
|
**/backlog/backlog-items.ts | owner=admin-lehrer | reason=Pure data array (506 LOC, no logic, only BacklogItem[] literals) | review=2027-01-01
|
|
**/lib/module-registry-data.ts | owner=admin-lehrer | reason=Pure data array (510 LOC, no logic, only BackendModule[] literals) | review=2027-01-01
|
|
|
|
# Algorithmic monolith — detect_column_geometry() allein 411 LOC, nicht weiter teilbar
|
|
**/cv_layout_columns.py | owner=klausur | reason=detect_column_geometry ist eine einzelne 411-LOC Funktion (Whitespace-Gap-Analyse) | review=2026-10-01
|
|
|
|
# Two indivisible route handlers (~230 LOC each) that cannot be split further
|
|
**/vocab_worksheet_compare_api.py | owner=klausur | reason=compare_ocr_methods (234 LOC) + analyze_grid (255 LOC), each a single cohesive handler | review=2026-10-01
|
|
|
|
# TypeScript Data Catalogs (admin-lehrer/lib/sdk/)
|
|
# Pure exported const arrays/objects with type definitions, no business logic.
|
|
# DSGVO/GDPR compliance catalogs: risk scenarios, mitigations, legal bases, checklists, etc.
|
|
**/lib/sdk/vendor-compliance/catalog/*.ts | owner=admin-lehrer | reason=Pure data catalogs (processing-activities 813, vendor-templates 564, legal-basis 562 LOC) | review=2027-01-01
|
|
**/lib/sdk/vendor-compliance/contract-review/findings.ts | owner=admin-lehrer | reason=Pure data catalog (573 LOC, FindingTemplate[] literals) | review=2027-01-01
|
|
**/lib/sdk/vendor-compliance/contract-review/checklists.ts | owner=admin-lehrer | reason=Pure data catalog (508 LOC, ChecklistItem[] literals) | review=2027-01-01
|
|
**/lib/sdk/dsfa/mitigation-library.ts | owner=admin-lehrer | reason=Pure data catalog (694 LOC, CatalogMitigation[] literals) | review=2027-01-01
|
|
**/lib/sdk/dsfa/eu-legal-frameworks.ts | owner=admin-lehrer | reason=Pure data catalog (622 LOC, legal framework definitions) | review=2027-01-01
|
|
**/lib/sdk/dsfa/risk-catalog.ts | owner=admin-lehrer | reason=Pure data catalog (615 LOC, CatalogRisk[] literals) | review=2027-01-01
|
|
**/lib/sdk/vvt-baseline-catalog.ts | owner=admin-lehrer | reason=Pure data catalog (630 LOC, BaselineTemplate[] literals) | review=2027-01-01
|
|
**/lib/sdk/loeschfristen-baseline-catalog.ts | owner=admin-lehrer | reason=Pure data catalog (578 LOC, retention period templates) | review=2027-01-01
|
|
|
|
# Single SSE generator orchestrating 6 pipeline steps — cannot split generator context
|
|
**/ocr_pipeline_auto_steps.py | owner=klausur | reason=run_auto is a single async generator yielding SSE events across 6 steps (528 LOC) | review=2026-10-01
|
|
|
|
# Legacy — TEMPORAER bis Refactoring abgeschlossen
|
|
# Dateien hier werden Phase fuer Phase abgearbeitet und entfernt.
|
|
# KEINE neuen Ausnahmen ohne [guardrail-change] Commit-Marker!
|