VESUVIUS CHALLENGE · EVIDENCE THROUGH OCTOBER 6, 2026

ScrolIQ

Diagnostics for reading Herculaneum scrolls. Find the bottleneck.

ScrolIQ does not try to replace the community's geometry, winding, scan-quality or ink tools. It makes their evidence composable: results are bound to the exact CT, mesh, model and evaluation region they measure; stale or cross-volume evidence is excluded; leakage and missing evidence fail closed; and failed controls stay visible. The next objective is deliberately narrow: produce one measurably better held-out surface / fit / ink result on one exact 2027 Grand Prize volume, then carry that proof into a complete unrolling. Open the live Grand Prize evidence board →

16,074
cross-collection winding constraints checked
194/200
injected +2 winding corruptions detected
547/547
public fibers audited
PHercParis4 + PHerc0139
ρ 0.750
pre-registered scan-rank stability
below gate → precise ranks retired
Latest proof controls: Frozen-checkpoint shortcut probes, threshold-persistence checks, external winding-constraint gauges, L1 winding synchronization controls, and repeat-render noise floors are now in the repository. These narrow what can count as improvement; synthetic or internally scored results are not promoted as Grand Prize evidence. See the current evidence contract →
\n
Current Grand Prize bottleneck: No exact 2027 Grand Prize volume has 100% of its recto surface segmented and unrolled into column-scale meshes with full-column legible ink renders. Inspect measured, partial, and blocked evidence →

What is actually differentThe contribution is evidence composition, not ownership of every underlying diagnostic.

Public Vesuvius work already covers substantial parts of scan QA, TIFXYZ integrity/repair, self-intersections, spiral evaluation and held-out ink validation. ScrolIQ's system-level contribution is to bind those measurements to the exact bytes and exact eligible volume they describe, preserve negative results, and prevent missing, stale, cross-volume or train-overlapping evidence from being promoted into a stronger claim.

Identity before confidence

CT root, surface hashes, external reports, checkpoint identity, seeds and evaluation arrays travel with the result. Same scroll name is not enough.

Falsification stays visible

Disjoint resampling, injection controls and held-out checks are allowed to fail. A failed gate narrows the claim instead of disappearing.

One proof before more breadth

The next milestone is one exact Grand Prize volume with a measurable held-out surface / fit / ink improvement and a single passport connecting the evidence. Protocol →

Open-problem diagnosticsScrolIQ maps evidence to the Vesuvius Challenge pipeline instead of treating one score as readiness.

Scan diagnostics

LIVE

Real-voxel health and coordinate-preserving spatial scan maps. Next: validated layer-separability and decohesion diagnostics.

Surface topology

NEXT

CT support, competing sheets, topology risk, and surface-placement uncertainty.

Mesh connectivity

LIVE

scroliq-mesh audits native TIFXYZ and can bind official Villa CT-support and VC3D self-intersection reports to the exact surface; scroliq-obj covers triangular meshes. Both expose advisory findings or explicit --fail-on-findings CI gates. Sheet identity remains unproven.

Fiber connectivity

LIVE

scroliq-fiber reads VC3D vc3d_fiber JSON v1/v3/v4 or CSV, hashes exact inputs, validates persisted span/tracer metadata, and checks rendered continuity plus control-point/render consistency. Two public corpora are now complete: 136 / 136 PHercParis4 and 411 / 411 PHerc0139 fibers (547 / 547 total). The fallback-gap pattern replicated on both scrolls, but a pre-registered span-aware gap rule failed its independent adoption gate on PHerc0139 (KEEP), so the current rule remains. Independent CT tests also replicated: fiber-point material support reached AUC 0.775 on PHercParis4 and AUC 0.760 on PHerc0139, while median tangent direction lay only 3.3° and 3.5° out of the local CT sheet plane; wrong-frame controls passed. These are physical frame-consistency results, not declared dataset bindings: Paris4 does not name the volume, and PHerc0139 is a disclosed 7-voxel range near miss. A passport-bound Fiber IQ report still requires the exact --volume-root. Fiber evidence + limits →

Winding annotations

LIVE

