# `Jido.AI.Reasoning.ChainOfDraft.Strategy`
[🔗](https://github.com/agentjido/jido_ai/blob/v2.4.0/lib/jido_ai/reasoning/chain_of_draft/strategy.ex#L1)

Chain-of-Draft strategy implemented as a thin wrapper over delegated CoT runtime.

CoD reuses CoT worker orchestration (`ai.cot.worker.*`) and only changes the
public query signal/action surface plus default prompt contract.

# `get_conclusion`

```elixir
@spec get_conclusion(Jido.Agent.t()) :: String.t() | nil
```

Returns the conclusion from the agent's current state.

# `get_raw_response`

```elixir
@spec get_raw_response(Jido.Agent.t()) :: String.t() | nil
```

Returns the raw LLM response from the agent's current state.

# `get_steps`

```elixir
@spec get_steps(Jido.Agent.t()) :: [Jido.AI.Reasoning.ChainOfThought.Machine.step()]
```

Returns the extracted reasoning steps from the agent's current state.

# `llm_partial_action`

```elixir
@spec llm_partial_action() :: :cod_llm_partial
```

Returns the legacy action atom for handling streaming LLM partial tokens.

# `llm_result_action`

```elixir
@spec llm_result_action() :: :cod_llm_result
```

Returns the legacy action atom for handling LLM results.

# `request_error_action`

```elixir
@spec request_error_action() :: :cod_request_error
```

Returns the action atom for handling request rejection events.

# `start_action`

```elixir
@spec start_action() :: :cod_start
```

Returns the action atom for starting a CoD reasoning session.

---

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