← Events and errors

Choose a recovery policy

app.handle · app.resolve · exact host payloads
reject · 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.

Complete inventory

View all pages in Events and errors
← Previous: Correlate asynchronous completionsNext: Exact event delivery →