scroliq-winding validates PointCollections structure, exact-file provenance, volume binding, winding semantics, and axial coverage, and checks winding numbers against the umbilicus before any fit. The PHercParis4 ray-order audit found 2 / 13,700 comparable-pair inversions, both under 0.1 voxel. Cross-collection attachment then tied 2,111 / 2,232 points to verified patches, flagged 6 / 16,074 constraints, and caught 194 / 200 injected +2 errors. The queue now exports as native VC3D PointCollections for inspection. Review workflow →

Spiral fitting

NEXT

The held-out geometry evaluator and reproduction contract are ready; the missing evidence is one real GPU fit scored on constraints it never saw. November N5 →

Label quality

LIVE

Label–volume coverage join: all 70 published ink-detection labels sit on PHercParis4 while 14 top-quartile volumes have zero published ink labels and are flagged as label-coverage candidates for review. This is a coverage gap, not evidence of ink or surface readiness. Next: physical label offset, snapping candidates, review queues.

Ink reliability

LIVE

scroliq-ink-audit fails closed on declared train/evaluation overlap and audits checkpoint, seed, held-out-run, and falsification-control provenance. It is an evidence audit, not an ink verdict. Next: attach measured perturbation and cross-scroll results.

Data scale

LIVE

Cloud-native partial reads, decode provenance, exact coordinate bindings, file hashes, and machine-readable artifacts keep evidence inspectable across stages.

Grand Prize

TARGET

One evidence trail from full recto coverage to TIFXYZ, renders, validation, and VC3D.

Evidence contractsWhat a passing diagnostic proves — and what it deliberately leaves unknown.

Mesh IQ

Proves: native TIFXYZ structure/provenance and selected grid-local geometry checks; validated upstream reports can additionally bind CT support and transverse self-intersection evidence. Does not prove: correct sheet identity.

Fiber IQ

Proves: exact-file/native-format provenance plus rendered-line continuity and control-point/render consistency checks when supplied. Adds physical evidence: frozen CT-support and tangent-direction tests now replicate across PHercParis4 and PHerc0139. Does not prove: a declared exact-volume binding, which CT sheet a fiber belongs to, horizontal/vertical fiber identity, or one-sheet continuity.

Winding IQ

Proves: volume-bound PointCollections input integrity, descriptive axial coverage, and (with an umbilicus) radial-order review candidates with a measured recall. Does not prove: patch attachment, consistent cycles, ±1/±2 winding errors, or spiral-fit accuracy.

Ink IQ

Proves: declared spatial separation, checkpoint/seed provenance, and falsification-control coverage. Does not prove: that a prediction is ink.

Passport

Cross-volume artifacts are excluded and failed audits block their stage. A passing component remains partial until the next direct evidence layer exists.

2027 Grand Prize campaignExact eligible inputs, held-out geometry, and ink falsification before whole-scroll commitment.

Exact-volume eligibility

13 prize targets are matched by exact volume ID. Same-scroll higher-resolution scans are explicitly excluded rather than silently substituted.

Blind geometry first

Each first-wave target gets the same deterministic 24-region sample: 18 fit regions and 6 held-out regions. Failed regions stay in the denominator.

Try to falsify the ink

Promising signals are checked on the correct surface, ±3 voxel normal offsets, an adjacent winding, perturbed geometry, and an independent checkpoint/fold.

Reproducibility ledger

Exact inputs, hashes, fixed seeds, held-out splits, failure counts, experiment artifacts, and human-input time are part of the evidence trail — not cleanup work at submission time.

No opaque winner score. The frozen 2026-09-30 two-axis qualifier produced a Pareto frontier containing PHerc0813 and PHerc1447, with PHerc0800 retained as a deliberately different geometry hypothesis. Re-derived on 2026-10-04 from the pre-registered stability-v2 scores, PHerc0813 is off the frontier in every v2 view; PHerc1447 is the only robust member and the segment-free slot is a band within noise (prize-frontier-v2). The September frontier stays frozen historical evidence.

Pre-registered stability: FAIL

Two disjoint 48-chunk samples were run under a protocol frozen before reading the data. On the 48 / 64 volumes dense enough for both arms, Spearman ρ = 0.750 against a pre-registered gate of 0.85; mean |Δ| = 2.94, top-10 overlap 7 / 10. The consequence was not a softer threshold: the leaderboard now reports rank bands. Frozen result + post-hoc diagnostics →

