Choose a recovery policy
app.handle · app.resolve · exact host payloadsreject · preserve · retry · replace
A recoverable error should have an explicit state outcome instead of merely writing a console message.
When to use it
Use this checklist when adding any decoder, capability, or host-event branch.
- Malformed external data: reject it and preserve the last valid state.
- User-correctable input: keep the input, attach an accessible field or form error, and retain focus.
- Transient operation failure: expose retry only when repeating the operation is safe; use idempotency for retryable server mutations.
- Unauthorized or forbidden operation: clear invalid session assumptions and return to an admitted state instead of looping retries.
- Unknown or stale event/completion: ignore it without mutating unrelated state.
- Programming assertion: fix the violated contract during development; do not parse or branch on assertion prose.