principle of least astonishment Shipped
What this lens looks for
API and system behavior must match what callers expect; names must deliver exactly what they suggest; side effects must be obvious from the API signature; no surprise mutations on read endpoints, no silent state changes
What its verifier checks
No GET endpoints with side effects; endpoint names accurately describe their behavior; idempotent methods (GET/PUT/DELETE) are actually idempotent; no undocumented implicit state changes