# 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.