External CRC benchmark, round 2: lab book

Parallax Pathology · Russell Parrish, analysis carried out with Claude (Anthropic) · 5 November 2026 · lab book for round 2 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 1 is 82.0% (82.05%); it appears here as 82.1%. Rounding only.

Summary. Round 2 kept round 1's violet protection and added 73 extension measurements from Russell's earlier fascicle, nuclear-fiber, gland-ring and mixture families, which had been built for the stroma and muscle boundary. Developed on the NCT training tiles and the 1,800 development tiles, then frozen and evaluated once on the 5,380 sealed tiles (look 2), the version with a gradient-boosting readout reached 91.5% accuracy (balanced 89.4%), up from 87.0% (82.1%) at look 1. Stroma recall rose from 0.35 to 0.71, and every class is now at 0.71 or above. The same measurements with the linear discriminant reached 88.0% (84.4%).

Entry 1 · Bookkeeping

The 5,380 sealed tiles had one look in round 1. Rule for round 2: develop on NCT (all) and the 1,800 development tiles only; one logged look at a frozen version. LOOK_LOG.md records every look; a truly independent confirmation needs a new collection.

Entry 2 · Readouts on the same measurements

On the round-1 measurements (81 fields, violet-protected), development tiles: linear discriminant 83.3%, shrinkage discriminant 82.9%, quadratic 72.5%, logistic regression 84.9%, gradient boosting 84.3%. The readout is worth about 1.5 points and trades classes against each other (logistic: stroma 0.41 to 0.61 but muscle 0.81 to 0.73).

Entry 3 · Looking at stroma

Stroma and muscle tiles
Rows: development stroma called muscle; development stroma called correctly; development muscle called correctly; NCT stroma; NCT muscle.

Development stroma called muscle is dense, wavy and strongly aligned; stroma called correctly is loose and pale. NCT stroma is mostly loose, vacuolated or myxoid. The training collection's stroma is mostly the loose kind, so dense fibrous stroma falls on the muscle side of what the instrument learned. What separates them is fine-grained: fibre crimp, nucleus shape and eosin uniformity.

Entry 4 · Extension measurements

Russell's v1 and v2 extension families (EXPERIMENTS/CRC_VAL_CONSENSUS_ERROR_ATLAS_V1/confusion_axes_v1.py, confusion_axes_v2.py, unchanged; labels never used): 33 + 40 fields covering multiscale fascicle geometry, nuclear-fiber coupling, gland-ring polarity and mixture architecture. Measured on all 100,000 NCT tiles and the 1,800 development tiles with round-1 violet protection (the gate flagged the same 363 NCT tiles); no failures. The run was paused once at 40,000 NCT tiles for transport and resumed from its checkpoint.

Development tilesLinear discriminantLogisticGradient boosting
81 fields83.3%84.9%84.3%
73 extension fields only66.7%72.3%75.4%
81 + 73 extension fields85.8%86.4%89.1%

The extension fields are weak alone and strong in combination. With gradient boosting every development class except stroma is at 0.81 or above; stroma rises from 0.41 to 0.71. This was the best of nine combinations on the same tiles, so it is mildly optimistic.

Entry 5 · Freeze (21:00 UTC)

FROZEN_ROUND2.md and hashes. Primary readout: gradient boosting (scikit-learn HistGradientBoostingClassifier, 300 iterations, fixed seed), a fitted non-linear readout. Secondary: the linear discriminant on the same measurements. Fitted once on all 100,000 NCT tiles.

Entry 6 · Look 2 (sealed, run once)

Extension fields measured on the 5,380 sealed tiles with violet protection (75 flagged, as in round 1; no failures).

5,380 sealed tilesAccuracy (95% tile-level)BalancedStromaMuscleNormal
Look 0: unadjusted, 81 fields85.7%76.7%0.3530.7170.778
Look 1: violet protection, 81 fields87.0% (86.0–87.8)82.1%0.3530.7170.773
Look 2: + extensions, gradient boosting91.5% (90.7–92.2)89.4%0.7060.8520.819
Look 2: + extensions, linear discriminant88.0% (87.1–88.9)84.4%0.4930.6660.858

Primary recall by class: adipose 0.940, background 0.995, debris 0.921, lymphocytes 0.963, mucus 0.921, muscle 0.852, normal 0.819, stroma 0.706, tumour 0.929. Remaining confusions: stroma to muscle 40 of 221, muscle to stroma 54 of 392, normal to tumour 61 of 541.

Entry 7 · Reading