# External State Mutation

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

Record: `lexicon:external-state-mutation`
Kind: anti-pattern
Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-external-state-mutation

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Breaking Changes](https://banes-lab.com/records/lexicon/breaking-changes.md) and before [Hidden Service Coupling](https://banes-lab.com/records/lexicon/hidden-service-coupling.md).

## Category

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

## Negated by

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

## Linked from

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