Files
atelier/domains/performance/first-principles.md
T
Jon Chery 496303471d docs(milestone): complete v0.1 — initial framework
---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.
2026-08-05 00:36:55 +00:00

1.1 KiB

Performance — First Principles

1. The Principles

P1. Measure First

No optimization without measurement. Intuition about performance is usually wrong.

P2. Critical Path Focus

Optimize what users actually wait for. The 95th percentile matters more than the average.

P3. Complexity Awareness

Algorithmic cost is known. Big-O is a design conversation, not an afterthought.

P4. Resource Bounds

Memory, CPU, I/O, network — all bounded. Unbounded growth is a bug.

P5. Caching with Intent

Cache what is expensive, stable, and read often. Invalidation is designed, not bolted on.

P6. Lazy by Default

Compute only when needed. Pay only for what is used.

P7. Async When Independent

Work that does not depend on other work runs in parallel.

P8. Budget Discipline

Performance is a design constraint. The budget is set, not negotiated after the fact.

P9. Perceived Performance

What the user feels is what matters. A 200ms perceived response beats a 50ms measured one with no feedback.

P10. Regression Prevention

Performance tests catch what functional tests miss. The slow path is tested as a path.