AgilConsultants

00

Wer hier spricht

Ich bin Christian Honl. Der Git-Nachweis läuft seit dem ersten Commit; was hier steht, ist aus dem System gemessen.

Erhoben aus
gemessenem Systemzustand
Messfenster
erster Commit bis Erhebungstag
Zahlen mit Befehl
Anhang A, [C1]–[C25]
Was offen ist
Abschnitt 06

Seitdem, gemessen statt beschrieben (Stand 05.11.2026): 6.748 Commits in 7 Repositories [C1]; eine 3,08 GB große Append-only-Falldatenbank, deren 135 Schreibpfad-Trigger einen falschen Schreibvorgang abbrechen, statt ihn zu protokollieren [C6][C7]; 145.701 Provenienz-Zeilen, davon 145.700 mit dem Git-Commit, der sie erzeugt hat [C8]; und 43 benannte Gate-Planken in der Doktrin-Datei; daneben ein Nacht-Harness, das Werkstatt-Gates eine bekannt fehlerhafte Eingabe gibt und sie rot sehen muss — der Stand je Gate (bewiesen, unbewiesen, defekt, fehlend, letzter Lauf) steht in der Kennzahl Gate-Register [C21][C22].

Zwei meiner Monitore stehen heute auf Rot. Sie stehen auf dieser Seite, in Abschnitt 06 — die Restore-Probe ist seit dem 1. August rot [C20].

Ich habe diesen Code nicht selbst getippt. Ich habe Claude orchestriert; meine Arbeit war Architektur, Urteil und Zurückweisung. Der Kunde war ein echter familienrechtlicher Fall — selbst akquiriert, unbezahlt — und die Frist war ein Gericht. Jede Zahl auf dieser Seite trägt entweder den lesenden Befehl, der sie erzeugt, oder das Dokument, aus dem sie stammt — und sagt, welches von beidem. Auch die Zahlen, die rot sind.

Am Ende muss das System liefern. Versprechen sind keine Option.

Cockpit erreichbar 200 gelesen 2026-11-05 03:55Gates zuletzt bewiesen 6613 / 186 / 75 / 1 gelesen 2026-11-05 03:13älteste Arbeitssitzung auf dem Server offen seit 98 d 7 h gelesen 2026-11-05 03:55Beispieldaten — keine Live-MessungRot-Liste in dieser Messung nicht gemeldet

01

Wie die Zahlen auf dieser Seite zu lesen sind

Vier Regeln, dann die Zahlen. Jede Zahl trägt am Rand entweder den lesenden Befehl, der sie erzeugt, oder das Dokument, aus dem sie stammt — und sagt, welches von beidem. Jede Zahl trägt ihren eigenen Stand (jede Kennzahl nennt ihren eigenen Messtag), und die Zähler sind append-only — sie stehen also niedriger, als sie es sind, wenn Sie den Befehl ausführen. Wo eine Zahl bei der Prüfung korrigiert wurde, bleibt der alte Wert durchgestrichen stehen. Und was kaputt ist, sagt das in derselben Schriftgröße wie das, was funktioniert.

  • 58 Gates mit Tagesbeweis → 56 benannte / 25 bewiesene Gates (Stand dieser Korrektur: 23.08.2026)
  • 116 Screens → 92 Screens
  • 842 Testdateien → ~636 Testdateien
  • 85 Anreicherungs-Timer → 29–41 Anreicherungs-Timer
  • 13 Modelle → 12 Modelle
  • sechs LifeRadar-Frontends → ein Screen mit sechs Ansichten

Eine interne Prüfung von 49 Aussagen ergab 28 gehalten, 20 überzogen, 1 widerlegt — ich gebe Ihnen lieber dieses Verhältnis als eine Broschüre.

02

Der Bau, gemessen

Das ist das gesamte Messfenster in einer Tabelle, damit es niemand aus Fließtext zusammensuchen muss. Zwei Zeilen tragen ihre Einschränkung in der Zeile selbst, nicht in einer Fußnote — ohne sie würde die Zahl als etwas gelesen, was sie nicht ist.

218 / 186 Kalendertage seit dem ersten Commit, 186 davon mit Commits (Stand 05.11.2026)das Messfenster ab dem ersten Commit bis zum Erhebungstag und die verschiedenen Commit-Tage darin; der Anhang trägt die Commit-Zahl, nicht die Tageszahl gemessen · gelesen aus: Dossier §1, Commit-Tage hinter [C1] [C1]

das Messfenster und die Tage darin, an denen ein Commit entstand

6.748 Commits in 7 Repositories (lebende Zahl seit dem ersten Commit — ein eingefrorenes Fenster wäre nicht reproduzierbar, weil Merges ältere Datumsstempel nachtragen) gemessen · [C1] · append-only

