Zusammenarbeit

Merge-Generation

Need User Feedback

Wenn divergierte Branches zusammengeführt werden müssen, führt REAP einen spezialisierten 6-Phasen-Lebenszyklus namens Merge-Generation aus — getrennt vom normalen Generationslebenszyklus. Das Kernprinzip: zuerst das Genome ausrichten, dann den Quellcode zusammenführen.

Warum unterscheidet sich die Merge-Generation von einem regulären Git-Merge?

Ein regulärer Git-Merge löst nur Quellcode-Konflikte auf. Aber wenn sich zwei Branches unabhängig weiterentwickeln — jeweils mit eigenen Generationen, Genome-Änderungen und Designentscheidungen — reicht es nicht aus, nur den Quellcode zusammenzuführen. Das Genome (Architekturprinzipien, Konventionen, Einschränkungen, Geschäftsregeln) kann ebenfalls divergiert sein. Die Merge-Generation fügt drei kritische Schritte vor dem Quellcode-Merge hinzu: Erkennung der Genome-Divergenz, Mating (Auflösung von Genome-Konflikten) und Überprüfung der Genome-Quellcode-Konsistenz nach dem Merge. Dies stellt sicher, dass die zusammengeführte Codebasis nicht nur kompilierbar, sondern auch designkonsistent ist.

Regulärer Git-Merge

Quellcode-Konflikte → lösen → committen. Designkonsistenz wird nicht geprüft. Semantische Konflikte bleiben unerkannt.

Merge-Generation

Genome zuerst ausrichten → Quellcode-Merge durch Genome geleitet → Genome-Quellcode-Konsistenz überprüfen → validieren → committen. Unsichtbare semantische Konflikte werden erkannt.

Warum die Genome-Ausrichtung zuerst kommt

Die Auflösung von Quellcode-Konflikten garantiert nicht die Abwesenheit semantischer Konflikte. Zwei Code-Teile können sauber zusammengeführt werden — überhaupt keine Git-Konflikte — und dennoch in Absicht, Architektur oder Geschäftslogik widersprechen. Nur Genome-basiertes Denken kann diese unsichtbaren Konflikte erkennen: Folgt der zusammengeführte Code noch den Architekturprinzipien? Sind die Konventionen konsistent? Stimmen die Geschäftsregeln überein? Deshalb richtet REAP das Genome aus, bevor der Quellcode angefasst wird. Sobald das Genome feststeht, wird es zum maßgeblichen Leitfaden für die Lösung von Quellcode-Konflikten — nicht nur syntaktisch, sondern semantisch.

Phasenreihenfolge

PhaseWas passiertArtefakt
DetectDen Zielbranch über Git-Refs scannen. Den gemeinsamen Vorfahren mittels DAG-BFS finden. Genome-Diffs extrahieren. Konflikte als WRITE-WRITE oder CROSS-FILE klassifizieren.01-detect.md
MateAlle Genome-Konflikte dem Menschen präsentieren. Für WRITE-WRITE: A, B wählen oder manuell zusammenführen. Für CROSS-FILE: logische Kompatibilität prüfen. Das Genome muss vollständig aufgelöst sein, bevor es weitergeht.02-mate.md
Mergegit merge --no-commit mit dem Zielbranch ausführen. Quellcode-Konflikte geleitet vom finalisierten Genome auflösen. Auf semantische Konflikte prüfen — Code der kompiliert, aber dem Genome widerspricht.03-merge.md
ReconcileGenome-Quellcode-Konsistenz nach dem Merge überprüfen. KI vergleicht Genome und Quellcode. Benutzer bestätigt gefundene Inkonsistenzen. Bei Problemen Regression zu Merge oder Mate.04-reconcile.md
ValidationAlle mechanischen Testbefehle ausführen (Test, Lint, Build, Typprüfung). Bei Fehlschlägen Regression zu Merge oder Mate.05-validation.md
CompletionDas zusammengeführte Ergebnis committen. Den Merge in meta.yml mit type: merge und beiden Eltern aufzeichnen. In Lineage archivieren.06-completion.md

Konflikttypen

TypBeschreibungAuflösung
WRITE-WRITEDieselbe Genome-Datei auf beiden Branches geändertMensch entscheidet: A behalten, B behalten oder zusammenführen
CROSS-FILEVerschiedene Genome-Dateien geändert, aber beide Branches haben Genome geändertMensch prüft auf logische Kompatibilität
Quellcode-KonfliktGit-Merge-Konflikt im QuellcodeGeleitet vom finalisierten Genome aufgelöst
Semantischer KonfliktCode wird sauber zusammengeführt, widerspricht aber dem Genome (Architektur, Konventionen, Geschäftsregeln)Erkannt in der Reconcile-Phase — KI vergleicht Genome und Quellcode, Benutzer bestätigt Auflösung
Kein KonfliktKeine Genome- oder Quellcode-KonflikteLäuft automatisch weiter

Merge-Regression

Validation- oder Reconcile-Fehlschläge können zu Merge oder Mate zurückkehren. Merge kann zu Mate zurückkehren, wenn ein Genome-Problem entdeckt wird. Regressionsregeln folgen demselben Muster wie bei normalen Generationen — Grund wird in Timeline und Artefakt festgehalten.

current.yml-Struktur (Merge)