# Service Contract

> A rule or precondition that a service declares its operations, their results and their side effects to every consumer.

Record: `architecture:service-contract`
Kind: constraint
Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)
Severity: mandatory
Scope: service, integration
Canonical: https://banes-lab.com/ontology#architecture-service-contract

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [API Contract](https://banes-lab.com/records/architecture/api-contract.md) and before [Data Contract](https://banes-lab.com/records/architecture/data-contract.md).

## Repair

- Refactored by: Add Consumer Contract, Define SLA, Version Service
- Detected by: consumer failures after service changes
- Violated by: undocumented side effects, unstable service behavior
- Measured by: consumer contract pass rate
- Enforced by: contract tests, deployment gates

## Requires

- [API Contract](https://banes-lab.com/records/architecture/api-contract.md)
- [Semantic Contract](https://banes-lab.com/records/lexicon/semantic-contract.md)

## Reinforces

- [Autonomy](https://banes-lab.com/records/architecture/autonomy.md)
- [Compatibility](https://banes-lab.com/records/lexicon/compatibility.md)

## Enables

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

## Conflicts with

- [Hidden Service Coupling](https://banes-lab.com/records/lexicon/hidden-service-coupling.md)

## In tension with

- [Distributed Evolution](https://banes-lab.com/records/lexicon/distributed-evolution.md)

## Tensions

- [Service Contract / Distributed Evolution](https://banes-lab.com/records/tension/distributed-evolution-service-contract.md)

## Severity

- [mandatory](https://banes-lab.com/records/vocabulary/severity-mandatory.md)

## Category

- [Contracts / Interfaces / Compatibility](https://banes-lab.com/records/architecture-category/contracts-interfaces-compatibility.md)

## Required by

- [Service-Oriented Architecture](https://banes-lab.com/records/architecture/service-oriented-architecture.md)

## Linked from

- [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/principles/architecture-category-contracts-interfaces-compatibility.md)
- [Core Modular Design](https://banes-lab.com/ontology/principles/architecture-category-core-modular-design.md)
- [Codebase / System Architecture Styles](https://banes-lab.com/ontology/principles/architecture-category-codebase-system-architecture-styles.md)
- [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- [Core Vocabulary](https://banes-lab.com/ontology/lexicon/lexicon-category-core-vocabulary.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
