# Skill: Errors

> **Atelier source:** `domains/errors/` (first-principles + patterns)
> **Core principles:** C1 Correctness, C7 Observability
> **BA.A mapping:** web API, worker, scheduled job
> **Consumer:** read this before authoring error handling.

## First Principles (citizen-developer-relevant subset)

- **Errors are not swallowed silently.** A bare `except: pass` is a bug.
  Every caught error is either handled, re-raised, or logged with context.
- **Errors are specific.** Not `raise Exception("something went wrong")`
  — a named exception with the what/where/why.
- **Errors preserve context.** The error carries the request ID, the
  user, the action — enough to debug without reproducing.
- **Recovery is attempted when possible; fail fast when not.** Retry
  transient errors with backoff; fail fast on invariant violations.

## Agent-Checklist Triggers (§ Errors)

- Errors are not swallowed silently
- Errors are specific (not generic "something went wrong")
- Errors preserve context (where, when, why, what)
- Recovery is attempted when possible; fail fast when not

## How Nova Uses This

Nova's confidence signal (D-040) uses error events as one of its 6 inputs.
The error skill ensures your application's errors are structured enough to
feed the signal: specific error types, preserved context, no silent
swallows. The platform's `report_error` Lambda action (D-055) creates a
GitHub issue on the platform repo when the pipeline fails — your
application errors should be structured enough to flow through the same
path.