# Saga Pattern

Record: `arch:saga-pattern`
Kind: pattern
Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)
Severity: contextual
Scope: service workflow, distributed system
Canonical: https://banes-lab.com/ontology#arch-saga-pattern

## Repair

- Refactored by: Introduce Saga, Add Compensation
- Detected by: distributed transaction attempts
- Violated by: cross-service transaction requiring atomic database commit
- Measured by: compensation coverage
- Enforced by: workflow tests

## requires

- [Compensating Transactions](https://banes-lab.com/records/lex/compensating-transactions.md)
- [Idempotency](https://banes-lab.com/records/arch/idempotency.md)

## reinforces

- [Eventual Consistency](https://banes-lab.com/records/arch/eventual-consistency.md)

## enables

- [Long-Running Transactions](https://banes-lab.com/records/lex/long-running-transactions.md)

## conflicts-with

- [Global ACID Transaction](https://banes-lab.com/records/lex/global-acid-transaction.md)

## tensions-with

- [Workflow Complexity](https://banes-lab.com/records/lex/workflow-complexity.md)

## tensions

- [Saga Pattern Workflow Complexity](https://banes-lab.com/records/tension/saga-pattern-workflow-complexity.md)

## referenced-by

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