Workstream W2 · Angewandte Forschung

Contamination-resistente Code-Evaluierung

Statische Coding-Benchmarks verfallen, sobald ihre Aufgaben in Trainingskorpora durchsickern. W2 synthetisiert Evaluierungsaufgaben per AST-Analyse direkt aus echten, versionierten Repositories – Kontamination wird zur messbaren Eigenschaft statt zum unsichtbaren Störfaktor.

Working PaperPilot gemessen – nur operative Ergebnisse · Resistenzstudie folgt

++
60/60 · 4 min 57 s
End-to-End auf dem Cerberus-Validierungsframework – Single Stream, Temperatur 0, kein OOM.
Gemessen
~200 tok/s
Ein Sparse-MoE-Decode-Pfad mit ~3B aktiven Parametern auf einer RTX 5090 – bandbreitenlimitiert, korrekt zugeordnet.
Gemessen
score(stale) − score(fresh)
Die Kontaminationslücke (C1): klein auf regenerierten Aufgaben, wo ein statischer Benchmark eine große zeigt.
Ziel · prognostiziert
++
Kontext

Benchmarks sickern durch. Die Scores ziehen nach.

Die Validität eines Benchmarks hängt daran, wie sauber seine Testdaten vom Trainingsset getrennt sind – und für öffentliche Coding-Suiten lautet die ehrliche Antwort: nicht sauber.

Frühe ausführungsbasierte Suiten etablierten den Test funktionaler Korrektheit, sind aber Single-File, synthetisch und inzwischen massiv in Trainingskorpora durchgesickert; gehärtete Varianten ergänzten mutationsgenerierte Tests, ohne die Kontamination zu lösen. Die Antwort des Forschungsfelds hat drei Formen angenommen: Post-Cutoff-Ernte (Probleme, die erst nach dem Wissens-Cutoff eines Modells veröffentlicht wurden), private Held-out-Repositories und automatisierte Generierung aus echten Repositories. W2 gehört zur dritten Familie – mit zwei bewussten Einschränkungen: Es läuft End-to-End auf einer einzelnen 32 GB-GPU, air-gapped, und es zielt auf eine sicherheitsrelevante Validierungsbibliothek, wo ein halluzinierter „Fix“ maximal teuer ist.

Zwei Lehren aus dieser Literatur prägen alles Folgende. Erstens: Kontaminationsresistenz ist erst durch einen Fresh-versus-Stale-Vergleich belegt – nicht durch den bloßen Akt der Generierung aus einem Repository. Zweitens: Der etablierte Standard für ein „Pass“ im Code ist execution-grounded – Erfolg heißt, dass Tests nach der Änderung des Modells bestehen, nicht dass der Output plausibel klingt.

++
Methode

Aufgaben aus einem fixierten Commit.

Eine strukturelle Extraktions-Engine liest ein Ziel-Repository und fertigt frische Aufgaben, die an die tatsächlichen Signaturen, Imports und Edge Cases dieses Codes gebunden sind – bis zu einer Aufgabe pro Kategorie und Datei.

Pinned commit repo state, versioned Scan glob + filter AST parse per source file Metadata signatures · imports Task synthesis ≤ 1 task / category / file code_generation function from requirement + imports code_understanding locate a deliberately injected bug security_audit injection vectors · unsafe eval/exec deterministic eval engine · temperature 0 · single stream · SQLite → JSON → dashboard
Aufgabensynthese – vom fixierten Commit zum bewerteten Lauf. Keine handgeschriebene Aufgabenliste, keine öffentliche Suite.
Die Reproduzierbarkeits-Eigenschaft

Aufgaben sind eine reine Funktion von (Repo-Zustand, Extraktionsregeln) – Monate später aus exakt demselben Commit re-derivierbar, auch durch unabhängige Dritte. Das ist das Substrat, auf dem die Kontaminationskontrolle aufbaut.

Why a 35B model fits 32 GB – sparse experts + hybrid attention (pilot model: Qwen3.6-35B-A3B · Q4_K_M) weights ~24 GB · all 256 experts resident (~3B active per token) KV ~5 GB OS MoE buys compute and bandwidth, not memory – decode tracks the ~3B active path (hence ~200 tok/s), VRAM tracks the full 35B. Hybrid attention buys the cache headroom: only 10 of 40 layers grow a KV cache; the other 30 carry a fixed-size recurrent state.
Die tragende Arithmetik, gemessen auf der Pilot-Hardware. Der bekannte Vorbehalt: Low-Bit-Quantisierung erhält Oberflächen-Validität zuverlässiger als tiefes Reasoning – genau das muss Execution Grounding (C2) bestätigen statt annehmen.
++
Gemessen

Der Pilot, ehrlich gelesen.

Sechzig Aufgaben – zwanzig pro Kategorie – liefen End-to-End gegen Cerberus, eine sicherheitsrelevante Input-Validierungsbibliothek. Jede Aufgabe wurde abgeschlossen. Und genau deshalb ist das Ergebnis kein Capability-Score.

