name the until/fail-when dialect (JMESPath Community Edition) on consumer surfaces #145
Labels
No labels
burndown-2026-06
sunday-sprint
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coilyco-flight-deck/cli-guard#145
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The
until/fail-whenexpressions in specverb complex actions are JMESPath, evaluated through thejmespath-community/go-jmespathinterpreter (http/respfmt/eval.go). No consumer-facing surface names the language:renderProseinhttp/specverb/describe.go) prints the raw expressions with no label, and$namereference (a bound input orascapture, supplied through the Community Edition's variable scope) has no syntax in baseline JMESPath.So the conditions were never portable to an original-spec evaluator (jmespath.org), yet nothing flagged it. A reader meeting
length(workflow_runs[?run_number==$run ...])cold has no way to know what language it is, or that it is the Community Edition superset rather than baseline.Decision
Document the dialect as JMESPath Community Edition (the stance picked: embrace it, name it, do not constrain to a baseline allowlist).
Done in this change
renderProsenow closes the action stanzas with a "Condition language" note naming JMESPath Community Edition (jmespath.site), contrasting it with baseline (jmespath.org), and explaining the$namescope. Pinned by aContainsassertion in the action markdown test.Follow-up (separate, downstream)
The ward repo's committed
ward-kdl.forgejo.guardfile.mdregenerates only against a released cli-guard (its Makefile pinsREF). Once this lands and cli-guard releases, ward bumps the ref and regenerates the doc so the note reaches ward's committed copy. Tracked separately in the ward repo.