Prior Art
This section is informative.
The following precedents put Workfile’s design in context. Similarities do not imply syntax compatibility or incorporate another system’s behavior into this Standard. Borrowed rules apply through the authoritative sections linked below.
| Precedent | Relationship to Workfile |
|---|---|
| CNCF Serverless Workflow 1.0.0 | Describes service orchestration through declarative tasks, events, and control flow. Workfile shares that purpose, with connector manifests supplying the types and operational promises used by static validation and execution. |
| Amazon States Language | Describes tasks, choices, waits, parallel work, retries, and failure handling as a state machine. Workfile provides structured steps and an optional Stateful Workflow Profile, with immutable bindings for data flow. |
| GitHub Actions workflow syntax | Demonstrates readable YAML workflows with named jobs, steps, expressions, and reusable actions. Workfile’s connector contracts describe operations independently of a runner environment. |
| Jinja and Liquid | Supply the familiar interpolation and pipe-separated filter-chain notation. Workfile defines its own expression grammar, types, and purity rules; it does not embed either template language. |
| JSON Schema draft 2020-12 | Supplies the basis for the closed Workfile schema dialect. Workfile restricts its keywords and references and defines formats that materialize Workfile runtime types. |
| CloudEvents 1.0.2 | Uses event identity scoped by source to recognize duplicates. Workfile similarly separates delivery identity from correlation that selects runs. Its identity scope is an activated workflow and trigger binding; it does not require a CloudEvents envelope. |
| Cargo lockfiles | Record exact dependency selections for reproducibility. Workfile’s resolution and pinning identifies the content used by validation and execution, while leaving lock-file syntax implementation-defined. |
Workfile borrows RFC 8785, section 3.2.3 for recursive sorting of unescaped map keys by unsigned UTF-16 code units. Map Order extends that order to map enumeration and YAML emission. Workfile’s canonical JSON serialization adapts the numeric rule in section 3.2.2.3: it preserves exact signed 64-bit integers, distinguishes integral floats from integers, and preserves negative zero. It is not unmodified JCS.