> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reliantlabs.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflow Schema Reference

> Top-level workflow, edge, and edge-case schema reference

## Workflow

Defines a complete workflow with nodes, edges, inputs, and outputs.

### Fields

| Field           | Type               | Required | Description                                                                               |
| --------------- | ------------------ | -------- | ----------------------------------------------------------------------------------------- |
| `name`          | string             | Yes      | -                                                                                         |
| `nodes`         | Node\[]            | No       | *Use list\_node\_types and get\_node\_type tools for node type details.*                  |
| `edges`         | Edge\[]            | No       | *See Edge type below.*                                                                    |
| `description`   | string             | No       | -                                                                                         |
| `inputs`        | map\[string]Input  | No       | *Use list\_input\_types and get\_input\_type tools for input type details.*               |
| `outputs`       | map\[string]string | No       | *CEL expressions mapping output names to values. Use get\_cel\_reference for CEL syntax.* |
| `presets`       | PresetsConfig      | No       | -                                                                                         |
| `entry`         | string\[]          | No       | -                                                                                         |
| `api_version`   | string             | No       | -                                                                                         |
| `daemon`        | CelDaemonSelector  | No       | -                                                                                         |
| `resume_node`   | string             | No       | -                                                                                         |
| `transition_to` | string             | No       | -                                                                                         |

***

## Edge

Connects a source node to destination(s) with conditional routing.

### Fields

| Field     | Type        | Required | Description |
| --------- | ----------- | -------- | ----------- |
| `from`    | string      | Yes      | -           |
| `cases`   | EdgeCase\[] | No       | -           |
| `default` | string\[]   | No       | -           |

***

## EdgeCase

Defines one conditional routing path from an edge.

### Fields

| Field       | Type      | Required | Description |
| ----------- | --------- | -------- | ----------- |
| `to`        | string\[] | No       | -           |
| `condition` | string    | No       | -           |
| `label`     | string    | No       | -           |

***

## Syntax Sugar (YAML-only)

These fields are not part of the proto schema — they are YAML convenience features that desugar to standard nodes, edges, and entry at parse time.

### `sequence:`

Top-level workflow field. Replaces `entry:` + `nodes:` + sequential `edges:` for linear chains. Cannot coexist with `entry:`.

### `type: parallel` (node type)

A node with `type: parallel` and `branches:` expands into branch nodes + a join node + fan-out/fan-in edges. The parallel node's `id` becomes the join node's id.

See workflow documentation for full examples and usage patterns.
