Blind Tribunal
Effort: heavy — acht Juroren, eine Linse pro Kopf, nach Stufe an die günstigste ausreichende Modellfamilie geroutet, jede Runde auf frischen Umschlägen neu einberufen, bis sie einstimmig sind; investier das in autonome Änderungen, die ohne menschliches Review landen. Beseitigt: entgleiste Landungen, die nichts bewacht außer dem eigenen Wort des Builders.
Die Bewertungsschleife, mit der der Mensch weggehen kann, ohne dass der Agent
entgleist. Ein Panel aus Juroren prüft die Änderung blind, mit entfernter
Autorschaft. Jeder Befund wird ein neuer fehlschlagender Test. Die Schleife läuft,
bis jeder Juror passt. Nichts landet allein auf das Wort des Builders.
Wann einsetzen
- Vor dem Landen jeder autonomen Änderung, die kein Mensch reviewen wird.
- Jede Änderung mit großem Explosionsradius: sicherheitsnah, datenberührend,
autoritätsnah.
- Wenn ein Grader nicht reicht und du unabhängige Linsen auf demselben Artefakt willst.
Die Sitze
Acht Juroren, eine Linse pro Kopf. Jeder ist ein Modell aus einer ANDEREN Familie als
der Builder (gleicher Hersteller = gleiche Familie). Ein Juror, der alles prüfen soll,
prüft nichts richtig.
| Juror |
Linsen-Id |
Stufe |
Die Frage, die er stellt |
| Defekt |
defect |
Generalist |
Was geht wirklich kaputt? Logikfehler, Syntaxfehler, neue Defekte. |
| Proportion |
proportion |
Generalist |
Ist das die richtige Größe? Überbaut, oder passend zur Absicht? |
| Konsequenz |
operator_consequence |
Operator-Sicherheit |
Wenn ein Mensch das auf seiner Maschine ausführt — was ist zerstörerisch, unsicher oder schädlich? |
| Reversibilität |
reversibility |
Deep State |
Bleiben irreversible Nebeneffekte? Stirbt es mittendrin — rollt das System sauber zurück? |
| Kontinuität |
state_continuity |
Deep State |
Verwaiste Variablen, überschriebener globaler Zustand, verlorener Kontext für nachgelagerte Knoten? |
| Ökonomie |
resource_economy |
schnell-strukturell |
Unoptimierte Schleifen, redundante Netz-/API-Aufrufe, Speicher-Bloat? |
| Grenzfall |
boundary_condition |
schnell-strukturell |
Null, leer, falscher Typ, absichtlich kaputt — fällt es sauber aus? |
| Telemetrie |
telemetry |
Operator-Sicherheit |
Lässt sich ein Fehler hier aus Logs und Fehlerbehandlung diagnostizieren? |
Routing-Stufen (die günstigste ausreichende Route zuerst): Deep State → größter
Kontext und tiefstes Reasoning, idealerweise durch einen Harness, der das Repo LIEST
(nie schreibt); schnell-strukturell → erst eine freie lokale GPU, FUSIONIERT mit einem
billigen Cloud-Verifizierer, der denselben Prompt beurteilt: die Linse besteht nur, wenn
beide bestehen; ohne Cloud bleibt das lokale Urteil, markiert UNVERIFIED, nie stillschweigend
„verifiziert"; und das lokale Modell muss das GANZE Artefakt sehen (num_ctx auf den
Prompt dimensionieren — Ollamas Default 4096 kürzt stillschweigend — und vor dem Senden
ablehnen, was nicht passt); der Verifizierer stammt nie aus der Familie des Primärsitzes, und ein UNVERIFIED-Sitz ist ein Halt (nie Einstimmigkeit); Harness-Juroren laufen read-only, und jede Einberufung trägt eine run_id und schreibt ihre Zusammenfassung zuletzt; danach die Cloud-Modelle mit niedriger Latenz; Operator-Sicherheit →
dein stärkster Coder mit Sicherheits-Grounding; Generalist → ein großer, zuverlässiger
Generalist. Jede Leiter endet auf einer lokalen Überlebens-Sprosse.
Solo-Rig. Wenn nur eine Modellfamilie verfügbar ist, degradiere EXPLIZIT: Ein
frischer Kontext oder eine frische Session, die die Konversation des Autors nie
gesehen hat, agiert als blinder Grader, oder der Mensch prüft den geschwärzten
Umschlag. Der Bericht muss das geschwächte Gate benennen — „same-family-blind
bewertet, nicht cross-family" — und nie still so tun, als hätte das
Cross-Family-Gate gehalten.
Der Builder wird deklariert, und der Ausschluss ist strukturell
„Andere Familie als der Builder" war eine Regel, die sich Juroren merken sollten. Im eigenen Test
des Tribunals führte den Operator-Sicherheitssitz genau das Modell an, das den Kandidaten gebaut
hatte, und nichts hat es erfasst oder ausgeschlossen: Der Autor hat zwei Runden lang seine eigene
Arbeit benotet. Also:
- Einberufen mit benanntem Builder (
--builder <modell-oder-familie>). Der Lauf trägt
builder_family. Jede Sprosse dieser Familie wird laut abgelehnt, vor jedem Versand, auf jeder
Leiter. Eine Linse ohne Sprosse HÄLT — fällt nie auf den Builder zurück.
- Gleicher Anbieter = gleiche Familie. Eine Deklaration schließt den ganzen Anbieter aus.
- Beweise es auf der lebenden Leiter, nicht im Test: Die Routing-Tabelle muss zeigen, dass seine
Sitze an eine andere Familie gefallen sind. Sonst ist der Ausschluss Dekoration.
Der Umschlag
Juroren sehen nie das Repo, den Builder oder die Konversation. Sie sehen einen
Umschlag:
- Ganze aktuelle Dateien für jede Datei, die die Änderung berührt hat, plus
ihre Testdateien. Nie nackte Diff-Hunks — ein Hunk versteckt den umgebenden
Contract und provoziert falsche Befunde.
- Der Review-Contract: die Absicht der Änderung in einer Zeile, und die
Pass-Kriterien.
- Null Autorschaft. Keine Namen, keine Modell-IDs, keine Commit-Autoren, keine
Chat-History. Sickert Identität durch, schlägt der Umschlag-Bau laut fehl — nie
unverblindet bewerten.
- Keine Prosa über das alte Verhalten. Zu beschreiben, was der Code „früher
tat", pflanzt Phantom-Defekte. Die Dateien sprechen für sich.
Das Urteil
Striktes, maschinenlesbares JSON, ein Objekt, keine Prosa:
{"verdict": "pass" | "refuse",
"findings": [{"severity": "blocker|major|minor|info",
"claim": "...", "evidence": "..."}]}
- Ein Pass, der einen
[blocker]- oder [major]-Befund listet, ist kein Pass. Widersprüchlich;
fällt geschlossen auf refuse, mit der Schwere benannt.
- Ein Urteil für eine andere Linse als die besetzte ist eine abgelehnte Sprosse, kein Urteil:
mit beiden Linsen vermerkt, der Gang geht zur nächsten Sprosse; nur wenn alle daneben antworten,
hält die Linse. Nie ein Pass.
- Das Ausgabeverzeichnis wird besessen, bevor es gefegt wird. Das Organ stempelt (stamp) ein
beanspruchtes Verzeichnis; eines mit diesen Dateiformen OHNE Stempel wird abgelehnt — Dateien und
Abhilfe benannt, nichts gelöscht. Ein Verzeichnis nur mit fremden Dateien war nie in Gefahr und
wird nicht blockiert.
- Eine explodierende Linse verwirft nie die schon bezahlten Urteile. Jeder Sitzfehler wird pro
Linse erfasst; Urteile und Zusammenfassung werden VOR dem Fehler geschrieben.
- Der Mutationsbeweis nennt eine überschriebene Datei (
changed_paths).
- Alles, was das Organ schreibt, ist nur für den Eigentümer lesbar (0600).
- Ein übergelaufenes lokales Modell entlädt nur sein LETZTER Halter. Zwei Linsen können eine
Karte teilen; die erste fertige zieht der anderen nicht mitten im Aufruf das Modell weg.
- Eine Sprosse, die das Artefakt nicht fassen kann, wird vor dem Aufruf übersprungen, Grund
vermerkt; eine Kapazitätsablehnung ist ein TYP und der Gang geht weiter — nie ein Halt.
- Ein Juror, der SCHLECHT geantwortet hat — Müll, kein JSON, Verweigerungstext —
zählt als refuse; ein Juror, der NIE geantwortet hat (Transportfehler,
unerreichbar), ist ein hold: neu besetzen via
fleet-ladder, nie ein stiller Pass. Ein Schuss pro
antwortendem Juror pro Runde — keine Retries.
- Ein nackter Pass mit null Befunden und ohne Evidenz ist eine
informationsarme Stimme. Sie zählt, aber nie als einziger Beweis — zwei
nackte Passes überstimmen keinen detaillierten Refuse. Ein starker Pass benennt,
was er geprüft hat.
Die Schleife
- Rot zuerst: committe den fehlschlagenden Contract-Test, BEVOR der Fix gebaut
wird, und halte diesen Commit fest. Der Builder darf den Test nicht anfassen
(red-first).
- Baue bis grün.
- Baue den Umschlag aus den AKTUELLEN Dateien.
- Besetze die acht Juroren, nach Stufe, — andere Familien als der Builder
(fleet-ladder klärt, was live ist).
- Jeder Juror verifiziert auch, statt nur zu lesen: Die neuen Tests bestehen; die
Regressions-Suite ist nicht schlechter als die Baseline; und ein
Fake-Green-Check — ein Test, der fehlschlagen SOLLTE (der Bug wieder
eingebaut), schlägt wirklich fehl. Ein Fake Green ist ein Refuse.
- Bei jedem Refuse: JEDER Befund — Blocker, Major und Minor — wird ein NEUER
fehlschlagender Test, der aus dem echten Grund des Befunds fehlschlägt. Behebe
ihn. Baue den Umschlag über den überarbeiteten Dateien neu. Berufe ALLE Juroren
neu ein. Ein Urteil über veraltete Dateien ist kein Urteil.
- Lande nur bei einstimmigem Pass. Minor-Befunde aus der letzten Runde werden
auch geschlossen, nie vertagt — „Blocker gefixt, Minors später“ ist genau das
Leck, das dieser Skill stopfen soll. Ein Befund endet GEFIXT oder mit
dokumentierter Evidenz widerlegt, nie geparkt.
Die Fußzeile nennt die Linse, eine abgelehnte Sprosse behält ihre Worte, und der Boden ist drei Sprossen tief
Runde 4 hielt zwei Linsen mit null Ablehnungen, und jedes Glied stand im Protokoll. Drei Gesetze kamen heraus:
- Nenne die Antwortform neben der Antwort. Die Protokoll-Fußzeile trägt den wörtlichen Linsennamen (
"lens": "defect"), nie den Platzhalter <your lens>. Ein Juror, der die Linse aus 350 KB Abstand erinnern sollte, in einem Artefakt, das alle acht Linsen nennt, antwortete dreimal in zwei Runden mit der falschen Linse. Fülle den Platzhalter beim Rendern.
- Eine abgelehnte Sprosse hinterlässt ihre Worte im Protokoll. Eine Antwort mit falscher Linse oder ein annulliertes Urteil trägt ein begrenztes
raw_tail am abgelehnten Eintrag, damit die nächste Runde die Ursache liest statt sie zu erraten.
- Zwei Cloud-Sprossen sind kein Boden. Jede Stufe hält mindestens drei Sprossen ohne deklarierte
context_tokens (sie tragen ein 120k-Token-Artefakt) vor ihrem lokalen Ende. Eine falsche Linse plus eine Annullierung dürfen nie eine Linse aufhalten.
- Ein strukturiertes Urteil teilt sein Budget nie mit dem Nachdenken. Ein Reasoning-Modell, das um ein nacktes JSON-Urteil gebeten wurde, verbrauchte sein ganzes Budget von 65536 Tokens mit Nachdenken über ein 131k-Token-Artefakt und gab nichts aus (
finish_reason=length); die Zeitgrenze der Rolle tötete dann die nächste Sprosse mitten im Lauf. Jede Cloud-Sprosse, die ein JSON-Objekt-Urteil verlangt, läuft mit abgeschaltetem Reasoning-Kanal (reasoning_effort: none), und die Prüfer-Leiter hält dahinter eine dritte Familie über schlichtes HTTP.
- Nichts anderes schreibt in das Repo des Tribunals, während es tagt. Die Statusdatei eines gleichzeitigen Bewerters im Checkout änderte Bytes unter einem Sitz, und das Organ annullierte dieses Urteil ehrlich: es kann eine Änderung nicht zuordnen. Serialisiere Schreiber, oder tage auf einem separaten Worktree desselben Commits.
Harte Regeln — eine gebrochen, und die Bewertung ist nichtig
- Der Builder bewertet nie die eigene Arbeit: nicht dieselbe Instanz, nicht
dieselbe Familie.
- Ein Juror-Refuse ist nur so gut wie der Umschlag. Bevor du aus einem Befund
einen Test schreibst, prüfe den Befund gegen die tatsächlichen Dateien. Ein
Befund über Code, den der Umschlag nie enthielt, heißt: den Umschlag fixen,
nicht den Code.
- Miss Konvergenz an NEUEN Befunden pro Runde, nicht an der Rohsumme. Neue Befunde
zwei Runden in Folge flach oder steigend: stoppen und an den Menschen
eskalieren. Nie stur weitermahlen.
- Schwäche oder editiere die fehlschlagenden Tests nie, um einen Pass zu
erreichen. Juroren verifizieren, dass die Testdateien seit dem Rot-Commit
unverändert sind.
- Ein Überlebender ist eine Behauptung; ein grüner Beweis ist eine Behauptung. Jeden gemeldeten
Mutanten von Hand neu laufen lassen, im isolierten Baum, mit einer Obergrenze, die die Last
überlebt. Ein Timeout ist kein Überlebender; ein Sammelfehler ist kein Kill. Jeder Urteilspfad
muss INVALID sagen können, und ein Harness, dessen mutationsfreie Baseline nicht sauber grün ist,
verweigert jedes Urteil.
- Ein einstimmiger Pass öffnet das Tor; er ist nicht das Ziel. Lande, dann beweise
die Fähigkeit live auf der echten Oberfläche. Grün ohne Live-Beweis ist nicht
fertig.
Passt gut zu
- red-first — der fehlschlagende Contract, committet bevor der Builder läuft.
- sniper-testing — echte Nebeneffekte, begrenzte Läufe, kein Mock-Theater.
- seam-engineering — die Klasse fixen, Geschwister durchkämmen, einen Guard landen.
- repair-loop — die Bauschleife, die dieses Tribunal bewertet.
- blind-eval — das leichtere Keep-or-Revert-Gate, wenn die Frage Geschmack ist, nicht Defekte.
Gerüst-Credit: Matt Pocock, grill-me / grilling (mattpocock/skills, MIT). Das
Design des blinden, adversarialen Cross-Family-Tribunals ist BACKS AIOS.
1---2name: blind-tribunal-23description: Nutze das, wenn eine autonome Änderung vor dem Landen eine unabhängige Bewertung braucht und kein Mensch in der Schleife ist. Beruft blinde Cross-Family-Juroren ein — eine Linse pro Kopf — über einen autor-geschwärzten Umschlag ganzer Dateien; jeder Befund wird ein neuer fehlschlagender Test; Schleife, bis jeder Juror passt. Trigger words: blind tribunal, grill tribunal, tribunal, jurors, cross-family grade, convene, blind grade, independent grade, grade before landing, Tribunal, Juroren, blinde Bewertung, unabhängige Bewertung, vor dem Landen bewerten.4license: MIT5---67# Blind Tribunal8**Effort:** heavy — acht Juroren, eine Linse pro Kopf, nach Stufe an die günstigste ausreichende Modellfamilie geroutet, jede Runde auf frischen Umschlägen neu einberufen, bis sie einstimmig sind; investier das in autonome Änderungen, die ohne menschliches Review landen. Beseitigt: entgleiste Landungen, die nichts bewacht außer dem eigenen Wort des Builders.910Die Bewertungsschleife, mit der der Mensch weggehen kann, ohne dass der Agent11entgleist. Ein Panel aus Juroren prüft die Änderung blind, mit entfernter12Autorschaft. Jeder Befund wird ein neuer fehlschlagender Test. Die Schleife läuft,13bis jeder Juror passt. Nichts landet allein auf das Wort des Builders.1415## Wann einsetzen1617- Vor dem Landen jeder autonomen Änderung, die kein Mensch reviewen wird.18- Jede Änderung mit großem Explosionsradius: sicherheitsnah, datenberührend,19 autoritätsnah.20- Wenn ein Grader nicht reicht und du unabhängige Linsen auf demselben Artefakt willst.2122## Die Sitze2324Acht Juroren, eine Linse pro Kopf. Jeder ist ein Modell aus einer ANDEREN Familie als25der Builder (gleicher Hersteller = gleiche Familie). Ein Juror, der alles prüfen soll,26prüft nichts richtig.2728| Juror | Linsen-Id | Stufe | Die Frage, die er stellt |29| --- | --- | --- | --- |30| Defekt | `defect` | Generalist | Was geht wirklich kaputt? Logikfehler, Syntaxfehler, neue Defekte. |31| Proportion | `proportion` | Generalist | Ist das die richtige Größe? Überbaut, oder passend zur Absicht? |32| Konsequenz | `operator_consequence` | Operator-Sicherheit | Wenn ein Mensch das auf seiner Maschine ausführt — was ist zerstörerisch, unsicher oder schädlich? |33| Reversibilität | `reversibility` | Deep State | Bleiben irreversible Nebeneffekte? Stirbt es mittendrin — rollt das System sauber zurück? |34| Kontinuität | `state_continuity` | Deep State | Verwaiste Variablen, überschriebener globaler Zustand, verlorener Kontext für nachgelagerte Knoten? |35| Ökonomie | `resource_economy` | schnell-strukturell | Unoptimierte Schleifen, redundante Netz-/API-Aufrufe, Speicher-Bloat? |36| Grenzfall | `boundary_condition` | schnell-strukturell | Null, leer, falscher Typ, absichtlich kaputt — fällt es sauber aus? |37| Telemetrie | `telemetry` | Operator-Sicherheit | Lässt sich ein Fehler hier aus Logs und Fehlerbehandlung diagnostizieren? |3839**Routing-Stufen (die günstigste ausreichende Route zuerst):** Deep State → größter40Kontext und tiefstes Reasoning, idealerweise durch einen Harness, der das Repo LIEST41(nie schreibt); schnell-strukturell → erst eine freie lokale GPU, FUSIONIERT mit einem42billigen Cloud-Verifizierer, der denselben Prompt beurteilt: die Linse besteht nur, wenn43beide bestehen; ohne Cloud bleibt das lokale Urteil, markiert UNVERIFIED, nie stillschweigend44„verifiziert"; und das lokale Modell muss das GANZE Artefakt sehen (`num_ctx` auf den45Prompt dimensionieren — Ollamas Default 4096 kürzt stillschweigend — und vor dem Senden46ablehnen, was nicht passt); der Verifizierer stammt nie aus der Familie des Primärsitzes, und ein UNVERIFIED-Sitz ist ein Halt (nie Einstimmigkeit); Harness-Juroren laufen read-only, und jede Einberufung trägt eine `run_id` und schreibt ihre Zusammenfassung zuletzt; danach die Cloud-Modelle mit niedriger Latenz; Operator-Sicherheit →47dein stärkster Coder mit Sicherheits-Grounding; Generalist → ein großer, zuverlässiger48Generalist. Jede Leiter endet auf einer lokalen Überlebens-Sprosse.4950**Solo-Rig.** Wenn nur eine Modellfamilie verfügbar ist, degradiere EXPLIZIT: Ein51frischer Kontext oder eine frische Session, die die Konversation des Autors nie52gesehen hat, agiert als blinder Grader, oder der Mensch prüft den geschwärzten53Umschlag. Der Bericht muss das geschwächte Gate benennen — „same-family-blind54bewertet, nicht cross-family" — und nie still so tun, als hätte das55Cross-Family-Gate gehalten.5657## Der Builder wird deklariert, und der Ausschluss ist strukturell5859„Andere Familie als der Builder" war eine Regel, die sich Juroren merken sollten. Im eigenen Test60des Tribunals führte den Operator-Sicherheitssitz genau das Modell an, das den Kandidaten gebaut61hatte, und nichts hat es erfasst oder ausgeschlossen: Der Autor hat zwei Runden lang seine eigene62Arbeit benotet. Also:6364- **Einberufen mit benanntem Builder** (`--builder <modell-oder-familie>`). Der Lauf trägt65 `builder_family`. Jede Sprosse dieser Familie wird laut abgelehnt, vor jedem Versand, auf jeder66 Leiter. Eine Linse ohne Sprosse HÄLT — fällt nie auf den Builder zurück.67- **Gleicher Anbieter = gleiche Familie.** Eine Deklaration schließt den ganzen Anbieter aus.68- **Beweise es auf der lebenden Leiter, nicht im Test:** Die Routing-Tabelle muss zeigen, dass seine69 Sitze an eine andere Familie gefallen sind. Sonst ist der Ausschluss Dekoration.7071## Der Umschlag7273Juroren sehen nie das Repo, den Builder oder die Konversation. Sie sehen einen74Umschlag:7576- **Ganze aktuelle Dateien** für jede Datei, die die Änderung berührt hat, plus77 ihre Testdateien. Nie nackte Diff-Hunks — ein Hunk versteckt den umgebenden78 Contract und provoziert falsche Befunde.79- **Der Review-Contract**: die Absicht der Änderung in einer Zeile, und die80 Pass-Kriterien.81- **Null Autorschaft.** Keine Namen, keine Modell-IDs, keine Commit-Autoren, keine82 Chat-History. Sickert Identität durch, schlägt der Umschlag-Bau laut fehl — nie83 unverblindet bewerten.84- **Keine Prosa über das alte Verhalten.** Zu beschreiben, was der Code „früher85 tat", pflanzt Phantom-Defekte. Die Dateien sprechen für sich.8687## Das Urteil8889Striktes, maschinenlesbares JSON, ein Objekt, keine Prosa:9091```json92{"verdict": "pass" | "refuse",93 "findings": [{"severity": "blocker|major|minor|info",94 "claim": "...", "evidence": "..."}]}95```9697- **Ein Pass, der einen `[blocker]`- oder `[major]`-Befund listet, ist kein Pass.** Widersprüchlich;98 fällt geschlossen auf refuse, mit der Schwere benannt.99- **Ein Urteil für eine andere Linse als die besetzte** ist eine abgelehnte Sprosse, kein Urteil:100 mit beiden Linsen vermerkt, der Gang geht zur nächsten Sprosse; nur wenn alle daneben antworten,101 hält die Linse. Nie ein Pass.102- **Das Ausgabeverzeichnis wird besessen, bevor es gefegt wird.** Das Organ stempelt (stamp) ein103 beanspruchtes Verzeichnis; eines mit diesen Dateiformen OHNE Stempel wird abgelehnt — Dateien und104 Abhilfe benannt, nichts gelöscht. Ein Verzeichnis nur mit fremden Dateien war nie in Gefahr und105 wird nicht blockiert.106- **Eine explodierende Linse verwirft nie die schon bezahlten Urteile.** Jeder Sitzfehler wird pro107 Linse erfasst; Urteile und Zusammenfassung werden VOR dem Fehler geschrieben.108- **Der Mutationsbeweis nennt eine überschriebene Datei** (`changed_paths`).109- **Alles, was das Organ schreibt, ist nur für den Eigentümer lesbar (0600).**110- **Ein übergelaufenes lokales Modell entlädt nur sein LETZTER Halter.** Zwei Linsen können eine111 Karte teilen; die erste fertige zieht der anderen nicht mitten im Aufruf das Modell weg.112- **Eine Sprosse, die das Artefakt nicht fassen kann, wird vor dem Aufruf übersprungen**, Grund113 vermerkt; eine Kapazitätsablehnung ist ein TYP und der Gang geht weiter — nie ein Halt.114- Ein Juror, der SCHLECHT geantwortet hat — Müll, kein JSON, Verweigerungstext —115 zählt als **refuse**; ein Juror, der NIE geantwortet hat (Transportfehler,116 unerreichbar), ist ein **hold**: neu besetzen via117 [fleet-ladder](../fleet-ladder/SKILL.md), nie ein stiller Pass. Ein Schuss pro118 antwortendem Juror pro Runde — keine Retries.119- Ein nackter Pass mit null Befunden und ohne Evidenz ist eine120 **informationsarme Stimme**. Sie zählt, aber nie als einziger Beweis — zwei121 nackte Passes überstimmen keinen detaillierten Refuse. Ein starker Pass benennt,122 was er geprüft hat.123124## Die Schleife1251261. Rot zuerst: committe den fehlschlagenden Contract-Test, BEVOR der Fix gebaut127 wird, und halte diesen Commit fest. Der Builder darf den Test nicht anfassen128 ([red-first](../red-first/SKILL.md)).1292. Baue bis grün.1303. Baue den Umschlag aus den AKTUELLEN Dateien.1314. Besetze die acht Juroren, nach Stufe, — andere Familien als der Builder132 ([fleet-ladder](../fleet-ladder/SKILL.md) klärt, was live ist).1335. Jeder Juror verifiziert auch, statt nur zu lesen: Die neuen Tests bestehen; die134 Regressions-Suite ist nicht schlechter als die Baseline; und ein135 Fake-Green-Check — ein Test, der fehlschlagen SOLLTE (der Bug wieder136 eingebaut), schlägt wirklich fehl. Ein Fake Green ist ein Refuse.1376. Bei jedem Refuse: JEDER Befund — Blocker, Major und Minor — wird ein NEUER138 fehlschlagender Test, der aus dem echten Grund des Befunds fehlschlägt. Behebe139 ihn. Baue den Umschlag über den überarbeiteten Dateien neu. Berufe ALLE Juroren140 neu ein. Ein Urteil über veraltete Dateien ist kein Urteil.1417. Lande nur bei einstimmigem Pass. Minor-Befunde aus der letzten Runde werden142 auch geschlossen, nie vertagt — „Blocker gefixt, Minors später“ ist genau das143 Leck, das dieser Skill stopfen soll. Ein Befund endet GEFIXT oder mit144 dokumentierter Evidenz widerlegt, nie geparkt.145146## Die Fußzeile nennt die Linse, eine abgelehnte Sprosse behält ihre Worte, und der Boden ist drei Sprossen tief147148Runde 4 hielt zwei Linsen mit null Ablehnungen, und jedes Glied stand im Protokoll. Drei Gesetze kamen heraus:149150- **Nenne die Antwortform neben der Antwort.** Die Protokoll-Fußzeile trägt den wörtlichen Linsennamen (`"lens": "defect"`), nie den Platzhalter `<your lens>`. Ein Juror, der die Linse aus 350 KB Abstand erinnern sollte, in einem Artefakt, das alle acht Linsen nennt, antwortete dreimal in zwei Runden mit der falschen Linse. Fülle den Platzhalter beim Rendern.151- **Eine abgelehnte Sprosse hinterlässt ihre Worte im Protokoll.** Eine Antwort mit falscher Linse oder ein annulliertes Urteil trägt ein begrenztes `raw_tail` am abgelehnten Eintrag, damit die nächste Runde die Ursache liest statt sie zu erraten.152- **Zwei Cloud-Sprossen sind kein Boden.** Jede Stufe hält mindestens drei Sprossen ohne deklarierte `context_tokens` (sie tragen ein 120k-Token-Artefakt) vor ihrem lokalen Ende. Eine falsche Linse plus eine Annullierung dürfen nie eine Linse aufhalten.153- **Ein strukturiertes Urteil teilt sein Budget nie mit dem Nachdenken.** Ein Reasoning-Modell, das um ein nacktes JSON-Urteil gebeten wurde, verbrauchte sein ganzes Budget von 65536 Tokens mit Nachdenken über ein 131k-Token-Artefakt und gab nichts aus (`finish_reason=length`); die Zeitgrenze der Rolle tötete dann die nächste Sprosse mitten im Lauf. Jede Cloud-Sprosse, die ein JSON-Objekt-Urteil verlangt, läuft mit abgeschaltetem Reasoning-Kanal (`reasoning_effort: none`), und die Prüfer-Leiter hält dahinter eine dritte Familie über schlichtes HTTP.154- **Nichts anderes schreibt in das Repo des Tribunals, während es tagt.** Die Statusdatei eines gleichzeitigen Bewerters im Checkout änderte Bytes unter einem Sitz, und das Organ annullierte dieses Urteil ehrlich: es kann eine Änderung nicht zuordnen. Serialisiere Schreiber, oder tage auf einem separaten Worktree desselben Commits.155156## Harte Regeln — eine gebrochen, und die Bewertung ist nichtig157158- Der Builder bewertet nie die eigene Arbeit: nicht dieselbe Instanz, nicht159 dieselbe Familie.160- **Ein Juror-Refuse ist nur so gut wie der Umschlag.** Bevor du aus einem Befund161 einen Test schreibst, prüfe den Befund gegen die tatsächlichen Dateien. Ein162 Befund über Code, den der Umschlag nie enthielt, heißt: den Umschlag fixen,163 nicht den Code.164- Miss Konvergenz an NEUEN Befunden pro Runde, nicht an der Rohsumme. Neue Befunde165 zwei Runden in Folge flach oder steigend: stoppen und an den Menschen166 eskalieren. Nie stur weitermahlen.167- Schwäche oder editiere die fehlschlagenden Tests nie, um einen Pass zu168 erreichen. Juroren verifizieren, dass die Testdateien seit dem Rot-Commit169 unverändert sind.170- **Ein Überlebender ist eine Behauptung; ein grüner Beweis ist eine Behauptung.** Jeden gemeldeten171 Mutanten von Hand neu laufen lassen, im isolierten Baum, mit einer Obergrenze, die die Last172 überlebt. Ein Timeout ist kein Überlebender; ein Sammelfehler ist kein Kill. Jeder Urteilspfad173 muss INVALID sagen können, und ein Harness, dessen mutationsfreie Baseline nicht sauber grün ist,174 verweigert jedes Urteil.175- Ein einstimmiger Pass öffnet das Tor; er ist nicht das Ziel. Lande, dann beweise176 die Fähigkeit live auf der echten Oberfläche. Grün ohne Live-Beweis ist nicht177 fertig.178179## Passt gut zu180181- [red-first](../red-first/SKILL.md) — der fehlschlagende Contract, committet bevor der Builder läuft.182- [sniper-testing](../sniper-testing/SKILL.md) — echte Nebeneffekte, begrenzte Läufe, kein Mock-Theater.183- [seam-engineering](../seam-engineering/SKILL.md) — die Klasse fixen, Geschwister durchkämmen, einen Guard landen.184- [repair-loop](../repair-loop/SKILL.md) — die Bauschleife, die dieses Tribunal bewertet.185- [blind-eval](../blind-eval/SKILL.md) — das leichtere Keep-or-Revert-Gate, wenn die Frage Geschmack ist, nicht Defekte.186187> Gerüst-Credit: Matt Pocock, grill-me / grilling (mattpocock/skills, MIT). Das188> Design des blinden, adversarialen Cross-Family-Tribunals ist BACKS AIOS.