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.
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.
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).
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.
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 tiles | Linear discriminant | Logistic | Gradient boosting |
|---|---|---|---|
| 81 fields | 83.3% | 84.9% | 84.3% |
| 73 extension fields only | 66.7% | 72.3% | 75.4% |
| 81 + 73 extension fields | 85.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.
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.
Extension fields measured on the 5,380 sealed tiles with violet protection (75 flagged, as in round 1; no failures).
| 5,380 sealed tiles | Accuracy (95% tile-level) | Balanced | Stroma | Muscle | Normal |
|---|---|---|---|---|---|
| Look 0: unadjusted, 81 fields | 85.7% | 76.7% | 0.353 | 0.717 | 0.778 |
| Look 1: violet protection, 81 fields | 87.0% (86.0–87.8) | 82.1% | 0.353 | 0.717 | 0.773 |
| Look 2: + extensions, gradient boosting | 91.5% (90.7–92.2) | 89.4% | 0.706 | 0.852 | 0.819 |
| Look 2: + extensions, linear discriminant | 88.0% (87.1–88.9) | 84.4% | 0.493 | 0.666 | 0.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.