A candidate file fsync precedes atomic replacement of the current name; parent-directory fsync follows. The sequence emphasizes checking every result.

Fsync completes a storage request within an update protocol

A successful ordinary write(2) makes its accepted bytes available through the kernel’s file state, but does not by itself establish crash durability. fsync requests synchronization of a file’s data and associated metadata and waits for completion as reported by the storage stack. It is one operation in an update protocol. Correct ordering, checked errors, directory entries, and the storage system’s actual guarantees still matter. ...

November 27, 2026 · 5 min · XB Field Notes
Alice and Bob share one IP budget on the left, so Alice’s two admissions exhaust its limit of two and Bob is denied. On the right, separate verified-account budgets preserve Bob’s allowance. The contrast is shared network grouping versus principal grouping.

Rate limiting needs a stable client identifier

A rate-limit key defines which requests share a budget. An account, API credential, address, tenant, and authenticated session are different identities, not interchangeable spellings of “client.” Choosing the wrong grouping can punish unrelated users or let one workload obtain fresh allowance simply by changing a field. ...

October 29, 2026 · 6 min · XB Field Notes
Two overlapping failure sets each contain twenty requests. Ten requests fail both tests, so the union is thirty bad requests rather than the incorrect sum of forty.

An error budget names the failures you allow

An objective such as “99.9% reliable” is incomplete until someone can classify an observation. Reliable for which users, at which boundary, over what window, and according to which outcome? An error budget gives the permitted failures a quantity only after those questions have answers. Its first engineering task is defining the population and the good-event rule, not choosing a dashboard color. ...

September 17, 2026 · 5 min · XB Field Notes
Client and server rails with one request arrow and one return arrow; unequal one-way delay can bias offset.

Clock synchronization bounds time disagreement

Clock synchronization reduces disagreement between machines’ civil-time readings. It supports certificate validity checks, timestamp interpretation, and many expiration policies, but it does not establish a perfect global clock. A host can emit well-formatted UTC while measuring the wrong instant. Applications still need to distinguish elapsed durations, absolute deadlines, and causal ordering rather than making them all depend on raw wall-clock comparisons. ...

September 9, 2026 · 6 min · XB Field Notes
Five numbered starts lie within a 60-second bracket. The next attempt is blocked. The configured limit is a rate cap, not a lifetime retry budget.

Restart policies need a rate limit

Use an explicit service type, bounded restart behavior, and start-rate limits that leave evidence in the journal.

August 3, 2026 · 3 min · XB Field Notes
One main build, check and publish path has a bounded retry side branch and a separate return to a retained known-good release.

Reliable defaults beat clever recovery

Keep the common path explicit, observable, and safe to repeat before adding recovery branches.

July 20, 2026 · 3 min · XB Field Notes