โ€บNavigation

โ† Audits

Worst-of-N basis, grid, and probe read-path

HALTED2026-07-30

Someone checked whether the 0.50 pass mark used to judge candidate features still means what it meant when it was set, and found it was calibrated against a different measurement than the one it now governs โ€” so far apart that the very feature chosen to represent "definitely orthogonal" scores as a near-duplicate under the live rule.

Why it carries this status

Lifecycle, not result. This says where the audit sits in its process โ€” never whether what it found was good.

CLAUDE.md:3 โ€” "**Status:** Phase 1 measured (VOID on 4 real units of 1,924) ยท read-path gap closed and gated ยท" ยท CLAUDE.md:69 โ€” "| 1 | 2 of 62 cells hit **Code 241 at 5 GiB** on the full-width read โ€” production's own path | **Operator** |"
findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/CLAUDE.md

2026-08-17. Derived from folder evidence, then adversarially challenged; the challenge pass was upheld.

Blocked on Operator โ€” two named decisions: what to do about the 2 of 62 cells that exhaust the 5 GiB envelope (chunked-column fallback versus raising the envelope), and whether the comparison panel should keep the intra_* near-siblings of the anchor features. Phases 2โ€“4 are planned but not started, and any change to the 0.50 line needs its own pre-registration and sign-off.

The verdict

The audit's own conclusion, reproduced in full from the source below. Not a summary โ€” this is the document, rendered. Links inside it that point at unpublished files are shown as plain text rather than as links that would 404 here.

Verdict โ€” plain English

What we set out to check

Whether the pass mark used to judge candidate features (0.50) means today what it meant when it was set. It does not, and the reason is not what anyone expected.

What we found

The pass mark was set by measuring one thing. The probe measures another.

The feature chosen to represent "definitely orthogonal" โ€” kyle_lambda_proxy โ€” was scored 0.494 against one specific partner. The pass mark was then placed at 0.50, just above it.

But the live probe does not score a feature against one partner. It scores it against 112 columns and keeps the worst. Under that rule the same feature reads 0.9996 โ€” a near-perfect duplicate. Its worst partner is intra_kyle_lambda, essentially the same quantity computed a second way.

So the feature that defines the pass mark would fail it. Not on one cell โ€” on all 60 we could read.

What is reassuring

  • The original declaration was done correctly. We reproduced its number to within 0.0005, on the same worst cell it recorded. It was not sloppy work.
  • The maths engine is fine. We suspected the estimator had drifted after being replaced. It has not โ€” old and new agree to four decimal places. That worry is retired.
  • Nothing was tuned to make this come out. No threshold moved. Every constant is untouched.

What went wrong, and why it kept going wrong

Four things drifted apart after the pass mark was set, and nothing was comparing them:

