# Reversible/Compensable Step

> The requirement that each step in a distributed workflow can be undone by a compensating action.

Record: `lexicon:reversible-compensable-step`
Kind: constraint
Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-reversible-compensable-step

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Retry](https://banes-lab.com/records/lexicon/retry.md) and before [Routing](https://banes-lab.com/records/lexicon/routing.md).

## Category

- [Event Messaging Async](https://banes-lab.com/records/lexicon-category/event-messaging-async.md)

## Required by

- [Compensating Transaction](https://banes-lab.com/records/architecture/compensating-transaction.md)

## Linked from

- [Event / Messaging / Asynchronous Architecture](https://banes-lab.com/ontology/principles/architecture-category-event-messaging-asynchronous-architecture.md)
