Workflow execution repeats #1091: cross-model CEL expression validation fails for unresolved types
Opened by stack72 · 4/7/2026· GitHub #1114
Description
The workflow execution path in execution_service.ts has the same bug that #1091 fixed for validateSingle() — it only resolves the target step's model type before validation, but cross-model CEL expressions reference types that haven't been resolved yet.
#1092 fixed this for validateSingle() in src/libswamp/models/validate.ts by resolving all model types before validation. The workflow execution path at src/domain/workflows/execution_service.ts:254-264 was not updated.
Steps to Reproduce
- Model
dedup(@keeb/mms/dedup) has globalArgs with CEL:${{ model.llm.definition.globalArguments.ollamaUrl }} - Model
llmis type@keeb/ollama(different extension type) swamp model validate dedup→ passes (fixed by #1092)swamp model method run dedup filter→ passes (resolves types on demand)swamp workflow run discover-and-download→ fails:Unknown model type "@keeb/ollama" for model "llm"
Root Cause
execution_service.ts line 254 calls resolveModelType(modelType, ...) for the step's model only. Line 260 then calls validateModel() which evaluates CEL expressions referencing other models. Those models' types are not in the registry.
Fix
Apply the same pattern as #1092: resolve all model types in the repo before running per-step validation. Or resolve types on-demand during expression evaluation.
Affected Code
src/domain/workflows/execution_service.tslines 253-264- PR #1092 fixed the equivalent path in
src/libswamp/models/validate.ts
Automoved by swampadmin from GitHub issue #1114
Open
No activity in this phase yet.
Sign in to post a ripple.