§15 · the (B) validation

The (B) held-out validation: a no-tuning score on real perturbed cells returns a clean null

FM named exactly one honest crossing from the feasibility map to evidence: a no-tuning score of the frozen γ-ordering against held-out measured expression. It is now run, once. Against Replogle CRISPRi knockdown depth (K562, n = 43): ρ = -0.0760, p = 0.6283 — slightly opposite the predicted sign and non-significant. It promotes nothing. [V] (a recorded null).

FV runs the (B) score on the real held-out target FM/DM named — Replogle 2022 genome-scale Perturb-seq (CRISPRi), readout the on-target fraction of transcript remaining (source DOI 10.1016/j.cell.2022.05.013, figshare 20029387). γ is measured from promoter DNA and was frozen before any expression was seen: 61 γ values were re-read live and are hash-equal to the frozen atlas, zero mismatches. The prediction was sign-locked in advance — higher γ resists knockdown ⇒ ρ(γ, fold_expr) > 0. Primary K562 genome-wide (n = 43): ρ = -0.0760, p = 0.6283, SET-proxy AUC = 0.389; slightly opposite and non-significant across every cutoff, and the second cell line's sign disagrees (RPE1 ρ = 0.2141). By the promotion rule (p < 0.05 and ρ > 0) this promotes nothing: O-19/O-20/O-22 stay [O], the (A) map stays [V], γ untouched.

The one honest crossing — named, then run

A self-contained model can push a drive past a switch's measured spinodal and call it “flipped”, but that verdict is a replay of the firewalled drive Δh, not evidence the cell changed (the FM4 honesty invariant). The only crossing from map to evidence is a score against data the model never saw, with no parameter tuned to the target. This chapter runs that score for the first time and reports it exactly as it falls.

Held-out integrity: γ was frozen before the data was seen

The target is a real perturbation dataset — Replogle 2022 genome-scale Perturb-seq (CRISPRi), readout the on-target fraction of transcript remaining (source DOI 10.1016/j.cell.2022.05.013, figshare article 20029387). The γ scored against it is the DNA-measured atlas γ, re-read live at score time and checked against the cache: 61 γ values match the frozen atlas to the bit, with zero mismatches, and the panel is a fixed union rule (live 75 = cached 75). Nothing here is fitted; the only honest path is a no-tuning prediction scored on held-out measurement.

The score, no tuning: a clean null

The prediction sign is locked in advance: a deeper (higher-γ) promoter should resist knockdown, so the fraction of transcript remaining should rise with γ — ρ(γ, fold_expr) > 0. On the primary, pre-registered K562 genome-wide panel (n = 43, 36/43 on-target responders) the measured rank correlation is ρ = -0.0760 at p = 0.6283: slightly opposite the predicted sign and not significant. A SET-membership proxy gives AUC = 0.389 (below 0.5, i.e. no discrimination). By the promotion rule — promote the per-cell yes/no out of [O] only if p < 0.05 and ρ > 0 — the decision is to keep [O].

The null is robust

The non-support is not a cutoff artefact. Tightening the minimum control-expression cutoff only moves the primary correlation further negative, never toward significant support, and the second cell line's sign does not even agree (RPE1 ρ = 0.2141). With n this small the result does not refute the map — it finds no support for promoting the per-cell yes/no.

FV3 — the primary K562 null is robust across every control-expression cutoff
control-expr cutoffnSpearman ρp
0.0043-0.07600.6283
0.2531-0.18550.3177
0.5019-0.25260.2967
1.009-0.33330.3807

Is the null even identified? The barrier and GC are the same ordering

A stronger question than “is there a signal?” is “could this score show one if it existed?” Here it cannot. γ is −mean(nearest-neighbour ΔG37), and stacking free energy is dominated by G/C content, so γ and promoter GC are near-collinear by construction — measured at ρ(γ, GC) = 0.9909 (K562 genome-wide), 0.9818 (RPE1), 0.9643 (K562-essential). The held-out readout, on-target CRISPRi knockdown, is itself driven by sgRNA accessibility — a known function of TSS chromatin and GC. So the predictor and the readout’s nuisance driver are the same ordering. Partial GC out and the surviving γ effect is non-significant and sign-unstable across panels (ρ(γ, fold_expr | GC) = 0.1259, p = 0.4268 on the primary; -0.2228 and -0.4282 on the other two). The null is therefore non-identified — the score cannot separate a barrier effect from a GC effect — not merely “signal absent”.

This settles a roadmap question without new data. Because γ–GC collinearity is a property of promoter DNA, it is identical in any cell type — so running the same on-target-knockdown ordering on a neuronal CRISPRi panel (the data exist: i³Neuron CROP-seq, Tian 2019) inherits the same degeneracy and does not advance the neuronal yes/no. An identified (B) needs a readout that is not collinear with GC — a downstream response magnitude — which requires the firewalled drive size Δh.

