45 von 132, und was die Note wert war
Im September wurde diese Umgebung gegen ein Enterprise-Raster geprüft: jedes Repository, jede Pipeline, der Live-Zustand beider Knoten, der Firewalls, der Speicherbox, der Smart-Home-Zentrale und jeder veröffentlichten Seite. Das Ergebnis waren 45 von 132 Punkten, ein Median von 1 und fünf von neun kritischen Zeilen durchgefallen. Diese Notiz handelt von der Methode, von den Kosten — zweiundsiebzigeinhalb Millionen gemessene Token über 358 Agentenläufe, plus zwei Durchgänge, deren Abrechnung schlicht fehlt — und von dem Teil, der mehr wert ist als die Zahl: worin die Prüfung über sich selbst falsch lag. Jeder achte Befund des ersten Durchgangs überlebte das erneute Lesen nicht. Von 86 kritischen Befunden, die gegen den Live-Zustand nachgeprüft wurden, war einer schlicht falsch. Und das Urteil in der Überschrift war ein Artefakt des Rasters, das einen zweiten Prüfer und eine Rufbereitschaft verlangt — woran ein Ein-Personen-Haushalt konstruktionsbedingt scheitert. Stand 2026-09-08.
Alles andere auf dieser Seite ist von innen geschrieben. Dieses hier hat etwas geschrieben, dem aufgetragen war, nichts davon für wahr zu halten.

