# Workflow Spec 3.18 Rollout

## Canonical Source

- DocCenter Path `3`
- Name: `VL Workflow Spec 3.18`
- Local mirror: [vl-workflow-spec-3.18.md](/Users/ivx/Documents/VLCode-Lite/docs/vl-workflow-spec-3.18.md)

## What Changed

- `Tool_*` is now documented as a standard 3.17 extension profile rather than a private implementation note.
- `Subflow_*` is supported as a display/runtime alias for `WorkflowRun`, so child workflows can stay visually distinct without adding a new execution primitive.
- Runtime events now explicitly include `tool_start`, `tool_message`, `tool_done`, and `tool_error`.
- Parallel run attribution now includes `clientRunToken` from the first event, before a stable `runID` exists.
- Checkpoint rerun semantics now cover fork, loop, overrides, and rerun-from-node in complex graphs.
- Workflow-of-workflows is now a documented orchestration pattern.

## Compatibility Rule

- The spec document is `3.17`.
- The currently deployed VLCode-Lite JS runtime still primarily uses workflow JSON `version: "3.16"`.
- Do not mass-rewrite existing workflow files yet.
- Treat 3.17 as a capability/documentation rollout first, then switch JSON version strings after all critical runtimes catch up.

## What Other Codex Instances Should Do

- Reference DocCenter Path `3` as the canonical workflow spec.
- When authoring new workflows for current VLCode-Lite, continue defaulting to JSON `version: "3.16"` unless the target runtime explicitly advertises `3.17`.
- If using `Tool_*`, `tool_message`, `clientRunToken`, or checkpoint rerun in explanations, cite them as 3.17 extension-profile behavior.
- Avoid claiming that every standalone/cloud workflow engine already accepts `version: "3.17"`.
