|Adr-Plus Fields|Values Migrated |
|–|–|
|ADR|Predicate semantics for validation and filtering|
|Version|01|
|Revision|01|
|Scope||
|Domain||
|Created|Proposed (2026-07-24)|
|Changed|Accepted (2026-07-24)|
|Superseded||

# PromptPlus
## **ADR0010V01R01**
[](https://www.nuget.org/packages/PromptPlus)
[](https://opensource.org/licenses/MIT)
[](https://dotnet.microsoft.com/)
↑ ADR Index
ADR0010V01R01 — Predicate semantics for validation and filtering
Context
Controls accept user predicates for validation and item filtering. Inconsistent
boolean meaning (does true mean “valid” or “reject”?) is a frequent source of
bugs.
Decision
Standardize predicate meaning across all controls:
- Validation predicate returns
true when the input is valid.
- Filter predicate returns
true when the item should be shown.
true always means “keep / accept”. No control inverts this.
Consequences
- Positive: one rule to remember for every predicate; fewer inverted-logic
bugs.
- Negative / trade-off: users migrating from libraries with the opposite
convention must adapt; the rule is documented per control to prevent surprises.