# Next 20 Workflow Blocks Stand: April 12, 2026 Ziel dieses Backlogs ist nicht nur weitere UI-Politur, sondern die systematische Schließung der noch offenen Paritäts-, Contract- und Authoring-Lücken zwischen Legacy- und Graph-Workflow. ## Batch A: Contract Truth And Authoring Clarity ### Block 1: 20-Block-Backlog im Repo verankern Status: abgeschlossen - sichtbare Arbeitsliste im Repo statt nur Chat-Kontext - Batch-Reihenfolge und Quality Gates festhalten ### Block 2: Registry-/Contract-Audit gegen Runtime und Editor Status: abgeschlossen - Backend-Registry, Schema und Frontend-Contracts gegeneinander prüfen - alle Nodes nach Kontext-, Socket-, Inspector- und Template-Input-Verhalten katalogisieren ### Block 3: Root-Context-Inputs von echten Upstream-Sockets trennen Status: abgeschlossen - `cad_file_record` und `order_line_record` nicht länger als normale verkabelbare Eingänge behandeln - Entry-Nodes im Canvas klar als kontextgesät modellieren ### Block 4: Authoring-Muster pro Node explizit machen Status: abgeschlossen - Nodes klar als `Context Entry`, `Connection-Driven`, `Inspector-Driven` oder `Hybrid` kennzeichnen - dieselbe Semantik in Canvas, Inspector und Katalog verwenden ### Block 5: Problem-Nodes mit impliziten Anforderungen katalogisieren Status: abgeschlossen - welche Nodes haben derzeit 0 Felder, aber nicht offensichtliche Laufzeitannahmen - welche Nodes brauchen nur Dokumentation und welche echte neue Eingabevariablen ## Batch B: Input And Inspector Closure ### Block 6: Inspector-Felder gegen Runtime-Parameter mappen Status: abgeschlossen - `workflow_graph_runtime.py` und Registry vollständig abgleichen - fehlende oder irreführende Inspector-Felder schließen Ergebnis: - `notify <- export_blend` Contract-Drift zwischen Frontend und Backend beseitigt - Bridge-Node-Runtime-Parameter als explizite Contract-Sets in `workflow_graph_runtime.py` zentralisiert - Registry-Tests prüfen jetzt auch `resolve_template`, `material_map_resolve`, `auto_populate_materials`, `glb_bbox`, `output_save` und `notify` gegen die Runtime ### Block 7: Template-Inputs und Template-Overrides konsolidieren Status: abgeschlossen - Template-Inputs als echte Produktionsvariablen sichtbar machen - Node-Editor darf Template-spezifische Inputs nicht verstecken oder fragmentieren Abnahme: - `resolve_template` zeigt statische Overrides und dynamische Template-Inputs ohne Mehrdeutigkeit - Template-Inputs werden konsistent in Inspector, Contract-Card und Preflight sichtbar - kein Drift zwischen `workflow_input_schema`, `template_inputs` und authorbaren Node-Parametern Ergebnis: - `resolve_template` zeigt jetzt statische Overrides und template-definierte Workflow-Inputs im selben Authoring-Modell statt in getrennten UI-Logiken - aktive Templates mit `workflow_input_schema` werden auch ohne festen Override als potenzielle Produktionsvariablen sichtbar gemacht - gezielte Frontend-Tests sichern ab, dass automatische Template-Variablenabdeckung und konkrete Override-Inputs konsistent im Inspector erscheinen ### Block 8: Render-/Output-Node-Settings auf vollständige Verträge prüfen Status: abgeschlossen - Still, Turntable, Blend, Alpha-, Output- und Notification-Pfade gegen Runtime vergleichen - fehlende Dropdowns, Modusfelder oder Guards ergänzen Abnahme: - alle echten Runtime-Optionen für Still/Turntable/Blend/Notify sind im Editor authorbar - keine Fake-Felder ohne Runtime-Wirkung - Graph/Shadow/Legacy-Handoff-Semantik ist für Output/Notify im UI klar Ergebnis: - Render-Override-Felder mit Runtime-Autorität werden für `blender_still` und `blender_turntable` im Inspector gesperrt, solange `use_custom_render_settings` deaktiviert ist - damit verschwindet eine echte Fake-Konfigurationslücke: Werte wie `samples`, `noise_threshold` oder `focal_length_mm` konnten zuvor im Graph gesetzt werden, obwohl die Runtime sie ohne aktivierte Overrides verwirft - `output_save` und `notify` erklären ihre Handoff-Semantik jetzt explizit im Inspector, inklusive Shadow-/Graph-/Legacy-Verhalten und Failure-vs-Skip-Guards - fokussierte Frontend- und Backend-Tests sichern die Render-/Output-/Notify-Contracts gegen erneuten Drift ab ### Block 9: Validation-Fehler inventarisieren Status: abgeschlossen - alle häufigen Validation-Fehler auf Root-Cause-Kategorien mappen - unterscheiden zwischen Modellierungsfehler, UI-Führung, Datenfehler und Legacy-Constraint Abnahme: - häufige Fehlertypen sind als feste Kategorien dokumentiert - jeder Kategorie ist eine konkrete Gegenmaßnahme zugeordnet - UI-Validation und Backend-Preflight sprechen dieselbe Sprache Ergebnis: - Inventar der real existierenden Preflight-/Validation-Codes in `VALIDATION_ERROR_INVENTORY_2026-04-12.md` dokumentiert - feste Kategorien für `Context`, `Setup Chain`, `Data Source`, `Runtime Gap`, `Legacy Drift` und `Artifact Flow` definiert - UI kann sich jetzt auf dieselbe Fehler-Taxonomie wie das Backend stützen ### Block 10: Preflight-Texte und Fehlermeldungen schärfen Status: abgeschlossen - Fehler müssen konkret sagen, welche Verbindung oder Variable fehlt - Legacy-vs-Graph-Abweichungen explizit benennen Abnahme: - Blocking-Issues benennen Node, Contract-Rolle und erwartete Abhilfe - Preflight unterscheidet klar zwischen `error`, `warning`, `unsupported` und `legacy-drift` - Dry-Run-Ausgabe ist für Autoren ohne Codekontext verständlich Ergebnis: - `WorkflowPreflightPanel` zeigt jetzt zusätzlich einen Fehlertyp pro Issue - Preflight-Actions und Issue-Listen verwenden konkrete Gegenmaßnahmen für reale Backend-Codes - Legacy-Drift, Runtime-Gaps und Context-/Setup-Probleme werden im UI sichtbar getrennt ## Batch C: Authoring Surface And Node Organization ### Block 11: Node-Katalog nach Modulen und Authoring-Stufen nachschärfen Status: abgeschlossen - Produktionsmodule als primäre Navigationsstruktur - Families, Stages und Legacy/Bridge/Graph-Status sauber sichtbar machen Ergebnis: - Node-Katalog zeigt jetzt zusätzlich eine explizite `Stage Coverage`-Zusammenfassung für die aktuell sichtbare Filtermenge - Modul- und Family-Struktur bleibt erhalten, wird aber um Stage-Sichtbarkeit und Runtime-Zählung als erstes Navigationssignal ergänzt - Raw-Node-Karten machen nun Inputs, Inspector-Variablen, Outputs und Authoring-Muster direkt sichtbar ### Block 12: Quick-Insert-/Right-Click-Menü härten Status: abgeschlossen - Canvas-Clipping beseitigen - Tastatur- und Mausfluss robuster machen Ergebnis: - Menü bleibt weiter portal-basiert und viewport-geklammert - zusätzliche Outside-Click-Schließung und sticky Guided-Navigation härten den Canvas-Authoring-Loop - Menü priorisiert jetzt explizit Guided Authoring vor Raw Nodes ### Block 13: Edge-Lifecycle vervollständigen Status: abgeschlossen - Verbindungen löschen, neu zuweisen und Konflikte sichtbar machen - Alternative Inputs sauber führen Ergebnis: - belegte Target-Sockets werden beim Neuverbinden jetzt bewusst neu zugewiesen statt stumm geblockt - neue Verbindungen selektieren sich direkt selbst und machen Reassignment sichtbar - Duplicate-Verbindungen werden enger auf echte Handle-Duplikate geprüft ### Block 14: Auto-Layout enterprise-grade machen Status: abgeschlossen - Überlappungen aktiv verhindern - Knoten kollisionsfrei auseinanderdrücken - wiederholbare, verständliche Layouts für große Graphen Ergebnis: - Auto-Layout arbeitet jetzt komponentenbasiert statt alle Subgraphs in ein globales Layering zu drücken - getrennte Subgraphs werden in stabile vertikale Bänder gesetzt - Layout-Reihenfolge bleibt deterministisch entlang der vorhandenen Canvas-Topologie ### Block 15: Einheitliches Node-Größen- und Informationsmodell härten Status: abgeschlossen - gleiche Node-Größe, gleiche Informationshierarchie - keine Sonderfälle pro Node-Familie Ergebnis: - Node-Karten im Browser spiegeln jetzt dieselbe Informationshierarchie wie Canvas/Inspector: Inputs, Variables, Outputs und Authoring Guidance - Nodes mit reinem Socket-Contract vs. Inspector-Variablen sind unmittelbar unterscheidbar - kein zusätzlicher Sonderfall pro Family notwendig, weil das Contract-Summary-Modell die Darstellung trägt ## Batch D: Non-Legacy Still Workflow Completion ### Block 16: kanonischen Still-Graph vervollständigen Status: abgeschlossen - saubere Referenzvariante ohne Legacy-Verkrüppelung - alle nötigen Produktionsmodule im Editor verfügbar machen Ergebnis: - kanonische Graph-Blueprints sind jetzt nicht mehr nur ein einzelner Still-Pfad, sondern als echte Referenzvarianten für Still, Alpha-Still und Still-plus-Blend vorhanden - Referenz-Bundles im Editor decken damit die produktionsrelevanten Still-Autorenpfade sauber ab - die Graph-Varianten bleiben parallel zum Legacy-Pfad und überschreiben ihn nicht implizit ### Block 17: Alpha-, Blend- und Varianten-Pfade komplettieren Status: abgeschlossen - alle Template- und Output-Varianten im Graph-Vertrag verfügbar machen - Settings müssen 1:1 authorbar sein Ergebnis: - Alpha-Still-Blueprint setzt transparente Defaults explizit im Graph statt über Legacy-Nebenpfade - Blend-Delivery ist jetzt als kanonischer Referenzpfad mit `export_blend`, dediziertem `output_save` und `notify` modelliert - Artifact-Erkennung leitet Blend- und Still-Artefakte jetzt auch über terminale `notify`- und `output_save`-Knoten korrekt her ### Block 18: Output-Type-Erstellung und Workflow-Bindings harmonisieren Status: abgeschlossen - neue Output Types müssen wieder sauber erzeugbar und bindbar sein - keine impliziten Legacy-only Einstellungen mehr Ergebnis: - graph-fähige Still-, Alpha- und Blend-Blueprints werden als bindbare Standard-Workflows mit ausgesät - Output-Type-Bindings erkennen Blend-Support jetzt auch bei workflow-first Referenzgraphen korrekt - gezielte API- und Frontend-Tests sichern ab, dass neue Output Types an die neuen Referenzgraphen gebunden werden können ## Batch E: Consolidation, QA And Release Gate ### Block 19: Test- und Browser-QA sequenziell ausbauen Status: abgeschlossen - low-RAM Testfolge statt Parallel-Last - Editor-Flows, Validation und Autorenpfade browserseitig prüfen Zwischenstand: - gezielter Frontend-Regressionstest deckt jetzt den echten Admin-Fall ab, dass valide graph-gebundene Output Types nicht fälschlich als `workflow_missing` blockiert werden - Live-Browser-QA gegen `http://localhost:5173/admin` bestätigt, dass graph- und shadow-gebundene Output Types wieder korrekte Rollout-Zustände zeigen - die falschen Blocker `The selected workflow definition could not be resolved.` und `Linked workflow needs contract fixes before rollout.` treten für valide Bindings nicht mehr auf Ergebnis: - Live-Browser-Durchlauf gegen `http://127.0.0.1:5173/workflows` bestätigt den echten Autorenpfad für den Graph-Editor: Workflow wählen, Order-Line-Kontext laden, Dry Run ausführen, Preflight lesen - der Graph-Dry-Run des `Still Graph Blueprint` läuft mit echtem Order-Line-Kontext erfolgreich durch und macht `Run` danach korrekt freischaltbar - der zuvor verbleibende `template_missing`-Drift im Smoke-Setup ist als echte Resource-Lücke identifiziert und geschlossen - Smoke-Output-Types werden jetzt wie die Golden-Fälle aktiv an `BlenderStudio` gebunden, sodass der Dry-Run für die betroffene reale Order Line ohne Restwarnung durchläuft ### Block 20: Commit, Doku-Update und Restrisiken festhalten Status: abgeschlossen - saubere Zwischenabsicherung - verbleibende echte Produktgaps transparent dokumentieren Zwischenstand: - Drift-Schließung ist gezielt abgesichert: `backend/tests/domains/test_workflow_smoke_harness.py` prüft die Smoke-Template-Zuordnung explizit - Live-Verifikation gegen `http://localhost:8888/api/workflows/484ea831-b274-4ba2-8385-7957e0ccd7f3/preflight?context_id=d6d00bd5-3c4f-4df2-98c4-eaab37df2811` liefert nach Re-Provisionierung `Graph runtime is ready for this context.` - die Änderung sitzt bewusst im Seed-/Harness-Pfad statt in der Runtime-Validierung; es wurde keine Warnung kaschiert Restrisiken: - Golden- und Smoke-Template-Bindings hängen aktuell an den vorhandenen Admin-Templates; bei manueller Template-Löschung in `/admin` entsteht der Drift korrekt erneut - die Smoke-Provisionierung deckt weiter nur Still-Fälle ab; zusätzliche Smoke-Setups für Turntable oder Blend bleiben separat zu verifizieren - Zwischenabsicherung erfolgt über Commit `98455ee` (`Close workflow smoke template drift`) ## Quality Gates - Legacy-Workflow bleibt jederzeit lauffähig - keine zusätzliche implizite Node-Logik ohne expliziten Contract - Root-Kontext und Upstream-Verbindungen werden im Editor nicht vermischt - Tests laufen sequenziell und gezielt - jede neue UI-Aussage muss mit Registry/Runtime konsistent sein ## Aktuelle Batch-Reihenfolge 1. Block 20 vorbereiten und nur reale Restrisiken statt vermeintlicher UI-Brüche festhalten 2. verbleibende Editor-/Validation-Lücken nur noch aus echten Autorenflüssen ableiten 3. Zwischenabsicherung mit Commit schließen 4. danach mit dem nächsten Implementierungsblock fortfahren