der Git-Nachweis über alle Repositories der Familie

~1,18 Mio. / 4.416 Zeilen produktiven Codes in 4.416 Dateien (~1,14 Mio. ohne Duplikate)von Claude unter meiner Anleitung erzeugt; Architektur, Prüfung und Zurückweisung sind meine — orchestriert, nicht getippt gemessen · gelesen aus: Nachmessung 2026-11-05 im Scope des 4-Monats-Audits vom August (git-getrackte Code-Dateien der sechs eigenen Repos; cockpit-darwin ist seit dem Umzug des Cockpits ins nanoclaw-Repo nur noch eine byte-gleiche Kopie des devkit und zählt nicht mit); Summe über die sechs Zahlen, Dateien aus derselben Liste, ohne Duplikate = inhaltsgleiche Dateien nur einmal gezählt [C2]

die produktive Codebasis, Duplikate gezählt und abgezogen

15 Produkte in einer Routing-Registry gemessen · [C3] · append-only

was die Routing-Registry als Produkt führt

1.703 / 2.631 bewusst geschlossene Stories / abgeschlossene Stories gemessen · [C4]

der Arbeitsstand als Datenbank statt als Markdown

1.734 / 1.555 / 859 / 1.225 registrierte gegnerische Prüfläufe (Eintrag seit 23.08.2026 nur mit Befehl und Ausgabe) — Devil 1.734, Rollen-Panel 1.555, Aufräum-Auditor 859; 1.225 Devil-Läufe mit mindestens einem eingetragenen Befund (Stand 05.11.2026) gemessen · [C13] · append-only

Prüfungen, die in einem Register landen — Eintrag seit 23.08.2026 nur mit Befehl und Ausgabe

117.248 protokollierte Modellaufrufe durch einen einzigen Engpass — 13 Modelle von fünf Anbietern mit Antwort im Protokoll (Anthropic Opus, xAI Grok, Gemini 2.5 Flash, Novita mit DeepSeek/Kimi/GLM/Qwen, Exa; ein 14. Eintrag gemini-3.1-pro-preview: 8 Aufrufe, 0 Antworten), je Aufgabe wählbar; dazu Claude Fable 5.1 als Standardmodell der Werkstatt-Sitzung selbst (Claude Code, kein API-Aufruf, daher nicht im Zähler) — zusammen 14 Modelle gemessen · [C5] · append-only

jeder Modellaufruf seit dem 11. Juni durch einen einzigen Engpass

184 getaktete Läufe im Hintergrund aktiv, 0 fehlgeschlagen — von 291 inventarisierten; 98 weitere werden bei Bedarf gestartet (Stand 05.11.2026) gemessen · [C12]

die getakteten Läufe, die das System jeden Tag selbst fährt

215,42 $ im Register, über 117.248 protokollierte Aufrufedas Register beginnt am 2026-06-11 und enthält keine Pauschal-Abos; 68 % der Zeilen sind geschätzt statt vom Anbieter abgerechnet, das sind 98 % des Dollar-Betrags. Das Register ist das Instrument, nicht die Rechnung. gemessen · [C5] · append-only

was das System an Modellkosten selbst protokolliert — ein Engpass, durch den jeder Aufruf muss

Median 33 Commits pro Tag · Spitze 290 (nach UTC-Tag) · 10,5 verschiedene Stunden der Uhr · 19 % zwischen 22:00 und 06:00 · ein Drittel am Wochenende [C1]

So sieht es aus, ein System um zwei kleine Kinder herum zu bauen.

03

Gates, die rot werden müssen

Der Stand je Gate — bewiesen, unbewiesen, defekt, fehlend, letzter Lauf — steht in der Kennzahl Gate-Register [C22]. Jede Nacht bekommt jedes Gate eine Eingabe, von der das System weiß, dass sie falsch ist, und muss sie zurückweisen. Ein Gate, das seinen eigenen bekannten Fehlerfall nicht mehr fängt, wird gemeldet und nicht unterstellt. Selbst berichtete Prüfung ist keine Prüfung — jeder Lauf landet deshalb in einem Register — Eintrag seit 23.08.2026 nur mit Befehl und Ausgabe.

Ein frontales Liniendiagramm einer Prüfschranke, deren Arm in Sperrstellung unten steht; ein zurückgewiesenes Objekt steht dahinter.
Markenbild, generiert — keine Fotografie des Systems

Dies gibt die aufgezeichneten Urteile wieder: 23 von 25 aus dem Nachtlauf vom 23.08.2026, 02:03, zwei aus früheren Läufen — das Datum jedes Laufs steht in seiner eigenen Zeile. Es ist eine Wiedergabe, kein Live-Gate; der Befehl, der das Register liest, steht darunter.

