Skip to content

Fix dsl-reference.md / schema/workflow.yaml mismatches (evaluate, certificate auth, MCP client version)#1157

Closed
dimastbk wants to merge 1 commit into
serverlessworkflow:mainfrom
dimastbk:fix/dsl-reference-schema-mismatches
Closed

Fix dsl-reference.md / schema/workflow.yaml mismatches (evaluate, certificate auth, MCP client version)#1157
dimastbk wants to merge 1 commit into
serverlessworkflow:mainfrom
dimastbk:fix/dsl-reference-schema-mismatches

Conversation

@dimastbk

Copy link
Copy Markdown
Contributor

What

Fixes the three substantive divergences between dsl-reference.md and schema/workflow.yaml reported in #1156.

Bug Fix Why this direction
evaluate workflow property documented but missing from the schema Added evaluate (language, mode) to schema/workflow.yaml It's a real feature — dsl.md references evaluate.language and documents the strict/loose modes
Certificate authentication documented but absent from the schema Removed from dsl-reference.md (TOC, auth properties-table row, empty section) Not defined anywhere — no schema, no dsl.md mention, no examples/, no ctk/; the doc section was empty
MCP client version required but never defined (schema bug) Renamed schema property descriptionversion The schema declared required: [ name, version ] but defined no version property — it was mis-keyed as description (its title was already McpClientVersion)

Also flips the Evaluate table's language/mode from yesno, since both have defaults and are therefore optional — matching the schema (this is item #6 from the issue, an internal contradiction in the same table).

Scope

This addresses the High-priority items (#1, #2, #3) plus the closely-related #6 from #1156. The remaining medium/minor items in that issue are left for follow-up, as several are direction-dependent and benefit from maintainer guidance.

schema/workflow.yaml was validated as parseable YAML after the change.

Addresses #1156

🤖 Generated with Claude Code

@dimastbk dimastbk requested a review from ricardozanini as a code owner June 24, 2026 13:38
Copilot AI review requested due to automatic review settings June 24, 2026 13:38
@dimastbk dimastbk requested a review from cdavernas as a code owner June 24, 2026 13:38
@dimastbk dimastbk force-pushed the fix/dsl-reference-schema-mismatches branch from 73283fd to fe33381 Compare June 24, 2026 13:40

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Aligns the DSL reference documentation with the authoritative workflow JSON Schema by resolving the key divergences reported in #1156 (adding evaluate to the schema, removing undocumented certificate auth from docs, and fixing the MCP client version field in the schema).

Changes:

  • Added evaluate (language, mode) to schema/workflow.yaml with defaults and strict property enforcement.
  • Corrected the MCP client schema to define version (instead of a mis-keyed description) while keeping required: [ name, version ] meaningful.
  • Removed certificate authentication from dsl-reference.md and updated the Evaluate table required flags to reflect optional-by-default fields.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
schema/workflow.yaml Adds evaluate to the root schema and fixes MCP client version property definition to match required fields.
dsl-reference.md Removes certificate auth documentation and updates Evaluate required flags to match schema defaults.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread dsl-reference.md
|:--|:---:|:---:|:---|
| language | `string` | `yes` | The language used for writting runtime expressions.<br>*Defaults to `jq`.* |
| mode | `string` | `yes` | The runtime expression evaluation mode.<br>*Supported values are:*<br>- `strict`: requires all expressions to be enclosed within `${ }` for proper identification and evaluation.<br>- `loose`: evaluates any value provided. If the evaluation fails, it results in a string with the expression as its content.<br>*Defaults to `strict`.*
| language | `string` | `no` | The language used for writting runtime expressions.<br>*Defaults to `jq`.* |
Comment thread dsl-reference.md
| language | `string` | `yes` | The language used for writting runtime expressions.<br>*Defaults to `jq`.* |
| mode | `string` | `yes` | The runtime expression evaluation mode.<br>*Supported values are:*<br>- `strict`: requires all expressions to be enclosed within `${ }` for proper identification and evaluation.<br>- `loose`: evaluates any value provided. If the evaluation fails, it results in a string with the expression as its content.<br>*Defaults to `strict`.*
| language | `string` | `no` | The language used for writting runtime expressions.<br>*Defaults to `jq`.* |
| mode | `string` | `no` | The runtime expression evaluation mode.<br>*Supported values are:*<br>- `strict`: requires all expressions to be enclosed within `${ }` for proper identification and evaluation.<br>- `loose`: evaluates any value provided. If the evaluation fails, it results in a string with the expression as its content.<br>*Defaults to `strict`.*
Resolves the substantive divergences reported in #1156:

- Add the `evaluate` workflow property (`language`, `mode`) to
  schema/workflow.yaml. It is documented in dsl-reference.md and
  referenced by dsl.md (`evaluate.language`) but was missing from the
  schema.
- Remove certificate authentication from dsl-reference.md (TOC entry,
  authentication properties-table row, and the empty section). It is
  not defined in the schema, dsl.md, examples, or the CTK.
- Rename the MCP client schema property `description` -> `version`.
  The schema declared `required: [ name, version ]` but defined no
  `version` property (it was mis-keyed as `description`).

Also align the Evaluate table in dsl-reference.md: `language` and `mode`
are now `no` (both have defaults, so they are optional), matching the
schema.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Dmitriy <dimastbk@proton.me>
@dimastbk dimastbk force-pushed the fix/dsl-reference-schema-mismatches branch from fe33381 to 739d247 Compare June 24, 2026 13:42
@dimastbk dimastbk closed this by deleting the head repository Jun 24, 2026
@ricardozanini

Copy link
Copy Markdown
Member

@dimastbk why did you close this PR? It seems reasonable to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants