# Shared Mutable State

Record: `arch:shared-mutable-state`
Kind: anti-pattern
Layer: [Enforcement Core](https://banes-lab.com/records/layer/enforcement-core.md)
Severity: discouraged
Scope: modularity, state_transaction
Canonical: https://banes-lab.com/ontology#arch-shared-mutable-state

## Repair

- Refactored by: encapsulate_state, assign_owner, make_immutable, add_transaction_boundary, apply_concurrency_control
- Detected by: global_mutable_object, public_mutable_fields, shared_cache_without_policy, race_condition, order_dependent_tests
- Violated by: Expose writable state across modules, allow multiple actors to mutate it, omit ownership and synchronization, and let behavior depend on mutation order.

## referenced-by

- [Immutability](https://banes-lab.com/records/arch/immutability.md)
- [State Isolation](https://banes-lab.com/records/arch/state-isolation.md)
