
> **Beta / experimental.** Workflows are behind the `FEATURE_WORKFLOW_PLANE` feature flag and are subject to change. Do not depend on the surfaces below in production.

Workflows add a governed, replayable execution plane — codenamed "turing" — on top of a nest's node graph. Runs are deterministic walks over a typed-edge graph, but the server never executes them: an external, stateless runner fetches a run bundle, walks the graph, calls an LLM only for the leaves and conditions that need one, and posts each step back to the nest, which holds all state. This keeps execution governed and reproducible while keeping model calls and side effects out of the server.

## The turing workflow plane

The workflow plane is an **edge-type registry** layered over nodes. Edges are typed, and some are **condition edges**, so a workflow is a graph of nodes connected by typed and conditional edges rather than a linear script.

| Concept | Description |
| --- | --- |
| Nodes | The graph's steps (agent, skill, and other node types) |
| Typed edges | Registered edge types connecting nodes |
| Condition edges | Edges gated by a condition (including `nl` conditions evaluated by an LLM) |
| Governed runs | Runs subject to the nest's governance model |
| Replayable | Deterministic walks that can be re-run |

See [Node Types](https://nest.promptowl.ai/d/promptowl-documents/protocol/concepts/node-types) for the node kinds a workflow graph is built from.

## The server never executes

Execution is deliberately externalized. The nest is the source of truth for all state; it does not run the graph itself.

```
runner --fetch--> run bundle (from nest)
runner: walk typed-edge graph deterministically
runner --LLM--> agent / skill leaves, nl conditions
runner --post--> steps back to nest (holds all state)
```

The external runner is **`@promptowl/contextnest-runner`**, a stateless workflow runner. It:

1. Fetches a run bundle from the nest.
2. Walks the typed-edge graph deterministically.
3. Calls an LLM for `agent` and `skill` leaves and for `nl` (natural-language) conditions.
4. Posts steps back to the nest, which holds all run state.

Because the runner is stateless and the graph walk is deterministic, runs are replayable. **Sub-agent runs** are supported, so a workflow step can itself spawn a sub-agent run.

## Surfaces

When `FEATURE_WORKFLOW_PLANE` is enabled, these surfaces appear:

| Surface | Purpose |
| --- | --- |
| `/runnables` | Endpoint for runnable workflows |
| `schedule` field | A scheduling field on `agent` and `skill` nodes |
| `workflow_*` MCP tools | Workflow tools advertised over MCP — **only when the flag is on** |

The `workflow_*` MCP tools are advertised only while the feature flag is enabled; with the flag off, they are not exposed. See the [MCP Server](https://nest.promptowl.ai/d/promptowl-documents/protocol/mcp-server) for how MCP tools are advertised in general.

## Status

Workflows are beta and gated. Expect the edge-type registry, the run bundle format, and the MCP tool surface to evolve. Enable `FEATURE_WORKFLOW_PLANE` only in environments where experimental behavior is acceptable.

## Sources

- PromptOwl/contextnest-community PRs: #110, #111, #112, #122, #137.
- `@promptowl/contextnest-runner` (stateless workflow runner, July 2026).
