Navigation

← Audits

Regime-invariant orthogonality — campaign hub

HALTED2026-07-22

This umbrella folder renames the project's whole feature-selection direction — a feature counts as genuinely new information only if it keeps its meaning as market conditions change, not merely because it looks unrelated today — and its one live piece of new work, a 120-candidate hunt for liquidity and fragility measures, was stopped by the operator with none of the 120 judged, because eighteen attempts to run the judging machinery kept turning up problems in the machinery itself.

Why it carries this status

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

It was stopped by the operator with **0 of 120 decided**, after the campaign was declared NOT OPERATIONAL. Recorded plainly so the ledger shows how the loop ended rather than implying it completed.
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/evaluation/LEDGER.md

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

Blocked on Operator (nasimubd). Three things are named as awaiting a decision: §8 of CAMPAIGN-STATUS-NOT-OPERATIONAL.md (repair the harness vs. stop and run a single throwaway one-candidate pilot), A17 (replace the positive-control anchor that measures 0.887 rank / 0.960 Pearson with its own target), and A19 (whether the block length should be pre-certified at all). Resuming additionally requires lifting the stop banner in LOOP-PROMPT.md. D45 (appended 2026-08-14) separately needs an operator ruling plus an amendment. The hub's own verdict.md also asks the operator to confirm the alignment statement before the campaign is made live.

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 + Alignment — Regime-Invariant Orthogonality campaign (2026-07-22)

Alignment statement — what we are trying to do (please confirm)

> We are building a new way of finding orthogonal features for financial time-series forecasting: instead of calling a feature "orthogonal" because it is uncorrelated with the shipped set today, we call it orthogonal only if it stays non-redundant AND keeps its predictive meaning across market regimes. Correlation becomes the cheap BAN hygiene screen; regime-invariance becomes the ORTHOGONAL ship-bar. We ground this along two axes — Axis 1 (OOD-Robust, already grounded) and Axis 2 (Cascade-Free / liquidity+crowding, being grounded now) — and the eventual goal is features that support strategies that are simultaneously OOD-robust and liquid/cascade-free.

If that paragraph is right, we are aligned. If any word is off, correct it before we make the campaign live.

Where the campaign stands

PieceStatus
Paradigm (regime-invariance, not correlation)Grounded (2026-05-26 forward-predictiveness: persistence 94–95%, flip-AUC 0.88–0.95, ICP 0/92 ceiling)
Graders (23 matrices, BAN/WATCH/ORTHOGONAL)Grounded (2026-07-02 matrix-admission; 2026-07-04 harvest)
Live engine ADRProposed (2026-07-15; docs-only)
Axis 1 · OOD-RobustGrounded — regime-invariance / IV instruments
Axis 2 · Cascade-FreeKickoff — harvest loop + seed catalog scaffolded; nothing evaluated
Realness / usefulness bridge (tradeability)Separate session (out of scope here)

Bottom line

The paradigm and Axis 1 are grounded; the 23-matrix engine and its live-declaration ADR exist. Axis 2 is the open surface — the liquidity/crowding half that makes the "liquid, cascade-free" goal reachable, and it is only scaffolded. Next: run the Axis-2 harvest to saturation, filter to spot-legal + FOSS, then a read-only leakage-gated pilot.

