The floor that never fired

Asked as: how do you know a check that never fails is working

A guard set at 0.90 never fired in years of use. Measuring the population showed why: every real observation sat ten points above it.

A guard in my own codebase was set at 0.90 and had never once fired. I took that as evidence the thing it guarded was healthy. It was evidence of nothing, and finding out why produced a better artifact than the guard ever was.

I call the shape a Silent Guard: a check that has never failed, whose silence gets read as validation, when the threshold may simply sit where nothing real could cross it.

What the guard does

Two time series are only comparable where they share a clock. The check measures retention — each series’ share of observations that survive the intersection with another — and refuses to compute a relationship when too few survive.

One detail matters more than it looks. Retention is measured inside the overlapping span, so a series with a shorter history is not punished for starting late. The artifact carries the receipt for why: across the seven CFTC contract books, two begin sixteen years after the other five, and a naive len(common) / len(all) reads 0.191977 on the long legs. Span-restricted, the same comparison reads 1.0. The naive number is not a finding about the data; it is an artefact of the question.

What the measurement showed

Across 378 combinations of 28 FX series:

retention
minimum0.999606
1st percentile0.999646
median0.999869
maximum0.99998

The tightest pair in the entire population is EURJPY~GBPCAD, and it retains 99.96% of its observations. The artifact’s own note: one clock, one corpus — the residual is genuine per-pair gaps, not grid disagreement.

So the guard at 0.90 sat more than ten percentage points below the worst thing that has ever happened. Its silence was structural.

And the consequence is sharper than “the threshold was loose”. A guard at 0.90 can catch a catastrophic mismatch. It cannot catch a partial one — a half-shared grid at 0.92, a badly gapped leg — which is the failure actually worth catching, because a catastrophic mismatch announces itself in a dozen other ways first.

Where the new floor came from

0.99, and it was placed between two measured populations rather than chosen.

The legitimate side is the table above: minimum 0.999606.

The banned side had to be computed too, from deliberately broken constructions — the other population a floor must sit above:

designed-to-fail constructionretention
grids offset by half a period0.0
a daily grid read against an hourly one0.0421
an eight-hour session against 24-hour FX0.3344

The third is the near-miss and the one that does the work: it is the least broken thing the guard must still reject, and it retains a third of its observations. A floor has to sit above that and below 0.999606, and 0.99 does, with room for a series whose gap rate is an order of magnitude worse than anything currently on disk.

The artifact also carries the rule for moving it again: lowering the floor requires a new measurement showing a legitimate population beneath it, recorded in the file. In its own words — it is not a tuning knob.

The exclusion, published rather than assumed

Three instruments sit on the same disk and are not governed by this floor: XAGUSD, XAUUSD, XTIUSD. Metals and oil keep different sessions from spot FX, so pooling them into an FX grid measures the session difference and reports it as a grid mismatch.

Excluding them is defensible. Excluding them silently would not be, so the artifact measures what the exclusion is worth: pooled, the population becomes 465 combinations with a minimum of 0.944352 — beneath the floor itself.

That number exists for a specific reason, stated in the file: so a future series landing on disk cannot be absorbed without the count changing. Which is exactly what nearly happened. An earlier version of this calibration recorded n_pairs: 28 and never named them, so a re-derivation read whatever was on disk — and by then the metals had landed. Unpinned, the floor would have quietly begun governing a population it was never derived for.

The cure is the population pin: every one of the 28 series named in the artifact with its bar count and its content hash. Not the pair list, which matched while the retentions moved in the sixth decimal, and not the date span, which was stable across every cutoff. The corpus interior had changed, and only hashing the inputs catches that.

What this does not establish

The result is a calibration, not a registered hypothesis — and that difference is the reason this page reads the way it does. Elsewhere on this site, measurements are pre-registered before the first tick. A floor is not a hypothesis and was never a candidate for pre-registration: it is derived from measurement, and what gets published is the derivation. That is a category difference, not a weaker standard, and the derivation is on disk where a frozen declaration would not be.

The floor governs one corpus on one clock. It says nothing about whether either series is a faithful record of the market, and retention is a statement about shared timestamps — never about economic relationship. Two series can share every observation and be unrelated.

And the honest limit on the guard itself: because it was never approached, it has never caught anything. Raising it to 0.99 makes it capable of catching a partial mismatch. It has not yet done so, and a guard that has not fired is exactly what this page is about.

Check it

The file is downloadable and its hash is published beside it. --verify re-runs the derivation from the pinned inputs and compares; it exits zero today. If your copy hashes differently, or your recomputation disagrees, send it — a correction with a receipt gets published as a correction, with the original left legible beside it.

The artifact

SHA256: 9d44fcb56310822ca1469fa85491fe82efb4ab787c9e38b07cb72824623922c2

Download dataset

Claims examined

Claim 01§ claim-751186d0

The check has never failed, so the thing it checks must be fine.

My reading: Misleading

My own guard sat at 0.90 and had never fired. I read that as validation. Then I measured the population it governs: across three hundred and seventy-eight combinations the minimum observation was 0.999606 — better than ten percentage points clear of the line. So the silence carried no information about the data at all. Worse, it bounded what the guard could ever do: at 0.90 it could catch a catastrophic mismatch and nothing else. A series at 0.92 — a partially shared grid, or a badly gapped leg — would have passed without comment. The guard was not wrong; it was set where being wrong was impossible.

Claim 02§ claim-b2753543

So raise the threshold until it starts catching things.

My reading: False

Tuning a threshold until it produces failures is how you get a check calibrated to your own impatience. The floor moved to 0.99 because two populations were measured, not one. The legitimate side: 378 same-grid combinations, minimum 0.999606. The banned side: three deliberately broken constructions, the tightest of which retains 0.3344. The new floor sits below every real observation with room for a series an order of magnitude worse than anything on disk, and far above the least-broken thing the guard is supposed to reject. The file also records the rule that lowering it again requires a new measurement showing a legitimate population beneath it — in its own words, it is not a tuning knob.

Claim 03§ claim-9e94e0eb

You excluded the data that would have broken it.

My reading: True

The objection is true, and the exclusion is published rather than assumed. Metals and oil keep different sessions from spot FX, so pooling them into an FX grid measures the session difference and calls it a grid mismatch. The artifact carries the held-out class by name — XAGUSD, XAUUSD, XTIUSD — and the measured consequence of including them: 465 combinations, minimum 0.944352. That is beneath the 0.99 floor, so an unpinned re-derivation that silently absorbed them would have had the calibration governing a population it was never derived for. The file states its purpose plainly: the pooled figure is recorded so a reader can see what the exclusion is worth, and so a future series landing on disk cannot be absorbed without the count changing.

Each claim above has a permanent address — the § link — whose canonical home is the refutation index, where it carries its variant phrasings and the true proposition stated on its own feet; this article is the evidence behind it. If a claim's text ever changes, it becomes a new claim at a new address, and the old one stops resolving rather than silently meaning something else.

Cite This Article

Hadal Research. (2026). The floor that never fired. Hadal Research. https://hadalinstruments.com/research/the-floor-that-never-fired/ (SHA-256: 9d44fcb56310822ca1469fa85491fe82efb4ab787c9e38b07cb72824623922c2) Version 5762f56, 2026-08-29.

Version 5762f56 identifies the commit that last changed this page in Hadal's content repository. That repository is not public, so the identifier does not resolve externally — it is published so a citation pins one specific state rather than a moving page. To obtain the exact version cited, use the press and research route.

Explore further

Research

All Hadal researchThis article as plain markdown

---