# Temporalex v0.3.0 - Table of Contents

> Workflow orchestration for Elixir, built on the Temporal Core SDK (Rust) via Rustler NIFs.

## Pages

- [Overview](readme.md)
- [Changelog](changelog.md)
- [SDK Overview](sdk_overview.md)
- [Programming Model](programming_model.md)
- [Implementation Principles](implementation_principles.md)
- [Scheduler and Replay](scheduler_and_replay.md)

## Modules

- [Temporalex.Client.Handle](Temporalex.Client.Handle.md): Handle for a started workflow execution.

- [Temporalex.Core.Activation](Temporalex.Core.Activation.md): Core workflow activation delivered to an executor.

- [Temporalex.Core.ActivityCompletion](Temporalex.Core.ActivityCompletion.md): Server-facing activity completion submitted through a backend.

- [Temporalex.Core.ActivityTask](Temporalex.Core.ActivityTask.md): Server-facing activity task decoded by a backend.

- [Temporalex.Core.Completion](Temporalex.Core.Completion.md): Status-bearing completion for one workflow activation.

- [Temporalex.Core.TestHarness](Temporalex.Core.TestHarness.md): Pure core test harness that drives executors with core activations.

- Public API
  - [Temporalex](Temporalex.md): Documentation for `Temporalex`.

  - [Temporalex.Activity](Temporalex.Activity.md): Minimal activity DSL.
  - [Temporalex.Activity.Context](Temporalex.Activity.Context.md): Runtime context passed to activity implementations that declare a context
argument.
  - [Temporalex.Client](Temporalex.Client.md): Client API for workflow operations through a running `Temporalex.Worker`.
  - [Temporalex.Workflow](Temporalex.Workflow.md): Minimal workflow module DSL for the core slices.

  - [Temporalex.Workflow.API](Temporalex.Workflow.API.md): Workflow primitives available from executor-owned workflow processes.

- Worker
  - [Temporalex.Server](Temporalex.Server.md): Worker server that routes backend work to core executors and activities.
  - [Temporalex.Worker](Temporalex.Worker.md): Supervisor for one Temporalex worker instance.

- Backend
  - [Temporalex.Backend](Temporalex.Backend.md): Server-facing backend boundary.
  - [Temporalex.Backend.TemporalCore](Temporalex.Backend.TemporalCore.md): Temporal Core backend implemented through the Rustler native bridge.
  - [Temporalex.Backend.Test](Temporalex.Backend.Test.md): In-memory backend for server and integration tests.

- Core
  - [Temporalex.Core.Executor](Temporalex.Core.Executor.md): Deterministic workflow executor for the core implementation slices.

- Exceptions
  - [Temporalex.ActivityFailure](Temporalex.ActivityFailure.md): Failure raised in workflow code when an activity attempt ends in failure.
  - [Temporalex.ApplicationError](Temporalex.ApplicationError.md): Generic application-level failure raised from inside an activity or workflow.
  - [Temporalex.CancelledError](Temporalex.CancelledError.md): Raised when an activity, child workflow, or workflow is cancelled.

  - [Temporalex.ChildWorkflowFailure](Temporalex.ChildWorkflowFailure.md): Failure raised in parent workflow code when a child workflow ends in failure.
  - [Temporalex.Core.Nondeterminism](Temporalex.Core.Nondeterminism.md): Activation failure raised when emitted command decisions diverge from replay history.

  - [Temporalex.Core.SchedulerViolation](Temporalex.Core.SchedulerViolation.md): Activation failure raised when a workflow process calls the executor outside its turn.

  - [Temporalex.NondeterminismError](Temporalex.NondeterminismError.md): Raised when a workflow's emitted command decisions diverge from its
recorded history during replay.
  - [Temporalex.TimeoutError](Temporalex.TimeoutError.md): Raised when an activity or workflow times out.

