Skip to main content
← Back to list
01Issue
BugShippedSwamp CLIPublicTeam
Assigneesstack72

Relationships

#3254 workflow validate fails a templated methodName that workflow run executes fine

Opened by taylor · 10/11/2026· Shipped 10/12/2026

swamp workflow validate fails a workflow whose step methodName is a CEL expression, even though swamp workflow run resolves the expression and the step succeeds.

Steps to reproduce

  1. swamp repo init in an empty git repo
  2. swamp model create command/shell hello
  3. Create a workflow with a templated methodName:
name: templated
inputs:
  properties:
    method:
      type: string
      default: execute
jobs:
  - name: main
    steps:
      - name: example
        task:
          type: model_method
          modelIdOrName: hello
          methodName: ${{ inputs.method }}
          inputs:
            run: echo hello
  1. swamp workflow validate templated
  2. swamp workflow run templated

Expected

Validation passes (or warns) for the step, the same way it already does when modelIdOrName or modelType is a CEL expression, because the method can't be resolved statically.

Actual

Validate fails:

✗ Step inputs for 'example' in job 'main' (hello.${{ inputs.method }})
  → Method '${{ inputs.method }}' not found on model type 'command/shell'
Summary: 7 passed, 1 failed
Result: FAILED

Run succeeds: "inputs": { "method": "execute" }, "status": "succeeded", and the step saves its result data.

The same workflow with a literal methodName: execute passes validation 9/9.

Where the fix goes

The step-inputs check in the workflow validation service (src/domain/workflows/validation_service.ts) already skips dynamic CEL references in modelType and modelIdOrName ("cannot resolve statically"), but not in methodName. Extending that skip to a methodName containing ${{ would make validate match run. Still present in the latest source, 20261011.154850.0.

A real use case: one workflow that runs either check or apply on config-management model types, chosen by an input.

Environment

  • swamp 20261009.215038.0-sha.986f9022 (code unchanged in 20261011.154850.0-sha.d650cb70)
  • macOS (Darwin)
02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPEDTRIAGE+ 5 MOREREVIEW+ 7 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

10/12/2026, 1:29:30 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack7210/12/2026, 1:52:59 AM
Editable. Press Enter to edit.

stack72 commented 10/12/2026, 1:29:33 PM

Thanks @taylor for reporting this! We shipped: Make workflow validate accept a model_method step whose methodName is a CEL expression: resolve the model and type as usual, and treat method_not_found as unresolvable statically instead of a failure, so validate agrees with run.. The fix has been merged and a release is on its way. We appreciate your contribution to swamp.

Sign in to post a ripple.