# Atomic State Change + Message Publish

> The ability to commit a state change and publish its corresponding message as one atomic unit.

Record: `lexicon:atomic-state-change-message-publish`
Kind: capability
Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-atomic-state-change-message-publish

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Asynchronous Processing](https://banes-lab.com/records/lexicon/asynchronous-processing.md) and before [Consumer Elasticity](https://banes-lab.com/records/lexicon/consumer-elasticity.md).

## Category

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

## Enabled by

- [Outbox Pattern](https://banes-lab.com/records/architecture/outbox-pattern.md)

## Linked from

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