32 lines
1.7 KiB
Markdown
32 lines
1.7 KiB
Markdown
# Lessons
|
|
|
|
## 2026-05-28 — Analyse-Befund gegen beobachtete Realität gaten (Advisor-Korrektur)
|
|
|
|
**Muster:** Meine Analyse sagte einen *häufigen* Bug voraus (jede letzte Datei im
|
|
Standard-Modus + jede Nested-Datei landet unbenannt), während der User nur "1-2 pro
|
|
Staffel" meldete. Ich habe die Diskrepanz bemerkt ("zu schwer um unbemerkt zu bleiben")
|
|
und sie mit weiterem Timing-Argument wegrationalisiert.
|
|
|
|
**Regel:** Wenn die eigene Analyse etwas vorhersagt, das der beobachteten Realität
|
|
widerspricht, NICHT die bequeme Lesart wählen — **mit einem Reproduktions-Test gaten**,
|
|
bevor man fixt. Failing Test gegen den Ist-Stand zuerst (TDD/systematic-debugging Phase 4):
|
|
- reproduziert → Bug bestätigt, mit Sicherheit fixen.
|
|
- reproduziert nicht → Analyse hat eine Mitigation übersehen, kein Fix für Nicht-Bug.
|
|
|
|
## 2026-05-28 — Crash-Debris im Working Tree: stashen, nicht verwerfen
|
|
|
|
**Muster:** Eine abgestürzte Session (API 400) hinterließ ein uncommittetes Working Tree,
|
|
das drei releaste Commits revertierte. Verlockung: `git checkout`/discard, um clean HEAD
|
|
zu bekommen.
|
|
|
|
**Regel:** Fremde/unverstandene uncommittete Änderungen **`git stash`** (non-destruktiv,
|
|
recoverable), nie blind verwerfen. Gibt clean HEAD, nichts geht verloren, kein Stall auf
|
|
User-Rückfrage. Danach dem User sagen WAS gestasht wurde und WARUM.
|
|
|
|
## Wiring-Lock vs. Mechanism-Test
|
|
|
|
Ein Test, der eine Hilfsfunktion mit dem richtigen Flag direkt aufruft, beweist nur, dass
|
|
das Flag funktioniert — NICHT, dass der Produktionspfad das Flag setzt. Für echte
|
|
Absicherung einen End-to-End-Test durch den realen Einstiegspunkt fahren und per
|
|
Negativ-Gate (Flag temporär entfernen → Test muss fallen) verifizieren.
|