behavioral-conformance-gateBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
canonical-write-path-guardBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
code-orphan-surfacerBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
container-isolation-proofBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
data-boundary-reportBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
deploy-drift-guardNICHT BLOCKIERT · UNPROVEN · Exit-Code der Mechanik: -1 ·
meta-export-gateBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
object-type-catalog-gateBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
object-type-catalog-write-guardBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
pkg:authority-tierBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
pkg:confidence-calibration-monitorBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
pkg:devkit-enginesKEIN SKRIPT · MISSING · zuletzt gesehen:
pkg:entity-data-auditBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
pkg:object-type-catalog-write-guardBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
pkg:object-type-instantiateBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
pkg:over-merge-guardBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
pkg:schema-catalog-builderBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
pkg:source-independence-scoreBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
pkg:survivorship-engineBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
pkg:survivorship-mergeBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
provenance-stress-guardsFEHLER DER MECHANIK · BROKEN · Exit-Code der Mechanik: 1 ·
shared-promote-gateBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
spawn-tenant-isolationBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
story-status-aqal-trigger-guardBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·
survivorship-resolutionBLOCKIERT · PROVEN · Exit-Code der Mechanik: 0 ·

Der auf einer wiedergegebenen Zeile gedruckte Exit-Code ist der Exit-Code der Prüf-Mechanik aus false_green_runs, nicht der des Gates selbst. BLOCKED ist, was das Gate mit der bekannt schlechten Eingabe gemacht hat; PROVEN ist das Urteil der Mechanik über das Gate.

Unter dem Raster: 43 benannte Gate-Planken in der Doktrin-Datei (Stand 05.11.2026) [C21]. 3.673 Read-Set-Attestierungen (Stand 05.11.2026), per SHA-256 bewiesen und nach einer Kontext-Verdichtung absichtlich ungültig gemacht, damit die nächste Änderung mit exit 2 blockiert [C13]. Die Devil-Läufe stehen in einem Register, Eintrag seit 23.08.2026 nur mit Befehl und Ausgabe — gezählt in der Kennzahl Widerleger-Läufe [C13]. Den Nachtlauf mit seinen Schritten zählt die Kennzahl Cycle; das Ergebnis je Schritt steht im Zyklus-Status [C19].

warum soll die weich bleiben, dann werden wir nie besser 2026-06-21

In derselben Tabelle wie der Gewinn gemessen: Die Prüfabdeckung geschlossener Arbeit stieg an diesem Tag von ~15 % auf 80–93 %, und der Durchsatz fiel um den Faktor vier. Der Preis steht in derselben Größe wie der Gewinn.

04

Warum es jedes Ding gibt, in der Reihenfolge, in der der Schmerz kam

Sechs Dinge, jedes eingeleitet durch den Moment, in dem es nötig wurde — nicht durch das, was es tut. Mir ist lieber, Sie lernen das Urteil als die Funktionsliste.

Der Fall musste sich selbst tragen.

Mein Anwalt war dauerhaft im Urlaub, verlangte absurde Gebühren und beantwortete meine Fragen nicht. Wenn der, der dafür bezahlt wird, den Fall zu tragen, ihn nicht trägt, muss der Fall sich selbst tragen.

Also wurde die Akte ein System und kein Ordner: jedes Dokument hinein, jeder Fakt mit seiner Herkunft, jede Frist als Datum, und Berichte, die ein Anwalt einreichen kann. Die Herkunft sitzt als Trigger am Schreibpfad, denn ein Fakt ohne nachvollziehbaren Ursprung ist eine Behauptung — und ein Gericht liest das Ergebnis.

die Mechanik

3,08 GB append-only (Stand 05.11.2026) [C6] · 135 RAISE(ABORT)-Trigger am Schreibpfad [C7] · 145.701 Herkunfts-Zeilen, 145.700 davon mit dem Git-SHA (Stand 05.11.2026) [C8] · 124.405 per OCR gelesene Seiten (Stand 05.11.2026); Kosten-Anteile vom 23.08.2026 (Nenner damals 86.846 Seiten): 71.232 (82,0 %) kostenlos, 1.020 needs_human, 954 Werkzeugfehler, 15.288 Modell-Seiten für 14,57 $ [C9]. In derselben Tabelle die lauten Fehler: 954 cli_error, 1.020 needs_human und 23.657 Seiten, die nicht messbar tragen statt eines erfundenen Werts.

Beim Kunden: Es macht sichtbar, welcher kleine Teil den Experten wirklich braucht.

Ein Handbuch ist ein Vorschlag.

Ich habe meine eigenen April-Korrekturen gelesen — alle mit derselben Aussage: Template nicht wortgetreu befolgt.

