# Magic Value

> A defect in which policy, thresholds or states are written as unexplained literals.

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

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Long Parameter List](https://banes-lab.com/records/architecture/long-parameter-list.md) and before [Speculative Generality](https://banes-lab.com/records/architecture/speculative-generality.md).

## Repair

- Refactored by: name_constant, centralize_rule, externalize_config_if_runtime_variable, document_semantics
- Detected by: repeated_number_literal, unexplained_string_literal, inline_threshold, hidden_timeout
- Violated by: Encode policy, thresholds, status, timing, permissions, or domain rules as unexplained literals.
- Measured by: unnamed literals in conditions
- Enforced by: a lint rule against unnamed numeric and string literals in logic

## Severity

- [discouraged](https://banes-lab.com/records/vocabulary/severity-discouraged.md)

## Category

- [Anti-patterns](https://banes-lab.com/records/architecture-category/anti-patterns.md)

## Force

- [Domain boundary](https://banes-lab.com/records/force/domain-boundary.md)

## Negated by

- [Single Source of Truth](https://banes-lab.com/records/architecture/single-source-of-truth.md)

## Linked from

- [Anti-patterns](https://banes-lab.com/ontology/principles/architecture-category-anti-patterns.md)
- [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/principles/architecture-category-schema-canonical-data-semantics.md)
- [Schema / Canonical Data / Semantics](https://banes-lab.com/ontology/lexicon/lexicon-category-schema-canonical-data-semantics.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The forces](https://banes-lab.com/ontology/schema/the-forces.md)
