# PostgreSQL TOAST coverage: public reproduction package

Original Hesela experiment on synthetic values. PostgreSQL 16.15, one Linux host.
Two original runs plus a third review rerun use six fresh disposable clusters.
There are 120 online probe executions and 12 offline invocations, not 132
independent corruption samples. All three runs agree on semantic outcomes.

Read publication.json for source references and the dataset page for interpretation.
The original README and synthesis preserve the pre-publication research history.

## Files and replay
Keep experiment.py, test_experiment.py, verify.py, summary.json, results-1.json,
results-2.json, review-run.json, build-publication.py, test_publication.py,
publication.json, source-review.md, README.md and this file together.
The dataset metadata records SHA-256 hashes of every file in this package.

    python3 -m unittest -v test_experiment.py test_publication.py
    python3 verify.py
    python3 build-publication.py --surface dev --public-root ./rebuild

Use Python 3.12 without -O. No third-party Python package is needed.
The generator rejects missing probes, false checksum successes, changed harness
identity and inconsistent results before writing CSV/JSON. Empty matches_expected
cells mean no expected-content comparison, never a pass.

For native reruns follow README.md using matching PostgreSQL server/client and
amcheck binaries, an unprivileged account and an isolated scratch directory.
Never point a corruption harness at production or valuable data. This harness
accepts no existing cluster, uses private Unix sockets and shuts down before
mutation. Its cleanup is limited to its own newly created fixtures.

## Review
The review reran the same harness, not a second implementation or independent
peer review. It separately checked the expected input digest, one-bit mutation,
raw return codes, external-pointer size path and EXTERNAL partial-read behavior.
No cache/I/O instrumentation or performance conclusion is claimed.

Bairavasundaram and colleagues (FAST 2008, sections 2.2, 3.2 and 4.5) provide
historical context for observation scope. Their field logs distinguish checksum,
identity and parity checks; the authors cannot establish every disk's scrub
exposure. We do not extrapolate their fleet proportions to PostgreSQL or claim
to reproduce the field study. No third-party figures or source code are bundled.

## Rights
Original Hesela code and generated synthetic observations in this package:
CC0-1.0, https://creativecommons.org/publicdomain/zero/1.0/
Referenced PostgreSQL and USENIX materials keep their own rights and licenses.