Acht lesbare Templates, und jedes davon war ignorierbar. Also verließ der Arbeitsstand die Markdown-Dateien und zog in eine Datenbank, und die Definition of Done hörte auf, Prosa zu sein, und wurde ein Pflichtfeld.

die Mechanik

2.631 abgeschlossene Stories mit Pflichtfeldern, 1.703 bewusst geschlossen — überholt oder zurückgezogen, ein aufgeräumtes Backlog ist Teil der Arbeitsweise (Stand 05.11.2026) [C4] · 1.980 Abhängigkeits-Kanten (Stand 01.10.2026) · ein Append-only-Abschlussregister mit 240 Zeilen (Stand 02.10.2026), mit zwei RAISE(ABORT)-Triggern gegen Update und Delete [C13].

Beim Kunden: sein Tracker, mit gegatetem Abschlusspfad.

Zügel für den Bullen.

Ein Agent, von dem ich glaubte, ich hätte ihn abgeschaltet, übernahm den Kanal meines anderen Agenten und antwortete, als wäre er dieser Agent. Ich merkte es nur, weil der Ton falsch war.

Gerettet hat es, dass es bereits eine Incident-Prozedur gab — alles herunterfahren, sauber neu starten, verifizieren — sodass ich ihn abschalten konnte, statt mit ihm zu diskutieren.

die Mechanik

Seitdem drei nüchterne Sätze, alle als Code statt als Richtlinientext: Nichts sendet von allein an einen Menschen; kein fertig eines Agenten zählt ohne Registereintrag mit Befehl und Ausgabe (Regel seit 23.08.2026); jede autonome Schleife hat einen Abschaltweg, der nicht von der Schleife abhängt.

Beim Kunden: dieselben drei, erzwungen in seinen Hooks und seiner CI.

Die Brücke.

Das Modell baute eine plausible Version einer Sache, die es nicht verstanden hatte — aus einer Beschreibung, die selbst unvollständig war.

Jeder teure Fehler in diesem Bau führte auf diese Lücke zurück, nicht auf Code. Also wurde die Brücke Mechanik: Vor einem Bau beantworten drei unabhängige Agenten, was der Kanon sagt, was die Realität sagt — gelesen, nie angenommen — und was der Abhängigkeitsgraph sagt.

die Mechanik

3.673 per SHA-256 bewiesene Read-Set-Attestierungen (Stand 05.11.2026) [C13] · Korrektur-Ereignisse — gezählt in der Kennzahl Korrekturen —, im Median null Tage von das hast du falsch gemacht bis zu einem Gate im Code, längster Weg 49 Tage und genau so protokolliert [C13][C17].

Beim Kunden ist genau das die Arbeit: aus „bau das“ eine Beschreibung machen, der die Realität zustimmt.

Eine Session darf nicht vom Gerät in meiner Hand abhängen.

Ich schob mit einer Hand den Kinderwagen und hielt mit der anderen das Telefon, damit eine Session nicht stirbt.

Also zogen die Sessions auf den Server, dauerhaft hinter einer Identitätsebene am Rand; ein Verbindungsabbruch kostet ein Neuverbinden, keinen Nachmittag. Das Schwere war nicht das Terminal, sondern die Darstellung — Serverausgabe auf einem Telefon sauber lesbar zu machen.

Drei gestrichelte Geräte-Umrisse, hinter denen eine durchgehende orange Linie zu einem Server-Rack läuft: die Geräte brechen, die Linie nicht.
Markenbild, generiert — keine Fotografie des Systems
die Mechanik

4.731 Ereignisse / 310.622 Transkript-Zeilen · xterm 5.5.0, WebGL-Addon 0.18.0, canvas 0.7.0, fit 0.10.0 exakt gepinnt · 16 protokollierte Recherche-Läufe allein zu diesem Stack · ein Upgrade auf xterm 6 geprüft und bewusst verworfen. In derselben Tabelle: es läuft ohne systemd-Unit — kein Auto-Restart.

Beim Kunden: seine Identitätsebene und seine Infrastruktur; ich bringe die Aufbewahrungsregel und die vererbten Policy-Grenzen mit.

Die Veranstaltung, die nirgends stand.

Ich wollte wissen, was an einem Sonntag in der Stadt los ist. An diesem Abend gab es eine große Veranstaltung, die nirgends verzeichnet war.

Der echte Kalender einer Stadt steht nicht im Index — deshalb liest dieses Ding Originale und behält die Herkunft dessen, was es gefunden hat, statt einen Eintrag nachzuerzählen.

die Mechanik

303 Orte in 12 Städten · 1.055 Bilder · SHA-256-Dedup in osint_events · jede Ausstattung mit eigener Quelle und Konfidenz, sodass der Screen Pool bestätigt oder Angaben unvollständig sagt. In derselben Tabelle ehrlich gehalten: Eine Story verzeichnet noch hart kodierte Herkunft und verifiziert ohne Verifikation auf der Datenachse — genau der Fehler, den dieses Produkt vermeiden soll, aufgeschrieben statt still geschlossen.

