Skip to main content
← Back to list
01Issue
FeatureTriagedSwamp Club
Assigneesstack72

Relationships

#1438 Docs: document guard field for workflow steps

Opened by stack72 · 7/28/2026

Summary

swamp-club/swamp#1437 added a guard field to workflow steps — a CEL expression that enables idempotent step execution. When the guard evaluates truthy, the step is skipped (already done). The feature shipped in PR #1993 but the user-facing manual documentation was not updated.

What needs documenting

The workflow reference documentation at content/manual/reference/workflows.md should be updated to include:

  • The guard field in the step schema reference
  • Guard expression evaluation semantics (truthy = skip, falsy = execute)
  • Expression context available to guard (inputs, data, self for forEach)
  • Guard patterns:
    • Data truthiness: ${{ data.latest("model", "spec") }}
    • Value comparison: ${{ data.latest("model", "spec").attributes.field == expected }}
    • Method call: ${{ model.method("model", "method", {"input": "value"}).stdout }}
  • forEach compatibility: per-iteration guard evaluation using self.*
  • Error handling: CEL errors fail the step
  • Events: step_skipped with reason: "guarded" vs "dependency"
  • Console output: skipped (guarded)
  • JSON output: structured step_skipped line with reason

Reference

See design/workflow.md in the swamp repo for the authoritative design documentation (Guard section added in #1993).

02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED+ 1 MOREASSIGNED+ 2 MOREREVIEW

Triaged

7/28/2026, 12:54:05 AM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack727/28/2026, 12:53:21 AM

Sign in to post a ripple.