SLO, freshness, and capacity budgets
The Public API now has numeric product SLOs, strong If-Match on mutable writes, and admission budgets before provider signing.
- Targets are availability ≥99.9%, latency p95 ≤2000 ms, catalog p95 ≤15 s, search index p95 ≤1800 s, RPO ≤24 h, and RTO ≤4 h; warning/critical alerts fire before breach.
- Mod and ModVersion PATCH require strong If-Match and return a new ETag. Missing returns 428; malformed, weak, wildcard, or list values return 412 without mutation; a valid stale value returns 412 with the current ETag. Retained SDKs preserve Problem Details and status.
- Multipart now defaults to 16 MiB × 4 after a live R2 capacity probe. Primary and fallback download admission require authoritative size and enforce actor/client concurrency plus byte buckets before expensive signing; leases recover after failure or expiry.