Exact-volume Grand Prize mesh evidence

Intersecting the pinned 13-volume prize manifest with the public mesh corpus leaves only 2 / 13 eligible targets with published meshes on the exact prize-listed scan. PHerc0800: 6 / 6 clean local Mesh IQ audits. PHerc1447: 15 / 15 carry an enclosed-hole review finding; 14 are review tier and 1 is multi-defect. All 21 / 21 published segments on those two targets are accounted for. The other 11 targets are evidence gaps, not failures. Offline exact-volume cross-cut →

Independent same-byte cross-check

Mesh IQ was run on the exact 1,818,055 SHA-256-verified bytes in TIFXYZ Doctor's pinned 10-case real-data benchmark: 10 / 10 agreement on enclosed-hole presence, 10 / 10 on single-component presence, and 7 / 7 hole-presence agreement on the PHerc0800 + PHerc1447 Grand Prize overlap. The first run also exposed our own isometry normalization error; after fixing it, all 10 / 10 Doctor-below-threshold cases have no Mesh IQ isometry finding, with nearly identical p95 stretch on the Villa controls. Rival benchmark roles are provenance labels, not geometry ground truth. Frozen same-byte evidence →

Cross-tool evidence, content-bound

On PHerc0139 segment 20260306000001-w051_2026030600, ScrolIQ and Windcheck independently name the same published coordinate bytes: full x/y/z SHA-256s, no mask, 379×480 grid, and 164,096 valid vertices agree. Mesh IQ reports 15 edge jumps and 173 normal reversals; Windcheck's same-original nonlocal census reports 3,333 transverse contacts. Binding stops at coordinate-exact, not semantic-exact, because the external release-index projection does not expose the original meta.json hash. Frozen binding-aware dossier →

VC3D jump-to-problem queue

Mesh IQ now emits native VC3D PointCollections instead of leaving reviewers with counts. On the content-bound PHerc0139 surface, the frozen queue contains 35 directly loadable XYZ sites: all 15 / 15 edge jumps plus the top 20 / 173 normal reversals. The same surface is independently bound to Windcheck's 3,333-contact nonlocal census, so local review coordinates and independent nonlocal evidence can be inspected without conflating them. VC3D PointCollections → · Frozen campaign →

Winding check with measured sensitivity

On public PHercParis4 annotations, the ray-order audit found 2 inversions / 13,700 comparable pairs. In a seeded injection control, deliberate ±3 winding errors were detected in 179 / 200 testable trials and ±5 errors in 171 / 200; ±2 is undetectable by construction. That measured blind spot is part of the result. Audit + injection control →

Two-scroll physical fiber evidence

Reproducible censuses now cover 547 / 547 public fibers: 136 PHercParis4 and 411 PHerc0139. Both corpora reproduce the same descriptive gap pattern: every gap candidate occurs in a fiber containing fallback-interpolated spans. A simple span-aware gap rule was then tested under frozen rules; PHercParis4 was INSUFFICIENT (24 fallback plants < 30) and independent PHerc0139 returned KEEP because flags fell only 1,622 → 1,088 (ratio 0.67, above the 0.5 adoption gate), despite 100% planted-break recall. Physical controls independently support the proposed CT frames: fiber-point material support is AUC 0.775 on PHercParis4 and AUC 0.760 on PHerc0139; median tangent direction is 3.3° and 3.5° out of the local CT sheet plane, with wrong-frame controls passing. These results do not declare an exact dataset binding or identify which sheet a fiber follows. The exact positive control remains the 2026-10-01-public-fiber-audit: 53,828 points with 11 gap and 26 sharp-turn candidates. Fiber audit evidence →

Scan-quality distribution64 volumes · 5-point bins

Legacy triage bands: S ≥ 70 · A 60–70 · B 45–60 · C < 45

Scan-quality analyticsUpdates with the current view

—
mean score
—
median score
—
top-quartile cutoff
—
unique scrolls
—
S / A / B / C volumes
—
with segment roots

Scan-quality surveyClick a column to sort · click a row for the full breakdown

