# Issue-Filing-Template für External Field-Tests

> **Für Prompts unter `.github/prompts/field-tests/`** — Issues aus externen Repo-Tests.
> Basis-Regeln aus `_partials/issue-filing.md` gelten zusätzlich (Deduplizierung, Ein-Issue-pro-Problem, Evidenz-Pflicht).
>
> **Sprache: Issues werden IMMER auf Englisch verfasst.**
> **Ziel-Repo: Issues gehen IMMER an `mick-gsk/drift`** — nicht ans analysierte Ziel-Repo.

## Allgemeine Regeln

1. **Vor Erstellung** prüfen, ob ein passendes Issue auf `mick-gsk/drift` bereits existiert
2. **Ein Issue pro Problem** — keine Sammel-Issues
3. **Evidenz-Pflicht** — exaktes Kommando, drift-Version, Ziel-Repo-Infos angeben
4. **Nur reproduzierbare Defekte** — kein lokales Umgebungsrauschen
5. **Labels**: `field-test` plus ggf. `agent-ux`, `signal-quality`, `bug`
6. **Sprache**: Englisch (Titel + Body + Kommentare)
7. **Scope**: Issues beschreiben Drift-Verhalten, nicht Probleme im Ziel-Repo

## Titel-Format

```
[field-test:<prompt-prefix>] <concise problem description> (tested on <repo-name>)
```

Prompt-Kürzel (prefix):
- `field-test` — aus drift-field-test.prompt.md
- `finding-audit` — aus drift-finding-audit.prompt.md
- `context-eval` — aus drift-context-eval.prompt.md

Beispiele:
- `[field-test:field-test] drift analyze crashes on monorepo with 500+ modules (tested on django/django)`
- `[field-test:finding-audit] AVS signal fires on framework-idiomatic imports (tested on pallets/flask)`
- `[field-test:context-eval] export-context raw format missing signal IDs (tested on encode/httpx)`

## Body-Template (English)

```markdown
## Observed behavior

[What drift produced — include relevant output snippet]

## Expected behavior

[What would have been correct/useful for this repository type]

## Tested repository

- **Repository:** [OWNER/REPO-NAME]
- **Commit:** [COMMIT-HASH or branch]
- **Repo type:** [Python / TypeScript / Mixed]
- **Repo profile:** [Library / Framework / Application / Monorepo]
- **Git history available:** [Yes (N commits) / No (shallow clone) / Partial]
- **Repo size:** [approximate file count or LOC]

## Reproduction

- drift version: [VERSION]
- Command: `drift ...`
- Config used: [default / custom drift.yaml / drift init --profile ...]
- Evidence artifact: [PATH in work_artifacts/]

## Impact

- [ ] Workflow blocker (drift cannot analyze this repository)
- [ ] False positive (drift reports non-existent problem)
- [ ] False negative (drift misses real architectural issue)
- [ ] Severity miscalibration (finding real but severity wrong)
- [ ] Cross-command inconsistency (scan vs. analyze disagree)
- [ ] Context quality issue (export is noisy, irrelevant, or incomplete)
- [ ] Repo-type-specific issue (only affects this architecture style)

## Generalizability estimate

[Is this likely specific to this one repo, or would it affect similar repos?
e.g., "Likely affects all Django projects with apps/ structure"]

## Source

Auto-generated by `.github/prompts/field-tests/<PROMPT-FILE>` on [DATE].
Tested on [OWNER/REPO-NAME] at commit [SHORT-HASH].
```

## Erstellungskriterien

### Issues erstellen für

- `fail`-Bewertungen mit reproduzierbarer Evidenz
- Signale mit `unsafe`-Vertrauensstufe, die nicht repo-spezifisch erklärbar sind
- False Positives, die auf ein systematisches Pattern hindeuten (nicht nur Einzelfall)
- Cross-Command-Inkonsistenzen mit Entscheidungsimpact
- Export-Kontext, der für das getestete Repo irrelevant oder irreführend ist

### Keine Issues erstellen für

- Findings, die korrekt aber unerwünscht sind (das Repo HAT das Problem)
- Lokale Umgebungsprobleme (falsche Python-Version, fehlende Dependencies)
- Einzelfälle ohne Generalisierungspotential
- Subjektive Formatpräferenzen
- Duplikate bereits existierender Issues auf `mick-gsk/drift`

### Generalisierungs-Heuristik

Vor Issue-Erstellung fragen: *Würde dieses Problem auch in einem anderen Repo desselben Typs auftreten?*
- **Ja** → Issue erstellen mit Generalizability-Einschätzung
- **Wahrscheinlich** → Issue erstellen, als `needs_review` kennzeichnen
- **Nein, repo-spezifisch** → Nur im Report dokumentieren, kein Issue

## Abschlussausgabe

Nach Issue-Erstellung:

```text
Created issues on mick-gsk/drift:
- #[NUMBER]: [TITLE] - [URL]

Skipped issues (already exist):
- [TITLE] -> #[NUMBER]

Documented in report only (repo-specific, no issue):
- [FINDING DESCRIPTION]
```
