VESUVIUS CHALLENGE · OCTOBER 2026 · WORK PLAN

zarr-pyramid-audit

October goals. Close the gaps we stated, then prove it.

This page is a plan, not a result. Every goal below names the artifact that will count as done. Nothing here is claimed until that artifact is committed, and progress is recorded as dated status changes on this page.
September submission: september-2026.html · Live evidence: data-health dashboard · Grand Prize role: reviewer readiness map · Criteria → evidence map: docs/SUBMISSION.md
Prize criteria and deadlines: scrollprize.org/prizes (not restated here; check the page)
957
S3 pyramids audited
956 clean · 1 defective
1,539
tifxyz surfaces audited
148 content-tier gaps
31 + 16
pyramid + tifxyz
check codes
1.2.0
report contract
67 golden fixtures

Where September left off

Status at 2026-10-01. The audit, gate, chunk probe and tifxyz surface audit run on live public data, emit one versioned JSON report contract, and ScrolIQ consumes it fail-closed. What remains is what we already wrote down as gaps.

doneevidence
957 S3 roots audited; the one defect (PHerc0814 -L1) re-confirmed and rejected by the gate 2026-09-29-s3 · 2026-10-01-gate-proof
OME-NGFF conformance re-audit: 0 conformance findings, results identical row for row 2026-10-01-s3-conformance
All 1,539 S3 tifxyz surfaces audited: all PASS, 161 negative-coordinate and 30 bbox review findings 2026-10-01-s3-tifxyz
Against zarr-python and the OME-NGFF validator: both accept the live defect; the gate rejects it 2026-10-01-baseline-comparison
ScrolIQ verdicts fail closed on missing evidence scrollq#55 · live re-run

Open gaps, as stated in SUBMISSION.md: dl.ash2txt.org evidence stops at 2026-09-30 and the volcomp CRC32C check has never run on live shards; 148 surfaces have header-tier evidence only; surfaces that overrun the top of their volume are not detected; triangular meshes are not audited; ScrolIQ pins a commit that predates the tifxyz report.

October goals

Ordered by how much a reader of our numbers depends on them. Each row's last column is the definition of done.