Measured – single stream · temperature 0 · no OOM 60 / 60 completed · no OOM 4 min 57 s ~5.0 s per task ~200 tok/s ~3B active · bandwidth-bound 74,342 tokens 12.7k prompt / 59.4k completion the 100% converts directly into the agenda ↓ Stratify difficulty beginner → adversarial (C3) Execution-ground it verified ≠ completed (C2) Show the gap fresh − stale (C1) Frontier anchor cross-model, cross-repo (C4/C5)
Pilot-Ergebnis – operatives Signal, kein Capability-Score. Die 100-%-Pass-Rate wird als nicht-diskriminatives Aufgabenset gelesen.

Nach der Diskriminationsregel, die dieses Programm an jede Rubric anlegt – ein Aufgabenset, auf dem jede Probe besteht, misst nichts –, ist ein 60/60-Ergebnis keine Capability-Aussage. Es besagt, dass die generierten Aufgaben unterhalb der Leistungsgrenze des Modells lagen. Das ist der zentrale Befund des Piloten: Die Extraktionspipeline läuft End-to-End, deterministisch, im VRAM-Budget – und die Schwierigkeitsverteilung muss angehoben werden, bevor irgendeine Zahl Signal trägt. Vertrauenswürdig ist hier die operative Messung: Durchsatz, Stabilität, Token-Bilanz unter fixiertem Single Stream.

++
Ehrlichkeit

Was der Pilot nicht zeigt.

Zwei Eigenschaften, die der Lauf nicht belegt – präzise benannt, weil jede in §05 zu einem messbaren Kriterium wird.

B-1 Kontaminationsresistenz ist eine Eigenschaft der Methode, noch kein demonstriertes Ergebnis Cerberus ist ausgereift, weit verbreitet und mit an Sicherheit grenzender Wahrscheinlichkeit Teil des Trainingskorpus des Modells. Die Synthese aus seiner Struktur liefert frische Aufgabenformulierungen – aber Code und Idiome darunter sind plausibel memoriert; dieser Lauf kann Capability nicht von Recall trennen. Was er belegt, ist das Substrat für die Kontrolle: Aufgaben, an einen Commit gepinnt, deterministisch re-derivierbar. Die Resistenz selbst verlangt den Fresh-versus-Stale-Vergleich (C1) gegen Post-Cutoff-Code. → C1
B-2 „Abgeschlossen“ ist nicht „korrekt“ Das Pass-Kriterium des Piloten ist eine syntaktisch valide, themengerechte Antwort; der generierte Code wird nicht gegen Tests ausgeführt. Der etablierte Standard ist execution-grounded – und nach diesem Standard berichtet der Pilot Abschluss, nicht verifizierte Korrektheit. Die Lösung führt Outputs durch den W1-Execution-Harness: Compile, generierte und Property-Tests, Linter und Type-Checker. Am meisten zählt das in security_audit, wo eine behauptete Schwachstelle durch eine tatsächliche Reproduktion bestätigt werden muss – nicht bloß als Text akzeptiert. → C2
Static public benchmark stale fresh large gap = contamination score partly reflects training-set memory Regenerated from a live repository stale fresh small gap = resistant same pipeline, post-cutoff targets What resistance has to mean contamination gap = score(stale) − score(fresh) fresh = repositories / commits after the cutoff
++
Falsifizierbare Aussagen

Fünf Kriterien, C1–C5.

Die Workstream-Hypothese: Aus lebenden Repositories regenerierte Aufgaben widerstehen der Memorierung – der Vorteil eines Modells auf gesehenem Code überträgt sich nicht auf strukturell gematchten, ungesehenen Code aus derselben Pipeline. Jede Aussage trägt Instrument und Schwelle und gilt als prognostiziert, bis sie gemessen ist.

