Artifacts and lineage

Declare artifact contracts on the Blueprint so each stage has a defined input and output and compile can record lineage.

Last updated September 27, 2026

Declare artifacts in Builder

Artifacts is a Builder setting, not a top-level app. Every stage that produces or consumes a contract must name that artifact before compile.

Compile fails closed when a required artifact contract is missing. Designer does not invent artifact types at runtime.

What an artifact contract covers

  • what the stage must produce
  • what a later stage or Human Review Task may read
  • how lineage attaches to the Blueprint version and the Run

Human Review Tasks should receive the artifacts the stage declared. Do not require reviewers to hunt files in GitHub that the contract did not attach.

Lineage

A successful compile records lineage from this Blueprint version. A Run names that version. Rework that produces a new candidate SHA still belongs to the same Run, not a new flow.

Do not store secrets in artifacts. Secrets stay in GitHub environments.

After you change contracts

Rename or replace an artifact on the Blueprint, then validate, compile, and re-export. Installed workflows will keep the previous contracts until the new package is installed.

Still stuck?Contact support