genome-distill.prompt.md: - Warnung vor versteckten Evolutions in Multi-Change-Commits - Anleitung: Commit-Message ignorieren, jeden Hunk einzeln prüfen - Rename-Churn-Erkennung (A→B→A = Specialized) - Häufige versteckte Evolutions-Muster dokumentiert - Analyse-Bericht am Ende mit Churn-Counter genome-propagate.prompt.md: - Neue Traits: immer einzeln vom User bestätigen lassen - Nie automatisch neue Traits anlegen ohne explizite Bestätigung
119 lines
3.4 KiB
Markdown
119 lines
3.4 KiB
Markdown
---
|
||
description: "Genome Engine Phase 3: Propagiert distilled Mutations auf ein Ziel-Genome – erstellt konkrete Änderungsvorschläge als Checkliste."
|
||
model: Claude Sonnet 4.6 (copilot)
|
||
tools: [read, edit, search]
|
||
---
|
||
|
||
# Genome Propagation
|
||
|
||
Du erhältst destillierte Mutations (klassifiziert, gescored, bereinigt) und sollst konkrete Änderungsvorschläge für das **aktuelle Repo** erstellen.
|
||
|
||
## Input
|
||
|
||
1. Lies `.github/genome/output/distilled-mutations.md` (die Growth Vectors)
|
||
2. Scanne das Ziel-Genome dieses Repos: `.github/skills/`, `.github/agents/`, `.github/prompts/`, `.github/copilot-instructions.md`
|
||
|
||
## Aufgabe
|
||
|
||
### 1. Trait-Matching
|
||
|
||
Für jeden Growth Vector aus `distilled-mutations.md`:
|
||
- Prüfe ob ein **gleichnamiger Trait** im Ziel-Genome existiert → direktes Match
|
||
- Prüfe ob ein **funktional äquivalenter Trait** existiert (anderer Name, gleicher Zweck) → adaptiertes Match
|
||
- Kein Match → **neuer Trait** (nur bei Score ≥ 8 in die Checkliste aufnehmen, aber IMMER als "neu" kennzeichnen – nie automatisch anwenden)
|
||
|
||
### 2. Patch-Generierung
|
||
|
||
Erstelle für jedes Match einen konkreten Änderungsvorschlag:
|
||
- **Bestehender Trait:** Zeige den Ist-Zustand (relevanter Ausschnitt) und den vorgeschlagenen Soll-Zustand
|
||
- **Neuer Trait:** Zeige die vollständige neue Datei
|
||
- Passe Platzhalter (`<project>`, `<local-path>` etc.) an die Werte dieses Repos an
|
||
|
||
### 3. Checkliste formatieren
|
||
|
||
## Output-Format
|
||
|
||
Schreibe das Ergebnis in `.github/genome/output/propagation-proposals.md`:
|
||
|
||
```markdown
|
||
# Propagation Proposals
|
||
|
||
**Ziel-Repo:** <aktuelles Repo>
|
||
**Quelle:** <aus distilled-mutations übernehmen>
|
||
**Erstellt:** <aktuelles Datum>
|
||
**Vorschläge:** X Critical, Y Evolution
|
||
|
||
---
|
||
|
||
## Vorschläge
|
||
|
||
### 🔴 Critical
|
||
|
||
- [x] **`<trait-key>`** (Score N/10) – <Zusammenfassung>
|
||
|
||
<details>
|
||
<summary>Änderung anzeigen</summary>
|
||
|
||
**Datei:** `<Pfad>`
|
||
|
||
```diff
|
||
<konkreter Patch für dieses Repo>
|
||
```
|
||
|
||
</details>
|
||
|
||
### 🟡 Evolution (Score ≥ 7)
|
||
|
||
- [x] **`<trait-key>`** (Score N/10) – <Zusammenfassung>
|
||
|
||
<details>
|
||
<summary>Änderung anzeigen</summary>
|
||
|
||
**Datei:** `<Pfad>`
|
||
|
||
```diff
|
||
<konkreter Patch für dieses Repo>
|
||
```
|
||
|
||
</details>
|
||
|
||
### 🟡 Evolution (Score < 7)
|
||
|
||
- [ ] **`<trait-key>`** (Score N/10) – <Zusammenfassung>
|
||
|
||
<details>
|
||
<summary>Änderung anzeigen</summary>
|
||
|
||
**Datei:** `<Pfad>`
|
||
|
||
```diff
|
||
<konkreter Patch für dieses Repo>
|
||
```
|
||
|
||
</details>
|
||
```
|
||
|
||
## Nach der Ausgabe
|
||
|
||
Frage den User:
|
||
> Welche Vorschläge soll ich anwenden? (Nummern, "alle", oder "critical+evolution≥7")
|
||
|
||
Wende dann die ausgewählten Patches an – mit folgenden Einschränkungen:
|
||
|
||
### Neue Traits: Bestätigung erforderlich
|
||
|
||
Bevor ein neuer Trait (kein Match im Ziel-Genome) angelegt wird, **immer einzeln bestätigen lassen**:
|
||
|
||
> Soll ich `<trait-key>` als neuen Trait in `.github/<pfad>` anlegen?
|
||
> Inhalt: <Kurzbeschreibung, 1 Satz>
|
||
|
||
Ers nach expliziter Bestätigung anlegen. Nie mehrere neue Traits auf einmal ohne Bestätigung.
|
||
|
||
## Regeln
|
||
|
||
- Default-Auswahl: Critical = an, Evolution ≥ 7 = an, Evolution < 7 = aus
|
||
- Überspringe Vorschläge, bei denen der Ziel-Trait bereits den gleichen Stand hat (kein Diff)
|
||
- Bei Konflikten (Ziel-Datei hat abweichende Struktur): markiere als ⚠️ und zeige beide Varianten
|
||
- Erstelle KEINE neuen Traits mit Score < 8
|
||
- Neue Traits immer einzeln bestätigen lassen – auch wenn mehrere selektiert wurden
|
||
- Passe Einrückung und Stil an die Konventionen des Ziel-Repos an
|