#goalwhy nowdone when (committed evidence)
G1Re-verify live state on both hostsdone Every live claim is dated and both public hosts have now been re-run from frozen root lists. Done. S3 re-audit on 2026-10-01 reproduced 957 roots, 956 clean and the same single defective PHerc0814 surface volume. The dl regression on 2026-10-03 re-ran the exact 241-root list: 18 defective pyramids, 175 findings (50 actionable), with a strict diff of 0 fixed / 0 new / 175 unchanged.
Evidence: 2026-10-01-s3-regression and 2026-10-03-dl-regression.
G2Validate the volcomp CRC32C check on live shardsdone The live writer's shard-index checksum behavior is now independently characterized instead of inferred from zpa alone. Done. The 64-volume campaign covered 2,008 shards: 1,167 verified, 331 mismatched and 510 without a declared CRC32C. Independent bit-by-bit CRC-32C over the exact fetched index bytes confirmed the 331 mismatches, while 58% verify through the same byte-domain path. The finding is therefore writer non-conformance, not decoded-voxel corruption; severity is medium, not high, because affected indexes still parse and chunks decode.
Evidence: 2026-10-02-crc-validation and 2026-10-03-crc-byte-verification. Contract 1.3.1 fingerprint 854ed060f90f.
G3Close the tifxyz coverage gapsin progress The 148 header-only surfaces are now a named, replayable size-cap inventory. The remaining live-evidence step is a shape-resolved S3 rerun for the new exact-volume upper-bound check. (a) Done: 2026-10-03-tifxyz-content-gaps names all 148 roots and proves every gap is the Oct. 1 32 MiB cap, not a decoder failure. (b) Implemented: contract 1.4.0 adds TIFXYZ_TARGET_VOLUME_OVERRUN, requires exact target-volume identity before accepting --target-shape-zyx, and pins a fixture/golden control. Still pending: corpus-wide live shape-resolved S3 rerun.
G4Decide and ship triangular-mesh coveragedone Triangular-mesh topology and parameterization are downstream geometry semantics, while ZPA's scope is storage/input integrity. Done by explicit handoff. ZPA will not duplicate OBJ auditing. ScrolIQ owns the read-only scroliq-obj diagnostic for parseability, finite/indexed geometry, topology, winding, edge jumps, neighbouring normals and UV-to-3D isometry. The cross-repo provenance envelope and claim boundary are frozen in docs/TRIANGULAR_MESH_HANDOFF.md.
G5ScrolIQ consumes surface reportsplanned ScrolIQ pins e473afd, which predates the tifxyz report, so surface integrity does not reach its verdicts. A merged ScrolIQ PR that moves the pin to a tagged release of this repo and reads kind: "tifxyz" reports fail-closed (UNKNOWN → DO NOT TRAIN), with live evidence committed in ScrolIQ.
G6Tag a release consumers can pinplanned Consumers pin commits. Contract 1.2.0 is merged but not released. A git tag and release notes taken from CHANGELOG.md, with the contract-fingerprint quoted. Publishing to PyPI only with the maintainer's explicit approval.
G7Make the publish-time gate easy to adopt upstreamplanned The 18 dl defects were unrepaired after 20 days; the leverage is at publish time (villa #1760). A maintainer-approved follow-up on #1760 that points to the gate proof and the copy-paste CI job in examples/. Success is measured by whether it is used, and reported either way.

Phases

Each phase starts only when the previous one's evidence is committed, so later work never rests on unverified numbers.

Phase 1 · Re-verify

G1 and G2. Refresh every live claim from an environment that reaches both hosts.

Phase 2 · Close coverage

G3, then the G4 scope decision. New checks enter at low or medium until the survey says otherwise.

Phase 3 · Integrate

G6, then G5. Release first, so ScrolIQ pins a tag rather than a commit.

Phase 4 · Package

G7, then refresh SUBMISSION.md, the dashboard and an October writeup from the committed artifacts.

Non-goals for October

How claims get made this month

Status log

datechange
2026-10-01Plan set. G1–G7 planned; none started.
2026-10-01G1, S3 half done. Fresh crawl and header-only audit of the bucket: the same 957 roots and 1,539 tifxyz surfaces as before; 956 clean, 1 defective; against 2026-09-29, 0 findings fixed, 0 new, 6 unchanged, and all 5,348 levels unchanged. The PHerc0814 -L1 pyramid still has no chunk keys at any level at 07:32 UTC (2026-10-01-s3-regression). dl half blocked: dl.ash2txt.org is refused by the build environment's network policy; it needs an environment that can reach the host.
2026-10-02G2, probe complete. CRC32C validation over 64 dl volcomp volumes (384 levels, 2,008 shards): 1,167 verified (58%), 331 mismatch (16.5%), 510 n/a (25%). Mismatches not proven real — severity stays low pending byte-level verification. (2026-10-02-crc-validation). Note: dl.ash2txt.org reachable from this environment — G1 dl half unblocked.
2026-10-03G2, done. Byte-level verification with an independent bit-by-bit CRC-32C implementation confirms the 331 mismatches are real — the volcomp writer is non-conforming, not zpa. 58% of shards verify correctly with the same code path, proving zpa's byte-domain interpretation is right. Severity raised low → medium (16.5% is not "rare"; maps to CAUTION in ScrolIQ). Not high: indexes parse and chunks decode. Contract 1.3.1, fingerprint 854ed060f90f. (2026-10-03-crc-byte-verification).
2026-10-03G1, dl half done. October regression over the exact 241-root list: 241 pyramids, 18 defective, 175 findings (50 actionable) — identical to 2026-09-29 and 2026-09-09. Strict diff: zero fixed, zero new, 175 unchanged. Third consecutive clean regression. (2026-10-03-dl-regression).
2026-10-03G4, done. Triangular-mesh diagnostics are formally delegated to ScrolIQ rather than duplicated in ZPA. The handoff contract binds the exact OBJ SHA-256, ScrolIQ obj-mesh-audit report, and upstream ZPA input report while keeping each tool's claim semantics separate. (TRIANGULAR_MESH_HANDOFF.md).
2026-10-03G3, inventory + upper-bound implementation advanced. The 148 Oct. 1 content-tier gaps are now named with stored byte sizes; all are the deliberate 32 MiB campaign cap. Contract 1.4.0 adds an opt-in exact-volume upper-bound check that cannot run without binding the declared target_volume. Deterministic control: 11 valid points in the clean fixture overrun a deliberately smaller exact X bound. Full shape-resolved S3 rerun remains pending.