Stateful: LEARNING_LOG in practice
Session 1 you tell Cursor "we use Result<T>, never throw in controllers." persistence.mdc appends that to LEARNING_LOG.md. Session 2 you open a new chat on OrdersController.cs; the hydrate prompt loads entry #14 and the model refuses throw new NotFoundException() without you repeating yourself.
## ADR-014 — API errors
- Controllers return Result<T>; no throw for business failures.
- Verified 2026-05-12 on OrderService refactor.