|Adr-Plus Fields|Values Migrated |
|–|–|
|ADR|Distinct result model for Confirm and KeyPress|
|Version|01|
|Revision|01|
|Scope||
|Domain||
|Created|Proposed (2026-07-24)|
|Changed|Accepted (2026-07-24)|
|Superseded||

# PromptPlus
## **ADR0008V01R01**
[](https://www.nuget.org/packages/PromptPlus)
[](https://opensource.org/licenses/MIT)
[](https://dotnet.microsoft.com/)
↑ ADR Index
ADR0008V01R01 — Distinct result model for Confirm and KeyPress
Context
Not every interactive control returns arbitrary content. Confirm is a yes/no
decision; KeyPress captures a single keystroke. Forcing them into the generic
ResultPrompt<T> value shape would hide their real semantics.
Decision
- Confirm returns a result whose meaningful state is a boolean answer plus
IsAborted; callers read the yes/no outcome, not a free-form Content.
- KeyPress returns the captured key information plus
IsAborted, exposing
the key and its modifiers rather than a text value.
Both still follow the abort-is-not-an-exception rule from ADR0004.
Consequences
- Positive: each control’s result reads naturally for its purpose; abort
semantics remain consistent across all controls.
- Negative / trade-off: slightly more result shapes to learn; justified by
the clarity of intent per control.