# Benchmark-Archiv & RC-Freeze — `v1` (2026-06-19) > **Zweck:** Reproduzierbarkeits-Record der Doc-Check-Kalibrierung (DSE / Cookie / Impressum). > Diese Datei enthält **nur Metadaten + Hashes** — **kein** Drittanbieter-Dokumenttext (Urheber-/Datenbankrecht). > Die vollständigen Artefakte (Korpora, GTs, Ergebnisse, Skripte) liegen im **internen Audit-Archiv**, getrennt von Repo / RAG / Produkt. ## 1. Daten-Klassen (Retention-Entscheidung 2026-06-19) Drei Risikoklassen, drei Regeln: | Klasse | Regel | |---|---| | **RAG-Korpus** | Control ableiten → Dokument **verwerfen**. Keine Volltexte als Wissensbasis. | | **Kundendaten (Prod)** | Speichern: Finding · Evidence · Hash · Version · URL · Zeitpunkt. **Keine** Dauer-Volltextkopie. Datensparsamkeit. | | **Benchmark/Validierung** | **Versioniert behalten** — sonst sind Messungen nicht reproduzierbar. Intern, off-RAG, off-Produkt. Wie ein Test-/Audit-Archiv, nicht wie eine Wissensbasis. | Begründung: Das Risiko eines kleinen internen Benchmark-Archivs (öffentlich zugängliche Dokumente) ist geringer als das Risiko, die gesamte Validierung später nicht mehr belegen zu können. ## 2. Release-Candidates (eingefroren) | RC | doc_type | Opus-GT (Archiv) | Testfirmen | FP / FN | Status | |---|---|---|---|---|---| | **DSE_RC_v1** | dse | `gt_opus_dse.json` (5 orig) + `gt_opus_dse_fresh.json` (3 frisch) | 8 (db, otto, ikea, ob, teamviewer + GT-Roster) | FP 11 %→**6 %**, FN ~7 %; frisch FP 7 % / FN 5 % | Release-Candidate | | **COOKIE_RC_v1** | cookie | `gt_opus_cookie_v2.json` (Mehrfach-Sampling offen) | 7 (db, ikea, lieferando, mediamarkt, ob, tchibo, teamviewer) | Prec 0,81→**0,95**, Rec 0,26→**0,44**, verpasste Lücken→**0 %** | Wave-1 (GT-Rauschen-Vorbehalt) | | **IMPRESSUM_RC_v1** | impressum | `gt_opus_impressum.json` | 9 (db, ikea, lieferando, mediamarkt, ob, otto, tchibo, teamviewer, zalando) | Text-Check FP **0 %** / FN **2 %** (81 anwendbar, 9 Faktenfeld-Controls) | Release-Candidate | Detail-Methodik + Fehlerkarte: [`platform_validation_v1.md`](platform_validation_v1.md). Per-Modul-Zahlen: Gedächtnis `project_engine_quality.md`. ## 3. Archiv-Ort + Index ``` macmini:~/bp-benchmark-archive/v1_2026-06-19/ ├── MANIFEST.json # 54 Dateien, je SHA256 + Bytes (autoritativ) ├── gt__.txt # Korpora (Drittanbieter-Volltext — NUR hier) ├── gt_opus_*.json # Opus-Oracle-GTs ├── *_candidates*.json, *_resid.json, *_falsefindings*.json ├── *_criteria_changelog.json / *_criteria_backup.json └── scripts/ # 46 Mess-Skripte (cc_*.py) = "wie gemessen" ``` **Versionsdefinierende Hashes** (12-stellig gekürzt; voll in `MANIFEST.json`): | Artefakt | sha256… | Rolle | |---|---|---| | `gt_opus_dse.json` | `c5c8975afa42` | DSE-GT (orig) | | `gt_opus_dse_fresh.json` | `f3940da2e420` | DSE-GT (Anti-Overfit) | | `gt_opus_cookie_v2.json` | `fcb61dc9b332` | Cookie-GT | | `gt_opus_impressum.json` | `3e0f2f8d5f5f` | Impressum-GT | | `dse_criteria_changelog.json` | `d8d461527f5b` | DSE-Kriterien-Diff | | `cookie_criteria_changelog.json` | `9d29d7b515a5` | Cookie-Kriterien-Diff | | `impressum_fp_by_cause.json` | `9477f98c0577` | Impressum SCOPE/JUDGE-Split | ## 4. Reproduktion 1. Archiv = Grundwahrheit (Korpus-Hash belegt die damalige Dokumentversion; ändert die Firma ihr Dokument → neuer Hash, alte Messung bleibt über das Archiv belegbar). 2. Mess-Skripte unter `scripts/` gegen die GTs laufen lassen (Pattern: `docker exec -i bp-compliance-backend python3 - < scripts/cc_engine_*.py`). 3. OVH ist stochastisch → Zahlen ±Rauschen; RC-Werte sind Mittel über den dokumentierten Lauf. ## 5. Was NICHT passiert - Korpus-Volltexte gehen **nicht** ins Repo, **nicht** in Qdrant/RAG, **nicht** ins Produkt. - Das Archiv ist read-only Referenz; Kalibrierungs-Änderungen sind über die Changelog-Artefakte reversibel.