Was benotet wurde. Alles in dieser Notiz handelt von den Maschinen auf diesem Foto und den Repositories, die sie beschreiben.
Was gelesen wurde
Sieben Repositories, dazu der Plugin-Marktplatz und die Konfiguration der Arbeitsstation selbst. Die Git-Historie von jedem. Jede CI-Datei. Alle fünfundsechzig Alarmregeln. Jede veröffentlichte Seite.
Dann die laufende Umgebung, nur lesend: beide Proxmox-Knoten, das Firewall-Paar, die Speicherbox, die Smart-Home-Zentrale, der Metrik- und der Log-Speicher und die Forge. Wo eine Aussage in einer Datei gegen eine Live-Schnittstelle entschieden werden konnte, wurde sie gegen die Live-Schnittstelle entschieden — die stehende Anweisung der Prüfung lautete, dass ein Dokument eine Behauptung ist und kein Beleg.
Wie sie lief
Jede Stufe ist ein eigener Lauf von Agenten, darunter steht, was sie gekostet hat. Zwei spätere Durchgänge stehen in der Kostentabelle und nicht im Bild.
Vor jeder Prüfung wurden zwei Vorarbeiten gebaut. Die Dokumentation der Hersteller je Technologiefeld wurde in 14 Recherche-Checklisten gesammelt, damit „Best Practice“ eine geholte Seite bedeutet und keine Erinnerung. Und 264 der eigenen Prompts dieses Haushalts — jedes Mal, wenn der Betreiber etwas korrigiert hatte — wurden zu 63 Prüfperspektiven verdichtet, daraus zu 14 Verhaltensregeln und 57 stehenden Entscheidungen, und daraus zu einem Prüfagenten. Die Umgebung wurde zum Teil gegen die früheren Einwände ihres eigenen Betreibers benotet.
Das Raster selbst bewertet 33 Kriterien von 0 bis 4; die Obergrenze liegt also bei 132.
Die eigentliche Prüfung erzeugte 109 verifizierte Berichte: 38 zu Komponenten, 36 zu Dokumenten, 17 über die Perspektiven, 8 zur Git-Historie, 4 zur Plan-Drift und 6 zu den Wächter- und Lint-Regeln. Weitere 11 Domänen-Zusammenführungen sitzen darauf. Darunter liegt ein Register aus 2.415 Datensätzen, 2.154 davon kanonisch, nachdem Dubletten zusammengelegt wurden.
Was nicht überlebt hat
Jeder der 109 Berichte wurde von einem anderen Durchgang erneut gelesen, und das Ergebnis nach einer Regel gezählt: Innerhalb eines Abschnitts ist eine Überschrift oder eine Tabellenzeile ein Posten.
2.269 Posten gingen in die Verifikation. 275 kamen als nicht real wieder heraus.
Danach wurden die 86 Befunde, die das Register als kritisch führte, einzeln gegen Code und Live-Zustand nachgeprüft. Siebenundsechzig wurden bestätigt, zwölf bestätigt, aber schwächer als zuerst geschrieben, und sechs gehörten in eine andere Schwere. Einer war falsch: Die Prüfung hatte die Wiederherstellung des Tresors als nie ausgeführt vermerkt, und sie war am 2026-08-20 erfolgreich gelaufen — ein Datum, das hier ohnehin steht. Die Jobnummer kam an die Stelle des Befunds ins Protokoll.
Die Prüfung stellte auch Befunde gegen ihre eigenen Eingangsberichte aus. Eine Mustersuche mit einem nicht maskierten Alternativzeichen, die eine Empfehlung bis auf hohe Schwere getragen hatte. Ein Bericht, benotet gegen einen Repository-Stand, der schon zwei Commits alt war. Prüfungen, die als „führe das aus“ zurückgereicht statt ausgeführt wurden. Und eine Schweregrad-Schublade „niedrig“ in mindestens 14 der 36 Dokumentations-Eingänge — entgegen der stehenden Regel, die aus den Korrekturen des Betreibers stammt und die die Prüfung übernommen hatte: Nichts wird als geringfügig abgelegt.
Die letzte Prüfung galt der Sprache des Berichts selbst. Eine Suche nach dem Vokabular des Aufschiebens — der Bericht ist englisch, gesucht wurde also nach minor, nit, later, non-blocking, out of scope, consider, might — lief gegen den fertigen Text. Sie fand 76 Treffer auf 42 Zeilen, und jeder einzelne ist im Bericht nach Fundort verbucht: eine zitierte Codezeile, die selbst aufschiebt, ein Versionsschema-Begriff, ein gemessener Zeitabstand, oder das Protokoll der Suche selbst. Eine Weichspül-Prüfung ist nur dann ein Beleg, wenn ihr Ergebnis gelesen und nicht bloß gemeldet wird.
Und was nicht verifiziert werden konnte, ist eine Liste und kein Schweigen. Konsolen-Abfragen, die das nur lesende Werkzeug nicht erreicht. Werte, die der Sicherheitsklassifikator nicht herausgibt. Nur dem Betreiber zugängliche Flächen: wer welchen Schlüssel verwahrt, welches Konto Zwei-Faktor eingeschaltet hat, wer an einem bestimmten Tag etwas Bestimmtes getan hat. Und die Eingriffe, die eine Frage endgültig klären würden, dafür aber die Umgebung verändern müssten. Einundzwanzig Fragen unter den kritischen Befunden bleiben von diesem Standpunkt aus unbeantwortbar, und jede ist mit dem Befehl vermerkt, der sie klären würde, und mit der Zuständigkeit dafür.
Die Note, und warum sie am wenigsten geholfen hat
Die Zahl links ist echt. Sie ist auch ungefähr die einzige Zahl, die dieses Raster hier hervorbringen konnte.
45 von 132. Median 1. Fünf von neun kritischen Zeilen durchgefallen. Nicht Enterprise-Grade, und der Bericht sagt das in seiner ersten Zeile.
Die Bestehensgrenze des Rasters lautet: kein Kriterium unter 2, Median mindestens 3, keine kritische Zeile durchgefallen. Die erste dieser drei Bedingungen ist mit einem Betreiber unerreichbar, und der Bericht gibt das im selben Abschnitt zu, in dem er sie anlegt. Das Urteil stand also fest, bevor die erste Datei gelesen war. Schlimmer noch, es bläht die Zählung auf: Ein Bus-Faktor von eins, kein zweiter Prüfer und keine Rufbereitschaft werden alle als Mangel gewertet, und keines davon ist ein Mangel. Sie sind die Beschreibung eines Haushalts.
Eine Zahl machte das deutlich. Die Prüfung zählte Merge Requests, die von demselben Konto zusammengeführt wurden, das sie eröffnet hatte, und las das Verhältnis als fehlende Kontrolle. Die Zählung stimmt und ist nutzlos: Es gibt hier nur ein Konto, und es kann den Menschen nicht von dem Agenten unterscheiden, der in seinem Auftrag arbeitet. Gemessen wird, wie viele Personen in der Wohnung leben.
Danach folgte eine getrennte Durchsicht, über den Bericht und die laufende Umgebung zugleich, und sie benannte den Maßstab, der richtig gewesen wäre. Zwei Fragen: Kommt ein Außenstehender ohne Zugangsdaten herein? Und wenn ein Stück stirbt, lässt es sich aus Git, dem Tresor und einer Kopie außer Haus wieder aufbauen? So gemessen ist das Design tragfähig und die Löcher sind zählbar — die Durchsicht zählt vier, was ein anderer Satz ist als 45 von 132 und auch kein bequemer. Die Befunde unter der Rahmung hielten überwiegend ebenfalls: Token-Rechte, Runner-Mounts, Log-Inhalte und Firewall-Regeln wurden einzeln nachgelesen und standen in jedem Fall, den die Durchsicht noch einmal aufmachte. Falsch lag die Prüfung bei der Benotung, der Zuordnung und der Rahmung. Nicht die Fakten.
Was sie gekostet hat
Gemessen an der eigenen Abrechnung der Laufzeitumgebung, pro Lauf.
| Durchgang | Token | Werkzeugaufrufe | Agentenläufe |
|---|---|---|---|
| Komponenten, Perspektiven, Dokumente, Historie, Regeln | 36.290.808 | 11.200 | 98 |
| Verifikation aller 109 Berichte | 27.460.793 | 8.106 | 218 |
| Befundregister und Inventar | 3.872.917 | 388 | 13 |
| Nachprüfung der 86 kritischen Befunde | 3.326.489 | 1.164 | 23 |
| Unabhängige dreifache Gegenprüfung | 1.369.950 | 471 | 5 |
| Redaktioneller Durchgang | 230.887 | 51 | 1 |
| Gemessene Summe | 72.551.844 | 21.380 | 358 |
Zwei weitere Läufe melden keine Zahl und stehen außerhalb der Summe: der Grundlagen-Durchgang, der Checklisten, Perspektiven und Raster gebaut hat, und ein Verifikationslauf, der auf halbem Weg gestoppt wurde, um einen leichteren Modus nachzurüsten. Die Summe ist eine Untergrenze.
Was hier bewusst fehlt
Zwölf Befunde sind kanonisch kritisch. Drei davon sind inzwischen geschlossen; neun nicht. Was sie sind, auf welcher Maschine sie sitzen und was sie schließt, steht nicht auf dieser Seite und wird dort nicht stehen, solange sie offen sind — dasselbe gilt für die geordnete Liste der Wege hinein. Dieser Absatz steht hier, damit die Auslassung im Protokoll steht und nicht hinter einer fröhlichen Zusammenfassung verschwindet.
Was sie verändert hat, und was nicht
Stand 2026-09-08 sind siebenundzwanzig Befunde geschlossen. Bei einundsechzig ist eine Änderung geschrieben und wartet. Bei 2.327 ist gar nichts geschrieben.
Der Abstand zwischen diesen drei Zahlen ist das ehrliche Ergebnis. Ein zusammengeführter Fix ist kein angewendeter, ein angewendeter ist kein verifizierter, und keiner der drei ist ein geschlossener Befund. Das Aufräumen der liegengebliebenen Merge Requests am 2026-09-08 hat 77 Datensätze in einem Zug wieder auf offen gesetzt, weil die Änderung geschrieben war und nie gelandet ist.
Es ist dieselbe Lehre, zu der der Rest dieser Seite von der anderen Richtung her kommt. Eine Sache ist nicht erledigt, weil sie entschieden, geschrieben oder zusammengeführt wurde. Sie ist erledigt, wenn man sie hat laufen sehen.
Methode, Abdeckung, Kosten und die Ergebnisse der Nachprüfung aus den generierten Kennzahlen und dem Bericht der Prüfung selbst, gelesen am 2026-09-08; die Zahlen zu geschlossenen und offenen Befunden aus dem Befundregister vom selben Tag. Die Befunde selbst werden nicht veröffentlicht.