# Enact v0.1.0 - Table of Contents > A thin, behaviour-based action layer for application write operations. ## Pages - [Enact](readme.md) - [Changelog](changelog.md) - [Design Specification](spec.md) - Guides - [Usage Rules](usage-rules.md) - [Change Detection](change-detection.md) - [Phoenix Integration](phoenix-integration.md) - [Recipes](recipes.md) - [Testing Host Applications](testing.md) ## Modules - [Enact](Enact.md): A thin, behaviour-based action layer for application write operations. - Behaviours & protocols - [Enact.Action](Enact.Action.md): The behaviour every action module implements. - [Enact.Actor](Enact.Actor.md): Answers `anonymous?/1` for any actor term. - [Enact.InputSchema](Enact.InputSchema.md): The contract for top-level input-schema modules — plain Ecto embedded schemas that adopt this behaviour via `use Enact.InputSchema`, which sets `@behaviour` and imports `cast_input/4` and nothing more. `use Ecto.Schema`, `import Ecto.Changeset`, and `@primary_key false` stay explicit in the module. Plain `@behaviour` + `import` remains equivalent. - Data - [Enact.Context](Enact.Context.md): The per-invocation context threaded through every pipeline step. - [Enact.Error](Enact.Error.md): The closed error taxonomy for action results. - [Enact.Preview](Enact.Preview.md): The result of `Enact.dry_run/3` — a distinct struct so callers are structurally unable to confuse "validated" with "executed". - Pipeline support - [Enact.Guardrails](Enact.Guardrails.md): Mechanical enforcement of input-schema invariants — every "just don't do X" rule that is detectable gets detected and raised, upgrading conventions to invariants. - [Enact.Resolve](Enact.Resolve.md): Reference resolution — the pipeline step that turns payload references (public-facing IDs like `usr_XXXX`) into loaded records. - [Enact.Validations](Enact.Validations.md): Changeset-pipeline combinators for action `validate/2` callbacks. - Host helpers - [Enact.Delegates](Enact.Delegates.md): Opt-in helper that generates context one-liners for `Enact.run/3`, `Enact.dry_run/3`, `Enact.subject/3`, and `Enact.authorized/3`. - Testing - [Enact.Test](Enact.Test.md): Shared test helpers for host-app action tests (and Enact's own suite).