Beim Kunden: dasselbe Muster Lesen → Prüfen → Herkunft für jeden Katalog auf unzuverlässigen Lieferantendaten.

05

Die Zügel

Hereingeholt hat mich der Hype um autonome Agenten. Beim Bauen habe ich das Gegenteil gelernt: Um aus einem autonomen Modell das Beste zu holen, braucht es straffe Zügel, keine lose Hand. Auf dem Bullen zu reiten ist der Punkt — die Zügel machen es möglich.

Eine flache Objektstudie von Zügeln und Trensengebiss, zur Ansicht ausgelegt, ein Riemen in Orange hervorgehoben.
Markenbild, generiert — keine Fotografie des Systems
Das AgilConsultants-Murmeltier in Lederjacke, halb aus einem Gully, das die Straße beobachtet.

Die stehende Grenze: ein einzelner Betreiber, kein Vier-Augen-Prinzip, kein zentrales Zugriffs-Auditlog.

  • Nichts sendet von allein an einen Menschen — eine hart kodierte Allowlist, kein Review-Kommentar.
  • Jede autonome Schleife hat einen Abschaltweg, der nicht von der Schleife abhängt.
  • Kein fertig zählt ohne Registereintrag mit Befehl und Ausgabe (Regel seit 23.08.2026).
  • Ausgaben fremder Werkzeuge gelten als nicht vertrauenswürdig und werden nie ausgeführt.
  • Geheimnisse nur über .env, mit einem Scanner in jedem Commit.
  • Umgehungen werden gezählt, nicht verboten — 46 Einträge im --no-verify-Register (Stand 02.10.2026); das Register blockiert nicht die Umgehung, es blockiert den nächsten Commit [C13].
Zwölf Haarlinien unterschiedlicher Länge; drei mit einem schwereren Strich durchgestrichen, zwei enden im Nichts.
Markenbild, generiert — keine Fotografie des Systems

06

Was offen ist, und was fehlgeschlagen ist

Dieser Abschnitt hat dieselbe Schriftgröße, dieselben Zeilen und dieselben Befehle wie Abschnitt 02 — und er steht vor meinem Lebenslauf. Er ist live: Er wird aus derselben Messung gespeist wie die Leiste im Kopf. Wenn die Restore-Probe grün wird, steht das hier. Bis dahin steht hier das.

Beispieldaten — keine Live-Messung

  • DR-Restore-Probe rot, ExecMainStatus=1 — das Backup existiert, der Restore ist derzeit nicht bewiesen [C20].
  • Litestream-Staleness-Monitor in ALERT, Replica-WAL-Zeitstempel nicht lesbar [C20].
  • Der 19 GB große Rechtskorpus ist aus der Live-Replikation gefallen, nur noch ein wöchentlicher S3-Snapshot, der letzte vom 2026-08-16.
  • 95 Timer aktiviert, aber tot [C12].
  • Evals: 5 Fälle, nicht eingeplant; kein Modell-Tracing, keine Span-Bäume, keine Prompt-Versionierung.
  • OpenTimestamps: 0 von 72 Ankern nachgeprüft — ausgewiesen als verankert, nicht nachgeprüft.
  • Die Content- und Video-Strecke ruht; der Renderer scheiterte 4 von 4 Nächten und meldete dabei exit 0 — ein stiller Fehler in genau der Strecke, die laut zu scheitern verspricht, und die eine Aussage, die die interne Prüfung glatt widerlegt hat. Sie steht deshalb hier.
  • Investments stehen still, mit zwei offenen Backtest-Fehlern, die ich in meinem eigenen Code gefunden habe.
  • 560 Einträge im Wiederverwendungs-Register ohne passende Bestätigung [C24].
  • Mandanten-Isolation nur auf Resolver-Ebene; 564 Dateien tragen noch den alten Pfad der geteilten Datenbank.
  • 4 von 7 Repos haben keine Commit-Hook-Kette, 30 von 51 Gates laufen nur auf meiner Maschine — der Portabilitäts-Engpass.
  • Ein einzelner Betreiber, kein Vier-Augen-Prinzip; tx_to wird nie gesetzt, das Schema ist also bitemporal und die Nutzung nicht.

07

Wohin die Daten gehen

Das ist meist die erste Frage, deshalb steht sie auf der Seite und nicht im Gespräch. Am 23. August lief meine eigene Recherche-Maschine gegen meine eigene Konfiguration und fand vier Dinge. Sie sollen sie hier lesen und nicht später finden.

