VESUVIUS CHALLENGE · OCTOBER 2026 PROGRESS PRIZE · GOALS

ScrolIQ in October

September showed what ScrolIQ can flag. October has to show how often it is right, and that people use it. Measure the bottleneck, then prove the measurement.

Status: goals, not results. Nothing on this page is a finding yet. Each goal names the artifact it must produce and the condition that ends it. Results will be published as they land, with the same evidence rules as the September submission: every number traced to a command and an artifact in the repo, and missing evidence left unknown.
Working deadline: end of October, following the monthly progress-prize cadence. The exact date is whatever the prize page states once it is updated.
6 + 5
October goals + stretch
each with an exit criterion
0.63
scan-score stability ρ
gate 0.85 · to fix or retire (O5)
77
flagged mesh segments
precision unmeasured (O1)
2 / 13,700
winding pairs out of order
next: cross-collection (O2)

Results so far

Everything already done this month, with its evidence, is on the October 2026 update. This page keeps the plan.

2027 Grand Prize reviewer map

For the fastest review path, start with the Grand Prize readiness map: every major 2027 requirement is marked as implemented evidence, partial, or not yet demonstrated, with a direct link to the artifact or protocol that supports the claim. It deliberately does not turn diagnostics into a readiness score.

What the prize rewards, and what that means for us

The progress prize criteria favour work that is released early, actually gets used, is measured on real data, fixes bugs in tools people use, reveals insightful, actionable information (for analytic tools: shown to have helped unwrapping or ink detection, for example by finding failure cases of existing methods on real scroll data), is well documented, and works with standard community formats.

September covered real data, documentation and formats. The gap is evidence that the flags are correct and that they change what someone does. October therefore prioritises measured precision, the next open-problem layers, and getting the review queues into reviewers' hands. Each goal is merged as soon as it is done rather than held for month end.

Goals

O1Measure how often Mesh IQ flags are real defects

real datafailure cases of existing methodspre-registered · sample drawn

Why. A flag list is only actionable if reviewers can trust it. September found failure candidates on real segments; October must say how many of them are true.

Starting point. 77 of 307 segments flagged with three or more defect kinds; one broken PHerc1447 segment confirmed (corpus-mesh-audit).

Deliverable. The frozen sample of 30 flagged, 4 debugging-control and 20 clean segments, reviewed in VC3D and labelled defect / not a defect / unclear without seeing finding kinds. Publish flag precision and the clean-segment defect rate with intervals.

Done when. Per-segment verdicts, calibration and both rates with 95% intervals are committed. Per-finding-kind rates remain descriptive. Correction, 2026-10-02 UTC: this design does not measure whole-corpus false-negative rate or recall; mixed segments are excluded.

Progress. Protocol frozen in mesh-review-protocol.md. Blinded sample of 54 segments (30 flagged, 4 debug controls, 20 clean) drawn in 2026-10-01-mesh-review-sample/. A deterministic key-free reviewer packet is available via bin/mesh_review_packet.py with instructions in mesh-review-handoff.md. Awaiting VC3D review; no precision exists yet.

O2Winding IQ: patch attachment and cross-collection consistency

real dataopen problem: winding annotationsdone · 6 / 16,074 flagged

Why. Within-collection ray order is clean on PHercParis4. The next errors to catch are chains of relative-winding links that disagree when they meet through shared patches. That is what the spiral fitter's own debugging tool does after a fit; ScrolIQ should do it before one.

Starting point. 2 / 13,700 comparable pairs inverted, both sub-voxel; injection-control recall 89.5% (±3) and 85.5% (±5); ±2 undetectable by design (paris4-winding-ray-order).

Deliverable. Attach annotation points to verified patches, build the winding graph, and report inconsistent cycles with VC3D coordinates. Include the same kind of injection control as the ray-order check, so the error rate it can detect is measured, not assumed.

Done when. A PHercParis4 run with input hashes, a cycle-consistency count, and a measured detection rate for injected inconsistencies.

Result. Pre-registered (winding-attachment-protocol.md) and run on all 20,765 candidate patches: 2,111 of 2,232 points attach within 8 voxels, 206 of 254 relative collections are tied to the absolute frame, and 6 of 16,074 constraints disagree by two or more windings (verdict INCONSISTENT, review queue with VC3D coordinates). The injection control detects 194 / 200 +2 errors (localizes 160). Spiral sense is decided by the data; the branch-cut angle is not (2026-10-03-paris4-winding-attachment/).

O3Spiral IQ: score a fit on constraints it never saw

Implementation update · 2026-10-03 UTC. The held-out geometry evaluator now provides a hash-bound point-comparison interface with declared fit-input exclusion and missing-prediction accounting. This is a foundation, not a completed spiral evaluation: native fitter export, spatial-exclusion evidence and a real fit run remain outstanding.

real dataopen problem: spiral fittinginsightful, actionableplannedneeds a GPU fit run

Why. The fitter reports how well it satisfies the evidence it was given. A held-out score asks the harder question: does the fit predict annotations that were withheld?

