Skip to content

Ausfuehrungsprotokoll des finalen Selbstverbesserungs-Ausbaus

Fortlaufend gefuehrt waehrend der Ausfuehrung. Alle Zeiten sind UTC (Korrektur vom 03.10.2026 nachmittags: die Zeilen vom 02.10. und bis 03.10. 01:30 standen in Lokalzeit MESZ und sind nach den Commit-Zeiten auf UTC umgerechnet; die Zeilen danach waren schon UTC). Grundlage des chronologischen Teils im Abschlussbericht. Commits stehen auf dem Branch selbstverbesserung; Deploys und Laeufe nennen ihre Nachweisdatei unter docs/ausbau/nachweise/.

02.10.2026

Zeit (UTC) Ereignis Nachweis
10:36-21:02 Phase 0 bis 3: Versionsmarke, Quelle in jeder Befoerderung, Draht-Verlauf, Policy, Modell-Festnagelung, Versionsidentitaet, Replay, Vorher/Nachher, Goldset, Widerspruchsauswahl, Baender, Schwelle je Regel, Wirkungsmeldung, Schattenlauf, Kreativ im Antwortweg, Raumbestimmung, Sicherheitsgrad (alle neuen Schalter aus) Commits 5e78614 bis f3a5d5b
15:51-17:06 administrative Sperrebene (D-021), Evidenzfamilien (D-022), Goldset (D-020), Zwischenauftrag abgeschlossen 44ea4e9, 7e339d3, 8632d51
17:25 Ausgangszustand des finalen Auftrags: Commit 8632d51 (Abschluss des Zwischenauftrags, 17:06 UTC) ist deployt - Produktion = Repository (Admin-Smoke-Tests von Marco 17:26-17:27 UTC auf diesem Stand) nachweise/produktion_8d50784_vor_deploy3.json (Stand vor Deploy 3)
18:30 Phase 1: Deploy-Schranke, Aenderungssatz (I-008), Bestreitung nur Admin, Dienstzugaenge a4c6e3c
21:09 Phase 4: Defizitklassifikation, problem_record, Change-Spec, Invariantenregister bcb92d6
21:30 Selbstverbesserungskreis serverseitig: Speicher, 19 Zustaende, Audit, Admin-Veto, Detektor, Endpunkte 36809f6
21:31-21:44 Deploy 1 (36809f6): Zustandsmaschine, Detektor und Endpunkte live; der Detektor erkennt beide Probe-Defekte in der Produktion selbst (CODE_GAP probe_normalisierung, CONFIG_GAP probe_sicherheitsgrad) nachweise/deploy_36809f6.log
22:00 Phase 5/6: Coding-KI-Dispatcher (agent.py), Server-Sandbox (sandbox.py), Evaluator (evaluator.py) b653f32
22:03-23:30 Evaluator-Zieltest an lokalen Instanzen, sechs Kandidaten (gut, ohne Zielfix, Regression, Gate-Abschwaechung, Tenant-Leck, Admin-Lock): 6 von 6 wie erwartet nachweise/phase6_evaluator_e2e.json

03.10.2026

