# definitively v0.2.0 - Table of Contents

> FSM workflow orchestrator for CLI and LLM tasks

## Pages

- [Definitively](readme.md)

## Modules

- [Definitively](Definitively.md): FSM-based CLI/LLM workflow definitively.
- [Definitively.Application](Definitively.Application.md): OTP application for the definitively supervision tree.
- [Definitively.CLI](Definitively.CLI.md): Command-line interface for workflow runs and program visualization.
- [Definitively.Domain.NodeDefinition](Definitively.Domain.NodeDefinition.md): Reusable node (CLI or LLM) referenced by active states.
- [Definitively.Domain.OutcomeRules](Definitively.Domain.OutcomeRules.md): Per-node outcome rules from YAML; classifies `RawResult` into `Outcome`.

- [Definitively.Domain.Predicate](Definitively.Domain.Predicate.md): Medium DSL predicate clauses from YAML outcome rules.
- [Definitively.Domain.Program](Definitively.Domain.Program.md): Immutable workflow definition loaded from YAML.
- [Definitively.Domain.RawResult](Definitively.Domain.RawResult.md): Uninterpreted output from a node executor (phase 3+).
- [Definitively.Domain.StateDefinition](Definitively.Domain.StateDefinition.md): One FSM state from a workflow program.
- [Definitively.Domain.TransitionTable](Definitively.Domain.TransitionTable.md): Pure transition lookup built from a program's `states.*.on` maps.
- [Definitively.Init](Definitively.Init.md): Scaffolds a `.definitively/` workspace by copying packaged templates from `priv/`.

- [Definitively.Log](Definitively.Log.md): Structured logging for the definitively.
- [Definitively.MCP](Definitively.MCP.md): MCP-style tool surface over `Definitively.Run.Coordinator` and `Definitively.Visualize`.
- [Definitively.Nodes.Cli](Definitively.Nodes.Cli.md): Runs CLI nodes with live stdout/stderr streaming and captured output.
- [Definitively.Nodes.Executor](Definitively.Nodes.Executor.md): Behaviour for running a workflow node and returning a `RawResult`.
- [Definitively.Nodes.ExecutorRouter](Definitively.Nodes.ExecutorRouter.md): Selects the executor module for a node definition.
- [Definitively.Nodes.Llm](Definitively.Nodes.Llm.md): Runs LLM nodes by invoking a configurable runner and parsing a JSON envelope.
- [Definitively.Nodes.StreamCmd](Definitively.Nodes.StreamCmd.md): Runs a subprocess with stdout/stderr streamed to the terminal and captured for callers.

- [Definitively.Outcome](Definitively.Outcome.md): Rich outcome for workflow nodes (CLI, LLM, git, …).
- [Definitively.Outcome.Evaluator](Definitively.Outcome.Evaluator.md): Boundary: classify `RawResult` using a node's outcome rules.
- [Definitively.Run.Coordinator](Definitively.Run.Coordinator.md): Application facade for starting and controlling ephemeral workflow runs.

- [Definitively.Run.Snapshot](Definitively.Run.Snapshot.md): Read-only view of a workflow run for CLI/MCP status queries.
- [Definitively.Spec.Error](Definitively.Spec.Error.md): Structured error from spec load or validation.
- [Definitively.Spec.Loader](Definitively.Spec.Loader.md): Load YAML workflow programs into `Definitively.Domain.Program`.
- [Definitively.Spec.Validator](Definitively.Spec.Validator.md): Cross-checks on a loaded `Program` before execution.
- [Definitively.Visualize](Definitively.Visualize.md): Renders workflow programs as Graphviz graphs via Graphvix.
- [Definitively.Workflow.Engine](Definitively.Workflow.Engine.md): Data-driven workflow runner as `:gen_statem`.
- [Definitively.Workflow.RunContext](Definitively.Workflow.RunContext.md): Ephemeral context passed to node executors for a single run.
- [Definitively.Workspace](Definitively.Workspace.md): Resolves an absolute program path and workspace root from a workflow YAML file.

## Mix Tasks

- [mix definitively](Mix.Tasks.Definitively.md): Mix task that delegates to `Definitively.CLI`.

