diff --git a/admin-lehrer/app/(admin)/ai/rag/page.tsx b/admin-lehrer/app/(admin)/ai/rag/page.tsx index 51fa7b3..39836e8 100644 --- a/admin-lehrer/app/(admin)/ai/rag/page.tsx +++ b/admin-lehrer/app/(admin)/ai/rag/page.tsx @@ -1384,19 +1384,20 @@ const isInRag = (code: string): boolean => code in REGULATIONS_IN_RAG // Helper: Get known chunk count for a regulation const getKnownChunks = (code: string): number => REGULATIONS_IN_RAG[code]?.chunks || 0 -// Known collection totals (updated: 2026-03-05) +// Known collection totals (updated: 2026-03-12) // Note: bp_compliance_datenschutz expanded via edpb-crawler.py (55 EDPB/WP29/EDPS documents). // bp_dsfa_corpus expanded with 20 DSFA Muss-Listen (BfDI + DSK + 16 Bundeslaender). +// bp_compliance_gesetze: +5263 Chunks durch Phase H Verbraucherschutz (Run #701, inkl. BDSG/DDG/TKG/HGB/AO Duplikate) const COLLECTION_TOTALS = { - bp_compliance_gesetze: 58304, + bp_compliance_gesetze: 63567, // 58304 + 5263 (Phase H) bp_compliance_ce: 18183, bp_legal_templates: 7689, bp_compliance_datenschutz: 17459, bp_dsfa_corpus: 8666, bp_compliance_recht: 1425, bp_nibis_eh: 7996, - total_legal: 76487, // gesetze + ce - total_all: 119722, + total_legal: 81750, // gesetze + ce + total_all: 124985, } // License display labels @@ -1450,7 +1451,10 @@ const INDUSTRY_REGULATION_MAP: Record = { all: ['GDPR', 'EPRIVACY', 'TDDDG'], health: ['GDPR', 'TDDDG', 'BSI-TR-03161-1', 'BSI-TR-03161-2', 'BSI-TR-03161-3', 'NIS2', 'AIACT', 'PLD', 'EHDS'], finance: ['GDPR', 'TDDDG', 'NIS2', 'EUCSA', 'DSA', 'AIACT', 'DPF', 'DORA', 'PSD2', 'AMLR', 'MiCA'], - ecommerce: ['GDPR', 'TDDDG', 'DSA', 'GPSR', 'EAA', 'PLD', 'DPF', 'PSD2'], + ecommerce: ['GDPR', 'TDDDG', 'DSA', 'GPSR', 'EAA', 'PLD', 'DPF', 'PSD2', + 'DE_PANGV', 'DE_VSBG', 'DE_PRODHAFTG', 'DE_VERPACKG', 'DE_ELEKTROG', 'DE_BFSG', 'DE_UWG', + 'E_COMMERCE_RL', 'VERBRAUCHERRECHTE_RL', 'WARENKAUF_RL', 'KLAUSEL_RL', 'UNLAUTERE_PRAKTIKEN_RL', + 'PREISANGABEN_RL', 'OMNIBUS_RL', 'DIGITALE_INHALTE_RL'], tech: ['GDPR', 'TDDDG', 'CRA', 'AIACT', 'DPF', 'SCC', 'DATAACT', 'DSM', 'MiCA'], iot: ['GDPR', 'CRA', 'GPSR', 'PLD', 'DATAACT', 'AIACT'], ai: ['GDPR', 'AIACT', 'PLD', 'DSM', 'DATAACT'], @@ -1510,6 +1514,15 @@ const THEMATIC_GROUPS = [ regulations: ['EHDS', 'BSI-TR-03161-1', 'BSI-TR-03161-2', 'BSI-TR-03161-3'], description: 'Gesundheitsdatenraum, DiGA-Sicherheit, Patientenrechte' }, + { + id: 'verbraucherschutz', + name: 'Verbraucherschutz & E-Commerce', + color: 'bg-amber-500', + regulations: ['DE_PANGV', 'DE_VSBG', 'DE_PRODHAFTG', 'DE_UWG', 'DE_BFSG', + 'WARENKAUF_RL', 'KLAUSEL_RL', 'UNLAUTERE_PRAKTIKEN_RL', 'PREISANGABEN_RL', + 'OMNIBUS_RL', 'E_COMMERCE_RL', 'VERBRAUCHERRECHTE_RL', 'DIGITALE_INHALTE_RL'], + description: 'Widerrufsrecht, Preisangaben, Fernabsatz, AGB-Recht, Barrierefreiheit' + }, ] // Key overlaps and intersections @@ -2896,7 +2909,7 @@ export default function RAGPage() {

RAG-Abdeckung ({Object.keys(REGULATIONS_IN_RAG).length} von {REGULATIONS.length} Regulierungen)

-

Stand: Februar 2026 — Alle im RAG-System verfuegbaren Regulierungen

+

Stand: Maerz 2026 — Alle im RAG-System verfuegbaren Regulierungen (inkl. Verbraucherschutz Phase H)