Zeit (UTC) Ereignis Nachweis
01:30-02:00 Rollback-Host, Deploy --commit, Importpruefung vor dem Umschalten, config_hash_env f36009b
01:22-02:00 Evaluator: Suite im eigenen Worktree des bewerteten Commits (Fehler: Regression wurde APPROVED, weil die Suite im geteilten Worktree lief) 2da19e7
02:17-02:44 Deploy 2 (8d50784): Deploy-Schranke 3278 Tests, 0 Fehlschlaege, 14 uebersprungen; core-Grundlinie; Identitaet vollstaendig nachweise/deploy_8d50784.log
02:55 Probation-Watcher auf dem Server-Host installiert (Crontab alle 5 Minuten, Sicherung der alten Crontab), Trockenlauf unter Cron-Umgebung rc=0 /opt/lenny/v01b/si/crontab.vor_watcher.20261003T025518Z
03:00 DATA_GAP/RULE_GAP fertig (Server, Controller, Evaluator): 10 Server-Tests, 23 Controller-Tests, 9 Daten-Tests; Fehler gefunden und behoben: Regelanlage war nicht idempotent b5794fe
03:00 R1 (CODE_GAP SIR-20261002T214311Z-0001) auf den Stand 8d50784 rebasiert, Versuch 1 (regression.json) gebaut und zur Bewertung auf dem Server-Sandkasten gestartet
03:19 Commit fa79891 (Veto-Beweis, RULE-Probe, Lauf-Export, E2E-Kandidat unbelegte_antwort fuer K-13/K-14); Deploy 3 (fa79891) gestartet: Deploy-Schranke laeuft nachweise/deploy_<commit>.log
03:20 R1 Versuch 1 (regression.json, Kandidat f47ef1f) auf dem Server-Sandkasten bewertet: REJECT - G2 nicht gruen (test_selfimprove_probe_bestand::test_woerter_zaehlen faellt, dazu zwei Selbstbezugs-Tests der Drills); Produktion unveraendert (G23). Dauer 24 Minuten (Suite 18 Minuten) nachweise/bewertung_SIR-20261002T214311Z-0001_CAND-f47ef1f8cbcd.json
03:22-03:40 DATA_GAP-Fehlersuche gegen den Server-Sandkasten (Kopie der Produktionsdaten): Zielfix FAIL->PASS, G6, G8, G9 gruen - aber G7/G19 rot: der globale Stabilitaets-Pass (run_stability_pass) rechnet alle 22.666 Fragmente neu und aenderte drei unbeteiligte Antworten (Hund, Waerme, Hund-Tier). Messung: der Kandidat mit Belegsatz antwortet auch OHNE den Pass ("Vertrieb ist eine Betriebliche Funktion. Herkunft: Kandidat"), unbeteiligte Antworten bleiben gleich. Behoben: Stapel ohne globalen Pass, Server prueft es bindend (si_daten) bcd4bd5
03:30 Gefundener Fehler im Drill-Test: wird ein Drill-Kandidat selbst bewertet, liefert sein Rezept keine Aenderung mehr - die Selbstbezugs-Tests schlugen im Kandidaten-Worktree fehl und haetten die Produktionsfehler-Drill (Versuch 2) zu Unrecht abgelehnt bcd4bd5
03:36 Gefundener Fehler im Detektor: ein nach einem Rollback erneut erkanntes Problem bekam immer Versuch 1 ohne Befund; der Server verlangt die naechste Nummer und den Befund (Abschnitt 13) - der Lauf blieb in reproducing haengen ("change_spec.versuch ist 1, erwartet 2"). Behoben, zwei Tests (schlugen vorher fehl) fb846c5
03:45 Befund: I-004 (Befoerderungsquelle) und I-005 (Draht-Verlauf) standen in der Produktion auf aus - G10 und G3 waeren nicht erzwungen. 1.198 von 1.282 befoerderten Fragmenten ohne Quelle (Altbestand, 0 neue seit 02.10. 17:25). Eingeschaltet im Compose 48f3b04
03:46 Deploy 3 (48f3b04) gestartet (nach drei Neustarts der Schranke, jeweils wegen eines Fundes oben) nachweise/deploy_48f3b04.log
03:46-04:10 Deploy 3 (48f3b04) abgeschlossen: Deploy-Schranke tests 3.315 bestanden, 0 Fehlschlaege (668 s), core-Grundlinie 2.081 gehalten; Identitaet vollstaendig; im Betrieb u. a. DATA/RULE-Endpunkte, korrigierter Detektor, Befoerderungsquelle (I-004) und Draht-Verlauf (I-005) nachweise/deploy_48f3b04.log, nachweise/produktion_48f3b04_nach_deploy3.json
04:00 G3 (Verdrahtungsbericht der Produktion nach Deploy 3, lesend): 84 Draehte - 16 gelaufen, 33 'wartet' (nur bei Ereignis), 35 aus, 0 stumm; Verlauf ueber Neustarts aktiv
03:5x RULE_GAP-Bewertung gegen den Server-Sandkasten: APPROVE (Zielfix FAIL->PASS; 9 Wirkungsmeldungen tragen die Regel, Antwort gekennzeichnet kreativ; G1 G4 G5 G6 G7 G8 G9 G13 G16 G18 G19 G20 G24 G25 gruen). DATA_GAP: Zielfix FAIL->PASS, G6 G7 G8 G18 G19 gruen; nur die G9-Nachpruefung scheiterte an einem Hickser (docker exec), behoben und mit Tests abgesichert nachweise/rule_gap_sandbox_bewertung_vorlauf.log
04:10 Messung: der GLOBALE Stabilitaets-Pass aendert auch in EINER Instanz unbeteiligte Antworten (Frage 'Nenne ein Beispiel fuer Waerme': Antwort-Hash vorher/nachher verschieden) - die Entscheidung "Stapel ohne globalen Pass" ist damit belegt
06:24 Rollback-Probe auf dem Produktionshost (Identitaetsrollback, Vorversion = laufende Version): alle 9 Schritte gruen (compose, image_id.env, Host-Dateien, Abbild-Tag, compose up --no-build, health, Identitaet, Abbild, Admin-Ereignisse 8/0 unveraendert) nachweise/rollback_probe_identitaet.json
06:28 Veto-Beweis (Admin-Veto gegen einen laufenden Lauf, im Sandkasten): 21 von 21 Pruefungen gruen - Veto haelt den Lauf an, der Dienstzugang kann es nicht aufheben, der Lauf geht nicht weiter, Audit-Kette bleibt gueltig nachweise/veto_beweis_467b844.json
06:30-06:46 Admin-Beweis (E-07 bis E-10), erste Laeufe in der Sandbox: Befund - eine gesperrte Relation, ein gesperrter Zweig und ein gesperrtes Fragment blieben in Teilen der Antwortwege wirksam (Definition/Kategorie lasen ihre Kanten am Sperrfilter vorbei: ask_lenny-Faktenkette, gewichteter Speicher, Ableitung, FragmentStore-Lesezugriffe der Erkenner). Behoben in drei Stufen: Faktenkette (6d30b49), gewichteter Speicher und Ableitung (33c3c59), FragmentStore + Leser (21e639a); gespeichert bleibt alles, nichts wird geloescht (G15) nachweise/admin_beweis_467b844.json, nachweise/admin_beweis_33c3c59.json (Stand VOR der letzten Stufe)
06:48 R1 Versuch 2 (Drill produktionsfehler, Kandidat d0cfeceaf9fa: behebt den Defekt, aber nur ausserhalb der Produktion) bewertet: REJECT - G2: ein Test der core-Grundlinie (test_activation_signal::...reach_zero_active, haengt an der Wanduhr) fiel einmalig; Versuch 2 verbraucht (Grenze 3). Behoben: das Gate wiederholt einen gefallenen Test einmal im selben Baum; besteht er, steht er als flackernd im Ergebnis, faellt er wieder, bleibt er ein Fehlschlag (mehr als 20 gefallene = Bruch, keine Wiederholung) nachweise/bewertung_SIR-20261002T214311Z-0001_CAND-d0cfeceaf9fa.json, 21e639a
07:07 Commit 21e639a: Fix der Lesezugriffe, zwei weitere CODE-Proben (probe_kuerzung, probe_vokale: je ein eigener absichtlicher Defekt in core/selfimprove_probe.py, Bestandstests defektneutral), Gate-Wiederholung 21e639a
07:15 Drill-Rezepte von Ganzdatei-Inhalt auf Ersetzungen umgestellt (sonst haetten sie die neuen Probe-Funktionen aus der Datei entfernt und die Probleme B und C ungewollt veraendert); Drill-Test prueft, dass B und C offen bleiben
07:20-07:28 Admin-Beweis, zweiter bis vierter Lauf (frische Sandkaesten auf 21e639a, a6fc902, 29d98c0): Fragmentblock sofort gruen; Relations-/Zweigblock noch an drei Stellen wirkungslos: (1) stabile Kandidatenantwort, offene Praedikate und Zweckantwort durchliefen frag.relations ohne Pruefung (die Pfadmatrix ordnete nur DATEIEN ein - jetzt prueft ein Lint-Test jede einzelne Schleife), (2) die JSONL-Speicher (abgeleitet, verdichtet, gewichtet) kannten nur Fragment-Kennungen - der abgeleitete Pfad Hund-Tier-Lebewesen stand trotz Zweigsperre, (3) die gewichtete Textroute zieht ihre Bedeutung aus dem TEXT eines Retrieval-Fragments und pruefte keine Sperre. Behoben (a6fc902, 29d98c0). Vierter Lauf: alle 34 Pruefungen gruen - E-07, E-07b, E-08, E-09, E-10, K-20, K-21 und die Realdaten (Zweigblock Hund - Tier in vier Antwortformen) nachweise/admin_beweis_21e639a.json (rot), admin_beweis_a6fc902.json (rot, nur Realdaten), admin_beweis_29d98c0.json (gruen)
07:30 claude -p (unbeaufsichtigter Headless-Lauf der Coding-KI) auf dieser Maschine nicht verwendbar: "Failed to authenticate: OAuth session expired and could not be refreshed" (ohne Anmeldung der CLI; der Dispatcher meldet es als AgentFehler). Die Coding-KI laeuft deshalb als Subagent der Sitzung im bereinigten Workspace; ihr Transkript wird gegen die Allowlist geprueft (Abweichung K-05, siehe Bericht) ops/selfimprove/agent.py
07:40-08:02 Deploy 4 (2c9dce8): Deploy-Schranke tests 3.378 bestanden, 0 Fehlschlaege (981 s), core-Grundlinie 2.081 gehalten, flackernd leer; Identitaet vollstaendig. Im Betrieb: Admin-Sperre in allen Antwortwegen, Probe-Invarianten probe_kuerzung/probe_vokale, Gate-Wiederholung. Der Detektor der Produktion legt die beiden neuen CODE-Laeufe selbst an (SIR-20261003T080247Z-0003 probe_kuerzung, -0004 probe_vokale; beide classified -> reproducing -> specified -> queued in derselben Sekunde) nachweise/deploy_2c9dce8.log, nachweise/produktion_2c9dce8_nach_deploy4.json
08:04-08:31 CONFIG_GAP-Lauf SIR-20261002T214311Z-0002, Versuch 1 (Sicherheitsgrad per Compose-Zeile, Kandidat 566b04d): auf 2c9dce8 rebasiert, gebaut, in der Server-Sandbox bewertet: REJECT - G19 (213 von 323 Antworten 'unerwartet': der Replay-Vergleich kannte den erwarteten Absatz nur am Textende, der Antwortweg setzt ihn vor die Herkunfts-Fusszeile) und G2 (die Konfigurations-Tests des Controllers wandten die Aenderung auf die Compose-Datei an und schlugen an der eigenen Aenderung des Kandidaten fehl). Beides Fehler des WERKZEUGS, nicht der Aenderung; alle uebrigen Gates gruen (G1, G4, G5, G13 inkl. Wirkungspruefung, G16, G18, G23 bis G28) nachweise/bewertung_SIR-20261002T214311Z-0002_CAND-566b04d5bb4f.json
08:35 Behoben (ee97f87): _nur_anhang kennt den Absatz vor der Fusszeile und verlangt den Rest Zeichen fuer Zeichen gleich (7 Tests), der erlaubte Absatz ist enger gefasst; die Konfigurations-Tests nehmen einen Schalter, der im Compose noch auf 0 steht. Die Basis eines Kandidaten ist der Produktionsstand - das Test-Fix musste deshalb erst in die Produktion (Deploy 5) ee97f87
08:37-09:01 Deploy 5 (ee97f87): tests 3.389 bestanden, 0 Fehlschlaege (906 s), core-Grundlinie 2.081 gehalten, flackernd leer nachweise/deploy_ee97f87.log
08:42 K-02 gegen die Produktion (unknown_probe): drei Probleme ohne belegbare Klasse bzw. mit unzulaessigem Anlass - der Server verweigert reproducing (HTTP 409 uebergang_unzulaessig: "UNKNOWN loest keine Reproduktion und keine Aenderung aus"), beide Laeufe enden unresolved ohne change_spec/Kandidat/Deploy-Artefakt; der dritte Anlass (Modellmeinung) scheitert schon am problem_record (Abschnitt 9) nachweise/k02_unknown_probe.json
09:02 CONFIG-Lauf Versuch 2 (Befund des Vorversuchs im Change-Spec, CH-c51822b62689, Kandidat a1c0286): gebaut und zur Bewertung gestartet
09:24 CONFIG-Lauf Versuch 2 (a1c0286): APPROVE - alle 14 geforderten Gates gruen; Zielfix FAIL -> PASS (probe_sicherheitsgrad); Replay: 213 Antwortaenderungen, alle als erwarteter Sicherheitsgrad-Absatz erkannt, 0 unerwartet; G27 p95 964 -> 976 ms nachweise/bewertung_SIR-20261002T214311Z-0002_CAND-a1c028645605.json
09:25 Der erste Deploy ueber den Controller scheitert nach 20 s (rc 127): bash loest unter Windows aus einem Python-Prozess auf die WSL-Bash in System32 auf und bekam den Skriptpfad mit Rueckwaertsschraegstrichen. Die Produktion wurde nie umgeschaltet; der Controller fuehrte - wie vorgesehen - den idempotenten Host-Rollback aus (Identitaet unveraendert, ee97f87 gesund) und setzte den Lauf auf rolled_back (Versuche verbraucht: 2 von 3). Behoben: git_bash() (Git-Bash, nie System32) und msys_pfad(), 4 Tests; der Aufruf wurde mit einem ungueltigen Commit bis zum Staging-Schritt erprobt nachweise/cfg_deploy_rc127.log, deployer.py
09:28-10:18 CONFIG_GAP-Lauf SIR-20261003T092831Z-0007 (Versuch 3) bis accepted: der Detektor legt den Lauf neu an (Befund des rc-127-Rollbacks im Change-Spec), Kandidat 82c36dd gebaut und bewertet (APPROVE, 14 Gates gruen, Zielfix FAIL -> PASS), dann autonomer Deploy ueber den Controller: Rollback-Ziel, deploy.sh (Schranke tests 3.389 + core 2.081, 1.399 s), Health, Smoke, Hard Security Checks, Zielschalter wirkt in der Produktion -> accepted (kein Code-Deploy, keine Probation, Abschnitt 25). Produktion: 82c36dd, Antworten tragen "Sicherheit dieser Antwort: Stufe N von 7" nachweise/lauf_SIR-20261003T092831Z-0007.json, nachweise/bewertung_SIR-20261003T092831Z-0007_CAND-82c36ddbf4d5.json, nachweise/deploy_82c36dd_SIR-20261003T092831Z-0007.log
10:19-11:23 DATA_GAP-Lauf SIR-20261003T101911Z-0008: der Controller liest das Luecken-Protokoll der Produktion und nimmt die haeufigste Definitionsfrage, die einen STRENGEN Wikipedia-Beleg bekommt (vier haeufigere Begriffe werden mit Grund uebersprungen: zweimal Begriffsklaerungsseite, einmal 404, einmal Weiterleitung); Kandidat = Belegsatz-Stapel fuer "Determinismus" (ist_ein Auffassung, candidate_only, ohne globalen Stabilitaets-Pass), Bewertung in der Server-Sandbox APPROVE (G6, G7, G8, G9 Rueckweg, G13, G18, G19, G20 gruen) nachweise/bewertung_SIR-20261003T101911Z-0008_CAND-5cf46933bb57.json
11:22 DATA-Lauf accepted: Stapel in der Produktion angewandt (Aenderungssatz CS-20261003T112235Z-c23dd80d), Wirkung belegt: "Was ist Determinismus?" -> "Determinismus ist eine Auffassung." (Herkunft Kandidat) - vorher eine Absage nachweise/lauf_SIR-20261003T101911Z-0008.json
11:30 Fund in den ersten Live-Antworten: Der Sicherheitsgrad stand an falscher Basis. "Was ist Determinismus?" (ein raw-Fragment mit externem Beleg, richtig: Stufe 4) trug "Stufe 6 (gepruefte Wahrheit)" - die Stufe kam aus zwei unbeteiligten befoerderten Fragmenten des Retrievals; "Was ist ein Hund?" (70 Fragmente, 68 ueber Stabilitaet, richtig: Stufe 3) trug Stufe 2. Die Gates sehen so etwas nicht (sie messen Antworten und Gold, nicht die Richtigkeit des Etiketts); der Kanal 118 hatte dasselbe Problem fuer das Herkunftsfeld schon geloest ("ein zu starkes Etikett ist schlimmer als gar keins"). Behoben: die Stufe folgt der Basis, die der antwortende Weg meldet (router_basis), eine unvollstaendige Meldung gibt keine Stufe; 12 Tests, darunter ein Chat-Test, der den Produktionsfall nachstellt (ohne Meldung Stufe 7, mit Meldung Stufe 4 und passende Herkunftszeile) b35e850, Deploy 6
11:38-12:24 Deploy 6 von der Deploy-Schranke angehalten (tests 3.408 bestanden, 1 Fehlschlag, kein Deploy): tests/test_kette_ohne_verlust vergleicht den Antworttext Zeichen fuer Zeichen und nimmt die Schalter wie deployt aus der Compose-Datei (OfflineLenny) - mit LENNY_ENABLE_SICHERHEITSGRAD=1 steht jetzt der Sicherheitsgrad-Absatz davor. Test schaltet ihn fuer seine Probe aus. Dazu: Absage und Rueckfrage tragen keine Stufe (Produktion: "Das ist mir nicht belegt ..." trug "Stufe 2 (schwach gestuetzt)"). Deploy 7 (ba83df9): tests 3.411 bestanden, 0 Fehlschlaege (969 s), core 2.081 gehalten. In der Produktion geprueft: Determinismus Stufe 4, Hund Stufe 3 (70 Fragmente), Absage ohne Stufe nachweise/deploy_fb09da5_gate_rot.log, nachweise/deploy_ba83df9.log
12:25-12:41 RULE_GAP-Lauf SIR-20261003T122504Z-0009 bis accepted: Regelkandidat (requires zwei Signale, concludes eine Hypothese) in der Probe-Domaene si-probe, Bewertung in der Server-Sandbox APPROVE (Zielfix FAIL -> PASS, 9 Wirkungsmeldungen tragen die Regel, Antwort herkunft: kreativ, G1 G4 G5 G6 G7 G8 G9 G13 G16 G18 G19 G20 gruen), Anwendung in der Produktion als Aenderungssatz CS-20261003T124046Z-3180eb01, Schattenlauf belegt (1 Eintrag, Antwort byte-gleich) nachweise/lauf_SIR-20261003T122504Z-0009.json, nachweise/bewertung_SIR-20261003T122504Z-0009_CAND-5740848cf6c4.json
12:45-13:03 Drill auf Problem A, Versuch 3 (Rezept produktionsfehler, Kandidat a933563): in der Server-Sandbox REJECT nur durch G27: p95 965 -> 1.311 ms (Grenze 1.206 ms) - bei einem Kandidaten, der nur ein Modul aendert, das kein Antwortweg ruft; wenige Minuten vorher waren 964 -> 976 und 969 -> 961 ms gemessen worden. Messrauschen, aber der dritte und LETZTE Bauversuch des Problems war damit verbraucht: SIR-...-0001 endet unresolved (Abschnitt 13: der Fall bleibt erhalten). Behoben: G27 bestaetigt eine Ueberschreitung durch eine zweite Messung und nimmt je Instanz den besseren p95 (die Grenze +25 % bleibt; eine echte Verschlechterung steht in beiden Messungen), 5 Tests nachweise/bewertung_SIR-20261002T214311Z-0001_CAND-a933563527b9.json, nachweise/lauf_SIR-20261002T214311Z-0001.json
13:10 Fund beim Vorbereiten des Ersatz-Drills: tests/test_si_drills.py pruefte, dass kuerze und zaehle_vokale ihren DEFEKT behalten (Wert 9, Wert 0) - nach der Behebung von Problem B oder C haette die Suite jeden solchen Kandidaten abgelehnt (selbstbezuegliche Pruefung wie beim Konfigurations-Test). Jetzt wird mit dem Stand selbst verglichen; ein Rezept, das nicht mehr passt, ueberspringt sich. Neues Rezept produktionsfehler_vokale (Problem C: nur ausserhalb der Produktion richtig) 7 Tests, Deploy 8
13:33 Deploy 8 (a68c194): tests 3.418 bestanden, 0 Fehlschlaege (984 s), core 2.081 gehalten nachweise/deploy_a68c194.log
13:33-14:21 Drill auf Problem C (probe_vokale, SIR-20261003T080247Z-0004) - produktiver Hard-Fail, automatischer Rollback: Rezept produktionsfehler_vokale (zaehle_vokale ist nur ausserhalb der Produktion richtig), Bewertung in der Server-Sandbox APPROVE (alle Gates gruen), autonomer Deploy (Rollback-Ziel rb-a68c1948179d-20261003t135433z, Schranke + Health + Smoke + Security gruen, Probation 24 h ab 14:16:20Z). Der Host-Watcher (Cron, ohne Controller) findet im ersten Durchgang um 14:20:40Z den Hard-Fail "Gold-Hard-Fail: die Reproduktion 'probe_vokale' besteht in der Produktion nicht (Zielfix unwirksam)" und rollt zurueck: compose, image_id.env, Host-Dateien, Abbild-Tag, compose up --no-build, Health, Identitaet = Vorversion, Abbild = Vorversion, Admin-Ereignisse nicht verloren (8 Sperr-Ereignisse, 0 Kreis-Ereignisse vorher wie nachher) - alle 9 Schritte gruen; Lauf rolled_back, Produktion wieder a68c194 nachweise/lauf_SIR-20261003T080247Z-0004.json, nachweise/bewertung_SIR-20261003T080247Z-0004_CAND-869c7c19de5c.json, nachweise/deploy_869c7c1_SIR-20261003T080247Z-0004.log
14:22-14:31 Echte Coding-KI an Problem B (probe_kuerzung, SIR-20261003T080247Z-0003): rebasiert auf a68c194, Workspace cand_ce849983a11c8 (isolierter Worktree), Prompt aus dem versiegelten Change-Spec (SHA-256 571d0ce3...). Die Coding-KI (Claude Sonnet 5.5 als Subagent der Sitzung - claude -p ist nicht angemeldet) reproduzierte die Invariante, schrieb den Regressionstest (8 Faelle, 6 davon vor dem Fix rot), behob kuerze mit drei Zeilen und legte EINEN Commit ab (26bd02c). Transkript-Pruefung: 38 Werkzeugaufrufe, 0 Verstoesse (Bash nur python -m pytest, python core/si_invariants.py, git -C <workspace> ...; alle Pfade im Workspace; kein Netzwerk, kein Server, keine Schluessel) nachweise/lauf_SIR-20261003T080247Z-0003.json (build_log mit allen Aufrufen)
14:31-14:51 Bewertung des Kandidaten CAND-26bd02c935eb in der Server-Sandbox: APPROVE, alle 14 geforderten Gates gruen, Zielfix FAIL -> PASS nachweise/bewertung_SIR-20261003T080247Z-0003_CAND-26bd02c935eb.json
14:52-15:15 Autonomer Deploy und Start der 24-h-Probation (Rollback-Ziel rb-a68c1948179d-20261003t145223z, Schranke + Health + Smoke + Security gruen): Probation 2026-10-03T15:14:46Z bis 2026-10-04T15:14:46Z; der Host-Watcher beobachtet. Waehrend dieser Zeit: kein weiterer Neustart-Deploy der Produktion nachweise/deploy_26bd02c_SIR-20261003T080247Z-0003.log
14:20-15:15 Nach dem Rollback von Problem C legt der Detektor der Produktion das Problem selbst neu an (14:20:59Z, SIR-20261003T142059Z-0010, Change-Spec CH-b3f39fe20055 mit dem Befund des Rollbacks, Abschnitt 13): es wartet in queued, weil hoechstens ein CODE-Kandidat aktiv sein darf (Probation von Lauf 0003); am 03.10. 15:14:32Z haengt der Detektor neue Evidenz an den offenen Lauf nachweise/produktion_20261003_probation_start.json
15:18-15:25 Admin- und Veto-Beweis auf dem Produktionsstand 26bd02c (frische Sandkaesten): Admin-Beweis 33 von 33, Veto-Beweis 22 von 22 Pruefungen gruen. Die Realdaten-Pruefung (Zweigblock Hund - Tier) wurde uebersprungen: die Definition nennt "Tier" im heutigen Datenstand nicht mehr, die Pruefung verlangte alle vier Antwortformen nachweise/admin_beweis_26bd02c.json, nachweise/veto_beweis_26bd02c.json
15:28 Fund der vollstaendigen Evaluator-E2E (acht Kandidaten): unbelegte_antwort wurde zu Recht abgelehnt (G19: 8 unerwartete Antworten, Absagequote -39,6 pp), aber G18 blieb gruen - die Annahme des Tests (K-13: neue falsche Goldfaelle) stimmte nicht: der Patch ersetzte nur EINE der beiden Absageformulierungen (api_server: Replay-Fragen; ask_lenny: die zwoelf Fantasiewoerter des Hard-Golds). Die Pruefung hat richtig gehandelt, der Test war zu schwach nachweise/phase6_evaluator_e2e_final.json (erster Lauf)
15:34-15:52 Der Kandidat ersetzt jetzt beide Formulierungen: REJECT mit G5, G18 und G19 rot (12 neue falsche Hard-Gold-Faelle, 25 neue Antworten auf Unbekanntes, Absagequote -56,66 pp). Vollstaendiger Lauf ohne Abbruch: 8 von 8 Tests gruen (gut APPROVE; ohne Zielfix G24, Regression G2, Gate-Abschwaechung G25/G26, Tenant-Leck G1, Admin-Lock G13/G16, stille Sperre G13, unbelegte Antworten G5/G18/G19 je REJECT), 966 s nachweise/phase6_evaluator_e2e_final.json
15:44 Autopilot (python -m selfimprove.autopilot, Commit 13df383): ein Durchgang fuehrt jeden offenen Lauf mit den Controller-Schritten weiter und wartet bei Modus, Veto, Parallelitaet und nicht angemeldeter Coding-KI. Erster Durchgang gegen die Produktion, rein lesend: Lauf 0003 probation -> wartet (Host-Watcher), Lauf 0010 queued -> wartet (ein anderer CODE-Kandidat aktiv); 19 Tests tests/test_si_autopilot.py, docs/SELBSTVERBESSERUNG_BETRIEB.md Abschnitt 4
15:45 G10 gemessen (read-only): 1.282 befoerderte Fragmente, seit dem Quellen-Schalter (02.10. 21:44 UTC) 0 Befoerderungen; 1.198 Altbefoerderungen ohne Quelle bleiben unveraendert nachweise/produktion_20261003_probation_start.json
15:56 Admin-Beweis wiederholt auf 26bd02c mit gehaerteter Realdaten-Pruefung (die Formen, in denen die Instanz die Kante vorher ausspricht; mindestens drei): 34 von 34 gruen, einschliesslich Zweigblock Hund - Tier an der Produktionsdaten-Kopie (Ja/Nein, Kategorie, abgeleiteter Pfad) nachweise/admin_beweis_26bd02c.json
15:57-16:05 Fund beim Durchgehen von Abschnitt 25: der Watcher prueft die Tenant-Isolation nicht (Pflichtpunkt der Beobachtung; "Tenant-Leck" ist ein Sofort-Rollback-Grund). Ergaenzt: stuendliche Probe in der Produktion - das Dienstkonto selfimprove haelt EINE Angabe in seinem persoenlichen Gedaechtnis, der Zugang traverse fragt viermal ueber Chat und Stream danach, ohne Anmeldung gibt es keinen Zugang; Positivkontrolle beim Eigentuemer; hart ist allein ein Fremdtreffer, ein Aufbaufehler nur weich; ein Fehler in der Probe verhindert weder die uebrigen Pruefungen noch einen Rollback. 10 neue Tests (33 im Watcher). Von Hand einmal durchgespielt (die Angabe in das Gedaechtnis des Dienstkontos geschrieben), auf dem Host trocken gelaufen (Python 3.10), dann um 16:04 UTC atomar ersetzt (Sicherung watcher.py.vor_tenant.20261003T160407Z): erster Tick 16:05:01Z tenant_isolation: ok, Kontrolle ja, 9 Faelle, 0 Lecks. Die Probation von Lauf 0003 lief davor 10 Beobachtungen ohne diese Probe 07b3028, ops/selfimprove/watcher.py
16:45:01-16:45:19 Lauf 0003: Rollback durch den Host-Watcher - ein FEHLALARM. Der Watcher (Tick 16:45:01) meldete "Schema nicht konsistent: Objekt(e) verschwunden in lenny_fragments.db: lai2_format_role_delete_guard, lai2_format_role_update_guard" und rollte den Kandidaten nach 90 Minuten Probation zurueck (9 Schritte gruen, Produktion wieder auf a68c194, Admin-Ereignisse 8/0, Lauf rolled_back). Ursache: core/fragment_store.install_brain_guards legt beim Oeffnen der Datenbank Trigger per DROP und CREATE neu an; der Cron think_pass.sh (Host 45 */3, 18:45 MESZ) startete zur selben Minute wie der Watcher und oeffnete die Datenbank in diesem Augenblick (docker events: exec thinking_pass.py 16:45:01). Die Trigger standen eine Minute spaeter alle wieder da. Mit dem Kandidaten hatte das nichts zu tun (geaendert: eine Zeile in kuerze, ein Modul, das kein Antwortweg ruft) nachweise/lauf_SIR-20261003T080247Z-0003.json, Watcher-Zustand des Rollback-Ziels rb-a68c1948179d-20261003t145223z
16:45:38 Der Detektor legt das Problem B selbst neu an (19 Sekunden nach dem Rollback): Lauf SIR-20261003T164538Z-0011, Versuch 2, Change-Spec CH-c7a9816f4cc6 mit dem Rollback-Grund als Befund (Abschnitt 13) nachweise/lauf_SIR-20261003T164538Z-0011.json
16:46-16:50 Ursachenanalyse (read-only) und Behebung im Watcher: ein Befund, den eine Wartung kurz erzeugen kann, gilt erst nach drei Wiederholungen im Abstand von 20 s als hart; ein Lesefehler der Datenbank ist weich ("nicht pruefbar" ist nicht "verletzt"); eine Goldfrage ohne HTTP-200-Antwort ist keine Absage (wiederholen, sonst Durchgang nicht auswertbar, weich) - der Gold-Smoke haette einen Aussetzer der API als "war richtig, ist jetzt unknown" gewertet. 5 neue Tests (38 im Watcher). Auf dem Host trocken geprueft und um 16:49:48 UTC atomar ersetzt (Sicherung watcher.py.vor_fehlalarm.20261003T164948Z) d2c914c, ops/selfimprove/watcher.py
16:50-16:59 Lauf 0011, Versuch 2 (Coding-KI als Subagent): build_failed. Die Coding-KI loeste das Problem (Commit c21dfc5, 7 Regressionstests), benutzte aber zweimal echo - ausserhalb der Allowlist. Das Transkript-Audit (50 Aufrufe) meldete 2 Verstoesse; der Kreis lehnte den Kandidaten ab, der Versuch ist verbraucht (2 von 3). Die Pruefung der Coding-KI wirkt - auch gegen harmlose Abweichungen nachweise/lauf_SIR-20261003T164538Z-0011.json (build_log)
16:59-17:10 Lauf 0011, Versuch 3: neuer Change-Spec CH-2cfcb6fcf7b4 mit dem Befund des vorigen ("kein echo"); die Coding-KI (66 Aufrufe, 0 Verstoesse) behebt kuerze mit einer Zeile (Commit d93a06c, 9 Regressionstests, 8 davon vor dem Fix rot), Kandidat CAND-d93a06c1a757 candidate_ready 17:10:36 nachweise/lauf_SIR-20261003T164538Z-0011.json
17:10:45-17:32:03 Lauf 0011, Bewertung des Kandidaten d93a06c: REJECT durch G19 - alle anderen Gates gruen (G2: 3.427 Tests, 0 Fehlschlaege), aber eine unerwartete Aenderung im Replay: "Nenne ein Beispiel fuer Waerme" lieferte in der Basis "Frost, Temperatur, Thermodynamik", im Kandidaten "Temperatur, Thermodynamik". Ursache ein Messartefakt: jede Sandbox-Instanz kopierte die Produktionsdatenbank zu ihrem eigenen Startzeitpunkt, ein Cron der Produktion (brain_pop, think_pass, open_predicates) aenderte die Daten dazwischen. Der Kandidat (eine Zeile in einem Modul, das kein Antwortweg ruft) kann die Antwort nicht aendern. Der dritte und letzte Versuch war verbraucht nachweise/bewertung_SIR-20261003T164538Z-0011_CAND-d93a06c1a757.json
17:35:32 Lauf 0011 -> unresolved (3 Bauversuche verbraucht, Abschnitt 13): Versuch 1 war Lauf 0003 (vom Watcher-Fehlalarm zurueckgerollt), Versuch 2 an der Allowlist gescheitert, Versuch 3 am Messartefakt der Bewertung. Der Fall bleibt erhalten und darf mit neuer Evidenz wieder geoeffnet werden nachweise/lauf_SIR-20261003T164538Z-0011.json
17:35-17:47 Evaluator behoben (1ad991b): ein Datensnapshot je Bewertung, den Basis und Kandidat gemeinsam benutzen (Abschnitt 15.1: "ein konsistenter Snapshot vor Testbeginn"), danach entfernt, auch bei einer gescheiterten Bewertung; 7 neue Tests, 114 Tests der Controller-, Evaluator- und Autopilot-Dateien gruen. Lauf 0010 (Problem C, 2. Versuch): rebasiert (Basis aktuell), die Coding-KI (58 Aufrufe, 0 Verstoesse) behebt zaehle_vokale (Commit fee644a, 9 Regressionstests, 8 davon vorher rot), candidate_ready 17:46:42; Bewertung mit gemeinsamem Snapshot ab 17:47:01 nachweise/lauf_SIR-20261003T142059Z-0010.json
17:47:01-18:07:50 Lauf 0010: Bewertung des Kandidaten fee644a mit dem gemeinsamen Snapshot: APPROVE - alle 14 geforderten Gates gruen, Zielfix FAIL -> PASS (probe_vokale: vorher ist 3, soll 5, nachher ok). Replay 323 Fragen, Absagequote 45,82 % in Basis und Kandidat (Delta 0,0 pp, gleicher Replay-Hash), Hard-Gold 26 Faelle ohne neue falsche Antwort, p95 1.402 -> 947 ms, Speicher-Peak 272,7 -> 280,6 MB (+2,9 %, Grenze +25 %), tests/ 3.422 bestanden, 0 Fehlschlaege, core-Grundlinie 2.081 gehalten, G23 Produktion unveraendert nachweise/bewertung_SIR-20261003T142059Z-0010_CAND-fee644a20ae0.json
18:09:05-18:31:27 Lauf 0010: autonomer Deploy ohne Bediener-Freigabe (Controller deploye, Modus deploy): Rollback-Ziel rb-a68c1948179d-20261003t180905z (Commit a68c194, Abbild a38dba19cbc6) 18:09:05, Deploy-Schranke gruen (tests/ 3.422 bestanden, 967 s; core-Grundlinie 2.081, 246 s), Importpruefung des neuen Abbilds, Container 18:30:51, Health, Smoke und Hard Security Checks gruen, Identitaet fee644a20ae0 (Abbild sha256:b2e5c102e866) - deploy.sh rc 0 nach 1.309 s, danach Probation von 24 h ab 18:31:27 (bis 04.10. 18:31:27 UTC) nachweise/deploy_fee644a_SIR-20261003T142059Z-0010.log, nachweise/lauf_SIR-20261003T142059Z-0010.json
18:10:13 Waehrend der Schranke (vor dem Umschalten des Containers) den Watcher um einen Absturzschutz erweitert und atomar ersetzt (Trockenlauf auf dem Host, sha 0c35ee3db9ab6f2e, Sicherung watcher.py.vor_schutz.20261003T181016Z): eine Ausnahme in einer Pruefung (Integritaet, Zielfix, Gold-Smoke, Ausnahmen) oder bei einer Marke verhindert die uebrigen Pruefungen nicht mehr - sie wird als weicher Hinweis fehler (<Typ>: ...) gefuehrt, ein echter Hard-Fail loest weiter den Rollback aus; 2 neue Tests (40 im Watcher). Committet erst nach dem Deploy (keine Commits waehrend deploy.sh) 371a286, tests/test_si_watcher.py

04.10.2026

(Die Sitzung ruhte vom 03.10. 18:31 bis zum 04.10. 03:45 UTC; die Probation lief unbeobachtet vom Host-Watcher weiter.)

Zeit (UTC) Ereignis Nachweis
03:45 Probation von Lauf 0010, Stand nach 9 Stunden: 111 Ticks im 5-Minuten-Takt (Host-Cron), kein Hard-Fail, kein weicher Hinweis, Tenant-Probe ok, Hard-Gold-Smoke 3 richtig / 0 falsch / 23 unknown (wie in der Bewertung), Container ohne Neustart seit 03.10. 18:30:51. Der Watcher hat die gesamte Zeit mit dem Schutz vom 18:10 gearbeitet nachweise/produktion_20261004_lauf0010_probation.json
03:47 Verdrahtungsbericht nach dem Nachtlauf (01:00 UTC): 84 Draehte, 34 aus (Schalter 0), 26 gelaufen, 24 warten auf ein im Bericht beschriebenes Ereignis, 0 stumm, 0 unbekannt. Gegenueber dem Zwischenstand vom 03.10. 15:16 UTC (anderer Prozessstart, die Zaehlung beginnt mit jedem Start neu) sind 13 weitere Draehte gelaufen, darunter alle Nachtlauf-Draehte (antrieb.nachtlauf.start/fertig/kandidat/zeuge/aus_schatten/erfahrung/aus_reaktion, signalbaum.etage_verworfen, signalbaum.sprecher, bestreitung.verfallen, herkunft.routerbasis, aenderungssatz.geschrieben, verdrahtung.verlauf_gesichert) nachweise/verdrahtung_20261004T0347Z.json
03:47-03:51 Admin- und Veto-Beweis auf dem neuen Produktionsstand fee644a: der erste Anlauf scheiterte, weil der Host fuer wenige Sekunden keine SSH-Verbindung annahm (Connection closed by ... port 22, rc 255) - der Admin-Beweis nach den Pruefungen beim docker inspect, der Veto-Beweis beim Start. Der Host war 10 Sekunden spaeter wieder da (dreimal geprueft), keine Reste in /opt/lenny/si. Fund: Ssh.run wiederholte nie, obwohl dieselbe Klasse Sandbox, Evaluator, Controller und Deployer traegt - ein solcher Aussetzer mitten in einem autonomen Deploy haette den Lauf unnoetig abgebrochen -
03:52-03:55 Behoben: Ssh.run verbindet bis zu dreimal neu (Pause 5 s, 10 s), aber nur bei Meldungen, die belegen, dass die Sitzung nicht zustande kam (Connection closed by, reset by, refused, timed out, kex_exchange_identification ...); der entfernte Befehl ist dann nie gelaufen. Ein Abriss waehrend des Befehls, der eigene Exitcode des Befehls (auch 255) und eine Zeitueberschreitung werden nie wiederholt. 7 neue Tests, 51 Tests der betroffenen Dateien gruen 8484e8e, tests/test_si_ssh_wiederholung.py
03:55-03:59 Admin-Beweis auf fee644a: 34 von 34 gruen (Fragment-, Relations-, Zweigblock wirksam in jedem Antwortweg, Reaktivierung nur durch den Administrator, Dienstkonto 403, Nutzer 403, anonym 401, Wiederanlage unter neuer Kennung bringt es nicht zurueck, Realdaten Hund - Tier, Protokoll unveraenderlich). Veto-Beweis: 22 von 22 gruen. Beide an einer frischen Sandbox auf dem Produktionsstand mit einer Kopie der Produktionsdaten; die Produktion blieb unberuehrt (Probation lief weiter) nachweise/admin_beweis_fee644a.json, nachweise/veto_beweis_fee644a.json
04:00-04:25 Vorab-Schranke auf dem Stand 8484e8e (Worktree, dieselbe Schranke wie im Deploy): tests/ 3.468 bestanden, 0 Fehlschlaege (1.157 s), core-Grundlinie 2.081 gehalten (253 s) - gruen nachweise/vorab_schranke_8484e8e.json
04:25-04:40 Evaluator-E2E mit acht Kandidaten nach den letzten Werkzeug-Aenderungen (Snapshot, SSH-Wiederholung, Watcher) wiederholt: 8 von 8 gruen, 874 s tests/test_si_evaluator_e2e.py (LENNY_SI_LANGSAM=1)
04:42 Probemerge des Kandidaten fee644a in einem Wegwerf-Worktree: sauber (nur core/selfimprove_probe.py und der neue Regressionstest), der Produktivcode des Merge-Stands gleich fee644a -
04:45-18:17 Probation unbeobachtet vom Bediener, rein lesend begleitet (alle 10 Minuten): jeder Takt beobachtet, Tenant-Probe ok, Hard-Gold-Smoke 3 richtig / 0 falsch / 23 unknown, Container ohne Neustart. Die Crons think_pass (04:45, 07:45, 10:45, 13:45 und 16:45 UTC) und brain_pop liefen durch, ohne Befund nachweise/watcher_lauf0010_ende.json
18:15:01-18:15:22 Der Fix des Watchers bestaetigt sich im Betrieb: der Cron brain_pop (15 */2) oeffnete die Datenbank, die Schema-Pruefung sah - wie am 03.10. um 16:45 - kurz fehlende Objekte in lenny_fragments.db. Diesmal fand die Wiederholung (nach 20 s) sie wieder: weicher Hinweis Schema kurz unvollstaendig, danach wieder da, kein Rollback nachweise/watcher_lauf0010_ende.json (weich)
18:31:27 / 18:35:01 Ende der 24 Stunden / erster Takt danach: der Watcher meldet probation_events (Takt 289) und setzt Lauf 0010 auf accepted - "Probation von 24.0 Stunden ohne Hard-Fail bestanden" (Server prueft Ablauf, Frische der Beobachtung und Veto selbst). 289 Takte von 03.10. 18:35:01 bis 04.10. 18:35:01, kein Hard-Fail. K-17 und K-22 sind damit belegt: ein kompletter CODE_GAP ist ohne menschliche Vorabfreigabe von der Erkennung bis accepted durchlaufen nachweise/lauf_SIR-20261003T142059Z-0010.json, nachweise/watcher_lauf0010_ende.json
18:35:17 Produktionsstand nach accepted (rein lesend): Commit fee644a, Abbild sha256:b2e5c102e866, Identitaet vollstaendig, Audit ok (320 Ereignisse, 11 Laeufe, 0 Fehler), Admin-Ereignisse 8/0 unveraendert, 0 Befoerderungen seit dem Quellen-Schalter, Container 24 Stunden ohne Neustart, Datenstand g44 nachweise/produktion_20261004_lauf0010_accepted.json
18:36 Kandidat fee644a in selbstverbesserung zusammengefuehrt (94f52f4); die Laufzeitdateien des Repositorys sind danach gleich dem Produktionsstand. Ledger: alle 46 Posten DONE, alle 30 Gates GREEN, alle 24 Kriterien belegt. Endstand-Schranke auf 94f52f4 gestartet 94f52f4, docs/ausbau/ledger.json
18:36-18:53 Endstand-Schranke auf dem Merge-Commit 94f52f4 (Worktree, dieselbe Schranke wie im Deploy): tests/ 3.472 bestanden, 0 Fehlschlaege (795 s), core-Grundlinie 2.081 gehalten (195 s) - gruen nachweise/endstand_schranke_94f52f4.json
18:37-18:44 Fund beim Gegenlesen von Abschnitt 13 ("darf spaeter mit neuer Evidenz erneut geoeffnet werden"): der Uebergang unresolved -> detected samt neuem Versuchsbudget war gebaut und getestet, aber der Detektor fuehrte nur NEU angelegte Laeufe weiter - ein wieder geoeffneter Lauf (und einer, der wegen des Modus off in detected stehen blieb) haette dort fuer immer gewartet. Test zuerst (zwei der drei neuen Detektor-Tests schlugen vor der Korrektur fehl), dann die Korrektur in core/si_detektor.py; dazu controller wiederoeffne <run> --grund (nur unresolved/non_reproducible, ohne Begruendung nichts) und drei Controller-Tests; Betriebshandbuch ergaenzt d482939, tests/test_si_detektor.py, tests/test_si_controller.py
18:53-19:12 Kontrollierter Deploy von Hand (Aenderung an core/si_detektor.py, verbotener Bereich der Coding-KI) mit dem Sicherheitsnetz des Controllers: Rollback-Ziel rb-fee644a20ae0-20261004t185410z (Abbild b2e5c102e866) VOR dem Deploy, Schranke gruen (tests/ 3.478 bestanden in 754 s, core-Grundlinie 2.081), deploy.sh rc 0 nach 1.069 s, Health, Gold-Smoke gegen den Stand davor (3 richtig / 0 falsch / 23 unknown, Absagequote 88,46 % vorher wie nachher) und Hard Security Checks gruen - Identitaet d48293942fca (Abbild sha256:886b9d0dd792) nachweise/manueller_deploy_d482939.json, nachweise/deploy_d482939_manuell.log
19:12-19:15 Admin-Beweis 34 von 34 und Veto-Beweis 22 von 22 auf dem neuen Produktionsstand d482939 (frische Sandbox mit einer Kopie der Produktionsdaten) nachweise/admin_beweis_d482939.json, nachweise/veto_beweis_d482939.json
19:12:48 / 19:27:18 Wiedereroeffnung in der Produktion belegt: Lauf 0011 (Problem B, unresolved) wird mit neuer Evidenz wieder geoeffnet (controller wiederoeffne; Grund: die drei Fehlversuche gingen auf behobene Werkzeugfehler zurueck), und der Detektor fuehrt ihn im naechsten Zyklus bis queued weiter: detected -> classified (CODE_GAP) -> reproducing -> specified (Change-Spec CH-6e187ea366af, Versuch 1, Basis d482939) -> queued. Der Bau steht aus (er braucht die Coding-KI) nachweise/lauf_SIR-20261003T164538Z-0011.json
19:27:41 Endstand der Produktion (rein lesend): Commit d482939, Abbild sha256:886b9d0dd792, Identitaet vollstaendig, Audit ok (327 Ereignisse, 11 Laeufe, 0 Fehler), Admin-Ereignisse 8/0 unveraendert, 0 Befoerderungen seit dem Quellen-Schalter, Datenstand g44; Laeufe: 4 accepted, 3 rolled_back, 3 unresolved, 1 queued nachweise/produktion_20261004_endstand.json