diff --git a/.claude/rules/loc-exceptions.txt b/.claude/rules/loc-exceptions.txt index e91d81bc..401ce785 100644 --- a/.claude/rules/loc-exceptions.txt +++ b/.claude/rules/loc-exceptions.txt @@ -182,3 +182,35 @@ admin-compliance/lib/sdk/einwilligungen/generator/cookie-banner-embed.ts # Polling, Storage, History, Agent-Toggle, TDM-Override. Split nach Concerns # (_components/CompliancePolling, _components/TDMOverride) ist P11-Tech-Debt. admin-compliance/app/sdk/agent/_components/ComplianceCheckTab.tsx + +# --- 2026-05-22 batch: P83-CI-Hardening backlog --- +# Diese 5 Files verletzen den 500-LOC-Hard-Cap aktuell und blockieren +# jeden PR der sie touched. Refactor ist Phase-2-Ziel (charakterisierungs- +# tests + Sub-Module). Bis dahin: explizite Exception mit Rationale, +# damit die CI nicht orthogonal an pre-existing Tech-Debt scheitert. +# +# vendor_detail_extractor.py (675): Playwright-Browser-Orchestrierung mit +# eng verflochtenen Page-State-Operationen (Banner-Reopen, Category- +# Expand, Anti-Audit-Detection, TDM-Check). Split braucht Page-Context- +# Shared-State zwischen Modulen — Aufwand > Nutzen ohne klares Refactor- +# Konzept. Phase 2: vendor_detail/ Subpackage mit Page-Wrapper-Klasse. +consent-tester/services/vendor_detail_extractor.py +# consent_scanner.py (567): 460-Zeilen-Funktion run_consent_test() — +# Browser-Phasen (initial fetch, banner detect, button click, reject, +# accept, screenshot, cookie diff). Split nach Phasen ist Phase-2-Ziel +# (consent_scanner/_phase_*.py). +consent-tester/services/consent_scanner.py +# rag_document_checker.py (559): Doc-Check-Pipeline (control loading, +# canonical-scope filter, deterministic MC checks, LLM enrichment). +# Splitbar in _control_loader.py + _llm_enrichment.py — kandidat fuer +# naechsten Sprint mit Charakterisierungs-Test gegen 5 GT-Doc-Samples. +backend-compliance/compliance/services/rag_document_checker.py +# banner_text_checker.py (531): 500-Zeilen-Funktion check_banner_text() +# mit eng-verflochtener DOM-Erkennungs-Logik (Save-Label, Ablehnen- +# Button, Dark-Patterns, Wortwahl-Heuristik). Phase-2-Split nach +# Pruef-Aspekt. +consent-tester/services/banner_text_checker.py +# ai-act/page.tsx (503): React-Page mit Form-State, Risiko-Klassifikation, +# Demo-Daten und Export. Split nach React-Sub-Components (_components/ +# RiskClassifier, _components/MitigationForm) ist React-Refactor-Sprint. +admin-compliance/app/sdk/ai-act/page.tsx