fixed window length, milliseconds.
max requests permitted per resolved key within the window.
the key STRATEGY (the runtime derives the concrete key). "ip" is the faithful default.
Optionalscopeoptional sub-bucket name — lets two operations share or separate a budget (advisory).
Optionaldescription
RATE-LIMIT facet shape (saastarter-parity Phase 0): the per-operation rate budget an operation DECLARES. Orthogonal to the NORMATIVE spec, which holds rate-limiting out-of-scope (C012 / frontier #43, ceiling 0.74): like
x-suluk-cost/access/sourcethis is a vendor extension in thex-suluk-*namespace, never a normative OAS construct. Advisory only — the facet declares the budget; the middleware enforces it.windowMs+maxRequestsare the fixed-window budget, ported from saastarter'scheckRateLimitopts (src/lib/effect/rate-limit.ts:16-19).keyis the declared key STRATEGY the runtime resolves a concrete key from: only"ip"is saastarter-faithful (it keys by a resolved IP);"principal"/"api-key"/"global"are ORIGINATED extensions (honestly-low ceiling —"principal"keying is gated on the Principal-model decision, roadmap Open-Decision #5, so the Phase-0 middleware implements only"ip"+ a caller-supplied override).