# `Squidie.Runtime.Routing`
[🔗](https://github.com/dark-trench/squidie/blob/main/lib/squidie/runtime/routing.ex#L1)

Resolves public runtime/read-model choices into journal boundary options.

The public `Squidie` facade owns workflow operations. This module owns the
lower-level routing rules that turn host configuration and explicit overrides
into validated runtime, read-model, and journal option sets.

# `journal_child_start_options`

```elixir
@spec journal_child_start_options(keyword()) :: keyword()
```

Builds journal options for child workflow starts.

# `journal_control_options`

```elixir
@spec journal_control_options(keyword()) :: keyword()
```

Builds journal options for control commands such as cancel, resume, and replay.

# `journal_execute_options`

```elixir
@spec journal_execute_options(keyword()) :: keyword()
```

Builds journal options for claiming and executing visible work.

# `journal_list_options`

```elixir
@spec journal_list_options(keyword()) :: keyword()
```

Builds journal projection options used by run listing.

# `journal_spec_start_options`

```elixir
@spec journal_spec_start_options(keyword()) :: keyword()
```

Builds journal options for runtime-authored workflow spec starts.

# `journal_start_options`

```elixir
@spec journal_start_options(keyword()) :: keyword()
```

Builds journal options for module-authored workflow starts.

# `journal_storage`

```elixir
@spec journal_storage(keyword()) :: {:ok, term()} | {:error, term()}
```

Resolves the journal storage adapter from overrides or inferred config.

# `projection_snapshot_options`

```elixir
@spec projection_snapshot_options(keyword()) :: keyword()
```

Builds journal projection options used by single-run inspection.

# `public_child_start_options`

```elixir
@spec public_child_start_options(keyword()) :: :ok | {:error, term()}
```

Validates public child-start overrides before they reach the journal boundary.

# `public_dynamic_work_options`

```elixir
@spec public_dynamic_work_options(keyword()) :: :ok | {:error, term()}
```

Validates public dynamic-work overrides before they reach the journal boundary.

# `public_execute_options`

```elixir
@spec public_execute_options(keyword() | term()) :: :ok | {:error, term()}
```

Validates public execution overrides.

# `read_model`

```elixir
@spec read_model(keyword()) :: {:ok, :read_model} | {:error, term()}
```

Resolves the configured read model from explicit overrides or app config.

# `reject_public_start_options`

```elixir
@spec reject_public_start_options(keyword()) :: :ok | {:error, term()}
```

Rejects internal-only start options from public manual-start APIs.

# `runtime`

```elixir
@spec runtime(keyword()) :: {:ok, :journal} | {:error, term()}
```

Resolves the configured runtime from explicit overrides or app config.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
