# Primitive Obsession

Record: `arch:primitive-obsession`
Kind: anti-pattern
Layer: [Enforcement Core](https://banes-lab.com/records/layer/enforcement-core.md)
Severity: discouraged
Scope: correctness_verification, domain_boundary
Canonical: https://banes-lab.com/ontology#arch-primitive-obsession

## Repair

- Refactored by: introduce_value_object, narrow_type, add_enum, encapsulate_validation
- Detected by: many_string_ids, repeated_validation, boolean_flags, magic_values
- Violated by: Represent meaningful domain concepts as raw strings, numbers, booleans, or maps without type, [validation](https://banes-lab.com/records/arch/validation.md), or behavior.

## referenced-by

- [Value Object](https://banes-lab.com/records/arch/value-object.md)
