2026-08-08 — DeliverySettings
The kernel gains a fourth thing an application can configure: how hard it tries when it posts to a service it does not control.
What was added
| Symbol | Where |
|---|---|
DeliverySettings |
types/DeliverySettings.ts, exported |
SystemConfiguration.delivery |
types/SystemConfiguration.ts |
systemDefaults.delivery |
constants/Defaults.ts |
export interface DeliverySettings {
timeoutMs: number
retries: number
retryBackoffMs: number
userAgent: string
}
Defaults: ten seconds an attempt, two retries, a backoff doubling from 250 ms, and a deliberately generic app as the
user agent — the same placeholder discipline logging.service follows, so an un-overridden deployment reads as
unconfigured to whoever is looking at the far end's access log.
Why here rather than in an adapter
It came from an application that had been carrying it in a vendored copy of the pre-extraction core/. The question on
the way up was which package it belonged to, and the answer is the same test everything else in this package passes: it
names no vendor, no runtime, and no HTTP framework. A timeout, a retry count, a backoff, and an identity to send are the
same four decisions on any runtime that can make an outbound request — Cloudflare has nothing to say about any of them.
Nothing in this package reads it. That is not an oversight: this package publishes the shape and the default, and the application that actually posts is where the policy is applied.
Compatibility
SystemConfiguration gains a required member, so anything constructing the surface by hand rather than spreading
systemDefaults will fail to type-check until it supplies delivery. Spreading systemDefaults — which is what the
boilerplate and every application forked from it does — is unaffected.
Released as 1.1.0.