|Adr-Plus Fields|Values Migrated |
|–|–|
|ADR|Result model: ResultPrompt<T> readonly struct|
|Version|01|
|Revision|01|
|Scope||
|Domain||
|Created|Proposed (2026-07-24)|
|Changed|Accepted (2026-07-24)|
|Superseded||
ResultPrompt<T> readonly structEvery interactive control must return both a value and whether the user aborted
(Esc). Options considered: throw on abort, return null, or return a rich
result object.
Every .Run() returns a readonly struct ResultPrompt<T> with:
.Content (T) — the confirmed value (default(T) when aborted)..IsAborted (bool) — true when the user pressed Esc or another abort key..Deconstruct(...) — enables tuple-style unpacking var (value, aborted) = ....Abort is a normal, non-exceptional outcome; the property is named Content
(not Value).
IsAborted before trusting
Content; the Content vs Value naming must be documented because it is a
common expectation mismatch.