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
LIVEReal-voxel health and coordinate-preserving spatial scan maps. Next: validated layer-separability and decohesion diagnostics.
Surface topology
NEXTCT support, competing sheets, topology risk, and surface-placement uncertainty.
Mesh connectivity
LIVEscroliq-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
LIVEscroliq-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
LIVEscroliq-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
NEXTThe 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
LIVELabel–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
LIVEscroliq-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
LIVECloud-native partial reads, decode provenance, exact coordinate bindings, file hashes, and machine-readable artifacts keep evidence inspectable across stages.
Grand Prize
TARGETOne 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.
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
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 band | volume | score | tier | components | signal | texture | dynamic | penalties | ink labels | segments | note |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1–2 | PHerc0172 7.910µm · 53keV | 78.3 | S | 37.0 | 25.2 | 16.5 | −0.3 | 0 | 53 | label-coverage candidate | |
| — | PHercParis4 45.532µm · 110keV | 77.2 | S | 31.5 | 30.0 | 15.8 | −0.1 | 70 | 169 | ||
| 4–8 | PHerc0139 2.403µm · 77keV | 76.3 | S | 40.0 | 17.4 | 20.0 | −1.1 | 0 | 114 | label-coverage candidate | |
| 11–24 | PHerc0813 9.362µm · 113keV | 76.2 | S | 40.0 | 21.4 | 15.0 | −0.2 | 0 | 0 | label-coverage candidate | |
| 3 | PHerc0139 9.362µm · 113keV | 75.8 | S | 40.0 | 20.1 | 15.8 | −0.0 | 0 | 114 | label-coverage candidate | |
| 6–9 | PHerc0139 2.403µm · 77keV | 75.7 | S | 40.0 | 16.6 | 20.0 | −0.9 | 0 | 114 | label-coverage candidate | |
| 6–14 | PHerc1203 9.362µm · 113keV | 74.7 | S | 40.0 | 21.1 | 13.8 | −0.2 | 0 | 0 | label-coverage candidate | |
| 2–33 | PHerc0846B 9.362µm · 113keV | 72.0 | S | 37.0 | 20.7 | 14.4 | −0.2 | 0 | 0 | label-coverage candidate | |
| 15–20 | PHerc0139 2.403µm · 77keV | 70.7 | S | 40.0 | 13.9 | 17.0 | −0.2 | 0 | 114 | label-coverage candidate | |
| 21–29 | PHercParis4 2.400µm · 137keV | 70.4 | S | 40.0 | 16.1 | 14.3 | −0.1 | 70 | 169 | ||
| 1–4 | PHerc0814 9.362µm · 113keV | 69.4 | A | 31.6 | 23.0 | 15.4 | −0.7 | 0 | 65 | label-coverage candidate | |
| 27–31 | PHerc0139 2.403µm · 77keV | 68.9 | A | 40.0 | 13.2 | 16.0 | −0.3 | 0 | 114 | label-coverage candidate | |
| 17–18 | PHerc0332 2.399µm · 78keV | 68.6 | A | 40.0 | 13.3 | 15.6 | −0.3 | 0 | 0 | label-coverage candidate | |
| — | PHerc0009B 2.401µm · 77keV | 68.1 | A | 40.0 | 13.0 | 16.0 | −0.9 | 0 | 30 | label-coverage candidate | |
| 22–29 | PHerc0841 2.403µm · 77keV | 68.1 | A | 40.0 | 13.0 | 15.3 | −0.2 | 0 | 6 | label-coverage candidate | |
| 25–32 | PHerc1203 2.403µm · 77keV | 67.7 | A | 40.0 | 12.9 | 14.9 | −0.1 | 0 | 0 | label-coverage candidate | |
| 4–9 | PHerc0358 9.362µm · 113keV | 66.3 | A | 37.2 | 18.0 | 11.2 | −0.1 | 0 | 0 | ||
| — | PHercParis4 45.532µm · 74keV | 66.3 | A | 31.6 | 20.1 | 14.8 | −0.2 | 70 | 169 | ||
| — | PHerc1299 2.399µm · 78keV | 66.0 | A | 40.0 | 11.6 | 14.4 | −0.1 | 0 | 0 | ||
| 7–22 | PHerc0306B 8.640µm · 116keV | 65.8 | A | 33.3 | 18.0 | 14.6 | −0.1 | 0 | 0 | ||
| — | PHerc1451 2.399µm · 78keV | 65.7 | A | 39.1 | 12.6 | 14.1 | −0.1 | 0 | 0 | ||
| — | PHerc1545 9.362µm · 113keV | 65.6 | A | 33.9 | 19.3 | 12.6 | −0.1 | 0 | 0 | ||
| 13–33 | PHerc0483B 8.640µm · 116keV | 64.8 | A | 36.2 | 16.4 | 12.3 | −0.1 | 0 | 0 | ||
| 13–17 | PHerc0846A 9.362µm · 113keV | 64.6 | A | 34.2 | 13.4 | 17.0 | −0.0 | 0 | 0 | ||
| 35–36 | PHercParis3 2.400µm · 78keV | 64.6 | A | 40.0 | 11.4 | 13.3 | −0.1 | 0 | 0 | ||
| 20–24 | PHerc0814 2.399µm · 78keV | 64.4 | A | 39.6 | 11.6 | 13.6 | −0.4 | 0 | 65 | ||
| 28–39 | PHerc0343 8.640µm · 116keV | 63.9 | A | 38.9 | 13.6 | 11.3 | −0.0 | 0 | 0 | ||
| 13–26 | PHerc0175A 8.640µm · 116keV | 63.2 | A | 33.2 | 16.0 | 14.0 | −0.0 | 0 | 0 | ||
| 39–42 | PHerc0814 1.129µm · 59keV | 63.1 | A | 39.1 | 8.1 | 16.9 | −1.0 | 0 | 65 | ||
| 34 | PHercParis4 1.129µm · 78keV | 63.0 | A | 40.0 | 8.3 | 14.9 | −0.2 | 70 | 169 | ||
| 19–31 | PHerc0175B 8.640µm · 116keV | 62.8 | A | 33.7 | 15.3 | 13.9 | −0.1 | 0 | 0 | ||
| — | PHerc0009B 2.401µm · 77keV | 62.1 | A | 40.0 | 9.8 | 12.7 | −0.5 | 0 | 30 | ||
| 16–25 | PHerc1447 8.640µm · 116keV | 61.7 | A | 37.6 | 13.2 | 10.8 | −0.0 | 0 | 15 | ||
| 5–19 | PHerc0125 9.362µm · 113keV | 61.1 | A | 35.8 | 13.3 | 12.1 | −0.2 | 0 | 0 | ||
| 37–41 | PHerc0139 2.399µm · 78keV | 61.1 | A | 40.0 | 9.0 | 12.2 | −0.1 | 0 | 114 | ||
| — | PHerc1667 2.399µm · 78keV | 60.5 | A | 40.0 | 8.4 | 12.3 | −0.2 | 0 | 46 | ||
| 38–40 | PHercParis4 2.400µm · 78keV | 60.5 | A | 40.0 | 10.5 | 12.3 | −2.4 | 70 | 169 | ||
| 7–10 | PHerc0257 9.362µm · 113keV | 59.2 | B | 37.7 | 11.7 | 9.9 | −0.1 | 0 | 0 | ||
| 30–37 | PHerc0268 8.640µm · 116keV | 58.6 | B | 36.9 | 11.6 | 10.3 | −0.1 | 0 | 0 | ||
| 30–32 | PHerc0846A 2.403µm · 77keV | 58.4 | B | 36.0 | 11.8 | 14.5 | −3.8 | 0 | 0 | ||
| — | PHercMANBp 1.129µm · 59keV | 58.4 | B | 40.0 | 6.8 | 11.7 | −0.2 | 0 | 0 | ||
| 6–14 | PHerc0191 9.362µm · 113keV | 58.0 | B | 33.2 | 13.9 | 11.0 | −0.1 | 0 | 0 | ||
| 12–29 | PHerc0800 8.640µm · 116keV | 56.9 | B | 33.1 | 12.2 | 11.7 | −0.0 | 0 | 6 | ||
| 36–37 | PHerc0483A 8.640µm · 116keV | 56.5 | B | 30.0 | 13.0 | 13.6 | −0.1 | 0 | 0 | ||
| — | PHerc0343P 8.640µm · 116keV | 55.9 | B | 28.3 | 14.4 | 13.4 | −0.1 | 0 | 16 | ||
| — | PHerc0500P2 2.215µm · 111keV | 55.9 | B | 40.0 | 5.9 | 10.1 | −0.1 | 0 | 138 | ||
| — | PHercMAN5 2.399µm · 78keV | 55.8 | B | 36.6 | 7.6 | 12.9 | −1.3 | 0 | 0 | ||
| 10–38 | PHerc1451 8.640µm · 116keV | 54.3 | B | 26.4 | 12.7 | 15.2 | −0.0 | 0 | 0 | ||
| 11–24 | PHerc0490B 8.640µm · 116keV | 53.9 | B | 29.9 | 11.1 | 12.9 | −0.0 | 0 | 0 | ||
| 43–44 | PHerc0139 1.129µm · 59keV | 53.4 | B | 36.1 | 3.3 | 14.2 | −0.2 | 0 | 114 | ||
| 17–23 | PHerc0211 9.362µm · 113keV | 52.7 | B | 31.6 | 11.0 | 10.2 | −0.1 | 0 | 0 | ||
| 42–43 | PHerc1667 1.129µm · 59keV | 51.8 | B | 40.0 | 2.7 | 10.5 | −1.3 | 0 | 46 | ||
| — | PHerc0500P2 9.362µm · 113keV | 51.1 | B | 28.0 | 12.6 | 10.6 | −0.1 | 0 | 138 | ||
| 16–28 | PHerc0490A 8.640µm · 116keV | 49.2 | B | 25.6 | 9.1 | 14.5 | −0.0 | 0 | 0 | ||
| 45 | PHerc0500P2 20250821110041-0.500um-masked | 45.5 | B | 40.0 | 2.1 | 3.4 | −0.0 | 0 | 138 | ||
| 46 | PHerc0500P2 0.550µm · 65keV | 45.5 | B | 40.0 | 2.1 | 3.4 | −0.0 | 0 | 138 | ||
| — | PHerc0009B 8.640µm · 116keV | 44.5 | C | 23.8 | 8.6 | 12.2 | −0.0 | 0 | 30 | ||
| — | PHercMANBp 2.399µm · 78keV | 42.3 | C | 23.5 | 8.9 | 9.9 | −0.1 | 0 | 0 | ||
| 41–44 | PHerc1218 8.640µm · 116keV | 41.6 | C | 21.7 | 7.6 | 12.3 | −0.0 | 0 | 0 | ||
| — | PHerc0500P2 4.317µm · 111keV | 38.9 | C | 20.2 | 5.3 | 16.2 | −2.9 | 0 | 138 | ||
| 12–21 | PHerc0826 9.362µm · 113keV | 37.2 | C | 20.0 | 6.8 | 10.3 | −0.0 | 0 | 0 | ||
| 26–40 | PHerc0841 9.366µm · 113keV | 31.4 | C | 20.5 | 3.7 | 7.2 | −0.0 | 0 | 6 | ||
| 47 | PHerc0343P 2.215µm · 111keV | 30.5 | C | 40.0 | 4.5 | 11.1 | −25.0 | 0 | 16 | ||
| 48 | PHercMANB 2.399µm · 78keV | 13.5 | C | 32.8 | 4.0 | 6.8 | −30.0 | 0 | 0 |
Scan-health score (one diagnostic)
| Signal presence (nonzero voxel fraction) | 40 |
| Texture / gradient energy | 30 |
| Dynamic range | 20 |
| 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.
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.
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>