# gust v0.1.40 - Table of Contents

> A DAG-Based Workflow Orchestration Engine for Elixir

## Pages

- [Gust](readme.md)

- Guides
  - [Configuration](configuration.md)
  - [Error Tracking](error_tracking.md)
  - [Gust Roles](roles.md)
  - [Writing DAGs](writing_dags.md)

## Modules

- [Gust](Gust.md): Gust keeps the contexts that define your domain
and business logic.
- [Gust.Action](Gust.Action.md): Behaviour implemented by reusable actions invoked by `Gust.DSL.task_action/3`.

- [Gust.AppChildren](Gust.AppChildren.md): Builds the application child list for a given runtime role and environment.
- [Gust.Application](Gust.Application.md): Starts the Gust OTP application and wires the supervision tree.
- [Gust.CLI](Gust.CLI.md): Command-line entrypoint for operational Gust tasks.
- [Gust.DAG.Run.Cron.Scheduler](Gust.DAG.Run.Cron.Scheduler.md): Defines a quantum Scheduler.
- [Gust.DAG.Run.ErrorReporter](Gust.DAG.Run.ErrorReporter.md): Defines the contract for reporting terminal DAG task errors.
- [Gust.DAG.Run.Trigger](Gust.DAG.Run.Trigger.md): Behaviour for triggering DAG run actions (reset/requeue/dispatch).
- [Gust.DAG.Run.Trigger.Requeue](Gust.DAG.Run.Trigger.Requeue.md): Resets tasks and runs, then re-queues them for execution.
- [Gust.DAG.TaskWaiter](Gust.DAG.TaskWaiter.md): Behaviour for resuming tasks that are parked on external wait events.
- [Gust.DBLocker](Gust.DBLocker.md): Behaviour for acquiring a DB-backed lock (e.g. Postgres advisory lock).
- [Gust.DBLocker.Postgres](Gust.DBLocker.Postgres.md): Implements DB-backed advisory locking using Postgres.
- [Gust.DSL](Gust.DSL.md): The Gust DSL is how you turn a module into a DAG.  
When you add `use Gust.DSL` to a module in the `dags/` folder, Gust automatically detects it and creates a DAG based on the file name.
- [Gust.Flows](Gust.Flows.md): The Flows context.
- [Gust.Leader](Gust.Leader.md): Elects a single leader node and manages leader-only children.
- [Gust.Repo](Gust.Repo.md)
- [Gust.Run.Claim](Gust.Run.Claim.md): Behavior + facade for claiming/renewing run leases.
- [Gust.Run.Claim.Repo](Gust.Run.Claim.Repo.md)
- [Gust.Run.Claimer](Gust.Run.Claimer.md): Claims runnable DAG runs and starts their execution.
- [Gust.Run.Dispatcher](Gust.Run.Dispatcher.md): Dispatch strategy used to enqueue runs and initialize claim delivery.

- Exceptions
  - [Gust.DAG.Graph.CycleDetectionError](Gust.DAG.Graph.CycleDetectionError.md)
  - [Gust.DAG.NonRecError](Gust.DAG.NonRecError.md): An error that fails a DAG task immediately without retrying it.
  - [Gust.DAG.Runner.TaskFailureError](Gust.DAG.Runner.TaskFailureError.md)

