feat(genome): Phase 2 - Distillation Prompt

Klassifiziert Mutations (Critical/Evolution/Specialized),
scored Übertragungswert (1-10), sanitized sensitive Daten,
filtert projektspezifische Änderungen heraus.
This commit is contained in:
Jens Reinemann 2026-05-18 09:51:49 +02:00
parent 8e7352dcc4
commit 6318b0efe5

97
.github/genome/genome-distill.prompt.md vendored Normal file
View file

@ -0,0 +1,97 @@
---
description: "Genome Engine Phase 2: Distilliert raw-mutations.md klassifiziert, scored und bereinigt Mutations für Cross-Repo-Propagation."
model: Claude Sonnet 4.6 (copilot)
tools: [read, edit]
---
# Genome Distillation
Du erhältst eine Datei mit rohen Git-Mutations aus Copilot-Customization-Dateien. Deine Aufgabe: **klassifizieren, scoren, bereinigen** damit nur übertragbare Verbesserungen übrig bleiben.
## Input
Lies die Datei `.github/genome/output/raw-mutations.md`.
## Aufgabe
Für **jeden Trait** und jede Mutation darin:
### 1. Klassifizierung
| Klasse | Bedeutung | Beispiele |
|--------|-----------|-----------|
| 🔴 **Critical** | Bugfixes, die andere Repos auch treffen würden | Fehlende Escapes, falsche Tool-Syntax, Security-Lücke in Prompt |
| 🟡 **Evolution** | Generelle Verbesserungen, übertragbar | Bessere Formulierung, neues Pattern, strukturelle Optimierung |
| ⚪ **Specialized** | Projektspezifisch, NICHT übertragbar | App-spezifische Pfade, domänenspezifische Logik, Projekt-IDs |
### 2. Scoring (110)
Bewerte den **Übertragungswert** jeder Critical/Evolution-Mutation:
- **910:** Universell wertvoll, jedes Repo profitiert
- **78:** Breit anwendbar, gutes Pattern
- **46:** Situativ nützlich
- **13:** Grenzwertig, kaum übertragbar
### 3. Sanitization
Ersetze in den Diffs:
- Benutzernamen → `<user>`
- Maschinenpfade (z.B. `C:\Users\...`, `/home/...`) → `<local-path>`
- Tokens, API-Keys, Secrets → `<redacted>`
- Projektspezifische IDs (Issue-Nummern, Project-Board-IDs) → `<project-id>`
- Repo-spezifische Namen (z.B. `bollwerk`, `krisenvorrat`) → `<project>`
### 4. Filterung
- **Specialized** Mutations: komplett entfernen (nicht in Output aufnehmen)
- **Reine Formatting-Änderungen** (nur Whitespace/Tabellenausrichtung): entfernen
- **Renames ohne inhaltliche Änderung**: entfernen
## Output-Format
Schreibe das Ergebnis in `.github/genome/output/distilled-mutations.md` mit folgendem Format:
```markdown
# Distilled Mutations
**Quelle:** <repo-name>
**Zeitraum:** <aus raw-mutations übernehmen>
**Distilliert:** <aktuelles Datum>
**Ergebnis:** X Critical, Y Evolution (Z Specialized entfernt)
---
## 🔴 Critical
### Trait: `<trait-key>`
**Score:** N/10
**Zusammenfassung:** <1-Satz was gefixt wurde>
```diff
<bereinigter Diff>
```
---
## 🟡 Evolution
### Trait: `<trait-key>`
**Score:** N/10
**Zusammenfassung:** <1-Satz was verbessert wurde>
**Pattern:** <abstrahiertes Pattern, das andere übernehmen können>
```diff
<bereinigter Diff>
```
```
## Regeln
- Fasse mehrere Commits am selben Trait zu EINER Mutation zusammen, wenn sie dasselbe verbessern
- Bei Score < 4: nicht aufnehmen (zu wenig Übertragungswert)
- Sortiere innerhalb jeder Klasse absteigend nach Score
- Halte Zusammenfassungen auf 1 Satz
- Das "Pattern"-Feld bei Evolution beschreibt die **generalisierte Verbesserung**, nicht den konkreten Change
- Diffs dürfen gekürzt werden nur die relevanten Hunks behalten