DriftedEffect on the number
The estimator was replacednone โ€” measured 0.0000
The table filled with duplicate rows (someone else's writer)โˆ’0.25
The grid shrank from 620 slices to 62 cellsโˆ’0.08
The rule changed from "one partner" to "worst of 112"+0.59

Only the last one really matters, and it is the one nobody had measured.

Two things are wrong with the instrument, today

  1. Two cells cannot be read at all โ€” they run out of memory. That is the probe's own production read path, so the live probe cannot read them either.
  2. When a cell fails, it is dropped silently โ€” and dropping a cell always improves the score, because the score is a worst-of. The code comments claim a guard against this. There isn't one.

Together those mean a bad day on the database can turn a fail into a pass, and nothing in the output would show it.

The legacy probe โ€” separately, and better news

It uses Spearman correlation and h_norm. No Chatterjee ฮพ. No Rยฒ. So essentially none of the above applies to it. We also verified its tie handling matches the textbook implementation exactly, which closes a question that had been open and unresearched.

It is usable and its numbers are believable. It has one measured bias (it counts "moves with price" as redundancy, inflating scores by up to +0.42), two things nobody has measured, and the same silent-cell-dropping hygiene problem.

It runs in 1.5โ€“5 hours depending on parallelism, uses 420 MB, and a lab is built and verified. There is currently no valid legacy baseline at all โ€” every previous result predates the fix that halved its data โ€” so a run produces something that does not exist today.

Honest about our own mistakes

  • Two of our own harnesses reported success having done nothing. Both were caught by guards we had added for exactly that reason, and both are recorded rather than quietly fixed.
  • We deviated from our own frozen plan by using the wrong estimator on one leg. That deviation is appended to the frozen document, not edited into it.
  • Two of five predictions were badly wrong โ€” one by a factor of twenty, and one reversed direction entirely. The reversal is the most important result here.

What we are not saying

We are not saying the pass mark is wrong and should move. We are saying it was calibrated against a different measurement than the one it now governs, and by how much. Choosing what to do about that is a decision, not a bug fix, and it needs pre-registration and sign-off.

source: findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/verdict.md

Still owed 10

What it claims, and what backs each claim 19

Every row pairs a claim with the file it came from and the verbatim text in that file. The sources sit above the deploy root, so the quote is embedded and the path is printed as text rather than linked โ€” a link would resolve on a laptop and 404 here.

ClaimEvidence
The 0.50 pass mark was set by measuring one statistic and is applied to another; the total gap between the two bases is about half the scale of the statistic itself.
MEASURED
NET +0.5065, 95% CI [+0.5065, +0.5124], bootstrap over cells with 2,000 draws; anchor pair kyle_lambda_proxy|ofi; 1,924 measured units across 5 legs
| **`NET`** (production vs declaration basis) | **+0.5065** | [+0.5065, +0.5124] |
findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/RESULTS.md
The axis the author proposed and predicted would dominate โ€” the replaced ฮพ estimator โ€” is exactly null, so that worry is retired.
REFUTED
estimator_offset โˆ’0.0000 (raw โˆ’7e-06), CI [โˆ’0.0001, +0.0000], against a pre-registered prediction of +0.20โ€ฆ+0.25; xicorpy and the XICOR-pinned kernel agree to four decimals on 600 units
| `estimator_offset` | **โˆ’0.0000** | [โˆ’0.0001, +0.0000] |
findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/RESULTS.md
Of the four axes that drifted apart after the line was set, only the change from one comparison partner to the worst of 112 panel columns matters.
MEASURED
estimator โˆ’0.0000; substrate โˆ’0.2507 [โˆ’0.2564, โˆ’0.2486]; cell-count โˆ’0.0793 [โˆ’0.1041, โˆ’0.0737]; panel-width +0.5858 [+0.5858, +0.6106]
| `panel_axis_offset` | **+0.5858** | [+0.5858, +0.6106] |
findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/RESULTS.md
The original declaration is reproducible: reading the substrate as it logically is recovers its number to within 0.0005 on the exact cell it recorded.
CONFIRMED
R0ded 0.4931 vs declared 0.4936, difference 0.0005; worst cell BNBUSDT@100 matching the declaration's crypto|BNBUSDT|100|S07; grid reproduces at 600 units matching the declaration's breadth 0/600
**`R0ded = 0.4931` against a declared `0.4936`.** Difference **0.0005**, worst cell **`BNBUSDT@100`**
findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/RESULTS.md
The feature used to define "definitely orthogonal" fails the line it was used to set, under production's own rule, on every cell that could be read.
MEASURED
kyle_lambda_proxy: 0.494 declared against its fixed pair vs 0.9996 as the median across all 60 readable cells under max-over-112-columns; worst partner intra_kyle_lambda; the same holds for ofi against intra_ofi
| Production rule (max over 112 panel columns) | **0.9996 โ†’ BAN** |
findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/RESULTS.md
Two of the five pre-registered predictions were badly wrong, and the reversal of the most consequential one is the audit's main result.
REFUTED
prediction 2 (estimator +0.20โ€ฆ+0.25) measured โˆ’0.0000; prediction 4 (panel +0.01โ€ฆ+0.03) measured +0.5858, wrong by ~20ร—; prediction 5 (NET negative) measured +0.5065
| 5 | `NET` **negative** (production more permissive) | **+0.5065** โ€” the reversal | โŒ **wrong, and it matters most** |
findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/RESULTS.md
The run is formally void because three pre-registered falsifiers fired, but only 4 of 1,924 units are real failures โ€” the rest are a mis-specified falsifier and 20 legitimately empty pre-listing units.
CONFIRMED
F0, F3 and F4 fired; 24 unreadable units recorded, of which 20 are SUIUSDT pre-listing (the same 20 the declaration dropped to reach n=600) and 4 are real: LTCUSDT@100 and SOLUSDT@100 on legs C and D
"verdict": "VOID"
findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/harness/basis_offset_evidence.json
Two of the 62 production cells cannot be read at all at the 5 GiB envelope, and because the harness reuses production's own fetch, the live probe cannot read them either.
CONFIRMED
2 of 62 cells, 4 units total, ClickHouse Code 241 (out of memory) at max_memory_usage = 5,368,709,120 on the full-width read
| `F3/F4` **Code 241 at 5 GiB** | 4 | **YES** โ€” `LTCUSDT@100`, `SOLUSDT@100`, legs C and D |
findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/RESULTS.md
When a cell fails it is dropped silently, and on a worst-of statistic a dropped cell can only improve the score โ€” the guard the code's own comment claims does not exist.
CONFIRMED
1 missing gate (aggregate_worst_cell raises only on grounded == 0) plus 3 `except Exception` skip handlers
| 2 | `aggregate_worst_cell` has **no `n_grounded` gate** despite its comment at `:249` claiming one; 3 skip handlers drop cells silently, and dropping only *improves* a worst-of score | Mechanical, Phase 3 |
findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/CLAUDE.md
All four ClickHouse call sites were rerouted through the shared concurrency limiter and the change was gated, with the payload asserted unmoved.
ASSERTED
4 call sites rerouted; the committed ch_routing_gate_evidence.json is the hermetic run ("live": false) carrying 2 legs โ€” 33 modules scanned with 0 offenders and 11 negative-control statements all behaving as expected; the 4-leg bigblack byte-identity leg PROVENANCE describes is not in the committed file
| `ch_routing_gate_evidence.json` | That the 2026-07-30 read-path change moved **no payload** (sha256 identical, both call shapes) | That the *old* path was safe. It was not โ€” it never passed `--readonly=2` |
findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/PROVENANCE.md
The measurement does not cover the difference between shipped columns and candidate kernels, so the headline offset must not be read as what a candidate kernel would experience.
OPEN
every leg reads shipped columns at n โ‰ค 8,000; production scores candidate kernels over rolling WIN=200/STRIDE=20 value rows at n โ‰ˆ 3,990
**The kernel-vs-column axis is untested.** `NET` does not cover it. Do not read `+0.5065` as the
findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/RESULTS.md
The legacy probe computes none of the statistics the ฮพ defect family concerns, so almost none of the campaign's accumulated defect list applies to it.
CONFIRMED
ฮพ: 0 uses in legacy vs 24 in rotation; Rยฒ/leave-one-out: 0 occurrences; 9 of 9 listed ฮพ-family defects marked inapplicable
| **Chatterjee ฮพ** | **NO** | 3 occurrences, all *comments* about convergence floors. **Zero uses.** (rotation: 24) |
findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/LEGACY-PROBE-USABILITY.md
Legacy's tie handling was verified against the textbook implementation rather than assumed, closing a question that had been open and unresearched.
CONFIRMED
legacy 0.943005439676 vs scipy spearmanr 0.943005439676 on a heavy-ties case โ€” identical; resolves campaign item L-4
legacy df.rank(method="average").corr("pearson") = 0.943005439676
findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/LEGACY-PROBE-USABILITY.md
Legacy's own measured bias is that it counts "moves with price" as redundancy, and it shares the silent-cell-dropping hygiene defect.
MEASURED
+0.42 inflation (0.357 โ†’ 0.776) on an unrelated trending candidate; legacy's measured null floor for worst |ฯ| over 7 columns has p95 0.1106 against the 0.85 WATCH line, 7.7ร— headroom, 400/400 PASS with a positive control that fired at 0.9925
| **1** | Price levels **are** in the comparison panel | **Measured**: inflates an unrelated trending candidate's ฯ by **+0.42** (0.357 โ†’ 0.776) | Real. Direction known.
findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/LEGACY-PROBE-USABILITY.md
The legacy probe was rebuilt in a lab and measured end to end: it is runnable within the envelope, and memory is not the constraint.
MEASURED
grid 21 (symbol, threshold) ร— 21 slices = 441 cells; 115 comparison columns, 33 candidates; 23 s per light cell to ~40 s for BTCUSDT; ~3โ€“5 h sequential, ~1.5โ€“2.5 h at 2 concurrent; peak client RSS 420 MB against a 5 GiB cap; no Code 241 across 13 cells
| **Full grid, 2 concurrent** | **~1.5โ€“2.5 h** (the limiter permits 2 in flight) |
findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/LEGACY-PROBE-USABILITY.md
No valid legacy baseline exists today, because every recorded legacy result predates the fix that halved its row count.
CONFIRMED
all prior legacy results predate PR #674, which removed 2ร— duplicate rows
There is currently **no valid legacy baseline at all** โ€” every previous result predates the fix that
findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/verdict.md
The execution envelope was confirmed by the server rather than trusted from a file, and the harness refuses to issue a query without that confirmation.
CONFIRMED
max_memory_usage 5,368,709,120 (5 GiB) server-observed; max_threads 2 (caller asked 32); readonly 2 (DDL refused, Code 164); client cgroup MemoryMax=5G, CPUQuota=300%; โ‰ค2 queries in flight
| `max_threads` | 2 | **server-observed**, E3 + E4 (caller asked 32, server reported 2) |
findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/PROVENANCE.md
The audit records its own failures rather than fixing them quietly: two harnesses reported success having done nothing, and one leg deviated from the frozen plan by using the wrong estimator.
CONFIRMED
2 self-caught harness bugs (a leg-name typo that ran nothing while printing OK; a worktree filter that excluded every file it was meant to scan while reporting no offenders); 1 pre-registration deviation appended as a DEVIATION section, never merged into the frozen text
**Two harness bugs were caught by the harness's own guards**, and both are recorded rather than
findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/PROVENANCE.md
Nothing was tuned: no band, threshold, dial, tolerance or percentile moved, and the audit supersedes no prior declaration.
CONFIRMED
XI_PASS_HI unchanged at 0.50; 0 constants altered
No band, threshold, dial, tolerance or percentile moved. `XI_PASS_HI` is still 0.50.
findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/CLAUDE.md

The audit folder 6 markdown files

Source of record: findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/ โ€” not published, so these are listed rather than linked.

FileRole
00-PRE-REGISTRATION.mdPhase-1 pre-registration frozen at commit e3a08ff1 before the first read โ€” legs, inherited constants, falsifiers F0โ€“F5, recorded predictions; one DEVIATION appended after the fact, never merged in.
CLAUDE.mdAudit hub: status line, why the audit exists, the headline, contents map, what landed as code, and the six open items in priority order.
LEGACY-PROBE-USABILITY.mdSeparate assessment of the legacy orthogonality probe: what it computes, which defects do not apply to it, what remains, measured runtime/memory, and the bottom-line usability table.
PROVENANCE.mdArtifact โ†’ command โ†’ host index, the server-verified execution envelope, reproduction and lab-rebuild instructions with three traps, what each artifact does and does not license, the VOID breakdown, and the commit trail.
RESULTS.mdThe five-leg ladder with offsets and bootstrap CIs, the reproduction of the declaration, the four predictions (two badly wrong), the finding, the unmeasured axis, and the run status.
verdict.mdPlain-English conclusions: what was checked, what was found, what is reassuring, the four drifts, the two live instrument defects, the legacy verdict, and an honest list of the audit's own mistakes.
Generated by findings/dashboard/build_audits.py from findings/evolution/audits/2026-07-30-worst-of-n-basis-and-grid/AUDIT_LEDGER.json โ€” never hand-edited. Each quote was verified to occur in the file named beside it when the ledger was written.