# Publish a workflow

Saving records an editable workflow definition. Publication captures a version intended for stable execution, including the concrete jobs produced by reusable recipes and the dependencies those jobs require.

## Prepare a publication

1. Save the intended definition.
2. Validate configuration, ports, trigger compatibility, and recipe contracts.
3. Preview the expanded graph if the workflow uses reusable recipes.
4. Test representative inputs and inspect all destinations.
5. Confirm the definition has not changed since you reviewed it.
6. Publish and record the resulting version.

Publication can fail if another edit changed the workflow after your review. Refresh and compare rather than automatically publishing the newer definition.

## What publication preserves

A composed publication captures the authoring structure and the expanded executable graph. It records the handler and package versions, configuration, prompt and schema context needed by the process. A run can then identify the version and executable graph it used.

Editing the current workflow or changing a library recipe later does not rewrite an older execution. This distinction matters when explaining why a historical result differs from today's preview.

An unavailable required version should stop execution or recovery rather than silently substitute newer code. Ask an administrator to restore the necessary approved dependency when a retained execution requires it.

## Work with app releases

A published app can capture its managed workflows and their dependency versions. Changing a workspace's default extension version does not automatically change a released app's workflow code. Publish an updated app release when you intend that change to reach app users.

An app rollback selects the previous release context; it does not transform historical output into new output or reverse external writes. Check the selected release and run provenance together.

## Review before promotion

Verify record identity, permissions, model selection, evidence preservation, and human-review boundaries. A published process that generates proposals should not describe them as approved results.

For shared changes, retain older versions while executions or review records still need them. See [versions](/docs/workflows/versions), [reusable recipes](/docs/workflows/reusable-recipes), and [workflow extensions](/docs/workflows/extensions).
