observability
Observability
The goal is explainability. The evidence needed to explain a production
outcome exists, and a fresh investigator can find it. The investigator did not
write the code. Without the author's memory and without reading the source, they
must establish three things: what happened, whom it affected, and what separated
the failed work from the work that succeeded. Load references/vocabulary.md
when you define an SLI or SLO, or choose among metrics, records, and traces.
Every record is structured
Use the project's existing logger; do not add a second one. If there is none, use the language's standard structured logger, writing JSON to stdout or stderr. Never write an unstructured log line: interpolated values are data thrown away. A record has a literal event name, typed fields, a time, and a severity. Fix each field's meaning, type, and unit across the codebase.