ready-active-safe 0.1.3

Lifecycle engine for externally driven systems
Documentation
# API Reference

Per-type documentation for `ready-active-safe`.

## Core (always available, `no_std`)

| Type | Description |
|------|-------------|
| [`Machine`]machine.md | Pure function from (mode, event) to `Decision` |
| [`Decision`]decision.md | Outcome of processing an event: mode change + commands |
| [`ModeChange`]mode_change.md | A requested transition to a new mode |
| [`Policy`]policy.md | Determines whether a transition is allowed (`AllowAll`, `DenyAll`) |
| [`LifecycleError`]lifecycle_error.md | Transition failure errors |
| [Free functions]functions.md | `stay()`, `transition()`, `ignore()`, `apply_decision()`, `apply_decision_checked()` |
| [Macros]macros.md | `assert_transitions_to!`, `assert_stays!`, `assert_emits!` |

## Time (feature `time`)

| Type | Description |
|------|-------------|
| [`Clock`]clock.md | Trait: a source of monotonic time |
| [`Instant`]instant.md | Nanosecond-resolution monotonic instant |
| [`Deadline`]deadline.md | An expiration point expressed as an `Instant` |
| [`ManualClock`]manual_clock.md | Deterministic clock for tests and simulation |
| [`SystemClock`]system_clock.md | Monotonic wall clock (requires `std`) |

## Runtime (feature `runtime`)

| Type | Description |
|------|-------------|
| [`Runner`]runner.md | Owns the current mode and feeds events into a `Machine` |

## Journal (feature `journal`)

| Type | Description |
|------|-------------|
| [`TransitionRecord`]transition_record.md | A record of one processed event |
| [`InMemoryJournal`]in_memory_journal.md | In-memory journal with recording and replay |
| [`ReplayError`]replay_error.md | Errors from deterministic replay (`ReplayMismatch`) |