Skip to main content
← Back to list
01Issue
FeatureShippedSwamp CLI
Assigneesstack72

Relationships

#807 Docs: document .? optional select for null-safe CEL data access

Opened by stack72 · 6/24/2026· Shipped 6/25/2026

What changed

swamp-club/swamp#783 adds .? (optional select) support to CEL expressions. When data.latest() or data.version() returns null for a missing instance, users can chain .? to get null instead of a thrown error:

# Returns null if data doesn't exist (instead of throwing):
findings: ${{ data.latest('factory', 'code-review').?attributes.?findings }}

# With inline default:
findings: ${{ data.latest('factory', 'code-review').?attributes.?findings.orValue([]) }}

Pages that need updating (swamp-club repo)

  • content/manual/reference/cel-expressions.md — Add a section on .? optional select syntax with examples. Currently documents data.latest() as "returns null" but does not explain how to chain through null safely.
  • content/manual/reference/data-querying.md — Add .? note in the CEL shortcuts section.
  • content/manual/reference/data-outputs.md — Add .? variants to the data function table.

Key points to document

  • .? is an explicit opt-in — regular . still throws on null (catches real bugs)
  • .orValue(default) provides an inline default value
  • Use .? when data might not exist (e.g., prior-cycle artifacts in rework loops)
  • Use . when data must exist (dependent step outputs)
02Bog Flow
OPENTRIAGEDIN PROGRESSSHIPPED+ 1 MOREASSIGNED+ 2 MOREREVIEW+ 3 MOREPR_MERGED+ 1 MORENOTIFICATION_SKIPPED

Shipped

6/25/2026, 12:08:07 AM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack726/24/2026, 11:54:33 PM

Sign in to post a ripple.