Ranks are bands. The pre-registered stability test (protocol) returned FAIL: Spearman ρ = 0.750 between two disjoint 48-chunk samples, against a gate of 0.85. So each volume shows the best–worst rank it takes across the two runs and their pool, among the 48 volumes dense enough for the test; — marks a volume too sparse to rank. Scores are the published September campaign. Those scores came from a sample that can sit in one or two slabs of a scroll: across these 48 volumes they differ from the stability test’s pooled 96-chunk score by 6.9 points on average, so treat a single score as approximate too.

Label-coverage candidate: a volume in the top quartile of this scan-health survey with zero published ink-detection labels. It is a review-priority flag, not evidence that ink is present or that a usable surface is available.

rank bandvolumescore tiercomponents signaltexturedynamic penaltiesink labelssegmentsnote
1–2PHerc0172
7.910µm · 53keV
78.3S
37.025.216.5−0.3053label-coverage candidate
—PHercParis4
45.532µm · 110keV
77.2S
31.530.015.8−0.170169
4–8PHerc0139
2.403µm · 77keV
76.3S
40.017.420.0−1.10114label-coverage candidate
11–24PHerc0813
9.362µm · 113keV
76.2S
40.021.415.0−0.200label-coverage candidate
3PHerc0139
9.362µm · 113keV
75.8S
40.020.115.8−0.00114label-coverage candidate
6–9PHerc0139
2.403µm · 77keV
75.7S
40.016.620.0−0.90114label-coverage candidate
6–14PHerc1203
9.362µm · 113keV
74.7S
40.021.113.8−0.200label-coverage candidate
2–33PHerc0846B
9.362µm · 113keV
72.0S
37.020.714.4−0.200label-coverage candidate
15–20PHerc0139
2.403µm · 77keV
70.7S
40.013.917.0−0.20114label-coverage candidate
21–29PHercParis4
2.400µm · 137keV
70.4S
40.016.114.3−0.170169
1–4PHerc0814
9.362µm · 113keV
69.4A
31.623.015.4−0.7065label-coverage candidate
27–31PHerc0139
2.403µm · 77keV
68.9A
40.013.216.0−0.30114label-coverage candidate
17–18PHerc0332
2.399µm · 78keV
68.6A
40.013.315.6−0.300label-coverage candidate
—PHerc0009B
2.401µm · 77keV
68.1A
40.013.016.0−0.9030label-coverage candidate
22–29PHerc0841
2.403µm · 77keV
68.1A
40.013.015.3−0.206label-coverage candidate
25–32PHerc1203
2.403µm · 77keV
67.7A
40.012.914.9−0.100label-coverage candidate
4–9PHerc0358
9.362µm · 113keV
66.3A
37.218.011.2−0.100
—PHercParis4
45.532µm · 74keV
66.3A
31.620.114.8−0.270169
—PHerc1299
2.399µm · 78keV
66.0A
40.011.614.4−0.100
7–22PHerc0306B
8.640µm · 116keV
65.8A
33.318.014.6−0.100
—PHerc1451
2.399µm · 78keV
65.7A
39.112.614.1−0.100
—PHerc1545
9.362µm · 113keV
65.6A
33.919.312.6−0.100
13–33PHerc0483B
8.640µm · 116keV
64.8A
36.216.412.3−0.100
13–17PHerc0846A
9.362µm · 113keV
64.6A
34.213.417.0−0.000
35–36PHercParis3
2.400µm · 78keV
64.6A
40.011.413.3−0.100
20–24PHerc0814
2.399µm · 78keV
64.4A
39.611.613.6−0.4065
28–39PHerc0343
8.640µm · 116keV
63.9A
38.913.611.3−0.000
13–26PHerc0175A
8.640µm · 116keV
63.2A
33.216.014.0−0.000
39–42PHerc0814
1.129µm · 59keV
63.1A
39.18.116.9−1.0065
34PHercParis4
1.129µm · 78keV
63.0A
40.08.314.9−0.270169
19–31PHerc0175B
8.640µm · 116keV
62.8A
33.715.313.9−0.100
—PHerc0009B
2.401µm · 77keV
62.1A
40.09.812.7−0.5030
16–25PHerc1447
8.640µm · 116keV
61.7A
37.613.210.8−0.0015
5–19PHerc0125
9.362µm · 113keV
61.1A
35.813.312.1−0.200
37–41PHerc0139
2.399µm · 78keV
61.1A
40.09.012.2−0.10114
—PHerc1667
2.399µm · 78keV
60.5A
40.08.412.3−0.2046
38–40PHercParis4
2.400µm · 78keV
60.5A
40.010.512.3−2.470169
7–10PHerc0257
9.362µm · 113keV
59.2B
37.711.79.9−0.100
30–37PHerc0268
8.640µm · 116keV
58.6B
36.911.610.3−0.100
30–32PHerc0846A
2.403µm · 77keV
58.4B
36.011.814.5−3.800
—PHercMANBp
1.129µm · 59keV
58.4B
40.06.811.7−0.200
6–14PHerc0191
9.362µm · 113keV
58.0B
33.213.911.0−0.100
12–29PHerc0800
8.640µm · 116keV
56.9B
33.112.211.7−0.006
36–37PHerc0483A
8.640µm · 116keV
56.5B
30.013.013.6−0.100
—PHerc0343P
8.640µm · 116keV
55.9B
28.314.413.4−0.1016
—PHerc0500P2
2.215µm · 111keV
55.9B
40.05.910.1−0.10138
—PHercMAN5
2.399µm · 78keV
55.8B
36.67.612.9−1.300
10–38PHerc1451
8.640µm · 116keV
54.3B
26.412.715.2−0.000
11–24PHerc0490B
8.640µm · 116keV
53.9B
29.911.112.9−0.000
43–44PHerc0139
1.129µm · 59keV
53.4B
36.13.314.2−0.20114
17–23PHerc0211
9.362µm · 113keV
52.7B
31.611.010.2−0.100
42–43PHerc1667
1.129µm · 59keV
51.8B
40.02.710.5−1.3046
—PHerc0500P2
9.362µm · 113keV
51.1B
28.012.610.6−0.10138
16–28PHerc0490A
8.640µm · 116keV
49.2B
25.69.114.5−0.000
45PHerc0500P2
20250821110041-0.500um-masked
45.5B
40.02.13.4−0.00138
46PHerc0500P2
0.550µm · 65keV
45.5B
40.02.13.4−0.00138
—PHerc0009B
8.640µm · 116keV
44.5C
23.88.612.2−0.0030
—PHercMANBp
2.399µm · 78keV
42.3C
23.58.99.9−0.100
41–44PHerc1218
8.640µm · 116keV
41.6C
21.77.612.3−0.000
—PHerc0500P2
4.317µm · 111keV
38.9C
20.25.316.2−2.90138
12–21PHerc0826
9.362µm · 113keV
37.2C
20.06.810.3−0.000
26–40PHerc0841
9.366µm · 113keV
31.4C
20.53.77.2−0.006
47PHerc0343P
2.215µm · 111keV
30.5C
40.04.511.1−25.0016
48PHercMANB
2.399µm · 78keV
13.5C
32.84.06.8−30.000

