# Invariant / Flexibility

> "invariant" (contracts-core layer) is traded against "Flexibility" (contracts-core layer) — a principle cannot be scope-separated from a quality, metric, or cost it competes with; resolve by measuring "Flexibility" and choosing an explicit operating point.

Record: `tension:flexibility-invariant`
Kind: tension
Canonical: https://banes-lab.com/ontology/schema#tension-flexibility-invariant

Listed in [Tensions](https://banes-lab.com/api/records/tension.md), after [Postconditions / Runtime Cost](https://banes-lab.com/records/tension/postconditions-runtime-cost.md) and before [Backward Compatibility / Cleanup / Simplification](https://banes-lab.com/records/tension/backward-compatibility-cleanup-simplification.md).

## In tension with

- [Invariant](https://banes-lab.com/records/architecture/invariant.md)
- [Flexibility](https://banes-lab.com/records/lexicon/flexibility.md)

## Mechanism

- [irreducible-tradeoff](https://banes-lab.com/records/vocabulary/resolution-mechanism-irreducible-tradeoff.md)

## Linked from

- [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/principles/architecture-category-contracts-interfaces-compatibility.md)
- [Resolution mechanisms](https://banes-lab.com/ontology/schema/the-vocabulary-resolution-mechanism.md)