Was das System tut

  • Zwecktypisierte Auslieferung mit Default-Deny an der Auslieferungsgrenze.
  • Code-Namen statt Namen Dritter in jeder Ausgabe.
  • Eine Bereinigung personenbezogener Daten auf dem Auslieferungspfad.
  • IBAN-Schwärzung über 21 Importer.
  • Löschmarkierung statt DELETE.
  • Ein Lizenzregister je Quelle.
  • Ein Löschprotokoll nach Artikel 17 in WORM-Speicher.
  • Nachweise zu Privacy by Design nach Artikel 25, erzeugt aus dem Live-Zustand.
  • Ein gegen SSRF abgesicherter Fetch.
  • HMAC-signiertes SSO, das ohne sein Geheimnis sicher fehlschlägt.
  • Cloudflare-Tunnel statt offener Ports.
  • Und die hart kodierte Regel, dass keine E-Mail und keine Nachricht ohne Menschen hinausgeht.

Die vier Funde vom 2026-08-23

Ein regionaler Endpunkt ist keine Zusicherung der Datenresidenz. Mein eigenes System lief auf europe-west4. EU-Residenz verlangt den EU-Multi-Region-Endpunkt mit Private Service Connect. Die Fix-Story US-LEGAL-VERTEX-EU-MULTIREGION-ENDPOINT-DATENRESIDENZ-01 ist offen.
Zero Data Retention gilt je Organisation und vererbt sich nicht. Es hat echte Kanten, deshalb ist ein Löschkonzept, das auf „30 Tage“ geschrieben ist, falsch.
Wer Auftragsverarbeiter ist, hängt am Beschaffungsweg. Der Auftragsverarbeitungsvertrag reicht nicht über ihn hinweg. Nie beide Wege mischen, ohne beide zu dokumentieren.
Zertifizierungen, vorhanden und fehlend. Vorhanden: SOC 2 Type 2 (2025), CSA STAR L2, SOC 3, ISO 27001 (2025), ISO 42001 (2025), NIST 800-171r3. Fehlend: ISO 27017, ISO 27018, ISO 27701, TISAX, PCI DSS, BSI C5.

Stand 2026-08-23, mit der Anweisung, vor einem Vertragsschluss neu zu prüfen und sich nicht auf diese Seite zu verlassen.

08

Beim Kunden liefere ich mit Ihrem Stack

Die ehrliche Aufstellung Komponente für Komponente: was ich hier benutze, was nicht, und wonach ich auf Ihrer Seite des Tisches greifen würde. Eigenes habe ich dort gebaut, wo das offizielle Teil noch nicht existierte oder nicht tief genug ging; das offizielle Teil übernehme ich an der sichtbaren Kante, als dünne Hülle, nie als Nachbau.

seitlich scrollbar
KomponenteHeute im Einsatz?Was ich beim Kunden nutze
Claude CodejaDasselbe — das Liefermittel.
wo, und warum oder warum nicht

Wo 49 Kommandos, 26 parallele Worktrees

Warum oder warum nicht Das ganze System ist darin gebaut.

HooksjaDasselbe, plus die Git-Kette.
wo, und warum oder warum nicht

Wo 20 + 18 Dateien, 5 registrierte Ereignisse, PreToolUse blockiert mit exit 2

Warum oder warum nicht Die Hook-Oberfläche ist der Ort, an dem die Disziplin wirklich landet, bevor die Arbeit existiert.

Skills im offiziellen FormatjaKundendoktrin als Skills, nicht als Wiki-Seite, die niemand öffnet.
wo, und warum oder warum nicht

Wo 49 + 41 Dateien

Warum oder warum nicht Doktrin, die das Modell laden muss, ist ein Skill, kein README.

Sub-AgentenjaDasselbe, mit Widerlegung als Grundhaltung.
wo, und warum oder warum nicht

Wo 1.734 / 1.555 / 859 verzeichnete Läufe (Stand 05.11.2026)

Warum oder warum nicht Gegnerische Prüfung durch einen frischen Agenten ist hier die wertvollste Technik.

Messages APIjaDasselbe SDK, unverändert.
wo, und warum oder warum nicht

Wo @anthropic-ai/sdk ^0.96.0

Warum oder warum nicht Direkte Kontrolle über die Kostenzuordnung je Aufruf.

Tool Use und strukturierte AusgabenteilweiseTool Use, wie die API es anbietet; mein Schema-Gate schrumpft zur Prüfschicht.
wo, und warum oder warum nicht

Wo Eigener JSON-Schema-Abbruch

Warum oder warum nicht Im Code als Abweichung dokumentiert, weil es kein response_format gab.

Prompt CachingteilweisePrompt Caching überall als Voreinstellung.
wo, und warum oder warum nicht

Wo Nur auf dem TypeScript-Pfad

Warum oder warum nicht Der größte unangetastete Kostenhebel, und ich habe ihn liegen lassen.

