Skip to main content
← Back to list
01Issue
BugOpenSwamp CLIPublic
AssigneesNone

Relationships

#3402 literal() output in a step's inputs logs repeated Refusing to evaluate expression warnings

Opened by hammz · 10/13/2026

What happens

A workflow step that passes literal() output through its inputs works, but every run logs repeated warnings for text the author wrote on purpose.

task:
  type: model_method
  modelType: command/shell
  modelName: lit-inputs-shell
  methodName: execute
  inputs:
    run: echo 'MSG=${{ literal('${{ inputs.version }}') }} ${{ literal('${{ github.sha }}') }}'

swamp workflow run succeeds and prints MSG=${{ inputs.version }} ${{ github.sha }}, and logs six warnings of this form (two at path inputs.run for each expression, then one at path run for each):

[WRN] swamp·expressions: Refusing to evaluate expression at inputs.run: it was not written in the definition or workflow source, so it arrived as data content. Left as literal text. Raw: ${{ github.sha }}

Reproduced on release 20261013.200158.0-sha.35be0b9d.

Expected

No warning for text that a literal() call produced: leaving it as literal text is exactly what the author asked for. At the least, text that is foreign under the widest scope (isForeignExpression), which no swamp evaluation could own, should not warn, and one occurrence should not be reported more than once per run.

Found while triaging swamp-club#3389.

02Bog Flow
◉OPEN○TRIAGED○IN PROGRESS○SHIPPED

Open

10/13/2026, 9:19:53 PM

No activity in this phase yet.

03Sludge Pulse

Sign in to post a ripple.