Chase Adams

AI Workflow Open Spec

A common language for weaving together modular programmatic steps with agentic intelligence.

⚠️ This specification is a work in progress and subject to change.

2. Specification Fundamentals

Design principles, workflow model overview, and normative language conventions.

2.1 Design Goals and Principles

This subsection articulates the foundational expectations that any conformant automation engine Must uphold when interpreting the specification. The goals frame how declarative workflow intents are preserved across heterogeneous runtimes, ensuring that probabilistic AI behaviors, deterministic integrations, and human interventions can coexist without sacrificing reliability, observability, or portability. They also inform how tooling should serialize, lint, and visualize workflows so that design intent remains intact during implementation. Stated plainly, the principles translate to a promise that different vendors can read the same workflow file, make consistent execution decisions, and give humans clear checkpoints when automation needs oversight.

Key principles:

  • Declarative Intent — Workflows Must describe desired outcomes, invariants, and dependencies without binding to a single execution strategy, ensuring authors describe the “what” while engines decide the “how.” Engines May re-order or parallelize steps provided declared constraints are honored.
  • Deterministic Interfaces for Probabilistic Systems — Steps that rely on stochastic components (e.g., language models) Must expose deterministic data contracts, post-processing rules, and fallback behaviors so downstream nodes receive predictable structures and operators avoid ad-hoc parsing fixes.
  • Typed, Composable Building Blocks — Every step Must declare machine-verifiable input and output schemas, enabling static validation, automated UI generation, and safe reuse, allowing teams to assemble new workflows by snapping together trusted parts.
  • Explicit State and Side Effects — Workflows Must declare which steps mutate external systems, what state is persisted between runs, and how idempotency is ensured. Engines Should provide sandboxed evaluation modes to simulate side effects where feasible so authors can rehearse runs before touching production data.
  • Human + AI Collaboration — Human-in-the-loop interactions are first-class. Specifications Must allow checkpoints, approvals, and exception handling to be defined alongside automated steps, with clear escalation paths and auditability so human reviewers know when and why they are paged.
  • Observability and Governance by Design — Conformant workflows Must emit structured telemetry and reference applicable policies (security, privacy, compliance). Runtimes Should enable trace correlation across steps and honor per-step guardrails such as rate limits or content filters, turning governance requirements into executable controls.
  • Extensibility Without Breakage — Capability catalogs, metadata vocabularies, and schema definitions Must be forward-compatible. New step types Should be introducible via negotiated feature flags, leaving existing workflows unaffected even as the ecosystem grows.
  • Portability Across Runtimes — Specifications Must avoid runtime-specific code constructs. When a workflow depends on a capability not universally available, it Must provide a declared alternative or graceful degradation path so the same artifact can run in constrained environments.

2.2 Workflow Model Overview

The workflow model is intentionally layered so that metadata, topology, contracts, and execution policies can evolve semi-independently. This separation allows authoring tools to focus on structure while runtimes emphasize operational guarantees. Viewed from a reader’s perspective, the layers help designers reason about intent, engineers consider execution wiring, and operators enforce controls without stepping on one another’s edits.

Conceptual layers:

  • Metadata Layer — Identifies the workflow (name, description, ownership, version), declares required capabilities, and links to governance artifacts (policies, compliance tags). Metadata Must be immutable once published to guarantee traceability.
  • Topology Layer — Describes the execution graph as a set of steps and edges. Steps reference step definitions by stable identifiers; edges encode sequencing, parallelism, and conditional routing. The topology Must be acyclic unless explicit loop constructs are declared with termination criteria.
  • Contract Layer — Captures per-step input/output schemas, contextual bindings, and default parameterization. Contracts Should reuse shared schema fragments to promote interoperability and must align with the Result Pattern for conveying success, warnings, or errors.
  • Execution Policy Layer — Specifies operational concerns: retry policies, timeout bounds, compensation handlers, security scopes, and observability requirements. Policies May be inherited from global defaults but Must be overrideable on a per-step basis.

State flows through the graph as typed payloads. Engines Must persist state transitions sufficient for replay, auditing, and resuming from human checkpoints. When steps call external systems, the workflow Should capture correlation identifiers so telemetry can be stitched end-to-end. A worked example in Annex A shows how these layers combine when modeling a customer-support triage workflow.

2.3 Normative Language Conventions

Normative statements must be interpreted consistently regardless of authoring context—whether the spec is encoded as JSON, YAML, or a domain-specific language. To that end, this document standardizes keywords, annotations, and error envelopes. Readers can treat this section as the rulebook for parsing directive language before diving into specific clauses.

Convention summary:

  • Capitalized Keywords — “Must”, “Must Not”, “Should”, “Should Not”, and “May” follow RFC 2119 interpretations. When combined with conditionals (e.g., “If a step is HITL, it Must …”), the requirement applies only when the condition is met.
  • Informative Notes — Text labeled as “Note” or examples are non-normative, intended to clarify possible implementations. Deviations from examples are permitted if normative clauses are satisfied.
  • Profiles and Extensions — Optional capability sets are described as profiles. A workflow declaring a profile Must adhere to its additional rules. Engines lacking a profile May still execute the workflow if an alternate capability path is defined.
  • Error Classifications — The Result Pattern distinguishes ok, recoverable_error, and fatal_error. Normative statements referencing these identifiers impose requirements on how engines propagate each class.
  • Schema References — When schemas are cited, they are treated as normative unless explicitly marked “informative sample”. Implementations Must validate payloads against referenced normative schemas prior to step execution.

All conformance claims are evaluated against these conventions. Where ambiguity arises, interpret clauses in favor of interoperability and safety.

Curious about this specification? Reach out at ai-workflow@crca.fyi