# Boolean Trap

> A defect in which boolean parameters hide the intent of a call site.

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

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Stringly Typed Programming](https://banes-lab.com/records/architecture/stringly-typed-programming.md) and before [Long Parameter List](https://banes-lab.com/records/architecture/long-parameter-list.md).

## Repair

- Refactored by: replace_boolean_with_enum, split_method, introduce_options_object, name_intent
- Detected by: method(true, false), multiple_boolean_params, flag_argument_controls_behavior
- Violated by: Use boolean parameters or flags that hide intent and create ambiguous call sites or combinatorial behavior.
- Measured by: calls that pass more than one boolean literal
- Enforced by: a lint rule against positional boolean parameters

## 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

- [Architecture evolution](https://banes-lab.com/records/force/architecture-evolution.md)

## Negated by

- [Intent-Revealing Interface](https://banes-lab.com/records/architecture/intent-revealing-interface.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)