Starting point. Spiral IQ is planned only; the held-out geometry split certificate (scrollq-geometry-probe) exists.

Deliverable. Withhold a declared set of winding collections from a fit, then measure the fit against them with the upstream satisfaction tolerances. The provenance gate checks that withheld collections never entered the fit.

Done when. One real held-out evaluation, with the withheld set, fit config and checkpoint hashes committed.

O4Fiber IQ: whole public corpus, then CT support

real dataopen problem: fiber connectivitycorpus done · CT support open

Why. Eight fibers showed that the checks work on real files. To be useful, every published fiber needs auditing, and then a check that a fiber follows real papyrus in the CT.

Starting point. 8 SHA-256-pinned PHercParis4 fibers: 11 gap and 26 sharp-turn candidates, 0 control-line offsets or inversions (public-fiber-audit).

Deliverable. A hash-pinned audit of every public PHercParis4 fiber, then a CT-conditioned orientation and support check with a positive control: a fiber deliberately shifted off the sheet must be flagged.

Done when. The full-corpus artifact is committed, and the CT check catches its positive control without flagging the unshifted fibers it was calibrated on.

Progress, 2026-10-04. Part 1 done: all 136 public PHercParis4 fibers listed and audited, with the 8 pinned fibers as a positive control (identical to their 2026-10-01 results). 388 gap and 519 sharp-turn candidates in 107 fibers; 0 control-line offsets or inversions. All 388 gaps are in the 79 fibers that contain fallback-interpolated spans, and the 57 fully native fibers have none. That is a co-occurrence, not a cause (fiber-corpus-census). Part 2, CT support with a shifted-fiber positive control, needs an exact CT binding and moves to November N4.

O5Scan-health score: pass the stability gate, or retire the ranking

insightful, actionablehonest negative resultsdone · FAIL → rank bands

Why. The published ranking failed our own stability gate. A ranking that reorders on resampling should not be read as an order.

Starting point. Truly-disjoint resample: Spearman ρ = 0.63, mean |Δ| = 7.95, top-10 overlap 4 / 10, against a gate of ρ ≥ 0.85 (truly-disjoint).

Deliverable. Pre-register a sampling design (more chunks, stratified by depth and radius) and its decision rule before any new data is read. Run it truly disjoint. If the gate passes, publish it; if not, replace the rank column on the leaderboard with uncertainty bands.

Done when. The decision rule is applied as written and the leaderboard reflects the result either way.

Progress. Protocol frozen in stability-v2-protocol.md. Published data shows the 0.63 is mostly a sampling-design problem: per-volume run differences are 1.7× wider than chance (SD 10.1 vs 5.82), run 2 sits 5.5 points higher, and the default order's first 12 candidates share one x plane (2026-10-01-stability-v2-prereg/). Version 2 uses a balanced, interleaved order. The run starts once this pre-registration is on main.

Result. Pre-registered verdict FAIL: Spearman ρ = 0.750 on 48 eligible volumes. The leaderboard now shows rank bands. The new sample removed the systematic shift (+5.46 → +0.25) and cut the noise to the level chance predicts, and Pearson r is 0.911, so scores are reliable but close volumes still swap ranks. September scores differ from the v2 pooled score by 6.9 points on average, so the Grand Prize and First Letters frontiers need a new dated campaign (2026-10-stability-v2/). That campaign is now O8.

O6Get the review queues into reviewers' hands

gets usedreleased earlystandard formatsguides + drafts readyneeds maintainer approval

Why. The prize favours tools that get used. Every ScrolIQ queue (mesh flags, ray-order candidates, fiber gaps) already carries VC3D coordinates but lives in JSON.

Starting point. Review queues exist as JSON reports with segment IDs and XYZ coordinates.

Deliverable. A short how-to for each queue, VC3D-ready lists, and upstream bug reports drafted for the confirmed defects: the defective PHerc0814 pyramid, the broken PHerc1447 segment 20251105093211-z_dbg_gen_00320, and the PHerc0343P chunk-size mismatch. Nothing is filed upstream without the maintainer's explicit approval.

Done when. The guides are published and the drafts are reviewed. Any external feedback, such as an issue, comment or bug report, is linked from this page.

Progress, 2026-10-04. The how-to for all four queues is review-queues.md. The ray-order queue now exports to VC3D PointCollections (scroliq-vc3d-review --kind winding-ray-order), alongside the existing winding-attachment bundle. All three upstream reports are drafted and unfiled. PHerc0814 (six level headers, zero chunks) and the PHerc1447 debug mesh (same bytes, same 153 components, 1,335 edge jumps and 386 reversals) were both rechecked live today (review-queues). Remaining: maintainer review and approval to file, then any external feedback.

Stretch goals · raised 2026-10-04

October's original six left room. These five came forward from November or were added. The same rules apply: pre-register first, positive controls, frozen dated artifacts.

O7Test the fiber fallback–gap pattern at span level

real datafixes a tool's blind spotdone · SUPPORTED

Why. The census put every gap in a fiber with fallback spans. If that holds inside fibers, the gap detector is measuring rendering, not breaks.

