# Contracts / Interfaces / Compatibility

> Every term in this category is listed as one record, with its kind, its definition and its aliases, the principles whose relations name it, the principle or…

Page: Ontology · Lexicon
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-category-contracts-interfaces-compatibility

Listed in [Ontology · Lexicon](https://banes-lab.com/api/pages/ontology/lexicon.md), after [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md) and before [Control / Coordination / Centralization](https://banes-lab.com/ontology/lexicon/lexicon-category-control-coordination-centralization.md).

Every term in this category is listed as one record, with its kind, its definition and its aliases, the principles whose relations name it, the principle or contract that carries the same name where one exists, and the layer its category belongs to. A tag category also gives each term an example, which is the file the tag places or the rename from a refused word onto a covering tag.

### Ad-Hoc Endpoints

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
Exposing inconsistent, one-off endpoints instead of a uniform interface, forcing clients to special-case each.

Referenced by
[Uniform Interface](https://banes-lab.com/records/architecture/uniform-interface.md)

Distinct from
[Chatty Interface](https://banes-lab.com/records/architecture/chatty-interface.md): Ad-hoc endpoints are inconsistent one-off shapes, while a chatty interface is one operation needing many small calls.

How it is checked

Checked by
[Uniform Interface](https://banes-lab.com/records/architecture/uniform-interface.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Ad-Hoc Payloads

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
Sending payloads with no agreed schema, so consumers must guess at structure and break on change.

Referenced by
[Schema Contract](https://banes-lab.com/records/architecture/schema-contract.md)

How it is checked

Checked by
[Schema Contract](https://banes-lab.com/records/architecture/schema-contract.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### API Usability

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which an API is easy for developers to learn and use correctly.

Referenced by
[Uniform Interface](https://banes-lab.com/records/architecture/uniform-interface.md)

How it is checked

Checked by
[Uniform Interface](https://banes-lab.com/records/architecture/uniform-interface.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Automated Validation

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The ability to check data automatically against a declared schema.

Referenced by
[Schema Contract](https://banes-lab.com/records/architecture/schema-contract.md)

How it is checked

Checked by
[Schema Contract](https://banes-lab.com/records/architecture/schema-contract.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Breaking API Change

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
Changing an API in a way that violates its published contract, breaking existing clients.

Referenced by
[API Contract](https://banes-lab.com/records/architecture/api-contract.md)

How it is checked

Checked by
[API Contract](https://banes-lab.com/records/architecture/api-contract.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Breaking Change

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
A change that violates a component's contract, forcing consumers to update to keep working.

Referenced by
[Backward Compatibility](https://banes-lab.com/records/architecture/backward-compatibility.md)

How it is checked

Checked by
[Backward Compatibility](https://banes-lab.com/records/architecture/backward-compatibility.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Breaking Changes

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
Changes that break existing consumers by altering behavior or shape they depend on.

Referenced by
[Stable Interfaces](https://banes-lab.com/records/architecture/stable-interfaces.md)

How it is checked

Checked by
[Stable Interfaces](https://banes-lab.com/records/architecture/stable-interfaces.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Cleanup / Simplification

- Kind: [activity](https://banes-lab.com/records/kind/activity.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The activity of removing obsolete code and structure, which backward compatibility can hold back.

Referenced by
[Backward Compatibility](https://banes-lab.com/records/architecture/backward-compatibility.md)

How it is checked

Checked by
the tension resolution with backward-compatibility

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Client Compatibility

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which existing clients continue to work as an API evolves.

Referenced by
[API Contract](https://banes-lab.com/records/architecture/api-contract.md)

How it is checked

Checked by
[API Contract](https://banes-lab.com/records/architecture/api-contract.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Compatibility Policy

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The declared rules governing which changes are compatible and how versions are managed.

Referenced by
[Versioning](https://banes-lab.com/records/architecture/versioning.md)

How it is checked

Checked by
[Versioning](https://banes-lab.com/records/architecture/versioning.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Consistent Semantics

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The requirement that the same operation mean the same thing across every resource and endpoint.

Referenced by
[Uniform Interface](https://banes-lab.com/records/architecture/uniform-interface.md)

Distinct from
[Stable Contracts](https://banes-lab.com/records/lexicon/stable-contracts.md): Consistent semantics is one meaning across resources, while stable contracts are one shape over time.

How it is checked

Checked by
[Uniform Interface](https://banes-lab.com/records/architecture/uniform-interface.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Consumer Safety

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which consumers are protected from breakage when a provider changes.

Referenced by
[Backward Compatibility](https://banes-lab.com/records/architecture/backward-compatibility.md)

How it is checked

Checked by
[Backward Compatibility](https://banes-lab.com/records/architecture/backward-compatibility.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Consumer-Driven Development

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The ability to shape a provider's contract from the concrete needs of its consumers.

Referenced by
[Contract-First Design](https://banes-lab.com/records/architecture/contract-first-design.md)

How it is checked

Checked by
[Contract-First Design](https://banes-lab.com/records/architecture/contract-first-design.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Consumer-Verified Compatibility

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The ability to verify a provider still satisfies the contracts its consumers depend on.

Referenced by
[Consumer-Driven Contracts](https://banes-lab.com/records/architecture/consumer-driven-contracts.md)

How it is checked

Checked by
[Consumer-Driven Contracts](https://banes-lab.com/records/architecture/consumer-driven-contracts.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Contract Testing

- Kind: [activity](https://banes-lab.com/records/kind/activity.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The activity of testing that an implementation honors the contract it declares.

Referenced by
[Design by Contract](https://banes-lab.com/records/architecture/design-by-contract.md)

How it is checked

Checked by
[Design by Contract](https://banes-lab.com/records/architecture/design-by-contract.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Cross-Domain Translation

- Kind: [activity](https://banes-lab.com/records/kind/activity.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The activity of mapping terms and structures between two domains that model the world differently.

Referenced by
[Semantic Contracts](https://banes-lab.com/records/architecture/semantic-contracts.md)

How it is checked

Checked by
the tension resolution with semantic-contracts

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Cross-System Communication

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The ability for independent systems to exchange and understand data with one another.

Referenced by
[Interoperability](https://banes-lab.com/records/architecture/interoperability.md)

How it is checked

Checked by
[Interoperability](https://banes-lab.com/records/architecture/interoperability.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Data Quality

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which data is accurate, complete, and fit for its intended use.

Referenced by
[Data Contract](https://banes-lab.com/records/architecture/data-contract.md)

How it is checked

Checked by
[Data Contract](https://banes-lab.com/records/architecture/data-contract.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Development Speed

- Kind: [metric](https://banes-lab.com/records/kind/metric.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The rate at which new functionality is built, which upfront contract rigor can slow.

Referenced by
[Design by Contract](https://banes-lab.com/records/architecture/design-by-contract.md)

How it is checked

Checked by
the tension resolution with design-by-contract

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Distributed Evolution

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which services can evolve independently, constrained by the contracts binding them.

Referenced by
[Service Contract](https://banes-lab.com/records/architecture/service-contract.md)

How it is checked

Checked by
the tension resolution with service-contract

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Domain-Specific Optimization

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which a system is tuned for one domain, traded against broad interoperability.

Referenced by
[Interoperability](https://banes-lab.com/records/architecture/interoperability.md)

How it is checked

Checked by
the tension resolution with interoperability

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Evolution

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The ability to change an interface over time, in tension with the stability its contract promises.

Referenced by
[API Contract](https://banes-lab.com/records/architecture/api-contract.md)

How it is checked

Checked by
the tension resolution with api-contract

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Evolution Speed

- Kind: [metric](https://banes-lab.com/records/kind/metric.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The rate at which an interface can change, which a commitment to stability deliberately limits.

Referenced by
[Stable Interfaces](https://banes-lab.com/records/architecture/stable-interfaces.md)

How it is checked

Checked by
the tension resolution with stable-interfaces

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Extensible Schema

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
A schema shaped so new fields can be added without breaking existing consumers.

Referenced by
[Forward Compatibility](https://banes-lab.com/records/architecture/forward-compatibility.md)

How it is checked

Checked by
[Forward Compatibility](https://banes-lab.com/records/architecture/forward-compatibility.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### External State Mutation

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
Mutating state outside an object's own boundary, breaking the invariants it is supposed to guarantee.

Referenced by
[Invariant](https://banes-lab.com/records/architecture/invariant.md)

How it is checked

Checked by
[Invariant](https://banes-lab.com/records/architecture/invariant.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Flexibility

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which a component permits varied use, in tension with the invariants it must uphold.

Referenced by
[Invariant](https://banes-lab.com/records/architecture/invariant.md)

How it is checked

Checked by
the tension resolution with invariant

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Flexible Ingestion

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which a system accepts loosely-structured input, in tension with a strict data contract.

Referenced by
[Data Contract](https://banes-lab.com/records/architecture/data-contract.md)

How it is checked

Checked by
the tension resolution with data-contract

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Hidden Service Coupling

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
An undeclared dependency between services that surfaces only at runtime, undermining independent evolution.

Referenced by
[Service Contract](https://banes-lab.com/records/architecture/service-contract.md)

How it is checked

Checked by
[Service Contract](https://banes-lab.com/records/architecture/service-contract.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Implementation-First Integration

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
Integrating against a concrete implementation before agreeing a contract, coupling consumers to internals.

Referenced by
[Contract-First Design](https://banes-lab.com/records/architecture/contract-first-design.md)

How it is checked

Checked by
[Contract-First Design](https://banes-lab.com/records/architecture/contract-first-design.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Implicit Assumptions

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
Relying on unstated preconditions a caller must satisfy, which break silently when they are violated.

Referenced by
[Preconditions](https://banes-lab.com/records/architecture/preconditions.md)

How it is checked

Checked by
[Preconditions](https://banes-lab.com/records/architecture/preconditions.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Implicit Behavior

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
Behavior a component performs that is not stated in its contract, surprising callers who come to depend on it.

Referenced by
[Design by Contract](https://banes-lab.com/records/architecture/design-by-contract.md)

How it is checked

Checked by
[Design by Contract](https://banes-lab.com/records/architecture/design-by-contract.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Incremental Deployment

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The ability to roll out changes gradually while old and new versions coexist.

Referenced by
[Backward Compatibility](https://banes-lab.com/records/architecture/backward-compatibility.md)

How it is checked

Checked by
[Backward Compatibility](https://banes-lab.com/records/architecture/backward-compatibility.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Independent Consumers

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The ability for consumers to evolve on their own schedule because the interface stays stable.

Referenced by
[Stable Interfaces](https://banes-lab.com/records/architecture/stable-interfaces.md)

How it is checked

Checked by
[Stable Interfaces](https://banes-lab.com/records/architecture/stable-interfaces.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Integration

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which separate systems are connected to operate as a unified whole.

Referenced by
[Interoperability](https://banes-lab.com/records/architecture/interoperability.md)

How it is checked

Checked by
[Interoperability](https://banes-lab.com/records/architecture/interoperability.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Interface Overuse

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which excessive interface abstraction adds indirection without proportional benefit.

Referenced by
[Interface-Based Design](https://banes-lab.com/records/architecture/interface-based-design.md)

How it is checked

Checked by
the tension resolution with interface-based-design

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Multi-Client Integration

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The ability to serve many different clients through one compatible protocol.

Referenced by
[Protocol Compatibility](https://banes-lab.com/records/architecture/protocol-compatibility.md)

How it is checked

Checked by
[Protocol Compatibility](https://banes-lab.com/records/architecture/protocol-compatibility.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Permissive APIs

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which an API accepts loose or lenient input, in tension with strict preconditions.

Referenced by
[Preconditions](https://banes-lab.com/records/architecture/preconditions.md)

How it is checked

Checked by
the tension resolution with preconditions

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Proprietary Coupling

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
Binding to a vendor's proprietary interface, forfeiting interoperability and portability.

Referenced by
[Interoperability](https://banes-lab.com/records/architecture/interoperability.md)

How it is checked

Checked by
[Interoperability](https://banes-lab.com/records/architecture/interoperability.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Proprietary Drift

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
Extending a standard protocol with proprietary features until it no longer interoperates with others.

Referenced by
[Protocol Compatibility](https://banes-lab.com/records/architecture/protocol-compatibility.md)

How it is checked

Checked by
[Protocol Compatibility](https://banes-lab.com/records/architecture/protocol-compatibility.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Protocol Contract

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The agreed rules of a protocol, such as its messages, formats and sequences, that both ends must honor.

Referenced by
[Protocol Compatibility](https://banes-lab.com/records/architecture/protocol-compatibility.md)

How it is checked

Checked by
[Protocol Compatibility](https://banes-lab.com/records/architecture/protocol-compatibility.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Protocol Optimization

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which a protocol is tuned for performance, traded against broad compatibility.

Referenced by
[Protocol Compatibility](https://banes-lab.com/records/architecture/protocol-compatibility.md)

How it is checked

Checked by
the tension resolution with protocol-compatibility

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Provider Autonomy

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree of freedom a provider retains to change, constrained by consumer-driven contracts.

Referenced by
[Consumer-Driven Contracts](https://banes-lab.com/records/architecture/consumer-driven-contracts.md)

How it is checked

Checked by
the tension resolution with consumer-driven-contracts

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Provider Change Safety

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which a provider can change without breaking its consumers, verified by their contracts.

Referenced by
[Consumer-Driven Contracts](https://banes-lab.com/records/architecture/consumer-driven-contracts.md)

How it is checked

Checked by
[Consumer-Driven Contracts](https://banes-lab.com/records/architecture/consumer-driven-contracts.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Rapid Prototyping

- Kind: [activity](https://banes-lab.com/records/kind/activity.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The activity of building quick throwaway prototypes, which explicit contracts can slow.

Referenced by
[Explicit Contracts](https://banes-lab.com/records/architecture/explicit-contracts.md)

How it is checked

Checked by
the tension resolution with explicit-contracts

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Reliable Integration

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which systems integrate correctly because their shared meaning is agreed, not just their shape.

Referenced by
[Semantic Contracts](https://banes-lab.com/records/architecture/semantic-contracts.md)

How it is checked

Checked by
[Semantic Contracts](https://banes-lab.com/records/architecture/semantic-contracts.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Result Validation

- Kind: [activity](https://banes-lab.com/records/kind/activity.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The activity of checking that an operation's result satisfies its promised postconditions.

Referenced by
[Postconditions](https://banes-lab.com/records/architecture/postconditions.md)

How it is checked

Checked by
[Postconditions](https://banes-lab.com/records/architecture/postconditions.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Rolling Upgrades

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The ability to upgrade instances one at a time while old and new versions interoperate.

Referenced by
[Forward Compatibility](https://banes-lab.com/records/architecture/forward-compatibility.md)

How it is checked

Checked by
[Forward Compatibility](https://banes-lab.com/records/architecture/forward-compatibility.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Runtime Cost

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree of runtime overhead incurred by checking conditions on every call.

Referenced by
[Postconditions](https://banes-lab.com/records/architecture/postconditions.md)

How it is checked

Checked by
the tension resolution with postconditions

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Schema Evolution

- Kind: [capability](https://banes-lab.com/records/kind/capability.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The ability to change a data schema over time without breaking existing readers or writers.

Referenced by
[Data Contract](https://banes-lab.com/records/architecture/data-contract.md)

How it is checked

Checked by
[Data Contract](https://banes-lab.com/records/architecture/data-contract.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Schema Flexibility

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which a schema tolerates variation, in tension with a strict contract.

Referenced by
[Schema Contract](https://banes-lab.com/records/architecture/schema-contract.md)

How it is checked

Checked by
the tension resolution with schema-contract

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Semantic Contract

- Kind: [constraint](https://banes-lab.com/records/kind/constraint.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
An agreement specifying not just the shape of an interface but the meaning and behavior it guarantees.

Referenced by
[Service Contract](https://banes-lab.com/records/architecture/service-contract.md)

How it is checked

Checked by
[Service Contract](https://banes-lab.com/records/architecture/service-contract.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Silent Breaking Changes

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
Shipping a breaking change with no version bump or notice, so consumers fail without warning.

Referenced by
[Versioning](https://banes-lab.com/records/architecture/versioning.md)

How it is checked

Checked by
[Versioning](https://banes-lab.com/records/architecture/versioning.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Specialized Endpoints

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which purpose-built endpoints are offered, traded against a uniform interface.

Referenced by
[Uniform Interface](https://banes-lab.com/records/architecture/uniform-interface.md)

How it is checked

Checked by
the tension resolution with uniform-interface

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Strict Fragile Parsers

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
Parsers that reject any input deviating from an exact expectation, breaking on benign additions.

Referenced by
[Forward Compatibility](https://banes-lab.com/records/architecture/forward-compatibility.md)

How it is checked

Checked by
[Forward Compatibility](https://banes-lab.com/records/architecture/forward-compatibility.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Strong Validation

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which input is strictly validated, in tension with tolerating unknown future fields.

Referenced by
[Forward Compatibility](https://banes-lab.com/records/architecture/forward-compatibility.md)

How it is checked

Checked by
the tension resolution with forward-compatibility

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Undefined Results

- Kind: [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
Returning results a contract never specifies for a given input, leaving callers with undefined behavior.

Referenced by
[Postconditions](https://banes-lab.com/records/architecture/postconditions.md)

How it is checked

Checked by
[Postconditions](https://banes-lab.com/records/architecture/postconditions.md)

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

### Version Sprawl

- Kind: [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- Category: [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)

Details

Definition
The degree to which many concurrent versions accumulate and must be maintained.

Referenced by
[Versioning](https://banes-lab.com/records/architecture/versioning.md)

How it is checked

Checked by
the tension resolution with versioning

Population
The term's definition and every architecture edge that names the term

Freshness
A verdict stands until the definition, the term's kind or an edge that names it changes

Refusal
The resolution gate fails an edge that resolves to no term, and a definition that opens as another kind

Observation
The resolution validator's pass over every edge target and every definition opening

Evidence
Watched to fire and to accept: a suite plants a term no edge names, a dangling dependency and a second check home, and the bundled terms pass

Authoritative side
The term record, which every edge that names the term cites

Depends on
Not answered

Shape it refuses
Not answered

## Links to

- [anti-pattern](https://banes-lab.com/records/kind/anti-pattern.md)
- [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)
- [Uniform Interface](https://banes-lab.com/records/architecture/uniform-interface.md)
- [Chatty Interface](https://banes-lab.com/records/architecture/chatty-interface.md)
- [Schema Contract](https://banes-lab.com/records/architecture/schema-contract.md)
- [quality-attribute](https://banes-lab.com/records/kind/quality-attribute.md)
- [capability](https://banes-lab.com/records/kind/capability.md)
- [API Contract](https://banes-lab.com/records/architecture/api-contract.md)
- [Backward Compatibility](https://banes-lab.com/records/architecture/backward-compatibility.md)
- [Stable Interfaces](https://banes-lab.com/records/architecture/stable-interfaces.md)
- [activity](https://banes-lab.com/records/kind/activity.md)
- [constraint](https://banes-lab.com/records/kind/constraint.md)
- [Versioning](https://banes-lab.com/records/architecture/versioning.md)
- [Stable Contracts](https://banes-lab.com/records/lexicon/stable-contracts.md)
- [Contract-First Design](https://banes-lab.com/records/architecture/contract-first-design.md)
- [Consumer-Driven Contracts](https://banes-lab.com/records/architecture/consumer-driven-contracts.md)
- [Design by Contract](https://banes-lab.com/records/architecture/design-by-contract.md)
- [Semantic Contracts](https://banes-lab.com/records/architecture/semantic-contracts.md)
- [Interoperability](https://banes-lab.com/records/architecture/interoperability.md)
- [Data Contract](https://banes-lab.com/records/architecture/data-contract.md)
- [metric](https://banes-lab.com/records/kind/metric.md)
- [Service Contract](https://banes-lab.com/records/architecture/service-contract.md)
- [Forward Compatibility](https://banes-lab.com/records/architecture/forward-compatibility.md)
- [Invariant](https://banes-lab.com/records/architecture/invariant.md)
- [Preconditions](https://banes-lab.com/records/architecture/preconditions.md)
- [Interface-Based Design](https://banes-lab.com/records/architecture/interface-based-design.md)
- [Protocol Compatibility](https://banes-lab.com/records/architecture/protocol-compatibility.md)
- [Explicit Contracts](https://banes-lab.com/records/architecture/explicit-contracts.md)
- [Postconditions](https://banes-lab.com/records/architecture/postconditions.md)