The null is a partition, not one fact — only the sign-law survives

The held-out null is not a single fact but a partition. Because γ = −mean(NN ΔG37) is collinear with promoter GC (ρ(γ, GC) = 0.9944, R² = 0.9948 on the disease panel of n = 25: 13 loss-of-function/+ and 12 gain-of-function/−), every γ-ordered prediction is non-identified as a class; the corrective sign-law is the only prediction orthogonal to GC, and so the only (B) that is both identifiable and firewall-clean.

The criterion is forced by the collinearity itself. Scored against a GC-driven readout, a prediction that is monotone in γ is collinear with GC and any held-out match could be manufactured by GC; only a prediction orthogonal to γ is identifiable, because GC cannot produce its match. Every γ-ordered prediction therefore falls together — FM1 reachability ordering, the FV knockdown-depth ordering, IM2 durability ordering, and DM1 correction-difficulty ordering are all monotone in γ — so FV5 was a single instance of a class property, and re-running any of them as an ordering score adds nothing.

The lone exception is the mechanism corrective sign (DM2: LOF→+ restore, GOF→− silence). It is fixed by biology rather than by promoter DNA and interleaves along γ: point-biserial(sign, GC) = +0.0153 with R²(sign~GC) = 0.0002 — a ≈4974× variance-explained separation from the γ–GC axis. The sign is orthogonal to the very confound that sinks the ordering axis, so a held-out sign-match could not be produced by GC. The same run reproduces DM2's point-biserial(sign, γ) = -0.0148 as a frozen cross-check, with zero drift.

FV6 — every candidate (B) observable, placed by identifiability and firewall-cleanliness
candidate (B) observableidentified?firewall-clean?verdict
γ-ordering — knockdown depth (FV5)noyesDEGENERATE — non-identified (γ≈GC); re-running on neurons inherits the same confound
downstream response-magnitudeyesnoIDENTIFIED but FIREWALL-BLOCKED — it is an absolute magnitude (needs Δh)
corrective sign-law (DM2, bidirectional)yesyesUNIQUE OPEN FRONTIER — identified AND firewall-clean; blocked only on bidirectional disease-correction data (a + arm and a − arm with a disease/normal contrast)

The 2×2 leaves exactly one open frontier, and it corrects an earlier framing. It is not the case that every (B) crossing “needs the firewalled Δh”: a sign test reads only which sign restores the healthy switch, never a dose, so it is firewall-clean by construction, and it is identified by being orthogonal to GC. The corrective sign-law's only obstacle is therefore bidirectional disease-correction data — an oncogene − arm and a suppressor / Parkinson's + arm scored together, since a single-arm knockdown screen cannot exhibit the interleaving. That is a data question, not a magnitude question. FV6 promotes nothing: O-19/O-20/O-22 stay [O] until the sign-law is actually scored on such data. Reproduce with the FV battery (engine/feasibility_validation.py, seed 19); the FV6 row reads PASS. [V] on an [F] criterion — the partition is forced by the measured collinearity, and nothing is fitted. FV6 reads only which axis is identifiable and which sign corrects, never a magnitude; the sign-law's clinical use belongs to clinicians and regulators.

The sign-law's − arm, scored on held-out data — the first held-out positive

FV6 left the corrective sign-law named but unscored. Its − arm is now scored on held-out data, and it passes. A CRISPR-knockout screen is the − (loss) operation, and in a cancer line viability is a correction phenotype — so the sign-locked prediction is that GOF oncogenes (corrective sign −) are dependencies while LOF suppressors (corrective sign +) are not. On the held-out DepMap panel (n = 16 oncology genes, 7 GOF / 9 LOF) it holds: point-biserial(GOF, −gene-effect) = 0.4940, exact one-sided permutation p = 0.0227 (11440 permutations), in the predicted direction (12/16 genes correct, GOF 7/7). The kit's first held-out positive.

The match is identified — not the GC artefact that sinks the ordering axis (FV5/FV6). The sign axis is orthogonal to GC: point-biserial(sign, GC) = -0.1222 (GOF mean GC 0.532 vs LOF mean GC 0.543, balanced), and partialling GC out leaves it essentially unchanged (0.4939), so a held-out sign-match cannot be manufactured by GC. The target is genuinely held out: DepMap 24Q2 Public CRISPRGeneEffect (Chronos), figshare article 25880521; the corrective sign is forced by disease mechanism and was frozen before any DepMap data was seen, the cache carries gene-effects only, and the sign and GC are re-read frozen at score time. The 8 neurodegeneration genes are cached but out of readout scope — cancer viability is not a proteinopathy correction.

