Docs / Decisions / 0004 · The workflow is a validated file, not code
Decision record For everyone

0004 · The workflow is a validated file, not code

  • Status: Accepted
  • Date: 2026-08-10

Context

The sequence a data product is built in — phases, gates, who is accountable — is what an organisation argues about and settles. Settling it should not need a deploy, and an edited process that is subtly wrong should not render as if it were right.

Decision

dpf/workflow.yaml defines phases, steps, gates and RACI. It is loaded and validated at import: a step that does not exist, a dependency after the step that needs it, or a phase without an outcome or a document fails start-up with the list of problems. DPF_WORKFLOW points at another file.

Consequences

A different process is a different file and python -m dpf workflow FILE checks it. Step state is derived from what each step produced, so the code still names the artefacts; a step that produces something new needs code as well as YAML.

Documentation for version 0.2.0 Reviewed 2026-10-04