# Make essential time visible

Principle `make-essential-time-visible`. Use an explicit state machine when modes change which events are legal, or when work needs cancellation, retries, resumability, or child work.

Parsing, validation, and one-shot migrations are plain functions. Keep execution, persisted state, safe repetition, and recovery ownership separate. A small machine fed validated domain values beats a large one that interprets raw rows.

Read the full section in the [uncomplect skill](/skills/uncomplect#lifecycle-make-essential-time-visible).

## Related
- [Recovery owner](/terms/recovery-owner)
- [Rehydration](/terms/rehydration)

## Skills
- [uncomplect](/skills/uncomplect)

## Sources
- Stately. *XState documentation*. [Link](https://stately.ai/docs/). ([xstate-documentation](/bibliography#xstate-documentation))
