Full graph-based workflow execution engine with: - WorkflowGraphRuntime with two-phase dispatch (collect → fire Celery tasks) - Node registry with contract validation, socket types, execution kinds - WorkflowRuntimeServices: preflight, context resolution, shadow-mode A/B - WorkflowRouter: CRUD + dispatch/preflight/run-history API endpoints - OutputTypeContracts: workflow binding, rollout-mode resolution - Admin router: output-type workflow binding endpoints - Frontend: complete workflow editor with drag-drop canvas, node inspector, module bundles, reference bundles, preflight panel, validation banner, authoring guidance, blueprint templates, shadow/rollout gate UI - Tests: comprehensive coverage for all workflow modules - Docs: NODE_CONTRACT_AUDIT and VALIDATION_ERROR_INVENTORY All 20 blocks from NEXT_20_BLOCK_BATCH_PLAN completed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
4.9 KiB
Workflow Validation Error Inventory
Stand: April 12, 2026
Dieses Inventar beschreibt die derzeit real existierenden Graph-Preflight- und Validation-Fehlerklassen im Workflow-System. Ziel ist, Backend-Preflight, Editor-Hinweise und Autoren-Debugging auf dieselbe Sprache zu bringen.
Kategorien
Context
Diese Fehler bedeuten, dass der Graph mit dem falschen Basiskontext oder mit einem ungültigen Kontext gestartet wird.
| Code | Severity | Root Cause | Erwartete Abhilfe |
|---|---|---|---|
invalid_context_id |
error | Die angegebene Context-ID ist keine UUID. | Gültige UUID aus Order Line oder CAD File verwenden. |
context_not_found |
error | Die UUID zeigt auf keinen vorhandenen Datensatz. | Vorhandenen Datensatz wählen oder Seed-/Import-Daten prüfen. |
context_kind_mismatch |
error | Workflow-Familie und übergebener Kontext passen nicht zusammen. | Order-Line-Graph mit Order Line starten, CAD-Graph mit CAD File. |
invalid_context_kind |
error | Einzelne Node verlangt order_line, der Graph läuft aber nicht in diesem Kontext. |
Kontext oder Node-Familie korrigieren. |
cad_file_only_node |
error | CAD-Entry-Node wurde in einem Order-Line-Graph platziert. | Node in CAD-Workflow verschieben oder order-line-taugliche Alternative nutzen. |
Setup Chain
Diese Fehler zeigen, dass die notwendige Vorbereitungslogik für den Renderpfad fehlt oder nicht renderbar ist.
| Code | Severity | Root Cause | Erwartete Abhilfe |
|---|---|---|---|
order_line_missing |
error | Order Line konnte nicht geladen werden. | Datensatz und FK-Kette prüfen. |
order_line_not_renderable |
error | Legacy-Setup erkennt harte Renderblocker. | Voraussetzungen der Order Line reparieren. |
order_line_skipped |
error | Legacy-Setup würde den Renderpfad bewusst überspringen. | Skip-Grund beseitigen. |
missing_order_line_setup |
error | Downstream-Node hat keinen vorgelagerten order_line_setup. |
Setup-Node früher im Graph platzieren. |
setup_not_ready |
error | Setup ist vorhanden, aber nicht in einem lauffähigen Zustand. | Setup-Ursache beheben und erneut preflighten. |
Data Source
Diese Fehler entstehen durch unvollständige oder nicht mehr erreichbare Eingabedaten.
| Code | Severity | Root Cause | Erwartete Abhilfe |
|---|---|---|---|
cad_file_missing_path |
error | CAD File hat keinen gespeicherten STEP-Pfad. | STEP-Referenz reparieren oder neu importieren. |
cad_file_step_missing |
error | Gespeicherter STEP-Pfad existiert auf dem Dateisystem nicht. | Storage-/Mount-/Importpfad reparieren. |
bbox_unresolved |
warning | Bounding Box konnte nicht aus GLB oder STEP abgeleitet werden. | GLB-Upstream, Exportpfad oder STEP-Quelle prüfen. |
Runtime Gap
Diese Fehler bedeuten, dass der Graph aktuell noch keine echte Runtime-Implementierung für den Schritt hat.
| Code | Severity | Root Cause | Erwartete Abhilfe |
|---|---|---|---|
unsupported_node |
error | Node ist registriert, aber in der Graph-Runtime noch nicht ausführbar. | Legacy/Bridge behalten oder native Graph-Implementierung ergänzen. |
Legacy Drift
Diese Warnungen markieren Stellen, an denen der Graph zwar laufen kann, aber vom bisherigen Legacy-Verhalten abweichen könnte.
| Code | Severity | Root Cause | Erwartete Abhilfe |
|---|---|---|---|
missing_resolve_template |
warning | Render-/Export-Pfad läuft ohne vorgelagertes resolve_template. |
resolve_template vor Render-/Export-Nodes ergänzen. |
template_missing |
warning | Für die Order Line wurde kein Template aufgelöst. | Template zuordnen oder Override setzen. |
Artifact Flow
Diese Klasse deckt aktuell generische Vertrags- und Upstream-Probleme ab, die aus Message oder Code als Artefaktfluss erkennbar sind.
| Erkennung | Severity | Root Cause | Erwartete Abhilfe |
|---|---|---|---|
code oder message enthält artifact |
meist warning/error | Ein benötigtes Artefakt wurde upstream nicht produziert oder nicht verbunden. | Fehlende Node/Verbindung ergänzen und Contract im Editor prüfen. |
Blocking-Regeln
errorblockiert Graph-Dispatch.warningblockiert nicht automatisch, muss aber vor Rollout-Parität bewertet werden.unsupported_nodeist inhaltlich ein Runtime-Gap und wird als blockierend behandelt.
UI-Sprachregelung
- Editor und Preflight sollen immer beide Ebenen zeigen:
- Schweregrad:
error,warning,info - Typ:
Context,Setup Chain,Data Source,Runtime Gap,Legacy Drift,Artifact Flow
- Schweregrad:
- Action-Hints müssen immer direkt sagen, welche Node, welcher Kontext oder welche Upstream-Voraussetzung fehlt.
Nächste Folgeschritte
- Node-Katalog und Inspector mit denselben Kategorien annotieren.
- Validation bereits im Authoring vor Preflight so früh wie möglich sichtbar machen.
- Für echte
Artifact Flow-Fehler langfristig explizite Codes statt Message-Heuristik einführen.