diff --git a/admin-lehrer/app/(admin)/ai/rag/rag-constants.ts b/admin-lehrer/app/(admin)/ai/rag/rag-constants.ts index e1051c5..0ce6947 100644 --- a/admin-lehrer/app/(admin)/ai/rag/rag-constants.ts +++ b/admin-lehrer/app/(admin)/ai/rag/rag-constants.ts @@ -75,16 +75,23 @@ export const REGULATIONS_IN_RAG: Record = { DE_USTG_RET: { collection: 'bp_compliance_gesetze', chunks: 1071, qdrant_id: 'de_ustg_ret' }, DE_URHG: { collection: 'bp_compliance_gesetze', chunks: 626, qdrant_id: 'urhg_komplett' }, - // === DE Verbraucherschutz-Gesetze (bp_compliance_gesetze) — Phase H Ingestion === - DE_PANGV: { collection: 'bp_compliance_gesetze', chunks: 0, qdrant_id: 'pangv' }, - DE_VSBG: { collection: 'bp_compliance_gesetze', chunks: 0, qdrant_id: 'vsbg' }, - DE_PRODHAFTG: { collection: 'bp_compliance_gesetze', chunks: 0, qdrant_id: 'prodhaftg' }, - DE_VERPACKG: { collection: 'bp_compliance_gesetze', chunks: 0, qdrant_id: 'verpackg' }, - DE_ELEKTROG: { collection: 'bp_compliance_gesetze', chunks: 0, qdrant_id: 'elektrog' }, - DE_BATTDG: { collection: 'bp_compliance_gesetze', chunks: 0, qdrant_id: 'battdg' }, - DE_BFSG: { collection: 'bp_compliance_gesetze', chunks: 0, qdrant_id: 'bfsg' }, - DE_UWG: { collection: 'bp_compliance_gesetze', chunks: 0, qdrant_id: 'uwg' }, - DE_GEWO: { collection: 'bp_compliance_gesetze', chunks: 0, qdrant_id: 'gewo' }, + // === DE Verbraucherschutz-Gesetze (bp_compliance_gesetze) — Phase H1 (Run #701) === + DE_PANGV: { collection: 'bp_compliance_gesetze', chunks: 99, qdrant_id: 'pangv' }, + DE_VSBG: { collection: 'bp_compliance_gesetze', chunks: 113, qdrant_id: 'vsbg' }, + DE_PRODHAFTG: { collection: 'bp_compliance_gesetze', chunks: 26, qdrant_id: 'prodhaftg' }, + DE_VERPACKG: { collection: 'bp_compliance_gesetze', chunks: 338, qdrant_id: 'verpackg' }, + DE_ELEKTROG: { collection: 'bp_compliance_gesetze', chunks: 344, qdrant_id: 'elektrog' }, + DE_BATTDG: { collection: 'bp_compliance_gesetze', chunks: 307, qdrant_id: 'battdg' }, + DE_BFSG: { collection: 'bp_compliance_gesetze', chunks: 221, qdrant_id: 'bfsg' }, + DE_UWG: { collection: 'bp_compliance_gesetze', chunks: 157, qdrant_id: 'uwg' }, + DE_GEWO: { collection: 'bp_compliance_gesetze', chunks: 0, qdrant_id: 'gewo' }, // Pending: Re-run noetig (Timeout) + // BGB in Teilen (statt 2.7MB komplett) + DE_BGB_AGB_305: { collection: 'bp_compliance_gesetze', chunks: 0, qdrant_id: 'bgb_agb' }, // §§ 305-310 + DE_BGB_FERNABSATZ: { collection: 'bp_compliance_gesetze', chunks: 0, qdrant_id: 'bgb_fernabsatz' }, // §§ 312-312k + DE_BGB_KAUFRECHT: { collection: 'bp_compliance_gesetze', chunks: 0, qdrant_id: 'bgb_kaufrecht' }, // §§ 433-480 + DE_BGB_WIDERRUF: { collection: 'bp_compliance_gesetze', chunks: 0, qdrant_id: 'bgb_widerruf' }, // §§ 355-361 + DE_BGB_DIGITAL: { collection: 'bp_compliance_gesetze', chunks: 0, qdrant_id: 'bgb_digital' }, // §§ 327-327u + DE_EGBGB_WIDERRUF: { collection: 'bp_compliance_gesetze', chunks: 0, qdrant_id: 'egbgb' }, // Muster-Widerrufsbelehrung // === BSI Standards (bp_compliance_gesetze) === 'BSI-TR-03161-1': { collection: 'bp_compliance_gesetze', chunks: 138, qdrant_id: 'bsi_tr_03161_1' }, @@ -279,6 +286,12 @@ export const REGULATION_INFO: RegulationInfo[] = [ { code: 'DE_BFSG', name: 'BFSG', type: 'de_law' }, { code: 'DE_UWG', name: 'UWG', type: 'de_law' }, { code: 'DE_GEWO', name: 'GewO', type: 'de_law' }, + { code: 'DE_BGB_AGB_305', name: 'BGB AGB-Recht §§305-310', type: 'de_law' }, + { code: 'DE_BGB_FERNABSATZ', name: 'BGB Fernabsatz §§312-312k', type: 'de_law' }, + { code: 'DE_BGB_KAUFRECHT', name: 'BGB Kaufrecht §§433-480', type: 'de_law' }, + { code: 'DE_BGB_WIDERRUF', name: 'BGB Widerruf §§355-361', type: 'de_law' }, + { code: 'DE_BGB_DIGITAL', name: 'BGB Digital §§327-327u', type: 'de_law' }, + { code: 'DE_EGBGB_WIDERRUF', name: 'EGBGB Widerrufsbelehrung', type: 'de_law' }, // BSI { code: 'BSI-TR-03161-1', name: 'BSI-TR Teil 1', type: 'bsi_standard' }, { code: 'BSI-TR-03161-2', name: 'BSI-TR Teil 2', type: 'bsi_standard' },