External CRC benchmark, round 5: lab book

Parallax Pathology · Russell Parrish, analysis carried out with Claude (Anthropic) · 6 November 2026 · lab book for round 5 of the external CRC benchmark · published November 2026

Published as written at the time, apart from this header. File and folder names refer to the project record, available on request. Benchmark note · Claim ledger
Erratum (6 November 2026): Balanced accuracy at look 5 is 92.1% (92.15%); it appears here as 92.2%. Rounding only.

Summary. Round 5 added an orange-rendering protection, the counterpart of round 1's violet protection. A label-free colour gate flags tiles whose tissue is yellow-shifted; they are recoloured, re-measured, and read by a readout restricted to fields that survive recolouring. Every other tile goes through round 4 unchanged. Frozen and run once on the 5,380 sealed tiles (look 5): 94.3% accuracy (balanced 92.2%), up from 93.8% (91.0%). The gate routed 47 sealed tiles; 29 became correct and none became wrong, and all 5,333 other tiles kept their look-4 prediction. Muscle called mucus fell from 38 to 0; 16 orange muscle tiles are now called stroma.

Entry 1 · Bookkeeping

Before round 5 the sealed tiles had five logged looks (0 to 4). Same rule: develop on NCT and the 1,800 development tiles; one logged look at a frozen version (../EXTERNAL_CRC_ROUND2_20261105/LOOK_LOG.md). The look-4 error (muscle called mucus) was studied on development tiles only; no sealed image was opened.

Entry 2 · The orange gate

Development muscle called mucus, muscle called correctly, mucus
From round 4. Rows: development muscle called mucus by the round-4 average (first 8 of 17); development muscle called correctly; development mucus.

Red minus blue does not isolate orange: NCT muscle is red-shifted too (723 NCT muscle tiles have mean red − blue > 30). Yellow does: the median CIELab b* of non-nuclear tissue (an r4 field, measured on every tile) is above 0 for only 2 of 100,000 NCT tiles, both background, and for 23 development tiles (muscle 17, debris 4, stroma 2). The gate itself uses all tissue pixels and flags the same 23 development tiles; it was not re-run over NCT, whose training measurements are unchanged. Gate (raw tile, label-free): not violet, and median b* over tissue pixels (optical-density sum > 0.12) > 0 (scripts/orange.py). The 4 gated debris tiles appear to be haemorrhage, whose red cells are orange-red to begin with.

Entry 3 · Recolouring alone fails

Orange tiles raw, rank-recoloured, Lab-shifted, and normal muscle
Rows: gated development tiles (4 debris, 8 muscle) raw; brightness-rank recoloured onto NCT tissue colours (round-1 method); a*/b* shifted so the tissue median matches NCT's (2,000-tile sample); development muscle called correctly.
23 gated development tilesCorrectCalled
No gate (round 4)0mucus 20, tumour 2, muscle 1
Rank recolour, round-4 readouts6stroma 19, debris 4
Lab-shift recolour, round-4 readouts3stroma 15, tumour 4, debris 2, muscle 1, mucus 1

Recolouring onto the average tissue palette gives muscle the haematoxylin-to-eosin balance of average tissue, which is on the stroma side. The orange rendering has removed the colour difference between muscle and stroma, and recolouring cannot restore it without knowing the class.

Entry 4 · A colour-robust readout

900 NCT tiles (100 per class, seed 0) were measured after forced rank recolouring with all families. For each field, median |recoloured − original| / NCT SD (outputs/07_field_recolour_change.csv). 34 fields change by at most 0.1 SD, 84 by at most 0.25 SD (32 base, 25 v1/v2, 27 r4; mostly texture, orientation and shape), 155 by at most 0.5 SD. A readout (gradient boosting 500 + logistic, fitted on all NCT tiles with their original measurements) on the robust fields, applied to the recoloured gated tiles:

Robust fieldsGated development tiles correctMuscleDebrisStroma
≤ 0.1 SD (34)10 / 236 / 174 / 40 / 2
≤ 0.25 SD (84)14 / 239 / 174 / 41 / 2

Development accuracy, all 1,800 tiles: round-4 path 92.4%; round 5 93.2% (muscle 0.89 to 0.94, debris 0.95 to 0.97, other classes unchanged). Choices here were made on 23 tiles and are noisy.

Entry 5 · Freeze (03:14 UTC)

FROZEN_ROUND5.md and hashes, including the saved models. Round-4 ensemble refitted identically and saved; colour-robust view (0.25 SD) saved; NCT training measurements unchanged.

Entry 6 · Look 5 (sealed, run once)

The gate flagged 47 sealed tiles (muscle 38, debris 5, stroma 4) and 75 violet tiles, as before; all 47 re-measured without failure.

5,380 sealed tilesAccuracy (95% tile-level)BalancedMuscleDebrisStroma
Look 391.6% (90.9–92.3)89.9%0.8140.9420.719
Look 493.8% (93.1–94.4)91.0%0.8900.9140.643
Look 594.3% (93.6–94.9)92.2%0.9460.9500.652

Recall by class: adipose 0.931, background 1.000, debris 0.950, lymphocytes 0.963, mucus 0.980, muscle 0.946, normal 0.915, stroma 0.652, tumour 0.956. 5,073 of 5,380 correct (307 errors). Against look 4: the 5,333 ungated tiles have identical predictions; of the 47 gated, 0 were correct at look 4 and 29 are now (muscle 22 of 38, debris 5 of 5, stroma 2 of 4); none became wrong (sign test p ≈ 4 × 10⁻⁹). Muscle → mucus 38 to 0; muscle → stroma 3 to 19.

Entry 7 · Reading