# Interface Contract

> Define explicit interfaces with preconditions, postconditions, invariants, error semantics, version rules, and compatibility guarantees before implementation.

Record: `algorithms:interface-contract`
Kind: algorithm
Canonical: https://banes-lab.com/ontology/algorithms#algorithms-interface-contract
Closure: https://banes-lab.com/json/records/algorithms/interface-contract/closure

Listed in [Algorithm contracts](https://banes-lab.com/api/records/algorithms.md), after [Coupling Control](https://banes-lab.com/records/algorithms/coupling-control.md) and before [Substitutability](https://banes-lab.com/records/algorithms/substitutability.md).

## Domain

- [Architecture](https://banes-lab.com/records/algorithms-domain/architecture.md)

## Tier

- [leaf](https://banes-lab.com/records/vocabulary/domain-tier-leaf.md)

## Composed by

- [Composed Turn Contract](https://banes-lab.com/records/algorithms/composed-turn-contract.md)
- [<Mode-Driven Response Schema>](https://banes-lab.com/records/algorithms/mode-driven-response-schema.md)

## Math type

- [Logic](https://banes-lab.com/records/reasoning/math-type-logic.md)

## Force

- [Contract compatibility](https://banes-lab.com/records/force/contract-compatibility.md)
- [Semantic consistency](https://banes-lab.com/records/force/semantic-consistency.md)

## Linked from

- [Mode-driven response schema](https://banes-lab.com/ontology/algorithms/algorithms-domain-mode-driven-response-schema.md)
- [The mathematics](https://banes-lab.com/ontology/reasoning/the-mathematics.md)
- [Domain tiers](https://banes-lab.com/ontology/schema/the-vocabulary-domain-tier.md)
- [The forces](https://banes-lab.com/ontology/schema/the-forces.md)
