# Current Execution Batch Stand: April 9, 2026 Dieses Batch zerlegt die verbleibende Workflow-Paritätsarbeit in 12 direkt umsetzbare Blöcke. Ziel bleibt unverändert: - `/workflows` produktionsfähig machen - den Legacy-Workflow jederzeit funktionsfähig halten - Tests und Browser-Verifikation gezielt und sequenziell fahren, damit der lokale Stack nicht durch RAM-Last kippt ## Reihenfolge ### Block 1: Shared Authoring Surface Ziel: Die Authoring-Logik für Canvas-Menu und Sidebar auf eine gemeinsame Grundlage ziehen, damit neue Node-Organisation, Stage-Führung und spätere Output-Type-Deep-Links nicht doppelt implementiert werden. Primäre Dateien: - `frontend/src/components/workflows/NodeCommandMenu.tsx` - `frontend/src/components/workflows/NodeDefinitionsPanel.tsx` - `frontend/src/components/workflows/**` Ergebnis: - ein gemeinsames Authoring-Modell statt verteilter UI-spezifischer Sonderlogik - keine Regression bei Right-Click-Insert, Module/Path-Inserts oder Starter-Steps ### Block 2: Node Organization Hardening Ziel: Die Node-Library nach Family, Stage und Module weiter verdichten, damit große Produktionsgraphen schneller gebaut werden können. Ergebnis: - schnellere Auffindbarkeit - weniger UI-Rauschen - sauberere Trennung zwischen Legacy-, Bridge- und Graph-Nodes ### Block 3: CAD Operational Guidance Ziel: CAD-Workflows dieselbe operative Führung geben wie der Still-Graph heute schon hat, inklusive Stage-Status und klarer Baseline-Pfade. Ergebnis: - CAD-Familie wirkt nicht mehr wie ein Sonderfall - Intake-Graphen sind ohne Trial-and-Error zusammensetzbar ### Block 4: Run Inspection Completion Ziel: Run-, Node- und Comparison-Ansichten so vervollständigen, dass graphische Fehlläufe direkt im Editor debuggt werden können. Ergebnis: - Fehlerursachen sind ohne DB-Inspektion sichtbar - Preflight, Dispatch und Run-Ergebnis greifen sichtbar ineinander ### Block 5: Context Flow Simplification Ziel: Dispatch-/Preflight-Kontextauswahl vereinfachen, besonders bei vielen Order-Lines und Workflow-Varianten. Ergebnis: - weniger Fehlbedienung - klarere Zuordnung zwischen Workflow, Kontext und Ausführungsmodus ### Block 6: Output-Type Contract Closure Ziel: Output-Type-Erstellung und -Bearbeitung noch stärker auf Workflow-Verträge und Invocation-Profile zwingen. Ergebnis: - neue Output-Types lassen sich stabil anlegen - Family- und Artifact-Mismatch wird früher blockiert ### Block 7: Canonical Blueprints And Seeds Ziel: Starter-Blueprints, Seed-Workflows und Frontend-Neuanlage konsistent auf die kanonischen Family-sicheren Graphen bringen. Ergebnis: - weniger Drift zwischen Seed, Editor und Runtime - bestehende Golden-/Smoke-Workflows bleiben reparierbar ### Block 8: Still Smoke Harness Stabilization Ziel: Den non-legacy Still-Workflow als wiederholbaren Smoke-Pfad härten, ohne den Legacy-Fallback zu schwächen. Ergebnis: - eindeutiges Pass/Fail-Signal für den kanonischen Still-Graph - belastbarer Startpunkt für echten E2E-Abgleich ### Block 9: CAD/Material Parity Ziel: Materialzuweisung, Instances und Geometrie-Identität zwischen Preview, GLTF-Viewer und Workflow-Verbrauch weiter angleichen. Ergebnis: - weniger manuelle Materialreparatur - Vorschau und Renderpfad greifen auf denselben vertrauenswürdigen Zustand zu ### Block 10: Rollout And Fallback Controls Ziel: Rollout, Shadow und Graph-Freigabe sauber pro Workflow und pro Output-Type steuerbar halten. Ergebnis: - sichere Aktivierung - klarer Fallback- und Rückrollpfad ### Block 11: Repo Hygiene Ziel: Hilfsskripte, Test-Utilities und neue Workflow-Helfer konsolidieren, damit Folgearbeit nicht auf provisorischen Strukturen aufbaut. Ergebnis: - weniger Einweglogik - besser lesbare Diff-Basis für Restarbeiten ### Block 12: Sequential E2E Gates Ziel: Die wichtigsten Smoke- und Browser-Gates dokumentiert und gezielt ausführbar machen, ohne den Rechner parallel zu überlasten. Ergebnis: - klarer Minimal-Satz an E2E-Prüfungen - reproduzierbare Freigabegates für `/workflows` ## Aktuelle Ausführung - Abgeschlossen: Block 1 - Abgeschlossen: Block 2 - Abgeschlossen: Block 3 - Abgeschlossen: Block 4 - Abgeschlossen: Block 5 - Abgeschlossen: Block 6 - Abgeschlossen: Block 7 - Abgeschlossen: Block 8 - In Arbeit: Block 9 - Nächster geplanter Folgeblock: Block 9 ## Letzte Verifikation - `python3 scripts/test_render_pipeline.py --workflow-still-smoke --execution-mode shadow` - Ergebnis: Live-Smoke erfolgreich; Shadow-Comparison stabilisiert auf `WARN` mit `mean_pixel_delta=0.000257`, Legacy bleibt dadurch weiterhin authoritative - `./backend/.venv/bin/pytest -q backend/tests/domains/test_workflow_runtime_services.py -k 'resolve_order_line_template_context_uses_exact_template_and_override or resolve_order_line_material_map_prefers_line_override_over_output_override or resolve_order_line_material_map_allows_node_override or prefers_authoritative_scene_manifest_assignments or keeps_legacy_source_name_fallback_without_scene_manifest'` - Ergebnis: 5 Tests grün; autoritative Scene-Manifest-Zuweisungen werden nun im Workflow-Renderpfad auf `part_key` und `source_name` gespiegelt, Legacy-Fallback bleibt unverändert - `./backend/.venv/bin/pytest backend/tests/test_part_key_service.py -q` - Ergebnis: 1 Test grün; part-key-basierte Manifest-Auflösung bleibt konsistent - `cd frontend && npx vitest run src/__tests__/components/workflowEditorUi.test.tsx src/__tests__/api/outputTypes.test.ts --pool forks --poolOptions.forks.singleFork=true` - Ergebnis: 20 Tests grün, sequenziell ausgeführt