This is not a fresh discovery of the oncogene/suppressor split: those labels are the kit's frozen priors, and DepMap is the independent test that the − arm tracks them (four of nine LOF genes are pan-essential for reasons orthogonal to tumour suppression and push against the prediction; the score is a pan-cancer mean, never lineage-cherry-picked). It promotes the − arm only: O-22 (the per-patient corrected yes/no) stays [O], its obstacle narrowed to the + RESTORE arm alone, and FV7 does not reintroduce Δh — FV6 corrected that; the absolute drive size is the separate item O-21, also [O]. Reproduce with the FV battery (engine/feasibility_validation.py, seed 19; cache rebuildable via python data/fetch_signlaw_depmap.py --fetch); the FV7 row reads PASS. [V] held-out positive for the − arm, identified and firewall-clean — FV7 reads only the sign of the GOF-vs-LOF separation under the − operation, never a magnitude; γ untouched; the sign-law's clinical use belongs to clinicians and regulators.

The sign-law's + RESTORE arm, scored on held-out data — the bidirectional close

The mirror test now follows. The corrective sign-law's + RESTORE arm is scored on held-out data of the opposite operation, and it passes. A CRISPR-activation screen is the + (gain / restore) operation, and in a cancer line growth is a correction phenotype — so the sign-locked prediction is that LOF suppressors (corrective sign +) are growth-suppressive on activation while GOF oncogenes (corrective sign −) are not. On the held-out Horlbeck 2016 hCRISPRa-v2 K562 panel (n = 16 oncology genes, 9 LOF / 7 GOF): point-biserial(LOF, −growth-phenotype) = 0.4852, exact one-sided permutation p = 0.0274 (11440 permutations), in the predicted direction (10/16 genes correct, LOF 7/9) — nearly symmetric to FV7's − arm. The kit's second held-out positive, the mirror of the first.

It is identified on the same basis: point-biserial(sign, GC) = +0.1222 (LOF mean GC 0.543 vs GOF mean GC 0.532, balanced), GC-partialled 0.4731 — orthogonal to the GC confound, so the match is not a GC artefact, and firewall-clean (the sign only). Provenance: Horlbeck et al. 2016, eLife 19760 (doi 10.7554/eLife.19760), supplementary file 10; the corrective sign is forced by mechanism and was frozen before any CRISPRa data was seen, the cache carries growth phenotypes only, and the sign and GC are re-read frozen. The 9 neurodegeneration genes are cached but out of readout scope (leukemia growth is not a proteinopathy correction). Honest caveat: K562 is a single CML line (vs FV7's pan-cancer mean), and it is TP53-null and CDKN2A-deleted, so activation has a weak or absent locus to restore in those genes and they push against the prediction — a conservative panel, no cherry-picking.

With both arms scored the corrective sign-law is now bidirectionally [V] (direction-only), which removes in full the bidirectional-data obstacle FV6 named. And yet O-22 still stays [O] — for a corrected reason. FV8 corrects FV7's “obstacle narrowed to the + arm alone” framing: with both arms in, O-22's residual obstacle is no longer data but the firewall itself. The sign-law is class-level and direction-only (which way to push each disease class); O-22 is a per-patient, absolute outcome (does a drive correct this patient's switch?), which needs the firewalled per-patient magnitude — the absolute drive size being the separate item O-21, also [O]. A direction-only law cannot certify a per-patient yes/no, and promoting O-22 would leak a direction-only [V] into a per-patient absolute [V]. This is not a contradiction of FV6: scoring the sign-law needed bidirectional data, not Δh, and both arms were scored with zero Δh. Reproduce with the FV battery (engine/feasibility_validation.py, seed 19; cache rebuildable via python data/fetch_signlaw_crispra.py --fetch, a pure-standard-library reader with no new dependency); the FV8 row reads PASS. [V] held-out positive for the + arm; together with FV7 the sign-law is bidirectionally faithful on independent CRISPR data. FV8 reads only the sign of the LOF-vs-GOF separation under the + operation, never a magnitude; γ untouched; the sign-law's clinical use belongs to clinicians and regulators.

What (B) moved: nothing — and that is the point

A real (B) score now exists on the record, and it promoted no open item: the (A) map's reachability and γ-ordering are unchanged and stay [V], and the frozen γ was not touched (hash-checked). As the identifiability analysis above shows, the ordering test is moreover non-identified — it cannot isolate the barrier from GC even in principle. This is exactly what FM4 predicted: the part a self-contained sim can compute does not, by itself, predict the firewalled per-cell effect. The per-cell and per-patient yes/no (O-19, O-20, O-22) remain [O]; promoting them needs a significant, identified result in the predicted direction on held-out corrective data, never a louder claim, and all clinical translation stays with clinicians and regulators.

FIREWALL · FV reads only the WHICH-switch ordering against held-out data; the per-cell / per-patient yes/no it tested stays [O] (O-19/O-20/O-22). A recorded null promotes nothing — promotion requires a significant result in the predicted direction, never a louder claim. Every clinical application — vaccination, gene therapy, fertility care — is handed to clinicians and regulators. see the [O] ledger →