Done when. A pre-registered span-level verdict with a positive control and a null control.

Result. SUPPORTED, with both controls passing. 101 of 502 fallback spans carry a gap candidate, against 2 of 5,001 native spans (risk difference 0.20, 95% CI 0.145–0.299). Fallback spans are rendered at 3.26× the median step, so the 4× gap rule mostly measures rendering density. Only 2 of 388 candidates sit in native trace spans; those are the cues worth review. All 388 candidates are now a VC3D file (fiber-span-test-run).

O8Re-derive the prize frontiers under the v2 sampling design

frozen datainsightful, actionabledone · frontier changed

Why. The September frontier rested on the slab-biased sample that O5 exposed. This was November's N6, pulled forward.

Done when. New dated frontiers from the v2 scores, with every live page updated together.

Result. PHerc0813 is off both frontiers in the pooled view and in each disjoint run. The only robust members are PHerc1447 (Grand Prize) and PHerc0800 (First Letters), both held there by their segments. The best segment-free volume is a band of five within 2.6 points, not a pick (prize-frontier-v2).

O9Fiber IQ part 2: find the CT volume, then test CT support

real dataopen problem: fiber connectivitydone · SUPPORTED

Why. Fiber geometry means little until it is checked against CT, and the public fibers name no CT volume.

Done when. The binding is established or shown to be undeclared. A pre-registered CT support test then runs with a displaced-fiber positive control and a wrong-frame control.

Result. The dataset declares no volume. A range check leaves one readable candidate, 20260411134726 (2.400 µm, 78 keV), and rules out the 1.129 µm, 137 keV and 45 µm scans (paris4-fiber-binding). A pre-registered CT test in that volume then returned SUPPORTED, with the wrong-frame control passing. At level 1, fiber points are denser than background points in the same region (AUC 0.775, 95% CI 0.760–0.789). Displacing the fibers by 272 µm drops that to 0.555 (specificity CI 0.207–0.233), and an axis-swapped copy reads below background (0.429). 0 of 136 fibers are flagged, against 28% of displaced fibers. This is evidence for the binding, not a declaration of it (fiber-ct-support-run).

O10Every review queue loads in VC3D

gets usedstandard formatsdone

Why. A queue that only exists as JSON does not get reviewed.

Result. The winding attachment, ray-order and fiber-gap queues are now VC3D PointCollections, and Mesh IQ ships as a VC3D review packet. See review-queues.md.

O11Fiber IQ goes physical, on two scrolls

real dataopen problem: fiber connectivitydone · replicated

Why. November's N4 (span-aware gap rule, a second scroll, CT direction) needed no one else, so it moved into October.

Result. All 411 public PHerc0139 fibers are audited, and the planted-break detector control fired 411 / 411 times. Every one of their 1,622 gaps is again in a fiber with fallback spans. The fibers sit on CT material in 20260102150214 (AUC 0.760; wrong-frame control 0.468), which replicates PHercParis4 (0.775). In both scrolls the fibers also run within the CT sheet plane: their median tangent is 3.3° (PHercParis4) and 3.5° (PHerc0139) out of plane, against about 30° for random directions (D 0.418 and 0.414; both wrong-frame controls under the 0.1 bar). The span-aware gap rule is not adopted: INSUFFICIENT on PHercParis4 (24 fallback plants) and KEEP on PHerc0139, where it cut fallback flags by only a third. The PHerc0139 volume was a disclosed 7-voxel near miss, so these are evidence for bindings, not declarations (census · support · direction · gap rule).

Sequence

Week 1 · Oct 1–7

  • O5: pre-register the sampling design and decision rule
  • O1: draw the stratified review sample and negative control
  • O6: draft the upstream bug reports for approval

Week 2 · Oct 8–14

  • O1: VC3D review and precision published
  • O2: attach points to patches; build the winding graph

Week 3 · Oct 15–21

  • O2: cycle-consistency run and its injection control
  • O4: full fiber corpus; CT check with positive control
  • O5: run the pre-registered resample

Week 4 · Oct 22–31

  • O3: held-out spiral evaluation (when a GPU fit run is available)
  • O6: review-queue guides published
  • October results page and submission

The order puts the cheapest high-trust evidence (O1, O5) first and the work with an external dependency (O3's GPU fit, O6's approval) last, so a blocked dependency cannot hold up the rest.

Ground rules carried from September

Where things stand on 1 October

The evidence each goal starts from, all on main:

layerstatusartifact
Scan health64 / 64 volumes scored; stability gate failed (ρ = 0.63)2026-10-01-truly-disjoint/
Data integrityscrollq-health fails closed on missing evidence; live negative control passes2026-10-01-health-verdicts-fail-closed/
Mesh IQEvery published segment mesh audited; 77 / 307 segments flagged2026-10-01-corpus-mesh-audit/
Winding IQPHercParis4 ray order clean; recall measured2026-10-01-paris4-winding-ray-order/
Fiber IQ8 public fibers audited, hash-pinned2026-10-01-public-fiber-audit/
Spiral IQPlanned; held-out split certificate existsgrand-prize-probe-protocol.md