Batch APIteilweiseBatches überall dort, wo die Aufgabe wirklich offline ist.
wo, und warum oder warum nicht

Wo Adapter auf NotImplementedError('wave 2')

Warum oder warum nicht Der Nachtlauf ist latenzgebunden; Batching hilft den Kosten und schadet genau dieser Schleife.

Files APIneinFiles API für gewöhnliche Dokument-Abläufe.
wo, und warum oder warum nicht

Wo —

Warum oder warum nicht Dokumente kommen über S3 mit WORM-Triggern und einer Herkunftskette.

MCPgenutzt, nicht selbst geschriebenMCP-Server schreiben — die sichtbare Kante, die die Sprache des Kunden spricht.
wo, und warum oder warum nicht

Wo Zwei konfigurierte Server

Warum oder warum nicht Ein privater Engpass ist richtig für einen Betreiber und falsch für einen Kunden, der eine prüfbare Werkzeuggrenze braucht.

Agent SDKneinAgent SDK beim Kunden, mit meinen Gate-Mustern als dünnen Hüllen.
wo, und warum oder warum nicht

Wo —

Warum oder warum nicht Mein Orchestrator und seine Register sind älter; ich portiere lieber ein Muster als eine Codebasis.

Claude auf Vertex / BedrockteilweiseBeides, je nach Beschaffungsweg des Kunden.
wo, und warum oder warum nicht

Wo Vertex im Router; Bedrock nicht

Warum oder warum nicht Wegen des EU-Arguments gewählt — und Abschnitt 07 ist die Stelle, an der sich diese Wahl als falsch erwies.

Extended ThinkingteilweiseExtended Thinking mit explizitem Budget und Kostenzuordnung.
wo, und warum oder warum nicht

Wo Denk-Tokens werden ins Register gezählt

Warum oder warum nicht Eingesetzt, wo es sich lohnt, nie stillschweigend: ungezählte Denk-Tokens sind eine echte Rechnung.

Abweichungen, die ich heute zurücknehmen würde

  • Ad-hoc-HTTP-Routing statt MCP-Werkzeugverträgen — meine Werkzeuggrenze ist privat und undokumentiert.
  • Mein eigenes hartes Gate für strukturierte Ausgaben statt Tool Use der API — es sollte zu einer Prüfschicht schrumpfen.
  • Meine eigenen Rollen-Panels statt Sub-Agenten des Agent SDK — der Personen-Entwurf ist es wert, der Unterbau darunter wohl nicht meiner zu pflegen.
  • Prompt Caching nur auf dem TypeScript-Pfad — der Router lässt den größten Kostenhebel ungenutzt.
  • Der Batch-API-Adapter auf „Welle 2“ — die nicht latenzgebundenen Nachtschritte gehören in Batches.

09

Die zwei Jahrzehnte, die der Bau-Nachweis nicht zeigt

Alles darüber ist ein Mensch und ein Modell. Das hier sind die anderen zwanzig Jahre — und der einzige Teil dieser Seite, den Sie nicht vom Terminal aus prüfen können: Er trägt keine Befehle, nur Referenzen auf Anfrage.

  • 2018–2020Deutsche Bahn RIS Mobil, 45+ Personen — Scrum Master zweier Teams auf dem Weg zur Selbstorganisation, ein drittes Team und ein DevOps-Team eingestellt und aufgebaut, agiler Prozess an Hochsicherheits-Anforderungen angepasst, die App bundesweit im Einsatz.
  • 2017–2018Deutsche Bahn RIS Fahrzeug, 20+ Personen, drei Teams, Produktmanagement aufgebaut.
  • 2015–2016Tourismus-Go-live, 70+ Personen, live nach acht Jahren Entwicklung.
  • 2014–2015Öffentliche Verwaltung, 100+ Personen, acht agile Teams auf dem Weg zu zwölf, wo LeSS an seine Grenze kam; die Einführung von SAFe vorbereitet und das visuelle Zentrum aufgebaut.
  • 2009–2013Commerzbank, 50+ Personen — als Senior-Entwickler gestartet, das V-Modell als zu kundenfern empfunden, als Scrum Master vier agile Teams aufgebaut und dabei die Frontend-Erneuerung geführt.
  • 2005–2009Dresdner Kleinwort Wasserstein / Dresdner Bank — den Web-Limitprüfungs-Dienst eingeführt, der Risikolimits beim Geschäftsabschluss prüft.
  • 2002–2005Duales Studium, Diplomarbeit über evolutionäre Algorithmen, Note 1,0 — dort begann das Interesse an Suche über unbegrenzten Lösungsräumen.
  • 11/2020–12/2025Elternzeit, zwei kleine Töchter, Agile Disruption geschrieben (2024, 43 Seiten, 10 Kapitel), die Ausbildung in systemischer Aufstellungsarbeit abgeschlossen, 2025 die Einarbeitung in KI-gestützte Softwareentwicklung.
  • seit 2016Geschäftsführer von AgilConsultants.