C1 Kontaminationslücke score(stale) − score(fresh), wobei fresh = Aufgaben aus Repositories oder Commits nach dem Wissens-Cutoff des Modells und stale = bekannter Pre-Cutoff-Code. Bestanden: Die Pipeline zeigt eine kleine Lücke, wo ein statischer öffentlicher Benchmark auf demselben Modell eine große zeigt. Falsifiziert, wenn: die Lücke auf dem regenerierten Set so groß ist wie auf dem statischen – die Methode fügt keine Resistenz hinzu. Prognostiziert
C2 Execution-grounded Korrektheit Ein „Pass“ muss verifiziert sein, nicht behauptet. Instrument: der W1-Execution-Harness und der Frozen-Rubric-Judge – generierter Code muss kompilieren und generierte/Property-Tests bestehen; ein lokalisierter Bug muss durch einen failing→passing-Test bestätigt, ein Audit-Befund reproduziert werden. Falsifiziert, wenn: die Ausführungsverifikation einen wesentlichen Anteil „abgeschlossener“ Passes kippt. Prognostiziert
C3 Diskrimination Das Aufgabenset muss starken von schwachem Output trennen. Instrument: Schwierigkeit stratifizieren (Beginner → adversarial), bis die Pass-Rate aus der Sättigung kommt; berichtet werden Schwierigkeitsverteilung und ein Item-Diskriminationsindex, keine einzelne Pass-Rate. Falsifiziert, wenn: kein Schwierigkeitsband existiert, in dem die Pass-Rate informativ ist – weder 0 noch 100 %. Prognostiziert
C4 Externe Validität über Modelle und Repos Identische, vermessene Bedingungen über Modelle und Repositories hinweg (Async-Routing, Validierungs-Metaklassen, REST-Frameworks) über die Live-GitHub-API – keine simulierten Zeilen. Falsifiziert, wenn: Rankings und Lücken über das Raster hinweg instabil oder repo-unangemessen sind. Prognostiziert
C5 Frontier-Anker & Halluzinations-Check Lokale Scores per Batch-API an einem Frontier-Modell verankern und generierte Imports und API-Aufrufe gegen echte Paketdokumentation abgleichen – erfundene Abhängigkeiten müssen auffliegen, bevor sie wie valider Code aussehen. Falsifiziert, wenn: keine quantifizierte Lokal-versus-Frontier-Lücke vorliegt oder die Rate erfundener Abhängigkeiten unberichtet bleibt. Prognostiziert

C1 und C2 überführen die ehrlichen Grenzen des Piloten in gemessene Ergebnisse; C3–C5 formalisieren die Next-Steps-Liste. Alle fünf laufen auf demselben Single-GPU-Setup, air-gapped, plus der W1-Pipeline, die das Programm bereits enthält – und genau das ist der Punkt: Der gesamte Plan ist unter der Souveränitätsbedingung verifizierbar, für die der Pilot gebaut wurde.

++
Angewandt

Souveränes Modell-Vetting, End-to-End.

Das Vetting eines Open-Weight-Modells für eine air-gapped, sicherheitskritische Codebase – der Anwendungsfall, für den die Methode existiert.

Souveränes Modell-Vetting, End-to-End
  • Situation. Ein Team pflegt eine proprietäre Input-Validierungsbibliothek unter einer Datensouveränitäts-Auflage – nichts darf das Netz verlassen. Öffentliche Coding-Benchmarks sind kontaminiert; ein Leaderboard-Rang ist für diese Codebase kein Beleg.
  • Aufgabe. Eine belastbare On-Premises-Messung, ob ein Kandidatenmodell die Edge Cases und das Injection-Vektor-Reasoning dieses Repositories beherrscht – reproduzierbar aus dem exakten Commit, innerhalb einer 32 GB-GPU, ohne Cloud-Abhängigkeit im Evaluierungspfad.
  • Vorgehen. Den AST-Extraktor auf den fixierten Commit richten; Aufgaben synthetisieren, gebunden an die echten Signaturen und Imports des Repos; deterministisch bei Temperatur 0 unter fixiertem Single Stream laufen lassen; Latenz, Tokens und Finish-Reasons pro Aufgabe loggen.
  • Ergebnis. Eine vollständige Evaluierung in unter fünf Minuten, komplett on-premises und aus (Commit, Extraktionsregeln) re-derivierbar – belastbar auch in einem Audit Monate später. Das Deliverable ist eine vertrauenswürdige, souveräne Messung plus eine präzise Anweisung für die nächste Iteration – keine Zahl auf Treu und Glauben.
++
Limitationen

Jenseits der zwei Grenzen.

Jenseits der zwei Grenzen aus §04
  • Eine andere Aufgabenfamilie. AST-synthetisierte Aufgaben sind strukturell sauberer als Issue-Resolution-Aufgaben („löse dieses GitHub-Issue, sodass seine versteckten Tests bestehen“) – die Pipeline ergänzt Issue-basierte Evaluierung, statt sie zu ersetzen, und ihre Schwierigkeitsobergrenze ist ein Grund für die Sättigung des Piloten.
  • Ein Operator, eine Hardware. Die operativen Zahlen (Durchsatz, Latenz) tragen diese externe Validitätsgrenze unabhängig von der Capability-Frage – per Design ein C4-Thema.
  • Identifikation ist nicht Exploitation. Die Kategorie security_audit bewertet derzeit Identifikation; ein Befund, der korrekt klingt, muss es nicht sein – genau deshalb ist die Reproduktionspflicht aus C2 für diese Kategorie tragend.
  • Die Quantisierung ist der offene Vorbehalt. Q4_K_M erhält Oberflächen-Validität zuverlässiger als tiefes mehrschrittiges Reasoning – Korrektheit unter Low-Bit-Gewichten ist, was Execution Grounding bestätigen muss, nicht annehmen darf.