bollwerk/.github/prompts/genome-propagate.prompt.md
Jens Reinemann 2071d758b5 fix(genome): improve distillation precision + propagation safety
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
2026-05-18 10:14:54 +02:00

119 lines
3.4 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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