Release Runbook
Step-by-step procedure for cutting a quarterly release.
Step 1: Verify the corpus is releasable
python3 tools/validate.py corpus.jsonl --strict
python3 tools/index.py .
python3 tools/cross_cuts.py
Address any errors or quality failures. Commit regenerated derived artifacts.
Step 2: Install OpenTimestamps client (one-time)
pip install opentimestamps-client
# or
pipx install opentimestamps-client
Confirm: ots --version.
Step 3: Run the release ceremony
./release.sh 2026.Q3
The script will:
- Validate the corpus passes strict mode
- Regenerate derived artifacts
- Build a deterministic tarball (same content + same version tag = same SHA-256)
- Submit the hash to FreeTSA (RFC 3161, free)
- Submit the hash to DigiCert (RFC 3161, free)
- Submit to OpenTimestamps (Bitcoin anchoring, free)
- Write
MANIFEST.mddocumenting the release - Commit the release directory and tag the commit
2026.Q3
If FreeTSA or DigiCert is temporarily down, the script warns and continues — as long as at least one RFC 3161 layer succeeds plus OpenTimestamps, the release is valid.
Step 4: Push the release
git push origin main
git push origin 2026.Q3
Step 5: Upgrade the OpenTimestamps proof (in ~6 hours)
ots upgrade releases/2026.Q3/corpus-2026.Q3.tar.gz.ots
git add releases/2026.Q3/corpus-2026.Q3.tar.gz.ots
git commit -m "release: upgrade 2026.Q3 OpenTimestamps proof"
git push
This is when the Bitcoin-anchored proof becomes verifiable.
Step 6: Discoverability submissions
After the release tag is pushed and the OTS proof upgraded, the corpus exists publicly with cryptographic proof of pre-existence. The remaining work is making sure consumers actually find it.
Zenodo DOI
Fastest path to a citable DOI:
- https://zenodo.org/account/settings/github/
- Sign in with GitHub
- Find
openie-dev/free-wearable-corpusand toggle it on - Trigger a Zenodo deposit by creating a GitHub release pointing at the
2026.Q3tag - Zenodo automatically mints a DOI and archives the release tarball
Once the DOI is assigned, add it to README and MANIFEST.md.
Wayback Machine
https://web.archive.org/save/https://github.com/openie-dev/free-wearable-corpus
https://web.archive.org/save/https://github.com/openie-dev/free-wearable-corpus/releases/tag/2026.Q3
Google Patents NPL / Google Scholar
Add the repo URL to openie.dev with descriptive anchor text. Submit the URL to Google Search Console.
Quarterly cadence
- 2026.Q3 in early July 2026
- 2026.Q4 in early October 2026
- 2027.Q1 in early January 2027
If something goes wrong
The release script is idempotent within a version. If a step fails, fix the underlying issue and re-run — the deterministic tarball means the hash stays stable.
Once a git tag is pushed to the public remote, do not delete and re-tag.
If something needs fixing after the tag is pushed, cut a new tag
(2026.Q3.1) or move on to the next quarter.