# QAF → Wertstrom: UX-Flow

Stand: 2026-07-17 · Programm QVS · Umsetzung in P3 (Flag-gated) · Design-System: bestehende App (DCT-Petrol, shadcn/ui, deutsche UI wie das restliche Wertstrom-/QAF-Modul). „Spec N" = Abschnitte in `reports/qaf-value-stream-spec-source.txt`.

## Prinzipien (aus Spec 28, auf die App übersetzt)

- Kein Parser-Vokabular im Hauptfluss („Capability", „Canonical Field", „Confidence" bleiben im Detail-Panel).
- Default-Pfad = 2 Klicks: „Als Wertstrom übernehmen" → Preview → „Erstellen". Varianten-/Auswahl-Schritte erscheinen NUR wenn die Datei sie erfordert (Spec 8).
- Partial-Import ist sichtbar, nie versteckt: „18 Schritte importiert, 15 mit Zykluszeit" statt Generik.
- Kein neuer Formular-Zoo: Preview ist EIN Dialog im Muster der bestehenden Import-Modals (`vsm-excel-import-modal`-Familie), nur reicher.

## Schritt-Kette (Soll)

**1. QAF hochladen + analysieren** — unverändert (bestehender Upload/Ingest).

**2. Fähigkeit erkennen** — automatisch: `qaf_manufacturing_step`-Zeilen vorhanden? → Aktion wird angeboten. Teilweise Daten (z. B. Schritte ohne Zykluszeiten) → Aktion TROTZDEM sichtbar mit Coverage-Hinweis („12 Schritte, 9 mit Zykluszeit"). Keine Fertigungsdaten → Aktion erscheint nicht (kein toter Button; in der Detail-Ansicht steht ohnehin, dass kein Fertigungsblock erkannt wurde).

**3. Entry-Points** (beide rufen denselben Dialog):
- **A (primär):** `app/qaf-differences/[id]` — Detail-Ansicht `summary`/`g60`, Button **„Als Wertstrom übernehmen"** in der Fertigungs-Sektion neben den bestehenden Export-Buttons. Bei Vergleichen mit ALT+NEU: Auswahl, welche Datei-Seite übernommen wird (Default NEU).
- **B:** `app/project/[id]/qaf` — gleicher Button im Fertigungs-Kontext des Comparison-Boards (nutzt die dort verknüpfte `qaf_file`-Quelle der Haupt-Engine, NICHT `parsed_data`).
- Sichtbarkeit: Flag `qafValueStream` + Projekt-Zugriff (RLS-Kette). /wertstrom-Liste erhält in P3 außerdem den Hinweis auf die Quelle je Eintrag („aus QAF · <Dateiname>").

**4. Varianten & Modus** — NUR bei Multi-QAF-Quelle: Sektion im Preview mit Varianten-Liste (aktive Varianten, Volumen), Wahl: „Geteilter Fertigungsfluss (empfohlen)" [Default] oder „Je Variante ein Wertstrom" (erzeugt N Streams mit identischen Schritten + Varianten-Tag, ehrlich beschriftet: „Zykluszeiten sind im QAF nicht variantenspezifisch"). Keine fabrizierte Varianz — die Datenlage steht im Dialog.

**5. Preview (EIN Dialog)** — zeigt: Quelle (Dateiname, Sheet), Ziel-Projekt (fix aus Quelle), editierbarer Titel (Vorschlag `[Lieferant] · [Projekt] · [Variante] · QAF-Wertstrom`), Schritt-Liste in Quell-Reihenfolge mit Checkbox je Schritt (Default: alle an; Name, Zykluszeit, Kosten-Kurzinfo je Zeile), Coverage-Zeile („X Schritte · Y mit Zykluszeit · Z mit Kosten"), Warnungen (nicht-blockierend, z. B. „Sequenz aus Zeilenreihenfolge, Positionsnummern uneindeutig"), fehlende Felder mit Grund (aufklappbar). **Duplikat-Fall:** Banner „Aus dieser QAF-Datei existiert bereits ein Wertstrom" mit „Öffnen" / „Trotzdem neu erstellen" (Spec 22, kein Hard-Block).

**6. Erstellen** — ein Klick, transaktional; Fehlerfall = verständliche Meldung, nichts halb persistiert.

**7. Öffnen in /Wertstrom** — direkter Redirect in den Editor (`/wertstrom/[id]`), Erfolgs-Toast mit Kurzbilanz („18 Schritte importiert, 3 ohne Zykluszeit").

**8. Anpassen & analysieren** — im Editor:
- Importierte Felder tragen dezente Herkunfts-Kennzeichnung (kleines Quell-Icon am Feld, KEIN Farbrauschen); nach manueller Änderung wechselt der Status sichtbar auf „geändert" (Tooltip: Originalwert + Zelle).
- **„Quelle anzeigen"** im Node-Panel öffnet das Detail-Panel: alle 22 Quellfelder mit Zell-Referenz (`Fertigungskosten!W15`), Original-Wert, Einheit, Confidence — Muster/Bausteine: bestehendes `qaf-provenance.tsx`/Explain-Panel.
- `vaClass`-Auswahl (Wertschöpfend / Notwendig, nicht wertschöpfend / Nicht wertschöpfend / Ungeklärt) ersetzt die binäre Checkbox; importierte Default-Klassifikation ist konservativ (nie automatisch „wertschöpfend").
- Stoppuhr-Vergleich: hat ein Schritt QAF-Zykluszeit UND Messwerte (bestehender LSC-/Stoppuhr-Weg), zeigt das Panel beide + Delta („QAF 42,0 s · Gemessen Ø 48,6 s · +15,7 %") — kein Überschreiben, Nutzer wählt den Anzeige-Wert (Spec 20).

## Fehler- und Randfälle (Auszug, vollständig in P3-Tests)

- Ungültige einzelne Zeile → Zeile ausgeschlossen + Grund in Preview, Import läuft weiter (Spec 27).
- Kein Projekt an der QAF-Quelle → kann nicht passieren (`project_id NOT NULL` auf QAF-Seite); defensive Meldung falls doch.
- Berechtigung fehlt → Aktion gar nicht erst sichtbar (RLS liefert 0 Zeilen, kein Existenz-Leak).
- Doppel-Klick auf „Erstellen" → idempotent über Preview-Token, ein Wertstrom.

## Bewusst NICHT in QVS (Scope-Ehrlichkeit)

Editor-Grundthemen (Undo, Touch, Auto-Layout, Export) bleiben unverändert — der Import macht Bestands-Editing nicht komplizierter, erbt aber auch dessen Grenzen. Follow-up-Kandidaten sind in `qaf-value-stream-gap-analysis.md` („Nicht-Gaps") dokumentiert.
