# Service Autonomy

Record: `arch:service-autonomy`
Kind: principle
Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)
Severity: contextual
Scope: service, bounded context
Canonical: https://banes-lab.com/ontology#arch-service-autonomy

## Repair

- Refactored by: Encapsulate Data, Add API/Event Boundary
- Detected by: shared schema writes, cross-service table access
- Violated by: external writes to service-owned data
- Measured by: ownership violation count
- Enforced by: database permissions, service contracts

## requires

- [Own Data](https://banes-lab.com/records/lex/own-data.md)
- [Explicit Contracts](https://banes-lab.com/records/arch/explicit-contracts.md)

## reinforces

- [Microservices](https://banes-lab.com/records/arch/microservices.md)
- [Independence](https://banes-lab.com/records/arch/independence.md)

## enables

- [Independent Deployment](https://banes-lab.com/records/lex/independent-deployment.md)

## conflicts-with

- [Shared Database](https://banes-lab.com/records/lex/shared-database.md)
- [Cyclic Deployment Dependency](https://banes-lab.com/records/arch/cyclic-deployment-dependency.md)

## tensions-with

- [Global Consistency](https://banes-lab.com/records/lex/global-consistency.md)

## tensions

- [Service Autonomy Global Consistency](https://banes-lab.com/records/tension/global-consistency-service-autonomy.md)

## referenced-by

- [Microservices](https://banes-lab.com/records/arch/microservices.md)
- [Service-Oriented Architecture](https://banes-lab.com/records/arch/service-oriented-architecture.md)
- [Service Contract](https://banes-lab.com/records/arch/service-contract.md)
- [Choreography](https://banes-lab.com/records/arch/choreography.md)
- [Autonomy](https://banes-lab.com/records/arch/autonomy.md)