Die Brücke vom Buch ins System

  • Idioten-Index → Frage 3 des Sieben-Fragen-Entscheidungsfilters
  • jede Anforderung trägt einen Namen, der sie verteidigt → 49 datierte Zitatstellen in der Doktrin-Datei, 56 von 62 destillierten Prinzipien wörtlich
  • löschen, bis du 10 % zurückholen musst → ein Backlog-Schnitt von 26,8 % mit Append-only-Abschlussregister und --reopen-Pfad
  • zuletzt automatisieren → ein Gate geht SOFT, wird durch Mutation bewiesen, dann HART, dann getaktet — nie direkt in die Automatisierung

Die Zeit, allein mit einem Modell zu bauen, war kein Rückzug aus Teams — sie war der schnellste Weg, den Stoff zu lernen, den ich jetzt in eines zurücktragen will.

Vor 2016 — Engagements, die ich auf Anfrage benennen kann

  • Go AgilEine agile Transition als Programm geführt, nicht als Schulung.
  • Scale AgileSkalierung über den Punkt hinaus, an dem ein Framework nicht mehr passte.
  • Bug Fixing MarathonEin befristeter Stoß gegen einen Fehler-Rückstand, täglich gemessen.
  • Sex IT UpEine interne IT-Abteilung so aufstellen, dass die eigenen Kollegen mit ihr arbeiten wollten.

10

Prüfen Sie es selbst — und was ich nicht herausgebe

Mir ist lieber, Sie fassen das System an, als dass Sie darüber lesen. Die Absage steht zuerst, weil sie der Teil ist, der Urteil gekostet hat: Meine eigene Sicherheitsprüfung hat meinen ersten Entwurf dieses Abschnitts durchfallen lassen — ein einfacher Terminal-Login auf dem Produktionshost wäre eine Shell als der datenbank-besitzende Benutzer gewesen. Also: keine Shell auf dem Produktionshost, niemals.

Drei Angebote, aufsteigend im Aufwand, jedes mit seiner Grenze zuerst

von meiner Seite der Wand ausEin aufgezeichneter Durchgang von 10 Minuten und eine 30-minütige Live-Bildschirmfreigabe. sofort verfügbar
kein Fallinhalt, keine persönlichen Zitate, über die volle Historie auf Geheimnisse und vor der Übergabe auf personenbezogene Daten geprüftEin bereinigtes, nur lesbares Repository — Gates, Hooks, Doktrin, die Mutations-Mechanik. innerhalb weniger Tage
nicht mein Produktionshost, nicht meine Identitätstür; ein nicht privilegierter Benutzer, Transkript-Aufbewahrung aus, ein hartes AblaufdatumEine eigene Prüf-Sandbox auf einem Wegwerf-Server mit einer synthetischen, nur per DDL erzeugten Mandanten-Datenbank (prove-isolation=0 [C14]). geplante Arbeit, kein Schalter

Drei Durchgangs-Spuren

Problem → Stories → Klickdummy → DeployDie Vorführung der Geschwindigkeit, kein Produkt, das ich Ihnen verkaufen würde.
Story → Gates → DeploySie nennen ein kleines Feature und sehen die Gates feuern — darunter sehr wahrscheinlich eines, das mich blockiert.
Dokument → Herkunft → BerichtWerfen Sie ein synthetisches Dokument hinein, sehen Sie die Kaskade das teure Modell ablehnen, und klicken Sie dann jeden Satz im Bericht zurück auf die Seite, aus der er stammt.

Kontakt

Schreiben Sie mir und sagen Sie, durch welche der vier Türen Sie gekommen sind. Ich antworte selbst.

[email protected]

Impressum (§ 5 DDG)

Betreiber
AgilConsultants UG (haftungsbeschränkt)
Anschrift
Höhestrasse 48, 61348 Bad Homburg
Vertreten durch
Christian Wolfgang Honl, Geschäftsführer
Registergericht
Amtsgericht Bad Homburg v. d. Höhe
Registernummer
HRB 16085
Umsatzsteuer-ID (§ 27a UStG)
DE298914143
Telefon
+49 (0) 152 / 343 455 61
Verantwortlich für redaktionelle Inhalte (§ 18 MStV)
Christian Wolfgang Honl, Anschrift wie oben

Diese Seite setzt kein Cookie und speichert nichts Nicht-Notwendiges, deshalb gibt es keinen Einwilligungs-Banner. Vorgeschaltet ist Cloudflare (USA) — Einzelheiten unter Datenschutz.