ADR-0023: fremde Historie erklaert von der Git-Hygiene ausnehmen

Der Upstream-Merge holte 70.265 fremde Commits nach ThreadNet-Web; 39 davon
faerbten die Gruppenpruefung als Echtzeit-Stempel rot. Sie verletzen die
Konvention wirklich, konnten ihr aber nie folgen und werden sich nie aendern -
also ein Dauerrot, und ein Dauerrot meldet nichts mehr (#0104).

Neues Feld fremdhistorie in docs/components/*.md. Wo gesetzt, prueft die
Hygiene nur Commits, die von eigenen Identitaeten COMMITTET wurden. Der
Trennschnitt ist gemessen, nicht geraten: 18 eigene Commits, alle von uns
committet; 39 fremde von GitHub/RiotRobot; keine Ueberschneidung. Der Autor
taugt nicht - eigene Commits koennen fremde Autoren tragen (Cherry-Picks).

Der Feldwert ist die Begruendung, kein Schalter - Muster der Quittungen aus
ADR-0020. Die Ausnahme gilt nur, wo sie deklariert ist, nicht global; der Preis
(ein Commit unter voellig unbekannter Identitaet faellt dort durchs Raster)
steht in den Konsequenzen.

Belegt: nach dem Fix 0 offene Befunde bei 20 Quittungen, und in ThreadNet-Web
werden weiterhin 18 Commits geprueft, alle auf 12:00:00.

Ausserdem zurueckgenommen: mein Nachtrag an ADR-0022. Eine angenommene ADR wird
nicht editiert (Regel in der Vorlage) - die Erkenntnis steht jetzt in #0099.
This commit is contained in:
Thore Cimbal
2026-08-19 12:00:00 +00:00
parent 6652125ed3
commit 6731d2a70f
7 changed files with 131 additions and 29 deletions
@@ -360,6 +360,23 @@ eingesetzter Zeile scheitert es und benennt beide Fehler, ohne sie besteht es
scheitert zusätzlich bei leerer `tsc`-Ausgabe, damit ein stiller Erfolg nicht als
Prüfung durchgeht.
### Was ADR-0022 dabei nicht vorhergesehen hat
Die ADR begründet die Entscheidung damit, dass Git künftig **meldet**, wenn Upstream
eine Datei verschiebt, die wir angefasst haben. Das hat gehalten — die Umbenennung
`RoomListItemAccessibilityWrapper``RoomListItemWrapper` kam als Konflikt.
Was ein Drei-Wege-Merge **nicht** meldet, ist der umgekehrte Fall: Beide Seiten
überleben die Auflösung, und nur eine ergibt noch Sinn. Die stille Klasse verschwindet
also nicht, sie dreht sich um — aus „unsere Zeile ist weg" wird „ihre Zeile ist noch
da". Für künftige Merges heißt das: nach der Konfliktauflösung auf **überlebende**
Reste prüfen, nicht nur auf verlorene. Der billigste Hebel ist die Typprüfung, sie fand
beide sofort. Wo Zeichenketten statt Typen im Spiel sind — Einstellungsschlüssel,
Feature-Namen, Übersetzungs-IDs — reicht sie nicht und es braucht einen Abgleich gegen
die jeweilige Registry.
(Kein Nachtrag in ADR-0022 selbst: Eine angenommene ADR wird nicht editiert.)
### Die Abnahme, wie dieses Issue sie verlangt
Gefordert war „verschlüsselte Datei senden, abgelehnte empfangen" — geprüft am