The unit tests include failure injection (a sink that throws once,
timeouts, 4xx and 5xx answers), ordering invariants (a trip is
remembered only after its audit row lands) and boundary values on the
caps (5% passes, a hair over is refused). Property-based tests cover the
pure pieces, among them the renderer’s refusal to ever write a country
into an expression. Regression cases also cover a protected address
appearing after the first checks, prefix-wide profiling, an API client
outside the top user-agent rows, and an invalid allowlist range.
The labeled replay is a set of real observations from the analytics API,
with addresses summarized and none stored, each labeled by hand. A gate
test runs every case through the live detector, then tries the worst
case against it: every action the actor’s kind has a surface for, each
put through the same guardrails and renderer the tick uses. The gate is
green only if no false positive would ever execute. Because the judgment
layer can only lower a tier, code alone has to refuse every false
positive before any model answer is trusted. Sixteen cases is a small
set: enough to rule out the known false-positive classes, not to trust a
threshold’s exact value, which is why the detector’s ceilings and the
guardrails carry the safety, and the set grows with each new labeled
wave.
A drill command first checks, with no write, that one action would clear
every guardrail, the renderer’s refusals and a length margin. It can then
apply a one-hour challenge on a made-up browser string that nobody
sends, through the worker’s own executor, revoke it, and confirm the rule
is back to its before-state byte for byte. Before enforcement was first
allowed, the service ran a full day in shadow in production and I read
its “would have done” records; the evidence gate above is what first
turned enforcement on. After every change I read the audit rows, the
edge’s firewall events (challenges issued against challenges solved, by
browser version, network and country, with my own networks read
separately) and the human baseline from web analytics, hour by hour
across the change.