Honest limits carried into every claim

  • Every ORTHOGONAL verdict is regime-scoped (ICP 0/92) — never "forever".
  • Axis 2 is bound by the spot-only policy (principle #8): funding/OI/liquidations are derivatives → out of scope; spot-legal proxies only.
  • No numbers are produced here — the grounded figures are carried from prior audits, not re-measured.

Explicit non-goals of this consolidation

  • Not moving or editing the prior constituent audits (they stay append-only; CAMPAIGN-MAP.md links them).
  • Not grounding realness/usefulness (separate session).
  • Not touching production / ClickHouse; not deploying to the dashboard until aligned + given the go.
source: findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/verdict.md

Still owed 16

What it claims, and what backs each claim 29

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 campaign's organising idea is to judge a feature's orthogonality by whether it stays non-redundant across market regimes, with plain correlation demoted to a cheap hygiene screen.
ASSERTED
**A new way of finding orthogonal features in financial time series: evaluate orthogonality by REGIME INVARIANCE, not correlation.**
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/CLAUDE.md
The hub declares itself a live umbrella, not a finished piece of work: Axis 1 is carried over as grounded, Axis 2 is only scaffolded, and nothing has been ratified, wired, or deployed.
ASSERTED
**Status:** **CAMPAIGN HUB / LIVE UMBRELLA.** Consolidates the whole arc (2026-05-08 → today) under one paradigm and houses all new work on this direction. **Axis 1 grounded; Axis 2 kickoff scaffolded (no feature/matrix evaluated); realness bridge in a separate session.** Nothing ratified, wired, or deployed.
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/CLAUDE.md
No number in this folder was measured here — every quantitative figure is carried in from earlier audits.
ASSERTED
- **No numbers are produced here** — the grounded figures are carried from prior audits, not re-measured.
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/verdict.md
The carried-in evidence for the paradigm: features judged orthogonal today stay orthogonal into the next regime 94–95% of the time, flip-vs-hold ranking scores AUC 0.88–0.95, and a null that wrongly assumes independent samples raises false alarms at 11–57% on autocorrelated bars.
ASSERTED
persistence 94–95%; flip-AUC 0.88–0.95; independence-assuming null false-alarm 11–57%; 8 instruments killed — all carried from the 2026-05-26 audit, not re-measured here
It is a **forward filter**, not a snapshot: features orthogonal today persist **94–95%** into the next regime; flip-vs-hold ranking scores **AUC 0.88–0.95**. Non-negotiable spine: every live null must be **dependence-aware** (an independence-assuming null false-alarms at **11–57%** on autocorrelated bars — it killed 8 instruments).
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/CLAUDE.md
The campaign states an explicit ceiling: no feature can be certified orthogonal in every future regime — 0 of 92 instruments achieved unconditional invariance — so every verdict is scoped to a named regime.
ASSERTED
ICP 0/92 (n=92 instruments); ~8/10 structural — carried from 2026-05-26
**Honest ceiling (measured, not assumed):** unconditional "orthogonal in any future regime" is provably impossible — `ICP 0/92`, ~8/10 structural. Every verdict is **regime-scoped** ("orthogonal in regime R"), never "forever".
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/CLAUDE.md
Axis 1 (which way price moves, robustly across regimes) is not re-done here — the spoke is only a pointer to the already-grounded 2026-05-26 work.
ASSERTED
**Status: GROUNDED.** Axis 1 is the regime-invariance leg of the paradigm and is already established. It is **not** re-done here; this spoke is a pointer so the two-axis structure is visible in one place.
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-1-ood-robust/README.md
Axis 2 (liquidity, crowding, fragility) is the open half, scaffolded only — a harvest loop and seed catalogue with nothing evaluated.
ASSERTED
**Status: KICKOFF / SCAFFOLD.** Harvest loop + seed catalog pre-registered; **nothing evaluated yet.**
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/README.md
Six harvest iterations grew the Axis-2 catalogue from 16 seeds to 120 spot-legal candidate measures plus 7 flagged out of scope under the spot-only policy.
MEASURED
120 spot-legal/adaptable candidates + 7 out-of-scope, over 6 harvest iterations (seed 16 + 3 derivatives-flagged)
**Running total after iter 6: 120 spot-legal/adaptable candidates + 7 out-of-scope.**
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/CANDIDATE-CATALOG.md
The harvest loop never reached its own declared saturation condition — no SATURATED row was ever appended, and iteration 6 still returned 19 new candidates.
CONFIRMED
6 iterations logged (iters 0–6); zero SATURATED rows; iter 6 = 19 new, 0 dupes
**Saturation rule:** append a `SATURATED` row after 3 consecutive zero-new iterations across all remaining families (see `LOOP-PROMPT.md`).
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/LEDGER.md
The evaluation sub-campaign froze a cohort of 120 candidates and decided none of them.
CONFIRMED
120 frozen cohort; 0 decided; 0 ADMIT; 0 REJECTED; 0 UNVERIFIABLE-PARK
**Graduation tally:** 120 FROZEN COHORT · 0 DECIDED · 0 ADMIT · 0 REJECTED · 0 UNVERIFIABLE-PARK.
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/evaluation/LEDGER.md
The operator declared the evaluation campaign not operational: the apparatus cannot currently produce a number anyone should believe.
CONFIRMED
0 of 120 candidates decided; 18 loop firings
**Status:** **NOT OPERATIONAL.** The campaign must not evaluate candidates in its current form.
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/evaluation/CAMPAIGN-STATUS-NOT-OPERATIONAL.md
Thirty-five defects were filed against the evaluation harness (D10–D44); most were closed test-first, one was retired as not reproducible, and five remain open.
CONFIRMED
D10–D44 = 35 defect ids; 1 retired (D17); 5 open (D39, D41, D42, D43, D44)
Defects **D10–D44**. Most closed test-first with verified re-runs; **D17 retired** as not reproducible; **five open** (D39, D41, D42, D43, D44).
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/evaluation/CAMPAIGN-STATUS-NOT-OPERATIONAL.md
The statistical control meant to prove the apparatus could detect a real cost driver independently was measured to be 96% correlated with the very target it was supposed to detect.
MEASURED
Pearson 0.960, Spearman 0.887 vs Y_cost at BTCUSDT@750, n=88,040 bars; nearest clean alternative abs(close/open − 1) at Spearman 0.631
- **The KNOWN-POSITIVE anchor is 96% correlated with the target it must independently detect** (Pearson 0.960 / rank 0.887). The nearest clean alternative is `abs(close/open − 1)` at 0.631.
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/evaluation/CAMPAIGN-STATUS-NOT-OPERATIONAL.md
Raw volume and trade count already predict execution cost at |rho| ≈ 0.69–0.72, so the volume baseline every candidate must beat is far stronger than assumed.
MEASURED
log(volume) Spearman −0.685; individual_trade_count −0.724, vs Y_cost at BTCUSDT@750, n=88,040
- **Volume and trade count predict cost at |ρ| ≈ 0.69–0.72.** The §4 F3 volume baseline is formidable; **`Y_delta`, not `Y_cost`, is the load-bearing target.**
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/evaluation/CAMPAIGN-STATUS-NOT-OPERATIONAL.md
The harness's own size calibration was shown to be circular: because the null is generated by block-permuting with the same block length used to test, the test looks correctly sized for any block length — confirmed on white noise with no dependence at all.
CONFIRMED
BTCUSDT@750, n=88,040, B_outer=300: L=50 → 0.063, L=465 → 0.077, L=3720 → 0.073 (all in band across a 74× range of L); white-noise control L=100 → 0.060, L=1000 → 0.053
- **The size calibration is circular** and can only detect degeneracy, never a wrong block length.
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/evaluation/CAMPAIGN-STATUS-NOT-OPERATIONAL.md
The long-run variance of the quantity being tested never settles down at any bandwidth this sample supports, so no block length is determined by the data and every p-value inherits that indeterminacy.
MEASURED
LRV inflation vs iid = 1.37 / 2.13 / 2.93 / 4.26 / 5.57 / 7.12 / 8.81 / 10.37 at bandwidths 10 / 44 / 100 / 250 / 500 / 1000 / 2000 / 4000; BTCUSDT@750, n=88,040
- **The long-run variance does not converge** at any bandwidth this sample size supports.
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/evaluation/CAMPAIGN-STATUS-NOT-OPERATIONAL.md
Drift was ruled out as the cause: the feature–cost relationship is stable across eight subperiods spanning 2018–2026 with no sign flips.
REFUTED
IC by subperiod: −0.206, −0.147, −0.292, −0.238, −0.247, −0.246, −0.147, −0.107 (n=8 subperiods); range 0.185; full-span IC −0.248
- **It is not drift** — IC stable across eight subperiods (−0.107 to −0.292, no sign flips).
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/evaluation/CAMPAIGN-STATUS-NOT-OPERATIONAL.md
Nearly a fifth of bars are shorter than the 3-second label horizon and arrive in long runs, so their forward-looking cost labels overlap each other — dependence manufactured by the labelling, not by the market.
MEASURED
17,312 of 88,040 bars (19.6%) shorter than 3 s at BTCUSDT@750; 1,809 runs, mean 9.6, p50 2, p95 32, max 858 consecutive bars; median bar duration 387.6 s
- **Labels overlap**: 19.6% of bars are sub-3s, in runs to 858.
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/evaluation/CAMPAIGN-STATUS-NOT-OPERATIONAL.md
Removing the overlapping bars more than halves the measured association between the test feature and cost — a bias in the point estimate, not just a wider error bar, and it applies to all 120 candidates.
MEASURED
IC −0.2479 → −0.1140 on the 70,729 bars of duration ≥ 3 s; LRV/iid at bandwidth 2000 falls 77.66 → 13.44 (5.8×) but still climbs with no plateau
- **Overlap biases the effect size**: IC −0.2479 → −0.1140 on non-overlapping bars.
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/evaluation/CAMPAIGN-STATUS-NOT-OPERATIONAL.md
Despite 35 defects across 18 firings, nothing wrong entered the permanent record: no candidate verdict was ever written and the derived N_MIN file was quarantined both times it was produced.
CONFIRMED
0 candidate verdicts written; N_MIN.json produced 2×, quarantined 2×, committed 0×; 18 firings
**No wrong conclusion reached the permanent record.** No candidate verdict was ever written. `N_MIN.json` was produced twice and quarantined both times, never committed. Every correction landed as a superseding row; nothing was edited.
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/evaluation/CAMPAIGN-STATUS-NOT-OPERATIONAL.md
The folder's own conclusion is that the remaining fix list is a symptom rather than the problem — the defect rate never declined and the last four findings are method/data mismatches that no harness repair addresses.
ASSERTED
18 firings; D41–D44 (the 4 most foundational defects) arrived in the last 4 firings
**The defect rate never declined.** Eighteen firings, a defect in nearly every one, and the *most* foundational (D41–D44) arrived in the last four. That is not a converging process. Patching a system whose defect discovery rate is flat does not terminate.
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/evaluation/CAMPAIGN-STATUS-NOT-OPERATIONAL.md
The root cause named is that the rulebook was frozen before any of it had ever been executed once, so the frozen file encoded a control that was mathematically impossible to pass.
CONFIRMED
P(all nine cells pass) = 4.07e-19 for a test correctly sized at alpha=0.05 by construction, over B_OUTER_FWER=200 outer draws, 9 cells (3 candidates × 3 targets)
| D12 | C2 unpassable: `P(all nine pass) = 4.07e-19` |
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/evaluation/CAMPAIGN-STATUS-NOT-OPERATIONAL.md
Two safety properties were positively verified rather than assumed: read-only mode really does block writes, and the client-side concurrency limiter really does bound processes.
CONFIRMED
5/5 mutating statements returned Code 164 READONLY; production row count unchanged at 176,296
Also grounded: `readonly=2` **is** a real mutation boundary (5/5 `Code 164`, production row count unchanged at 176,296), and the client-side concurrency limiter genuinely bounds real processes.
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/evaluation/CAMPAIGN-STATUS-NOT-OPERATIONAL.md
The bars table the campaign reads was measured to be roughly half unmerged duplicate rows on all four thresholds, and the duplicates corrupt candidate values rather than merely inflating counts.
MEASURED
49.96 / 49.99 / 50.00 / 50.00% duplicated at 100 / 250 / 500 / 750 dbps; 50.97% of consecutive close-price increments exactly zero raw vs 1.07% deduplicated
`open_deviation_bars` is ~50% unmerged ReplacingMergeTree duplicates on all four Axis-2 cells (measured read-only 2026-07-29: 49.96 / 49.99 / 50.00 / 50.00% for 100 / 250 / 500 / 750).
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/evaluation/LEDGER.md
A frozen premise of the rulebook — that execution-cost labels exist for BTCUSDT only — was later measured false; 21 symbols carry them, which reclassifies 18 parked candidates from a data limitation to a scope choice.
REFUTED
21 symbols carry cost labels vs the frozen premise of 1; 18 candidates parked for a scope reason recorded as a data reason
**Appended 2026-08-14 — D45 (methodology).** An external read-only audit found a **frozen PREREG premise measured false**: R7 restricts the campaign to BTCUSDT because cost labels supposedly exist for no other symbol; 21 symbols now carry them.
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/evaluation/DEFECT-QUEUE.md
The evaluation was designed against a specific pre-registered trap: judging price-orthogonal liquidity candidates on a forward-return target would score all 120 near zero and reject the cohort while looking rigorous.
ASSERTED
120 candidates; 19 grounded realness instruments
Axis-2 candidates are **orthogonal to price by construction**. The 19 grounded instruments from the realness campaign all judge *"does this predict forward return"*. Pointing them at these 120 would score every one at approximately zero and reject the entire cohort — and it would look like a clean, rigorous result.
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/evaluation/README.md
The campaign's alignment statement is itself still awaiting operator confirmation before the direction is made live.
OPEN
If that paragraph is right, we are aligned. If any word is off, correct it before we make the campaign live.
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/verdict.md
Axis 2 is constrained by the project's spot-only data policy, which excludes the strongest crowding signals (funding rate, open interest, liquidation heatmaps) as derivatives.
ASSERTED
3 derivatives-only seeds flagged out of scope at kickoff; 7 out-of-scope entries after iter 6
Project principle #8 — **all Binance data is spot, no futures.** This **excludes** the highest-signal crowding features (funding rate, open interest, liquidation heatmaps; those are perps/futures).
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/axis-2-cascade-free/GROUNDING-PLAN.md
Twelve prior audits are indexed as constituting this direction, and the hub explicitly does not move or edit any of them.
ASSERTED
12 constituent audits indexed (rows 1–12) plus 2 adjacent
The prior audits stay where they are (append-only). This map is the index that ties them into one paradigm.
findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/CAMPAIGN-MAP.md

The audit folder 27 markdown files

Source of record: findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/ — not published, so these are listed rather than linked.

FileRole
CAMPAIGN-MAP.mdIndex of the 12 constituent audits and each one's role in the paradigm, plus a cold-start reading order.
CLAUDE.mdCampaign hub — states the regime-invariance paradigm, the two axes, the declaration engine, and the file map.
DIRECTION-PREVIEW.mdDiffable markdown mirror of the HTML direction reader — layman explainer of the two axes and the pilot plan.
PROVENANCE.mdThree-layer provenance contract (stable paper IDs, telemetry, git history) and the upstream artifacts this rests on.
SOURCES.mdWeb-search source list behind the direction, grouped A–E, with arXiv/DOI IDs and [secondary] annotations.
axis-1-ood-robust/README.mdAxis-1 spoke — a pointer declaring Axis 1 grounded elsewhere, with its instruments, evidence and open sharpening items.
axis-2-cascade-free/CANDIDATE-CATALOG.mdAppend-only Axis-2 candidate catalogue — 16 seeds grown to 120 spot-legal candidates over 6 harvest iterations, with stable IDs and FOSS status.
axis-2-cascade-free/GROUNDING-PLAN.mdWhat grounding Axis 2 requires: two harvests (candidate features and domain instruments), the spot-legal families, and a pilot sketch.
axis-2-cascade-free/LEDGER.mdAppend-only harvest ledger, one row per iteration (iters 0–6), carrying the never-triggered saturation rule.
axis-2-cascade-free/LOOP-PROMPT.mdThe /loop harvest prompt — SSoT for the brute-force SOTA+FOSS candidate discovery loop and its dual markdown/dashboard write targets.
axis-2-cascade-free/README.mdAxis-2 spoke index — status KICKOFF/SCAFFOLD, the spot-only constraint, and how the spoke advances.
axis-2-cascade-free/evaluation/CAMPAIGN-STATUS-NOT-OPERATIONAL.mdThe 2026-07-31 not-operational declaration — provenance of 18 firings, what is grounded about the instrument and the data, self-falsifications, blocking fixes, and the three operator decisions.
axis-2-cascade-free/evaluation/DEFECT-QUEUE.mdOrdered rule-0 defect queue D10–D45 with per-defect measurements and closure commits; D45 appended 2026-08-14 by an external audit.
axis-2-cascade-free/evaluation/LEDGER.mdAppend-only verdict ledger, rows 0a–0au — the full firing-by-firing record ending in loop termination with 0 of 120 decided.
axis-2-cascade-free/evaluation/LOOP-PROMPT.mdCanonical bounded-loop prompt for the evaluation, now carrying a CAMPAIGN NOT OPERATIONAL stop banner at the top.
axis-2-cascade-free/evaluation/PREREG-AMENDMENT-2026-07-24a-LAB-CONVENTION.mdSupersedes ruling R9 only — moves the campaign environment into the dated /home/nasimubd/lab folder convention.
axis-2-cascade-free/evaluation/PREREG-AMENDMENT-2026-07-30a-SEAL-RESTRUCTURE.mdRestructures the self-test seal into SEAL′ = {C2, C3, POWER-vs-N} and closes the hole where two gates consumed an N_min nothing produced.
axis-2-cascade-free/evaluation/PREREG-AMENDMENT-2026-07-30b-SUBSTRATE-AND-ENVELOPE.mdRecords the ~50% duplicated bars substrate and replaces the resource-envelope numbers of ruling R3.
axis-2-cascade-free/evaluation/PREREG-AMENDMENT-2026-07-30c-TARGET-BINDINGS.mdBinds three frozen target references that did not resolve against the warehouse (trade_count, return, the regime partition).
axis-2-cascade-free/evaluation/PREREG-AMENDMENT-2026-07-30d-READONLY-BOUNDARY-VERIFIED.mdCloses the previously unverified clause by measurement — readonly=2 refuses writes to existing tables (5/5 Code 164).
axis-2-cascade-free/evaluation/PREREG-AMENDMENT-2026-07-31a-C2-CRITERION.mdOperator ruling replacing the unpassable Clopper–Pearson upper-bound criterion with an exact binomial central-95% size band.
axis-2-cascade-free/evaluation/PREREG-AMENDMENT-2026-07-31b-SERIALISED-EXECUTION.mdOperator ruling that the campaign serialises to one query at a time because the largest required query needs 3 GB, above the 2.5 GiB ceiling.
axis-2-cascade-free/evaluation/PREREG-AMENDMENT-2026-07-31c-UNTESTABILITY-TAXONOMY.mdOperator ruling resolving the frozen file's self-contradiction — candidates needing absent order-book data are parked, not rejected.
axis-2-cascade-free/evaluation/PREREG.mdFrozen rulebook — 10 governing rulings, three frozen targets, the F0–F5 gate thresholds with warrants, controls, verdict grammar, stop condition, honest limits.
axis-2-cascade-free/evaluation/PROVENANCE.mdContract for what every claim, especially every rejection, must carry — five required fields, three provenance layers, verify-before-report.
axis-2-cascade-free/evaluation/README.mdEntry page for the candidate-evaluation sub-campaign — the question, the trap it avoids, the F0–F5 funnel, and a 0-of-120 status box.
verdict.mdRoot verdict — the alignment statement awaiting operator confirmation plus a where-it-stands table and honest limits.

Dashboard twin

findings/dashboard/campaigns/2026-07-22-regime-invariant-orthogonality-campaign/

Generated by findings/dashboard/build_audits.py from findings/evolution/audits/2026-07-22-regime-invariant-orthogonality-campaign/AUDIT_LEDGER.json — never hand-edited. Each quote was verified to occur in the file named beside it when the ledger was written.