File size: 8,068 Bytes
3bc7cb3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 | # Evidence Contract
Stand: 2026-05-04
## Zweck
Dieser Contract definiert, wann eine Aussage aus einem Projekt, Experiment oder Agentenlauf als belastbare Erkenntnis gelten darf.
Er ist harness-agnostisch: Hermes, Codex, Claude Code, Aider, OpenCode, AgentArena oder ein manuelles Experiment koennen denselben Contract verwenden.
Kernregel:
> Metriken beweisen Leistung innerhalb eines Rahmens. Sie beweisen nicht automatisch, dass der Rahmen selbst sinnvoll oder uebertragbar ist.
Ergaenzende Arbeitsregel:
> Kein agentischer Projektschritt ohne kleinen Realitaetskontakt.
## Erkenntnisstufen
| Stufe | Bedeutung | Erlaubte Aussage |
|---|---|---|
| `intuition` | Erfahrung, Bauchgefuehl, Plausibilitaet | "Das koennte funktionieren." |
| `observation` | Ein belegtes Einzelereignis | "In diesem Run ist X passiert." |
| `evidence` | Reproduzierbar in definiertem Setup | "Unter diesen Bedingungen trat X wiederholt auf." |
| `working_rule` | Stark genug fuer vorlaeufige Praxis | "Bis Gegenbeweis nutzen wir X als Regel." |
| `theory` | Erklaert, begrenzt uebertragbar, falsifizierbar | "X wirkt vermutlich wegen Y, gueltig fuer Z." |
## Pflichtfelder Fuer Claims
Jeder relevante Projekt-Claim bekommt diese Felder.
```yaml
claim: ""
claim_evidence_level: "blocked|insufficient|intuition|observation|evidence|working_rule|theory"
method_evidence_level: "none|intuition|observation|evidence|working_rule|theory"
scope:
project: ""
harness: ""
model: ""
task_set: ""
time_window: ""
commit_or_version: ""
experiment:
baseline: ""
intervention: ""
controlled_variables: []
changed_variables: []
run_count: 0
repetitions_per_task: 0
measurement:
primary_metric: ""
secondary_metrics: []
judge_used: false
judge_role: ""
success_rule: ""
falsifier: ""
artifacts:
logs: []
reports: []
database: ""
diffs: []
screenshots: []
method_check:
baseline_stable: "yes|no|unknown"
tasks_discriminative: "yes|no|unknown"
infra_errors_dominant: "yes|no|unknown"
metric_matches_question: "yes|no|unknown"
treatment_effect_blocked: "yes|no"
transfer_limit: ""
conclusion:
allowed_claim: ""
forbidden_claim: ""
method_learning: ""
next_clean_test: ""
```
## Boden-Kette Fuer Projektschritte
Jeder neue Projekt- oder Build-Schritt braucht einen beobachtbaren Boden.
Vor dem Schritt:
```yaml
purpose_sentence: "Dieses Projekt ist erfolgreich, wenn [Nutzer] [Aufgabe] besser/schneller/sicherer erledigt."
step:
name: ""
input: ""
action: ""
expected_output: ""
validation: ""
fail_condition: ""
```
Nach dem Schritt:
```yaml
step_result:
status: "PASS|FAIL|UNCLEAR"
evidence_artifact: ""
next_step: ""
```
Regeln:
- `PASS` erlaubt den naechsten Boden.
- `FAIL` verlangt Ursachenanalyse oder Fix.
- `UNCLEAR` verlangt bessere Messung, nicht Weiterbau.
- Ohne beobachtbares Artefakt ist der Schritt Theorie und wird nicht gebaut.
- Kein Projekt laeuft laenger als 1 Stunde ohne PASS/FAIL/UNCLEAR-Artefakt.
Meta-Ebenen sind nur erlaubt, wenn ein echter Artefakt-Fehler sie verlangt.
## Evidence Split Rule
Jeder Claim muss auf zwei Evidenzachsen bewertet werden:
1. **Claim-Evidenz:** Wie stark ist die Evidenz fuer den urspruenglichen inhaltlichen Claim?
2. **Methoden-Evidenz:** Was lernen wir ueber Messaufbau, Harness, Task-Auswahl, Baseline-Stabilitaet oder Evaluierbarkeit?
Diese beiden Achsen duerfen nicht vermischt werden.
Beispiel:
- Claim-Evidenz: `blocked` fuer "Karpathy-Regeln verbessern Aider/SWE-bench-Lite."
- Methoden-Evidenz: `evidence` fuer "Das aktuelle Harness/Task-Setup ist nicht stabil und diskriminativ genug, um diesen Treatment Effect zu messen."
Spezialfall Treatment Effect:
Wenn Baseline instabil ist, Tasks nicht diskriminativ sind, Fail-Fast ausgeloest wurde oder Infrastrukturfehler dominieren:
- Claim-Evidenz fuer den Treatment Effect = `blocked`, `insufficient` oder maximal `intuition`.
- Methoden-Evidenz = `evidence`, falls die blockierenden Gates durch Artefakte belegt sind.
- Erlaubte Schlussfolgerung = Der aktuelle Messaufbau ist nicht stabil genug, um den Treatment Effect zu messen.
- Nicht erlaubte Schlussfolgerung = Die getestete Regel funktioniert oder funktioniert nicht.
Scope-Ausnahme:
Diese Blockade gilt fuer uebertragbare oder task-klassenweite Treatment-Effect-Claims.
Sie gilt nicht automatisch fuer einen explizit task-lokalen Claim, wenn:
- der Claim auf genau einen konkreten Fall begrenzt ist,
- Baseline und Intervention innerhalb dieses Falls mehrfach verglichen wurden,
- die Metrik fuer diesen Fall hart und passend ist,
- die Transfergrenze explizit blockiert wird.
Dann ist erlaubt:
- Claim-Evidenz = `evidence` fuer den engen task-lokalen Effekt.
- Methoden-Evidenz = `evidence`, wenn der Messrahmen fuer diesen engen Fall sauber war.
- Nicht erlaubt bleibt jede Generalisierung auf andere Tasks, Task-Klassen, Modelle oder Harnesses.
Beispiel:
- "Sidecar wirkt im E2/voiceLanguage-Config-Fall" kann `evidence` sein.
- "Sidecar wirkt bei Config-Key-Tasks allgemein" bleibt blockiert, solange weniger als zwei weitere diskriminative Tasks existieren.
## Methodische Gates
Ein Claim darf nicht hoeher als `observation` eingestuft werden, wenn nur ein Einzelrun vorliegt.
Ein Claim darf nicht hoeher als `evidence` eingestuft werden, wenn keine Baseline existiert.
Ein Treatment-Effect-Claim ist blockiert, wenn:
- Fail-Fast ausgeloest wurde,
- weniger als zwei diskriminative Tasks vorhanden sind,
- Infrastrukturfehler das Ergebnis dominieren,
- die Task-Auswahl nicht zur behaupteten Faehigkeit passt,
- Judge-Scores die harte Metrik ueberstimmen.
Wenn ein Treatment-Effect-Claim blockiert ist, ist die Analyse nicht beendet.
Der Agent muss danach einen zweiten Claim pruefen:
> Hat der Fehlschlag selbst eine belastbare Methoden-Erkenntnis erzeugt?
Ein blockierter Treatment-Effect kann `method evidence` erzeugen, wenn:
- der Blocker durch Artefakte belegt ist,
- der Blocker den Messrahmen betrifft, nicht nur einen zufaelligen Run,
- klar ist, welche Messvoraussetzung verletzt wurde,
- daraus ein konkreter naechster Test fuer den Messaufbau folgt.
Erlaubte Methoden-Erkenntnisse:
- "Das Task-Set war nicht diskriminativ genug."
- "Die Baseline war nicht stabil genug fuer Treatment-Effect-Schaetzung."
- "Infrastrukturfehler dominierten die Messung."
- "Die harte Metrik traf die eigentliche Frage nicht."
Nicht erlaubt:
- "Es gibt keine Erkenntnis."
- "Die Intervention wirkt nicht."
- "Die Regel ist widerlegt."
- "Der Treatment-Effekt ist null."
Ein Claim darf erst `working_rule` werden, wenn:
- die Evidenz wiederholbar ist,
- der Geltungsbereich explizit begrenzt ist,
- mindestens ein plausibler Gegenfall benannt ist,
- klar ist, was noch nicht behauptet werden darf.
Ein Claim darf erst `theory` werden, wenn:
- ein Wirkmechanismus formuliert ist,
- die Theorie falsifizierbar ist,
- alternative Erklaerungen benannt wurden,
- Uebertragbarkeit begrenzt und nicht nur behauptet ist.
## Standardfragen
Vor jedem Experiment:
1. Was ist der genaue Claim?
2. Welche Baseline gilt?
3. Welche Variable wird isoliert veraendert?
4. Was waere ein Gegenbeweis?
5. Welche Aussage ist nach dem Ergebnis maximal erlaubt?
Nach jedem Experiment:
1. Hat die Messung wirklich die Frage getroffen?
2. War die Task-Auswahl diskriminativ?
3. Waren Fehler fachlich oder infrastrukturell?
4. Sind harte Metriken und Judge getrennt?
5. Welche Uebertragung ist erlaubt, welche nicht?
6. Wenn der Treatment-Effect blockiert ist: Welche Methoden-Erkenntnis bleibt?
## Beispiele
### MetaMetaMeta E2
Erlaubt:
> In der voiceLanguage-Config-Aufgabe verhinderte konkrete Sidecar-Injection in den beobachteten Runs das Schreiben nicht existierender Config-Keys.
Nicht erlaubt:
> Sidecar-Injection verbessert alle Agentenaufgaben.
### FirstRealHarnessEvaluation Karpathy
Erlaubt:
> Das Projekt zeigte, dass der aktuelle Harness/Task-Aufbau noch nicht stabil genug war, um Karpathy-Regel-Treatment-Effects belastbar zu messen.
Nicht erlaubt:
> Karpathy-Regeln funktionieren nicht.
|