Registries
The vocabularies below are open-ended. Each is a registry rather than a fixed part of the grammar, so that it can grow without a change to the format. A registry entry is never removed, and never reassigned to another meaning.
An entry is added by a spec revision within a major version. An addition MUST NOT change the meaning of an existing entry.
Error codes
Section titled “Error codes”The error code registry is normative. Every condition of static validation and every evaluation fault has one code there, of the form <area>.<condition>.
Capability names
Section titled “Capability names”durable-timers, signals, sub-workflows, parallel, large-payloads, queue-by, batching, run-python, run-javascript, agent-nodes, states-profile, schema-overlays, unbounded-iteration, lib-time, lib-store, lib-http, lib-data, lib-llm, lib-text, lib-html, lib-money, lib-rank, lib-workweek, lib-human, lib-url, lib-markup, lib-match, lib-phone.
Connector namespaces
Section titled “Connector namespaces”Canonical: http, llm, time, data, store. Reserved: wf. The standard library defines each canonical namespace, and the namespace rules protect them.
Filter package namespaces
Section titled “Filter package namespaces”Canonical: text, html, money, rank, workweek, human, url, markup, match, phone. The standard library defines each, under the same namespace rules.
run languages
Section titled “run languages”python and javascript, for a run step. Each registered language has a capability name of the form run-<language>, among the capability names above.