How to verify the hash

The protocol file protocol_frozen_2026-04-23.json is signed by a SHA256 cryptographic hash, computed on the canonical serialization of the file (JSON with sorted keys, UTF-8 encoding, indent 2).

To verify that the file you downloaded matches the published hash:

sha256sum protocol_frozen_2026-04-23.json

Or, on macOS:

shasum -a 256 protocol_frozen_2026-04-23.json

The output must match exactly:

0972a2c650a562909e53832845ec226ab897f6094db14645c4a0d5ed000d709a  protocol_frozen_2026-04-23.json

If the hashes differ by even a single character, the file has been modified since 2026-04-23 23:59 CET.

Files listed in the protocol

The protocol JSON references 11 component files. Each has its own SHA256 hash listed inside protocol_frozen_2026-04-23.json. Their publication status on day 1:

Published — verify each SHA256 independently

Hashes published, source kept private until day 30

The 7 Python files under conductor/ are the execution code (conduci.py, giampy.py, giudici.py, chat_test_a.py, chat_test_b.py, anonimizza_per_giudice.py). Their SHA256 hashes are in the manifest and are immutable. The source is intentionally withheld from the public site until day 30 to prevent mid-experiment tuning based on public feedback on the code (a well-known risk of fully-open pre-registered studies).

If you need the code before day 30 for independent replication, email info@kairos-experiment.com and I will send a copy under a gentleman's agreement not to post it publicly until day 30. The point of the manifest hash is that any private copy I send you must match what was frozen on 2026-04-23 — you can verify this on receipt.

Wayback Machine archive

An independent timestamped snapshot of this page, the manifest JSON, and the experiment setup was captured on 2026-04-24 by the Internet Archive: