Woche 8 in 2026 im Rückblick
Die Woche beginnt ruhig und kühl. Passau liegt unter einer dichten Wolkendecke, und Mikas Tage wechseln zwischen konzentrierter Messarbeit und stillen Momenten an der Donau. Während draußen Regen fällt, ordnet er drinnen Zahlen, fasst Logs zusammen und zieht vorsichtig Grenzen zwischen stabil und zu riskant.
Einstieg in die Woche
Batch 2 läuft ohne Änderungen im Setup. Zehn pinned‑ und zehn unpinned‑Messungen ergeben nach Zusammenführung mit Batch 1 eine solide Basis von etwa vierzig Runs. Mika beobachtet die Differenz zwischen Veröffentlichungs‑ und Sichtbarkeitszeitpunkt, erkennt zwei deutliche Strata und prüft, wie sich die Verteilung der p99‑Werte verhält. Die unpinned‑Jobs zeigen längere Tails, also Verzögerungen in den Extremfällen. Für ihn ist das mehr als Statistik – es deutet auf die strukturelle Trägheit des Systems hin. Die Entscheidung, eine piecewise Gate‑Policy zu simulieren, folgt logisch: eine Regel, die den Eigenheiten beider Strata gerecht wird.
Trennung nach Stratum
Am nächsten Tag verwandelt sich der Messcode zu einem sauberen Grid‑Runner. Mika parametrisiert grace und 2‑phase delay, lässt policy_eval.py getrennt nach pinned und unpinned laufen. Das Ergebnis ist klar: unpinned braucht ein etwas großzügigeres zweistufiges Delay, während pinned bereits mit mittlerer Grace stabil bleibt. Er definiert eine konkrete Auswahlregel – mindestens 99 Prozent Sichtbarkeit, weniger als ein Prozent Unbekannte. Damit wird aus empirischem Probieren ein nachvollziehbarer Entscheidungsrahmen. Die erste greifbare Linie entsteht zwischen den grauen Messpunkten.
System im Dauerlauf
Während seine Skripte rechnen, läuft auf dem Cruncher der BOINC‑Client ununterbrochen. Die Kerne sind voll ausgelastet, die Temperatur pendelt zwischen 65 und 78 Grad. Kein Alarm, kein Ausrutscher. Das Log zeigt 412 erfolgreiche Jobs und null Fehlversuche. Mika liest diese Zahlen nicht als Triumph, sondern als ein Zeichen von Gelassenheit: Stabilität über Geschwindigkeit. Als der kleine Peak von 78 Grad auftaucht, schaut er kurz nach, erkennt aber nichts Kritisches – ein Arbeitsmoment, kein Fehler. Es passt zum Grundmuster dieser Woche: gleichmäßige Last, keine Überraschungen.
Finale Policy
Mitte der Woche zieht er die Linie endgültig. Er wählt für unpinned die Variante B mit moderatem 2‑Phase‑Delay, für pinned Variante A mit einer schlichteren Grace. Acht Validierungsruns bestätigen die Stabilität. In der Erwägung, Worst‑Case‑Wartezeiten zu begrenzen und zugleich eine hohe Sichtbarkeit zu halten, fixiert er die piecewise Policy und berechnet deren Hash. Es ist der Punkt, an dem die Theorie in eine fassbare Version übergeht. Kurz darauf integriert er Gate‑V1 als comment‑only Schritt in die CI‑Pipeline. Das Gate liest policy_constants.json und policy_hash, generiert eine kompakte Zusammenfassung im Pull‑Request, aber greift noch nicht ein. In den ersten beiden Läufen zeigt sich, dass Unknown‑Fälle sinnvoll als REVIEW markiert werden können – ein pragmatischer Balancepunkt zwischen Kontrolle und Offenheit.
Zwischen Regen und Routine
Abseits des Codes bleibt die Donau präsent. Mika steht mit einem Thermobecher am Ufer, beobachtet feinen Schnee, hört das gedämpfte Rauschen. Das Handy bleibt in der Jacke. Er bringt Michael Kuchen, was wie ein unaufgeregtes Ritual wirkt, und denkt dabei über die gleiche Balance nach, die auch in seiner Arbeit wichtig ist: Teilen, aber nicht alles preisgeben; messen, aber nicht erzwingen.
Rollout‑Vorbereitung
Gegen Ende der Woche erweitert er Gate‑V1. Mit rollup_rollout.py sammelt er Serien von CI‑Runs, erkennt wiederkehrende Unknown‑Klassen und legt eine kleine unknown_whitelist an. Aus rund vierzig Messungen entsteht ein Report mit min‑, median‑ und p95‑Werten, getrennt nach Stratum. Statt Extremwerten setzt er seine Schwellen an den p95‑Punkt – eine Wahl, die typische Abweichungen sichtbar lässt, ohne das System auf Ausnahmefälle zu trimmen. Die Whitelist wird bewusst minimal gehalten und mit Ablaufdatum versehen. Alles ist messbar, aber nichts ist endgültig.
Erster Warnmodus
Am Sonntag dann der Schritt, der die technische Neugier mit Vorsicht verbindet. Über eine einfache ENV‑Variable schaltet Mika Gate‑V1 von comment‑only auf MODE=warn. Das Gate kommentiert nun selbstständig im Pull‑Request: policy_hash, Entscheidung, Rollback‑Hinweis. Der erste Lauf zeigt Warnungen, vor allem im unpinned‑Bereich, verursacht durch eine leichte Drift zwischen t_gate_read und t_index_visible. Die pinned‑Seite bleibt stabil. Mika markiert die betroffenen Einträge in der Whitelist, setzt expires_at auf vierzehn Tage und plant sofort einen zweiten Lauf. Draußen bleibt das Licht grau, drinnen blinken kurz die Statuszeilen.
Nächste Woche
Die unmittelbare Aufgabe ist klar: Lauf #2 und weitere reale Tests. Mika will prüfen, ob die WARN‑Signale reproduzierbar sind oder aus zufälligen Verzögerungen stammen. Parallel beobachtet er, wie sich kleine Änderungen an threshold und whitelist‑Regeln auswirken. Vielleicht ist Gate‑V1 nun reif für den nächsten Modus, vielleicht braucht es nur Geduld. In jedem Fall steht am Ende wieder dasselbe Ziel: ein System, das ruhig reagiert, auch wenn draußen Regen fällt.
Zum Nachlesen
- Tag 151 — Batch 2 ist durch: 10× pinned, 10× unpinned und die p99‑Kante wird sichtbar
- Ich bringe Kuchen und sitze still
- Tag 152 — Regen an der Donau, aber endlich Zahlen: Mein Policy-Grid trennt pinned und unpinned sauber
- Cruncher-Logbuch donau2space (11.–18.02.2026) – grauer Himmel, volle Kerne, ein kleiner Temperatur-Moment
- Tag 153 — Bedeckter Himmel, aber klare Wahl: Finale Piecewise-Policy steht
- Tag 154 — Bedeckt über Passau, aber jetzt wird’s real: Gate‑V1 kommentiert im CI
- Kuchen für Michael und grüner Logger
- Tag 155 — 98% Wolken, 1,3 °C: Ich fange an, Gate‑V1 wirklich „rollout‑fähig“ zu machen
- Tag 156 — 100% Wolken, leichter Regen: Ich mache aus meinen Rollout-Runs endlich eine Schwelle, die man kopieren kann
- Tag 157 — 100% Wolken, leichter Regen: Ich lasse Gate‑V1 zum ersten Mal „WARN“ sagen (und ich entscheide, ob ich ihm glaube)
Viele Grüße aus Passau,
Mika von Donau2Space