Scan-health score (one diagnostic)

Signal presence (nonzero voxel fraction)40
Texture / gradient energy30
Dynamic range20
Saturation penalty−10
Dead-slice penalty−25

The dead-slice detector is deliberately strict: a densely populated chunk holding a zero plane whose both neighbors are densely populated. A naive rule false-positives on mask geometry — that version was caught and corrected before shipping.

Honest scope. This is a triage signal, not a readability claim. It does not detect ink and does not predict which scroll will read first. It tells you which volumes have the healthiest voxels, so segmentation and labeling effort goes where the data is strongest. The weights are a judgment call, published with every score.

Campaign request: up to 12 × 128³ chunks per volume, spread across the shard grid. Sparse volumes may decode fewer; the achieved count and sampling provenance stay attached to every result. Decoded with the vendored libvolcomp via zarr-pyramid-audit.

One suite, two halves

zarr-pyramid-audit

Don't train on lies. Corruption detection for OME-Zarr pyramids — header-only audits, a publish-time gate, and a sampled chunk-content probe. Caught a live defective pyramid in the open-data S3 bucket.

repo · dashboard

scrollq-health

Runs the integrity audit and the quality score on any volume and issues one verdict: TRAIN / CAUTION / DO NOT TRAIN. Fails closed: unreadable or missing integrity evidence is DO NOT TRAIN, never a pass.

scrollq-health --root <volume>