---ci--- project: atelier phase: 7 milestone: v0.1 status: complete phase_role: final milestone_complete: true requirements: covered: [ATELIER-01, ATELIER-02, ATELIER-03, ATELIER-04, ATELIER-05, ATELIER-06, ATELIER-07, ATELIER-08, ATELIER-09, ATELIER-10, ATELIER-11, ATELIER-12, ATELIER-13, ATELIER-14, ATELIER-15, ATELIER-16, ATELIER-17, ATELIER-18, ATELIER-19, ATELIER-20, ATELIER-21, ATELIER-22, ATELIER-23, ATELIER-24, ATELIER-25, ATELIER-26, ATELIER-27, ATELIER-28, ATELIER-29, ATELIER-30, ATELIER-31, ATELIER-32, ATELIER-33, ATELIER-34, ATELIER-35] partial: [] ship: milestone: v0.1 type: NFR tag: v0.0.7 merge: milestone/v0.1-atelier -> main release: https://git.cloudinit.dev/cloudinit-bot/atelier/releases/tag/v0.0.7 ---/ci--- Milestone v0.1 — Initial Framework (NFR, complete). 8 core principles (C1-C8), 11 domains, 110 domain principles, 27 derived docs, 4 good + 3 bad examples, 4 language docs, full matrix, 3 review docs. All 35 requirements covered. 7 patches (v0.0.0 pre-execution through v0.0.7 final). v0.0.7 IS the v0.1.0 milestone release.
1.3 KiB
Observability — First Principles
1. The Principles
P1. Structured by Default
Logs, metrics, and traces are structured. Free-form text is for humans; machines need fields.
P2. Correlation
Every event is traceable to a request, a user, an action, a trace ID. Context flows through the system.
P3. Sufficient Context
The information needed to debug is in the event itself, not in tribal knowledge. "What was the user doing?" is answerable from logs.
P4. Cardinality Discipline
Labels and tags have bounded cardinality. Unbounded labels are an unbounded bill.
P5. Sampling with Intent
Sampling is deliberate, documented, and consistent. Head-based, tail-based, or none — chosen with reason.
P6. No Secrets in Observability
Observability data is not a secrets channel. Tokens, passwords, and PII do not enter logs, metrics, or traces.
P7. Actionable Alerts
Alerts are for things humans must act on. Every alert has a runbook. Alert fatigue is a defect.
P8. SLI/SLO Awareness
"Good enough" is defined. SLOs are targets, not aspirations. Error budgets are real.
P9. Cost Awareness
Observability has a cost — storage, compute, attention. Spend it on what earns it.
P10. Debuggability Over Coverage
A few high-cardinality traces beat millions of low-context logs. Signal beats volume.